Codes d'erreur de l'API Zendesk : Guide de référence complet pour 2026

Stevia Putri
Written by

Stevia Putri

Reviewed by

Stanley Nicholas

Last edited 2 mars 2026

Expert Verified

Image de bannière pour les codes d'erreur de l'API Zendesk : Guide de référence complet pour 2026

Travailler avec l'API Zendesk signifie gérer les codes d'erreur. Ce n'est pas une question de savoir si vous les rencontrerez, mais quand. Que vous construisiez une intégration personnalisée, automatisiez les flux de travail des tickets ou synchronisiez des données entre les systèmes, comprendre ces codes d'erreur peut vous faire gagner des heures de temps de débogage.

Ce guide couvre tout ce que vous devez savoir sur les codes d'erreur de l'API Zendesk. Nous allons passer en revue les codes d'état HTTP, les erreurs d'authentification, la limitation du débit et même les codes d'état de la livraison des e-mails. À la fin, vous aurez une référence pratique à laquelle vous pourrez revenir chaque fois que quelque chose ne va pas.

Si vous cherchez à réduire complètement la complexité de l'API, des outils comme eesel AI peuvent gérer intelligemment les opérations de tickets, minimisant ainsi les erreurs que vous devez résoudre en premier lieu. eesel AI agit comme un agent d'IA pour Zendesk, apprenant de vos tickets passés et de votre centre d'aide pour résoudre les problèmes des clients de manière autonome.

Page d'accueil de Zendesk présentant l'interface de la plateforme de service client
Page d'accueil de Zendesk présentant l'interface de la plateforme de service client

Comprendre les codes d'erreur de l'API Zendesk et les codes d'état HTTP

L'API Zendesk utilise les codes d'état HTTP standard pour communiquer le succès et l'échec. Ceux-ci se répartissent dans des plages familières :

  • 2xx (Succès) : La requête a fonctionné comme prévu
  • 3xx (Redirection) : La ressource a été déplacée ou n'a pas changé
  • 4xx (Erreur du client) : Quelque chose ne va pas avec votre requête
  • 5xx (Erreur du serveur) : Quelque chose s'est mal passé du côté de Zendesk

Voici une référence rapide pour les codes les plus courants que vous rencontrerez :

Code d'étatSignificationCause courante
200OKRequête GET ou PUT réussie
201CrééPOST réussi qui a créé une ressource
204Pas de contenuRequête DELETE réussie
400Mauvaise requêteRequête mal formée ou champs obligatoires manquants
401Non autoriséAuthentification échouée
403InterditAuthentifié, mais sans les autorisations nécessaires
404IntrouvableLa ressource n'existe pas
409ConflitModification simultanée ou requête en double
422Entité non traitableJSON valide, mais erreurs sémantiques
429Trop de requêtesLimite de débit dépassée
500Erreur interne du serveurProblème du serveur Zendesk
503Service non disponibleMaintenance ou panne temporaire

Catégories de codes d'état HTTP, du succès 2xx aux erreurs de serveur 5xx
Catégories de codes d'état HTTP, du succès 2xx aux erreurs de serveur 5xx

Lorsque des erreurs se produisent, Zendesk renvoie une réponse JSON avec des détails. Voici le format d'erreur typique :

{
  "error": "RecordInvalid",
  "description": "Erreurs de validation d'enregistrement",
  "details": {
    "value": [
      {
        "type": "blank",
        "description": "ne peut pas être vide"
      }
    ]
  }
}

L'API Sell (le CRM de vente de Zendesk) utilise un format légèrement différent avec un tableau errors et un objet meta contenant l'état HTTP et l'ID de requête.

Erreurs d'authentification et d'autorisation : 401 et 403

Les erreurs 401 et 403 causent le plus de confusion pour les développeurs novices en matière d'API Zendesk. Elles sont toutes deux liées au contrôle d'accès, mais échouent à différentes étapes.

Organigramme de l'échec d'authentification par rapport à l'autorisation pour le diagnostic des erreurs d'API
Organigramme de l'échec d'authentification par rapport à l'autorisation pour le diagnostic des erreurs d'API

401 Non autorisé : Authentification échouée

Une erreur 401 signifie que Zendesk n'a pas pu authentifier votre requête. Il ne sait pas qui vous êtes, il ne peut donc pas vérifier les autorisations.

Les causes courantes incluent :

  • En-têtes d'autorisation manquants ou mal formés
  • Encodage Base64 incorrect pour l'authentification de base
  • Oubli du suffixe /token lors de l'utilisation de jetons d'API
  • Jetons expirés ou révoqués
  • Utilisation de jetons OAuth dans un en-tête d'authentification de base

