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

Remarque

La Vérification d’identité Microsoft Entra fait désormais partie de la famille de produits Microsoft Entra. En savoir plus sur la famille Microsoft Entra de solutions d’identité et bien démarrer dans le centre d’administration unifié Microsoft Entra.

Vérification d’identité Microsoft Entra inclut l’API REST du service de requête, qui vous permet d’émettre et de vérifier des informations d’identification. Cet article spécifie les codes d’erreur pour l’API du service de requête.

Objet d’erreur

Lors de la préversion publique, l’API du service de requête retournait 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 a maintenant changé comme suit, afin de faciliter la gestion des erreurs et une meilleure prise en charge de la résolution des problèmes. Dans le nouveau format, le code d’erreur externe et les champs de message ont des valeurs normalisé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 string ID de demande généré automatiquement.
date Date Heure de l’erreur.
mscv string Code Microsoft interne.
error Error Objet d’erreur externe

Type d’erreur

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

Propriété Type Description
code string Code d’erreur de retour correspondant au code d’état HTTP.
message string Message d’erreur normalisé qui dépend également du code d’état HTTP retourné.
innererror Innererror Fournit 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és La ressource demandée nécessite une authentification
403 forbidden Autorisations manquantes pour répondre à cette requête.
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 notAcceptable 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 requête en raison d’un conflit de serveur.
410 gone La ressource demandée n’est plus disponible.
411 contentLengthRequired L’en-tête Content-Length est manquant.
412 preconditionFailed Une condition préalable pour cette requête a échoué.
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 expectationFailed L’en-tête Expect n’a pas pu être satisfait.
421 misdirectedRequest Impossible de produire une réponse pour cette requête.
422 UnprocessableEntity La requête contient des erreurs sémantiques.
423 locked La ressource source ou de destination est verrouillée.
429 tooManyRequests Trop de requêtes. Réessayez plus tard.
431 requestHeaderFieldsTooLarge Le champ d’en-tête de requête est trop grand.
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 est momentanément indisponible. Réessayez ultérieurement.
504 gatewayTimeout Expiration du délai d’attente d’une autre passerelle.
507 insufficientStorage Impossible d’enregistrer les données de la requête.

Type d’erreur interne

L’objet d’erreur interne contient des détails propres à l’erreur utiles au développeur pour aider à investiguer 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 string Code d’erreur interne. Contient un code normalisé basé sur le type de l’erreur.
message string Message d’erreur interne. Contient un message détaillé de l’erreur. Dans cet exemple, le champ includeQRCode est de type incorrect.
target string facultatif. La cible contient le champ dans 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 requête 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 tous les problèmes de validation sur des jetons tels que 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 est susceptible d’obtenir une réponse positive s’il soumet à nouveau la requête à un stade ultérieur. Un exemple courant de retour de ce code est lorsqu’un code HTTP 429 est retourné.

Étapes suivantes