Erreurs
Forme d’erreur et codes d’état ouverts courants API.
Erreurs
Les erreurs ouvertes API utilisent les corps de réponse JSON lorsque la demande atteint la couche API. Les pannes de réseau, les pannes de CDN et les interruptions de réponse binaire peuvent ne pas avoir cette forme exacte, votre client doit donc gérer à la fois les erreurs structurées API et les erreurs de transport.
Chaque point de terminaison utilise le même contexte d'authentification du porteur :
Authorization: Bearer FISHAUDIO_API_KEY{
"code": "invalid_request",
"message": "The request payload is invalid.",
"requestId": "req_xxx"
}Codes d'état
| Statut | Signification | Action typique |
|---|---|---|
400 | Corps de requête, paramètre de chemin, paramètre de requête ou URL de média non valide | Corrigez la demande avant de réessayer |
401 | Clé API manquante, mal formée, révoquée ou désactivée | Arrêtez les tentatives et actualisez les informations d'identification |
402 | Crédits insuffisants, quota API ou allocation de fournisseur | Arrêter le lot et afficher l'état de facturation |
404 | L'ID de ressource est inconnu pour le compte authentifié | Actualiser les enregistrements locaux |
409 | La ressource est dans un état qui entre en conflit avec l'opération | Attendre ou supprimer les dépendances |
422 | Le média a été accepté mais ne peut pas être traité | Demandez différents supports d'entrée |
429 | Limite de débit dépassée | Réessayez avec une interruption exponentielle |
500 | Erreur de serveur | Réessayez plusieurs fois et enregistrez requestId |
Journalisation des demandes
Enregistrez le point de terminaison, la méthode HTTP, le statut, code, requestId et votre propre ID de tâche interne. N'enregistrez pas les clés API du porteur, le texte utilisateur complet ou les URL de médias privés à moins que votre politique de confidentialité et votre flux de travail de support ne le permettent explicitement.
Pour les points de terminaison asynchrones, incluez à la fois l’ID de tâche API et l’ID de votre base de données interne dans les journaux. Cela permet de rapprocher les tentatives sans créer de travail en double.
Facturation et crédits
Toutes les erreurs n’ont pas la même signification de facturation. Les échecs de validation se produisent normalement avant le début du travail multimédia. Des échecs de traitement peuvent survenir après l'acceptation d'une tâche. Pour les questions de facturation adressées aux utilisateurs, comparez le statut de la tâche avec une nouvelle lecture de Profile au lieu de déduire le coût à partir du seul statut HTTP.
Politique de nouvelle tentative
Réessayez 429 et certaines réponses 500 avec interruption. Ne réessayez pas aveuglément 400, 401 ou 402 ; ceux-ci nécessitent des modifications de demande, d’informations d’identification ou de facturation. Pour créer des points de terminaison, conservez l’identifiant renvoyé avant de réessayer toute opération de suivi.