Compartir vía


Códigos de error de api de servicio de solicitud

El identificador comprobado de Microsoft Entra incluye la API rest del servicio de solicitud que le permite emitir y comprobar una credencial. En este artículo se especifican los códigos de error de request Service API.

Error (objeto)

Durante la versión preliminar pública, la API de servicio de solicitudes 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 el control de errores más sencillo y una mejor compatibilidad con la solución de problemas. En el nuevo formato, el error de exterior código y 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 Tipo Descripción
requestId cuerda Identificador de solicitud generado automáticamente.
date fecha Hora del error.
mscv cuerda 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 Tipo Descripción
code cuerda Código de error de devolución que coincide con el código de estado HTTP.
message cuerda Mensaje de error estandarizado que también depende del código de estado HTTP devuelto.
innererror Innererror Proporcione detalles sobre lo que provocó el error.

Códigos de error y mensajes

A continuación se muestran los posibles valores de nivel superior code que se asignan a los distintos códigos de estado HTTP devueltos.

Código de estado HTTP código Mensaje
400 badRequest La solicitud no es válida.
401 Desautorizado El recurso solicitado requiere autenticación
403 prohibido Faltan permisos para cumplir esta solicitud.
404 notFound El recurso solicitado no existe.
405 methodNotAllowed No se permite el método solicitado en el recurso solicitado.
406 notAcceptable No se admite el formato de respuesta solicitado.
408 requestTimeout Se agota el tiempo de espera de la solicitud.
409 conflicto El servidor no puede cumplir la solicitud debido a un conflicto de servidor.
410 ido El recurso solicitado ya no está disponible.
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 satisfacer el intervalo solicitado de datos solicitados.
417 expectationFailed No se pudo satisfacer el encabezado Esperado.
421 misdirectedRequest No se puede generar una respuesta para esta solicitud.
422 unprocessableEntity La solicitud contiene errores semánticos.
423 cerrado con llave El recurso de origen o destino está bloqueado.
429 tooManyRequests Demasiadas solicitudes, inténtelo de nuevo más tarde.
431 requestHeaderFieldsTooLarge El campo de 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 Se agota el tiempo de espera recibido de 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 el desarrollador para ayudar a 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 Tipo Descripción
code cuerda Código de error interno. Contiene un código estandarizado, basado en el tipo de error.
message cuerda Mensaje de error interno. Contiene un mensaje detallado del error. En este ejemplo, el campo includeQRCode es del tipo incorrecto.
target cuerda 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 JSON Web Token (JWT) y los likes. El campo target contiene el nombre del token que causa el problema, cuando procede.
transientError se devuelve para todos los casos en los que el cliente podría obtener una respuesta correcta si vuelven a intentar la solicitud en una fase posterior. Un ejemplo común de cuándo se devuelve este código es cuando se devuelve un código HTTP 429

Pasos siguientes