Voici le format correct pour l'authentification par jeton d'API :

curl -v \
  -u "agent@example.com/token:YOUR_API_TOKEN" \
  "https://your_subdomain.zendesk.com/api/v2/tickets.json"

Et dans Node.js :

import fetch from "node-fetch";
import btoa from "btoa";

const subdomain = "your_subdomain";
const email = "agent@example.com";
const token = process.env.API_TOKEN;

const response = await fetch(
  `https://${subdomain}.zendesk.com/api/v2/users/me.json`,
  {
    headers: {
      'Authorization': 'Basic ' + btoa(`${email}/token:${token}`),
      'Content-Type': 'application/json'
    }
  }
);

Pour OAuth, utilisez le schéma Bearer :

curl \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  "https://your_subdomain.zendesk.com/api/v2/users/me.json"

403 Interdit : Authentifié, mais non autorisé

Une erreur 403 signifie que Zendesk sait qui vous êtes, mais que vous n'avez pas l'autorisation de faire ce que vous essayez de faire.

Les causes courantes incluent :

  • Jetons OAuth manquant des étendues requises (un jeton avec tickets:read ne peut pas créer de tickets)
  • Utilisation des informations d'identification de l'utilisateur final pour appeler des points de terminaison réservés aux agents
  • Tentative d'accès à des ressources appartenant à une autre marque
  • Restrictions IP activées sur le compte
  • Comptes d'agent suspendus ou rétrogradés

Si vous recevez une erreur 403, vérifiez d'abord vos étendues OAuth. Les étendues ne peuvent pas être modifiées après la création du jeton, vous devrez donc générer un nouveau jeton avec les autorisations correctes.

Approche de diagnostic rapide

Lors du débogage des problèmes d'accès :

  1. Testez d'abord avec curl pour isoler le problème du code de votre application
  2. Vérifiez que vous utilisez le sous-domaine correct (les jetons de bac à sable et de production ne sont pas interchangeables)
  3. Confirmez que votre méthode d'authentification correspond à votre type de jeton
  4. Vérifiez le rôle de l'utilisateur (de nombreux points de terminaison nécessitent des autorisations d'agent ou d'administrateur)
  5. Pour OAuth, vérifiez que votre jeton inclut les étendues requises

Limitation du débit et étranglement : Gestion des erreurs 429

Zendesk applique des limites de débit pour garantir la stabilité de l'API. Lorsque vous dépassez ces limites, vous recevrez une erreur 429. La réponse inclut un en-tête Retry-After indiquant le nombre de secondes à attendre avant de réessayer.

Zendesk renvoie également des en-têtes de limite de débit avec chaque requête :

X-Rate-Limit: 700
X-Rate-Limit-Remaining: 699

Les limites de débit varient selon le plan : les plans Team obtiennent 200 requêtes par minute, les plans Professional obtiennent 400, les plans Enterprise obtiennent 700 et les plans Enterprise Plus obtiennent 2 500. Les points de terminaison en bloc et la recherche ont des limites inférieures.

Logique de nouvelle tentative de limitation du débit avec interruption exponentielle pour la stabilité de l'API
Logique de nouvelle tentative de limitation du débit avec interruption exponentielle pour la stabilité de l'API

Meilleures pratiques pour la gestion des limites de débit

Implémentez une interruption exponentielle dans votre code :

import time
import requests

def make_request_with_retry(url, headers, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)

        if response.status_code == 429:
            retry_after = int(response.headers.get('Retry-After', 60))
            time.sleep(retry_after)
            continue

        return response

    raise Exception("Max retries exceeded")

Pour les opérations par lots :

  • Utilisez les points de terminaison en bloc lorsqu'ils sont disponibles (ils comptent comme une seule requête, mais gèrent plusieurs enregistrements)
  • Implémentez la mise en file d'attente des requêtes pour lisser le trafic
  • Surveillez votre en-tête X-Rate-Limit-Remaining et limitez de manière proactive
  • Envisagez d'utiliser la pagination basée sur le curseur au lieu de la pagination basée sur le décalage pour les grands ensembles de données

Erreurs de validation des données et de conflit : 422 et 409

422 Entité non traitable

Une erreur 422 signifie que votre requête est un JSON syntaxiquement valide, mais sémantiquement incorrect. Le serveur ne peut pas le traiter en raison de contraintes de logique métier.

