Tratamento de erros
A API do DS Cloud usa códigos de status HTTP padrão e retorna corpos de erro estruturados, para que a sua aplicação consiga tratar cada situação de forma clara.
400 Bad Request
A requisição não é válida: algum campo obrigatório não foi enviado ou um campo enviado é inválido. É retornado um objeto errors com os campos e as mensagens de validação.
{
"errors": {
"ClientId": ["The ClientId field is required."],
"ClientSecret": ["The ClientSecret field is required."]
},
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"traceId": "00-9cab1b6bb0572713c738ee8a13e24a3d-6ac4a0b3b14228eb-00"
}Formatos por rota no OAuth
Nas rotas de OAuth o formato do erro muda:v0/oauth/authorize retorna o erro em text/plain e v0/oauth/token retorna em application/json.error:invalid_request
error_description:The mandatory 'client_id' parameter is missing.
error_uri:https://documentation.openiddict.com/errors/ID2029{
"error": "invalid_client",
"error_description": "The mandatory 'client_id' parameter is missing.",
"error_uri": "https://documentation.openiddict.com/errors/ID2029"
}401 Unauthorized
O Bearer Token está ausente ou não é válido. Em alguns casos, o header www-authenticate na resposta detalha o que há de errado com o token.
HTTP/2 401
cache-control: no-store
www-authenticate: Bearer error="invalid_token", error_description="The specified token is no longer valid"422 Unprocessable Entity
A requisição está bem formada, mas não pode ser processada. O corpo traz um código (code), uma mensagem (message) e, em alguns casos, um objeto details.
{
"code": "ErrorCode",
"message": "Message explaining what happened",
"details": null
}SignatureNotAllowed422opcionalOnlySingleSignatureAllowed422opcionalBadAgentType422opcionalBadGrantType422opcionalPscApplicationNotFound422opcionalInvalidClientCredentials422opcional500 Internal Server Error
Erro inesperado. O corpo traz um exceptionCode que permite à equipe de suporte rastrear o que ocorreu. Guarde esse código ao abrir um chamado.
{
"message": "Ocorreu um erro inesperado. Por favor entre em contato com o suporte.",
"exceptionCode": "703CA4"
}