Partage via


Codes d’erreur de l’API de service de requête

L’ID vérifié Microsoft Entra inclut l’API REST du service de requête qui vous permet d’émettre et de vérifier les informations d’identification. Cet article spécifie les codes d’erreur de l’API de service de requête.

Objet Error

Pendant la préversion publique, l’API Service de requête a retourné des erreurs au format suivant.

{
  "requestId": "4bb6726f77af7623ab52962323016442",
  "date": "Thu, 28 Apr 2022 14:30:54 GMT",
  "mscv": "17ppwf3uxR10MfRR.1",
  "error": {
    "code": "client_request.invalid_include_qr_code",
    "message": "The request contains `includeQRCode`, but it is not boolean."
  }
}

Ce format est désormais modifié en ce qui suit pour faciliter la gestion des erreurs et une meilleure prise en charge de la résolution des problèmes. Dans le nouveau format, l’erreur de externe code et les champs de message ont des valeurs standardisées tandis que l’objet innererror fournit des détails sur ce qui a provoqué l’erreur.

{
  "requestId": "782628eb-503a-4978-84f2-d7c634f25b15",
  "date": "Fri, 29 Apr 2022 11:20:19 GMT",
  "mscv": "QbBLwF7XAp0dt4Lw.1",
  "error": {
    "code": "badRequest",
    "message": "The request is invalid.",
    "innererror": {
      "code": "badOrMissingField",
      "message": "The request contains `includeQRCode`, but it is not boolean.",
      "target": "includeQRCode"
    }
  }
}
Propriété Type Description
requestId corde ID de requête généré automatiquement.
date date Heure de l’erreur.
mscv corde Code Microsoft interne.
error erreur Objet d’erreur externe

Type d’erreur

L’objet error correspond désormais au code d’état HTTP retourné par l’appel d’API pour faciliter la gestion des erreurs pour les développeurs.

Propriété Type Description
code corde Code d’erreur de retour correspondant au code d’état HTTP.
message corde Message d’erreur standardisé qui dépend également du code d’état HTTP retourné.
innererror Innererror Fournissez des détails sur ce qui a provoqué l’erreur.

Codes d’erreur et messages

Voici les valeurs code de niveau supérieur possibles qui correspondent aux différents codes d’état HTTP retournés.

Code d’état HTTP code Message
400 badRequest La requête n’est pas valide.
401 Non autorisée La ressource demandée nécessite l’authentification
403 interdit Autorisations manquantes pour répondre à cette demande.
404 notFound La ressource demandée n’existe pas.
405 methodNotAllowed La méthode demandée n’est pas autorisée sur la ressource demandée.
406 non acceptable Format de réponse demandé non pris en charge.
408 requestTimeout La demande a expiré.
409 conflit Le serveur ne peut pas répondre à la demande en raison d’un conflit de serveur.
410 parti La ressource demandée n’est plus disponible.
411 contentLengthRequired L’en-tête Content-Length est manquant.
412 condition préalableFailed Échec d’une condition préalable pour cette demande.
413 payloadTooLarge La charge utile est trop grande.
414 uriTooLong L’URI est trop long.
415 unsupportedMediaType Le type de média spécifié n’est pas pris en charge.
416 rangeNotSatisfiable La plage de données demandée ne peut pas être satisfaite.
417 expectFailed L’en-tête attendu n’a pas pu être satisfait.
421 misdirectedRequest Impossible de produire une réponse pour cette demande.
422 unprocessableEntity La requête contient des erreurs sémantiques.
423 verrouillé La ressource source ou de destination est verrouillée.
429 tooManyRequests Trop de demandes, réessayez plus tard.
431 requestHeaderFieldsTooLarge Le champ d’en-tête de requête est trop volumineux.
500 internalServerError Une erreur générique s’est produite sur le serveur.
501 notImplemented Le serveur ne prend pas en charge la fonction demandée.
502 badGateway réponse incorrecte reçue d’une autre passerelle.
503 serviceUnavailable Le serveur n’est pas disponible temporairement, réessayez ultérieurement.
504 gatewayTimeout Délai d’attente reçu d’une autre passerelle.
507 insufficientStorage Impossible d’enregistrer les données de la demande.

Type d’erreur interne

L’objet d’erreur interne contient des détails spécifiques à l’erreur utiles au développeur pour aider à examiner l’échec actuel.

{
  "requestId": "782628eb-503a-4978-84f2-d7c634f25b15",
  "date": "Fri, 29 Apr 2022 11:20:19 GMT",
  "mscv": "QbBLwF7XAp0dt4Lw.1",
  "error": {
    "code": "badRequest",
    "message": "The request is invalid.",
    "innererror": {
      "code": "badOrMissingField",
      "message": "The request contains `includeQRCode`, but it is not boolean.",
      "target": "includeQRCode"
    }
  }
}
Propriété Type Description
code corde Code d’erreur interne. Contient un code standardisé, basé sur le type de l’erreur
message corde Message d’erreur interne. Contient un message détaillé de l’erreur. Dans cet exemple, le champ includeQRCode est de type incorrect.
target corde Optionnel. La cible contient le champ de la requête qui provoque cette erreur. Ce champ est facultatif et peut ne pas être présent, en fonction du type d’erreur.

Codes d’erreur internes

Code Description
badOrMissingField retourné lorsque des problèmes de validation sur la demande se produisent. Le champ target contient le champ dans la requête qui provoque le problème.
notFound retourné lorsqu’une ressource demandée par le client est introuvable. Le champ target contient le nom/l’ID de ressource introuvable.
tokenError retourné pour tout problème de validation sur des jetons tels que JSON Web Token (JWT) et les éléments de type JWT. Le champ target contient le nom du jeton à l’origine du problème, le cas échéant.
transientError retourné pour tous les cas où le client peut être en mesure d’obtenir une réponse réussie s’il réessaye la demande à un stade ultérieur. Un exemple courant de retour de ce code est le retour d’un code HTTP 429

Étapes suivantes