Scénarios courants :

  • Tentative de fermeture d'un ticket déjà fermé
  • Champs obligatoires manquants (comme l'objet ou le corps du commentaire)
  • Valeurs de champ non valides (attribution à un agent inexistant)
  • Violation des règles métier (définition d'une date d'échéance dans le passé)

La réponse d'erreur inclut généralement des détails sur ce qui a spécifiquement échoué :

{
  "error": "RecordInvalid",
  "description": "Erreurs de validation d'enregistrement",
  "details": {
    "base": [
      {
        "description": "Statut : fermé n'est pas valide pour la mise à jour du ticket"
      }
    ]
  }
}

409 Conflit

Une erreur 409 indique un conflit avec l'état actuel de la ressource. Cela se produit généralement lorsque deux requêtes tentent de modifier la même ressource simultanément.

Pour éviter les erreurs 409 :

  • Sérialisez les requêtes qui modifient la même ressource lorsque cela est possible
  • Utilisez l'en-tête Idempotency-Key pour les requêtes POST afin de réessayer en toute sécurité sans créer de doublons
  • Implémentez le verrouillage optimiste en vérifiant l'horodatage updated_at avant les mises à jour

Voici comment utiliser les clés d'idempotence :

curl https://{subdomain}.zendesk.com/api/v2/tickets.json \
  -d '{"ticket": {"subject": "Test", "comment": {"body": "Test"}}}' \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: unique-key-123" \
  -v -u email/token:token -X POST

Les clés expirent après deux heures. La réutilisation d'une clé avec des paramètres différents renvoie une erreur.

Codes d'état de la livraison des e-mails

Lorsque vous travaillez avec l'API des notifications par e-mail, vous rencontrerez des codes d'état de livraison qui vont au-delà des réponses HTTP standard. Ceux-ci indiquent ce qui s'est passé après que Zendesk a envoyé un e-mail à ses destinataires.

L'API renvoie des informations sur l'état de la livraison avec les propriétés id, name, code et message pour chaque destinataire. Voici les codes les plus courants que vous verrez :

IDNomCode SMTPSignification
0AUCUN0Aucune réponse de livraison reçue pour le moment
5LIVRÉ200L'e-mail a été livré avec succès
16ADRESSE_E-MAIL_INCORRECTE510Adresse e-mail rejetée (n'existe pas ou mal orthographiée)
29BOÎTE_AUX_LETTRES_NON_DISPONIBLE550Boîte aux lettres non disponible ou accès refusé
31BOÎTE_AUX_LETTRES_PLEINE552La boîte de réception du destinataire est pleine
39UTILISATEUR_N'EXISTE_PAS550 5.1.1L'utilisateur n'existe pas (vérifiez les fautes de frappe)
40DESTINATAIRE_EST_INACTIF550 5.2.1L'adresse e-mail est inactive
52NIVEAU_D'AUTHENTIFICATION_INCORRECT550 5.7.515Les exigences d'authentification ne sont pas remplies

Codes d'état de la livraison des e-mails SMTP pour le dépannage des échecs de notification
Codes d'état de la livraison des e-mails SMTP pour le dépannage des échecs de notification

Les connexions Microsoft Exchange ont leurs propres codes d'erreur :

CodeSignification
EC-001Connexion Exchange inactive ou restreinte
EC-002Stockage insuffisant sur le serveur Exchange
EC-003Erreur Exchange générale
EC-004Adresse du destinataire non valide
EC-005Limites de l'API Microsoft atteintes
EC-006Problème d'authentification Exchange

Lors du dépannage des problèmes de livraison des e-mails, vérifiez l'objet delivery_status dans la réponse de l'API. Le champ code contient le code d'état SMTP, tandis que message fournit une explication lisible par l'homme.

Meilleures pratiques de dépannage pour les erreurs de l'API Zendesk

Lorsque vous rencontrez une erreur, suivez cette approche systématique :

  1. Vérifiez d'abord le code d'état. Il vous indique globalement à quelle catégorie de problème vous avez affaire.

  2. Lisez le message d'erreur. Les réponses d'erreur de Zendesk incluent des messages descriptifs. Ne vous contentez pas de vérifier le code d'état et de deviner.

  3. Testez avec curl. Avant de déboguer le code de votre application, vérifiez que vos informations d'identification et le format de votre requête fonctionnent avec une simple commande curl. Cela isole les problèmes d'API des bogues de l'application.

  4. Vérifiez l'en-tête X-Zendesk-Request-Id. Chaque réponse inclut cet identifiant unique. Lorsque vous contactez le support Zendesk, incluez cet ID afin qu'ils puissent suivre votre requête spécifique dans leurs journaux.

  5. Vérifiez votre sous-domaine. Les jetons d'API sont limités à des sous-domaines spécifiques. Un jeton pour company.zendesk.com ne fonctionnera pas sur company-sandbox.zendesk.com.

  6. Vérifiez votre méthode d'authentification. Le mélange d'authentification de base, d'OAuth et de JWT est une source courante de confusion. Assurez-vous que le format de votre en-tête correspond à votre type de jeton.

  7. Vérifiez les problèmes de CORS. L'API REST de Zendesk ne prend pas en charge l'authentification d'origine du navigateur. Les requêtes JavaScript côté client échoueront. Utilisez un service principal ou une application Zendesk avec le client ZAF à la place.

Erreurs courantes à éviter :

  • Omission du suffixe /token dans les noms d'utilisateur d'authentification de base
  • Envoi de jetons OAuth avec des en-têtes d'authentification de base au lieu de Bearer
  • Utilisation des informations d'identification de l'utilisateur final pour les points de terminaison réservés aux agents
  • Ne pas gérer les erreurs 429 avec une logique de nouvelle tentative appropriée
  • Ignorer l'en-tête Retry-After sur les réponses limitées en débit

Gérer automatiquement les erreurs de l'API Zendesk avec eesel AI

La gestion des erreurs d'API fait partie de la construction sur n'importe quelle plateforme, mais que se passerait-il si vous pouviez réduire complètement la complexité ? eesel AI fonctionne comme un coéquipier d'IA pour votre instance Zendesk, gérant intelligemment les opérations de tickets afin que vous fassiez moins d'appels d'API en premier lieu.

Tableau de bord de simulation eesel AI montrant les taux d'automatisation prédits pour les tickets Zendesk
Tableau de bord de simulation eesel AI montrant les taux d'automatisation prédits pour les tickets Zendesk

Voici comment cela fonctionne : au lieu de créer des intégrations personnalisées qui martèlent l'API et risquent des limites de débit, vous invitez eesel AI dans votre équipe. Il apprend de vos tickets passés, des articles du centre d'aide et des macros, puis gère le support de première ligne de manière autonome. Cela signifie moins d'appels d'API, moins d'erreurs 429 et moins de temps passé à déboguer les problèmes d'authentification.

Lorsque eesel AI a besoin d'interagir avec Zendesk, il inclut une gestion des erreurs et une logique de nouvelle tentative intégrées. Les limites de débit, les échecs temporaires et les erreurs de conflit sont gérés automatiquement. Vous définissez des règles d'escalade en langage clair (« Toujours escalader les litiges de facturation à un humain ») et eesel AI les suit.

Pour les équipes qui construisent sur Zendesk, cette approche élimine toute une catégorie d'erreurs d'API. Vous n'avez pas besoin d'implémenter une interruption exponentielle, de gérer les étendues OAuth ou de déboguer les réponses 401. eesel AI gère la complexité de l'intégration pendant que vous vous concentrez sur la fourniture de meilleures expériences client.

Si vous êtes fatigué de dépanner les erreurs d'API et que vous voulez voir comment un coéquipier d'IA peut simplifier vos opérations Zendesk, vous pouvez essayer eesel AI gratuitement ou réserver une démonstration pour le voir en action.

Foire aux questions

Une erreur 401 signifie que l'authentification a échoué (Zendesk ne sait pas qui vous êtes), tandis qu'une erreur 403 signifie que l'authentification a réussi, mais que vous n'avez pas l'autorisation pour l'action demandée. Corrigez les erreurs 401 en vérifiant vos informations d'identification et vos en-têtes d'authentification. Corrigez les erreurs 403 en vérifiant les étendues OAuth ou les autorisations utilisateur.
Lorsque vous recevez une erreur 429, vérifiez l'en-tête Retry-After et attendez ce nombre de secondes avant de réessayer. Implémentez une interruption exponentielle dans votre code et envisagez de surveiller X-Rate-Limit-Remaining pour limiter les requêtes de manière proactive avant d'atteindre les limites.
Les erreurs les plus courantes sont 401 (problèmes d'authentification, généralement le suffixe /token manquant), 403 (étendues OAuth insuffisantes), 422 (erreurs de validation comme essayer de fermer un ticket déjà fermé) et 429 (limitation du débit). Les erreurs d'authentification représentent la majorité des problèmes lors de l'intégration initiale.
Vérifiez les détails de la réponse d'erreur, qui spécifient quelle validation a échoué. Les causes courantes incluent les champs obligatoires manquants, les valeurs non valides (comme les ID utilisateur inexistants) ou les violations des règles métier (comme la définition d'une date d'échéance passée). Le message d'erreur vous indique généralement exactement quel champ a causé le problème.
Les erreurs 500 indiquent un problème du côté de Zendesk. Consultez la page d'état de Zendesk et @zendeskops pour connaître les problèmes connus. Si l'erreur persiste sans annonce de maintenance, contactez le support Zendesk avec la valeur de votre en-tête X-Zendesk-Request-Id.

Partager cet article

Stevia undefined

Article by

Stevia Putri

Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.