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.

    400 - erro 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.
    v0/oauth/authorize (text/plain)
    error:invalid_request
    error_description:The mandatory 'client_id' parameter is missing.
    error_uri:https://documentation.openiddict.com/errors/ID2029
    v0/oauth/token (application/json)
    {
      "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.

    401 - token inválido
    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.

    422 - corpo do erro
    {
      "code": "ErrorCode",
      "message": "Message explaining what happened",
      "details": null
    }
    Códigos de erro (exemplos)
    SignatureNotAllowed422opcional
    O escopo do Bearer Token não permite assinaturas.
    OnlySingleSignatureAllowed422opcional
    O escopo do Bearer Token não permite assinatura de múltiplos hashes.
    BadAgentType422opcional
    A chamada foi feita com um token que não representa um usuário (por exemplo, um token de v0/oauth/client_token).
    BadGrantType422opcional
    O grant_type especificado é válido, mas não é suportado nessa rota.
    PscApplicationNotFound422opcional
    O ClientId não corresponde a uma aplicação existente.
    InvalidClientCredentials422opcional
    O ClientSecret não corresponde ao Client especificado pelo ClientId.

    500 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.

    500 - erro inesperado
    {
      "message": "Ocorreu um erro inesperado. Por favor entre em contato com o suporte.",
      "exceptionCode": "703CA4"
    }

    Pronto para integrar?

    Solicite as credenciais e comece pelo ambiente de homologação.

    Solicitar credenciais