Format d'erreur JSend
Les appels API échoués retournent status error, message, code et data au format JSend. Lisez toujours message et code. Causes courantes : accès API manquant, JWT expiré, numéros invalides, modèles non approuvés.
Exemple de réponse d'erreur
Exemple d'erreur de validation lorsqu'un champ obligatoire est manquant.
curl -X POST 'https://app.buzzbip.com/api/contacts/' \
-H 'Authorization: Bearer ${TOKEN}' \
-H 'Content-Type: application/json' \
-d '{"firstname": "Jane"}'Liste de vérification du débogage
Confirmez le format Authorization (Bearer avec un espace). Vérifiez les slashs finaux. Assurez-vous que hasApiAccess est activé. Journalisez status, message et data ensemble. Testez d'abord avec GET /api/contacts/.
Journalisez le corps JSend complet en cas d'erreur — le message est l'indice le plus rapide.
Notes d'intégration
Lors de l'intégration de ce endpoint Buzzbip, utilisez https://app.buzzbip.com comme hôte de production. Obtenez un JWT via POST /api/login_check et envoyez Authorization: Bearer sur chaque requête. Vérifiez que User.hasApiAccess est activé dans l'admin Buzzbip. Analysez les réponses JSend (status, message, data). Pour les plugins e-commerce, envoyez aussi x-api-key, x-platform-type et x-base-uri. Respectez les slashs finaux sur POST /api/contacts/ et POST /api/whatsapp/. Implémentez des nouvelles tentatives avec backoff en cas de limite de débit. Stockez les identifiants côté serveur et réauthentifiez-vous avant l'expiration du JWT (3600 s).
Sécurité
Bonnes pratiques : credentials uniquement côté serveur, TLS obligatoire, surveillance des échecs d'authentification. Séparez comptes staging et production. Documentez modèles et automatisations déclenchés. Masquez numéros et contenus dans les journaux partagés.
Et ensuite ?
Retour aux ressources API : api/contacts getting-started/authentication api/secret-key
