Dépannage #
Solutions aux problèmes courants lors de l’utilisation de l’API REST de VoxPria.
401 Non autorisé #
Erreur : « Invalid or expired API key »
Solutions : #
- ✅ Vérifiez que votre clé API est correcte (aucun espace superflu)
- ✅ Assurez-vous d’utiliser le format
Authorization: Bearer YOUR_KEY - ✅ Vérifiez que la clé n’a pas été révoquée
- ✅ Confirmez que le format de la clé est
agl_sk_... - ✅ Créez une nouvelle clé API au besoin
Testez votre clé : #
curl -X GET "https://app.voxpria.com/api/v1/credits" -H "Authorization: Bearer YOUR_API_KEY"
403 Interdit #
Erreur : « Insufficient permissions for this endpoint »
Solutions : #
- ✅ Vérifiez que votre clé API possède les portées requises
- ✅ Pour déclencher des appels : la portée
calls:writeest requise - ✅ Pour gérer les campagnes :
campaigns:writeest requise - ✅ Créez une nouvelle clé avec les bonnes portées au besoin
429 Trop de requêtes #
Erreur : « Rate limit exceeded »
Solutions : #
- ✅ Mettez en place un recul exponentiel (exponential backoff)
- ✅ Vérifiez l’en-tête
X-RateLimit-Resetpour connaître le délai de nouvelle tentative - ✅ Réduisez la fréquence des appels API
- ✅ Contactez le soutien pour des limites plus élevées
Exemple de recul exponentiel : #
async function retryWithBackoff(fn, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
try {
return await fn();
} catch (error) {
if (error.response?.status === 429 && i < maxRetries - 1) {
const delay = Math.pow(2, i) * 1000; // 1s, 2s, 4s
await new Promise(resolve => setTimeout(resolve, delay));
} else {
throw error;
}
}
}
}
400 Mauvaise requête #
Erreur : « Invalid request parameters »
Causes courantes : #
- ❌ Champs obligatoires manquants (agentId, toNumber)
- ❌ Format de numéro de téléphone invalide (doit être E.164 : +1234567890)
- ❌ Charge utile JSON invalide
- ❌ Types de données incorrects (chaîne au lieu de nombre)
Solutions : #
- ✅ Validez les numéros de téléphone :
^+[1-9]d{1,14}$ - ✅ Vérifiez que tous les champs obligatoires sont présents
- ✅ Vérifiez que le JSON est valide
- ✅ Consultez la documentation API pour les exigences du point de terminaison
500 Erreur interne du serveur #
Erreur : « Internal server error »
Solutions : #
- ✅ Réessayez la requête après quelques secondes
- ✅ Mettez en place une logique de nouvelle tentative avec recul
- ✅ Consultez la page d’état de VoxPria pour vérifier les pannes
- ✅ Contactez le soutien si l’erreur persiste
Les appels ne se connectent pas #
Vérifiez : #
- ✅ Le numéro de téléphone est valide et au format E.164
- ✅ Le numéro n’est pas sur une liste d’exclusion d’appels
- ✅ Le compte dispose de suffisamment de crédits
- ✅ L’agent est actif et correctement configuré
- ✅ Les restrictions de fuseau horaire et d’heures d’appel
Les webhooks ne sont pas reçus #
Vérifiez : #
- ✅ L’URL du webhook est accessible publiquement (HTTPS)
- ✅ Le point de terminaison renvoie rapidement un statut 200
- ✅ Aucun pare-feu ne bloque les adresses IP de VoxPria
- ✅ Le webhook est actif dans le tableau de bord
- ✅ Les événements sont correctement abonnés
Tester un webhook localement : #
# Utilisez ngrok pour exposer votre serveur local ngrok http 3000 # Mettez à jour l'URL du webhook avec l'URL ngrok # Déclenchez un appel test # Vérifiez la console ngrok pour les webhooks entrants
Réponse JSON invalide #
Solutions : #
- ✅ Vérifiez que le type de contenu de la réponse est
application/json - ✅ Assurez-vous d’analyser la réponse correctement
- ✅ Recherchez les réponses d’erreur dans un format différent
- ✅ Journalisez le corps brut de la réponse à des fins de débogage
Problèmes propres à l’environnement #
Développement vs production : #
- ✅ Utilisez des clés API distinctes par environnement
- ✅ N’utilisez pas de clés de production en développement
- ✅ Testez d’abord avec de petits lots
- ✅ Surveillez de près l’utilisation des crédits
Obtenir de l’aide #
Si le problème persiste :
📧 Contactez le soutien :
- Courriel : support@voxpria.com
- Documentation : app.voxpria.com/docs
- État du système : Consultez la page d’état du système
À inclure dans votre demande de soutien : #
- Le point de terminaison API que vous appelez
- La charge utile de la requête (retirez les données sensibles)
- La réponse d’erreur complète
- L’horodatage de l’incident
- L’identifiant de clé API (les 8 derniers caractères seulement)
- Le langage de programmation ou le cadriciel utilisé
💡 Astuces :
- Activez la journalisation détaillée pendant le développement
- Utilisez le bac à sable API (API playground) pour tester les points de terminaison
- Consultez la documentation API pour les mises à jour
- Joignez-vous à notre communauté de développeurs
- Surveillez le journal des modifications (changelog) pour les changements majeurs
