Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Centro de partners | Referencias del Centro de partners
Roles adecuados: Administrador de referencias | Usuario de referencias
Las API REST de referencias del Centro de partners devuelven un objeto JSON que contiene un código de estado. Este código que indica si la solicitud se realizó correctamente o por qué se produjo un error.
Respuestas correctas
Un código de estado 2xx indica que la solicitud del cliente se ha recibido, comprendido y aceptado correctamente. Los siguientes códigos de estado 2xx indican una respuesta correcta:
- 200: Confirmación del éxito
- 201: Recurso creado
- 202: Aceptado
- 204: No hay contenido que devolver
Respuestas de errores
Cualquier respuesta con un código de estado 4xx o 5xx incluye un mensaje de error con detalles sobre las condiciones de error de ese código.
En la tabla siguiente se enumeran y describen los códigos de estado HTTP que se pueden devolver para escenarios de error.
status code | Mensaje de estado | Descripción |
---|---|---|
400 | Bad Request | No se puede procesar la solicitud porque tiene un formato incorrecto o incorrecto. |
401 | No autorizado | La información de autenticación necesaria falta o no es válida para el recurso. |
403 | Prohibida | Se denegó el acceso al recurso solicitado. Es posible que el usuario no tenga permisos suficientes. |
404 | No encontrado | El recurso solicitado no existe. |
405 | Método no permitido | El método HTTP de la solicitud no se permite en el recurso. |
406 | No aceptable | Este servicio no admite el formato solicitado en el encabezado Accept. |
409 | Conflicto | El estado actual entra en conflicto con lo que espera la solicitud. Por ejemplo, puede que la carpeta principal especificada no exista. |
410 | Eliminado | El recurso solicitado ya no está disponible en el servidor. |
411 | Longitud requerida | Se requiere un encabezado Content-Length en la solicitud. |
412 | Error en la condición previa | Una condición previa proporcionada en la solicitud (por ejemplo, un encabezado if-match) no coincide con el estado actual del recurso. |
413 | Entidad de solicitud demasiado grande | El tamaño de la solicitud supera el límite máximo. |
415 | Tipo de medio no compatible | El tipo de contenido de la solicitud es un formato que no admite el servicio. |
416 | No se puede satisfacer el intervalo solicitado | El intervalo de bytes especificado no es válido o no está disponible. |
422 | Entidad no procesable | No se puede procesar la solicitud porque es semánticamente incorrecta. |
423 | Bloqueado | El recurso al que se va a acceder está bloqueado. |
429 | Demasiadas solicitudes | La aplicación cliente está limitada y no debe intentar repetir la solicitud durante algún tiempo. |
500 | Internal Server Error | Se produjo un error interno del servidor al procesar la solicitud. |
501 | No implementado | La característica solicitada no está implementada. |
503 | Servicio no disponible | El servicio no está disponible temporalmente debido a que se encuentra en mantenimiento o está sobrecargado. Puede repetir la solicitud después de un retraso, cuya longitud puede especificarse en un encabezado Retry-After. |
504 | Tiempo de espera de puerta de enlace | El servidor, mientras actúa como proxy, no recibió una respuesta oportuna del servidor ascendente al que necesitaba acceder al intentar completar la solicitud. Puede producirse junto con el error 503. |
507 | Almacenamiento insuficiente | Se alcanzó la cuota de almacenamiento máxima. |
509 | Límite de ancho de banda excedido | La aplicación cliente se limitó para superar el límite máximo de ancho de banda. La aplicación puede volver a intentar la solicitud después de algún tiempo. |
Tipo de recurso de error
La respuesta de error es un objeto JSON único que contiene una propiedad única denominada error. Este objeto incluye todos los detalles del error. Puede usar la información que se devuelve aquí para reemplazar o complementar el código de estado HTTP.
En la tabla y los ejemplos de código siguientes se describe el esquema de una respuesta de error.
Nombre | Escribir | Descripción |
---|---|---|
código | string | Siempre se devuelve. Indica el tipo de error que se produjo. No es NULL. |
message | string | Siempre se devuelve. Describe el error en detalle y proporciona más información de depuración. Non-null nonempty. La longitud máxima es de 1024 caracteres. |
innerError | objeto | Opcional. Otro objeto de error con información más específica sobre el error se produjo. |
innerError.code | cadena numérica | Siempre se devuelve, si innerError no es NULL. Proporciona información de código de error más específica en el valor de código de error superior. |
innerError.message | string | Siempre se devuelve, si innerError no es NULL. Proporciona un mensaje de error más específico en la cadena de mensaje de error superior. |
innerError.details | matriz objeto | Opcional. Contiene más detalles sobre el error. Principalmente útil en los errores de validación de entrada. |
Destino | string | Opcional. Destino en el que se originó el error. |
Respuesta de error de ejemplo
{
"error": {
"code": "unauthenticated",
"message": "The caller is not authenticated.",
"innerError": {
"code": "99902",
"message": "Request not authenticated",
"details": null
}
}
}
Otro ejemplo con el objeto innerError.details rellenado:
{
"error": {
"code": "invalidRequest",
"message": "The request is malformed or incorrect.",
"innerError": {
"code": "99901",
"message": "InvalidInput",
"details": [
{
"InvalidReferralForCoSellConversion": [
"If PartnerLed referral has no solution it cannot be converted to co-sell referral"
]
}
]
}
}
}
Propiedad code
La propiedad code
contiene uno de los siguientes valores posibles. Las aplicaciones deben estar preparadas para administrar cualquiera de estos errores.
Código | Código de estado HTTP | Descripción |
---|---|---|
invalidRequest | 400 | La solicitud tiene un formato incorrecto o es incorrecta. |
unauthenticated | 401 | El autor de la llamada no está autenticado. |
accessDenied | 403 | El autor de la llamada no tiene permiso para realizar la acción. |
itemNotFound | 404 | No se encontró el recurso. |
resourceModified | 409 | El recurso que se está actualizando cambia desde que el autor de la llamada lo leyó por última vez, normalmente un error de coincidencia de eTag. |
preconditionFailed | 412 | Una condición previa proporcionada en la solicitud (por ejemplo, un encabezado if-match) no coincide con el estado actual del recurso. |
generalException | 500 | Se ha producido un error no especificado. |
serviceNotAvailable | 503 | El servicio no está disponible. Intente volver a realizar la solicitud después de un retraso. Es posible que haya un encabezado Retry-After. |
Propiedad message
La propiedad message
en la raíz contiene un mensaje de error pensado para que el desarrollador lo lea. Los mensajes de error no se localizan y no se deben mostrar directamente al usuario. El código no debe comprobar message
los valores solo porque pueden cambiar en cualquier momento y a menudo contienen información dinámica específica de la solicitud con error. Debe codificar con códigos de error devueltos en code
propiedades y, a continuación, para obtener más detalles, combinarlos con el texto del mensaje.
Objeto InnerError
El innererror
objeto puede contener de forma recursiva más innererror
objetos con códigos de error más específicos. La aplicación cliente, al controlar un error, debe recorrer en bucle todos los códigos de error disponibles y usar el más detallado que entienden.
Hay algunos errores más que podría encontrar la aplicación dentro de los objetos anidados innererror
. Las aplicaciones no son necesarias para controlar estos errores, pero pueden hacerlo si lo eligen. El servicio puede agregar nuevos códigos de error o dejar de devolver los antiguos en cualquier momento, por lo que es importante que todas las aplicaciones puedan controlar los [códigos de error básicos].
Códigos de error
A continuación se muestran los códigos de error devueltos por las API:
Estado HTTP | Código de error HTTP | Código de error | Descripción |
---|---|---|---|
BadRequest | 400 | 99901 | Entrada no válida |
No autorizado | 401 | 99902 | Acceso no autorizado |
BadRequest | 400 | 99903 | Falta la entrada |
NotFound | 404 | 99,904 | Recurso no encontrado |
InternalServerError | 500 | 99905 | Error no especificado |
TooManyRequests | 429 | 99906 | Demasiadas solicitudes |
InternalServerError | 500 | 99907 | Error interno transitorio |
BadRequest | 400 | 99908 | La propiedad no es actualizable |
BadRequest | 400 | 99909 | La propiedad no acepta valores NULL |
Condición previaFailed | 412 | 99910 | El valor de Etag no coincide |
BadRequest | 400 | 99911 | Estado de referencia no válido para invitar |
BadRequest | 400 | 99912 | Se requiere una solución con el tipo "name" |
Prohibido | 403 | 99913 | Organización no permitida para crear recursos |
Prohibido | 403 | 99914 | Organización no permitida para participar en interacciones de venta conjunta |
InternalServerError | 500 | 99915 | Error interno de ejecución de solicitudes |
Conflicto | 409 | 99917 | Recurso ya modificado a través de otra solicitud |
PreConditionFailed | 412 | 99918 | Una condición previa proporcionada en la solicitud (por ejemplo, un encabezado if-match) no coincide con el estado actual del recurso. |
BadRequest | 400 | 99919 | Calificación de referencia no válida para actualizar |
InternalServerError | 500 | 99999 | Excepción general durante el procesamiento de la solicitud |