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.
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
- spécification de l’API d’émission
- spécification de l’API Presentation