Códigos de error de Request Service API
Nota:
Microsoft Entra Verified ID es ahora Microsoft Entra Verified ID y forma parte de la familia de productos Microsoft Entra. Obtenga más información sobre la familia de soluciones de identidad Microsoft Entra y empiece a trabajar en el centro de administración unificado de Microsoft Entra.
La identidad verificada por Microsoft Entra incluye la API REST de Request Service que permite emitir y comprobar una credencial. En este artículo se especifican los códigos de error de Request Service API.
Objeto de error
Durante la versión preliminar pública, Request Service API devolvió errores en el formato siguiente.
{
"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."
}
}
Este formato ahora se cambia a lo siguiente para habilitar un control de errores más sencillo y una mejor compatibilidad con la solución de problemas. En el nuevo formato, el código de error externo y los campos de mensaje tienen valores estandarizados, mientras que el objeto innererror
proporciona detalles sobre lo que provocó el error.
{
"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"
}
}
}
Propiedad | Type | Description |
---|---|---|
requestId |
string | Id. de solicitud generado automáticamente. |
date |
date | Hora del error. |
mscv |
string | Código interno de Microsoft. |
error |
Error | Objeto de error externo. |
Tipo de error
El objeto error
ahora coincide con el código de estado HTTP devuelto desde la llamada API para permitir un control de errores más sencillo para los desarrolladores.
Propiedad | Type | Description |
---|---|---|
code |
string | Código de error devuelto que coincide con el código de estado HTTP. |
message |
string | Mensaje de error estandarizado que también depende del código de estado HTTP devuelto. |
innererror |
Innererror | Proporciona detalles sobre lo que provocó el error. |
Códigos de error y mensajes
A continuación se muestran los posibles valores code
de nivel superior que se asignan a los diferentes códigos de estado HTTP devueltos.
Código de estado HTTP | código | message |
---|---|---|
400 | badRequest | La solicitud no es válida. |
401 | no autorizados | El recurso solicitado requiere la autenticación. |
403 | forbidden | Faltan permisos para cumplir esta solicitud. |
404 | notFound | El recurso solicitado no existe. |
405 | methodNotAllowed | El método solicitado no se permite en el recurso especificado. |
406 | notAcceptable | No se admite el formato de respuesta solicitado. |
408 | requestTimeout | Se ha agotado el tiempo de espera de la solicitud. |
409 | Conflicto | El servidor no puede cumplir la solicitud debido a un conflicto de servidor. |
410 | gone | El recurso solicitado ya no está disponible en el servidor. |
411 | contentLengthRequired | Falta el encabezado Content-Length. |
412 | preconditionFailed | Error en una condición previa para esta solicitud. |
413 | payloadTooLarge | La carga es demasiado grande. |
414 | uriTooLong | El URI es demasiado largo. |
415 | unsupportedMediaType | No se admite el tipo de medio especificado. |
416 | rangeNotSatisfiable | No se puede cumplir el intervalo de datos solicitado. |
417 | expectationFailed | No se pudo cumplir el encabezado Expect. |
421 | misdirectedRequest | No se puede generar una respuesta para esta solicitud. |
422 | unprocessableEntity | La solicitud contiene errores semánticos. |
423 | locked | El recurso de origen o de destino está bloqueado. |
429 | tooManyRequests | Demasiadas solicitudes, vuelva a intentarlo más tarde. |
431 | requestHeaderFieldsTooLarge | El campo del encabezado de solicitud es demasiado grande. |
500 | internalServerError | Se ha producido un error genérico en el servidor. |
501 | notImplemented | El servidor no admite la función solicitada. |
502 | badGateway | Respuesta incorrecta recibida de otra puerta de enlace. |
503 | serviceUnavailable | El servidor no está disponible temporalmente, inténtelo de nuevo más tarde. |
504 | gatewayTimeout | Tiempo de espera agotado en otra puerta de enlace. |
507 | insufficientStorage | No se pueden guardar los datos de la solicitud. |
Tipo de error interno
El objeto de error interno contiene detalles específicos del error útiles para que el desarrollador pueda investigar el error actual.
{
"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"
}
}
}
Propiedad | Type | Description |
---|---|---|
code |
string | Código de error interno. Contiene un código estandarizado, basado en el tipo del error. |
message |
string | Mensaje de error interno. Contiene un mensaje detallado del error. En este ejemplo, el tipo del campo includeQRCode es incorrecto. |
target |
string | Opcional. El destino contiene el campo de la solicitud que está causando este error. Este campo es opcional y puede que no esté presente, en función del tipo de error. |
Códigos de error internos
Código | Descripción |
---|---|
badOrMissingField |
Se devuelve cuando se producen problemas de validación en la solicitud. El campo target contiene el campo de la solicitud que está causando el problema. |
notFound |
Se devuelve cuando no se encuentra un recurso que solicita el cliente. El campo target contiene el nombre o identificador del recurso que no se encuentra. |
tokenError |
Se devuelve para cualquier problema de validación en tokens como JWT y similares. El campo target contiene el nombre del token que provoca el problema, cuando procede. |
transientError |
Se devuelve para todos los casos en los que el cliente puede obtener una respuesta correcta si vuelve a intentar la solicitud más tarde. Un ejemplo común de cuándo se devuelve este código es cuando se devuelve un código HTTP 429. |