Overview
After obtaining a JWT, verify connectivity with a simple authenticated GET request. The contacts list endpoint is a good smoke test: it requires API access, validates your bearer token, and returns a small JSON payload you can inspect. Use https://app.buzzbip.com as the host and remember the trailing slash on POST /api/contacts/ and POST /api/whatsapp/. Always parse the JSend body — a 200 response can still contain status error when business rules fail.
Example request
List the first page of contacts with default pagination.
curl -X GET 'https://app.buzzbip.com/api/contacts/?currentPage=1&limit=20&number=' \
-H 'Authorization: Bearer ${TOKEN}' \
-H 'Content-Type: application/json'Interpreting the response
A successful JSend response has status success, a human-readable message, and a data field. Errors include status error, message, code, and data. Log the full body during development. If you receive authorization errors, confirm User.hasApiAccess is enabled and the token has not expired.
Log request IDs and full JSend bodies during integration testing.
Integration notes
When integrating the Buzzbip making your first request endpoint into your application, treat https://app.buzzbip.com as the only production host. Obtain a JWT from POST /api/login_check and send Authorization: Bearer <token> on every request. Confirm User.hasApiAccess is enabled in Buzzbip Admin — without it, valid tokens still receive authorization errors. Parse JSend responses by reading status, message, and data together; do not rely on HTTP status codes alone. For ecommerce plugins, also send x-api-key, x-platform-type, and x-base-uri as described in the secret-key documentation. Respect trailing slashes on routes such as POST /api/contacts/ and POST /api/whatsapp/. Implement retries with exponential backoff when you encounter rate limits, and log full error bodies during development. Store credentials server-side, rotate secrets if exposed, and re-authenticate before the 3600-second JWT TTL expires in long-running workers. Use pagination query parameters instead of unbounded list calls, and queue bulk WhatsApp or SMS sends from your backend rather than client browsers. Test against a small set of contacts before enabling production campaigns. Keep an integration runbook that lists which Buzzbip templates, automations, and API keys each deployment uses so on-call engineers can diagnose failures quickly.
Security
Security best practices for Buzzbip API clients include restricting API credentials to backend services, using TLS for every request, and monitoring failed authentication attempts. Separate staging and production Buzzbip accounts when possible so template tests do not message real customers. Document which templates and automations each integration triggers, and version your webhook or sync job deployments. When debugging, redact phone numbers and message bodies in application logs shared with third parties.
What's next?
Explore contacts and messaging: api/contacts api/whatsapp-messaging getting-started/errors
