Skip to main content

Estrutura típica de resposta

Respostas bem-sucedidas são indicadas por um código HTTP na faixa 200 e um payload em JSON contendo o(s) objeto(s) solicitado(s), criado(s), modificado(s) ou excluído(s), juntamente com uma expressão da interpretação do servidor sobre sua requisição. Se você emitiu uma requisição bem-sucedida, receberá como parte de sua resposta um nó request refletindo sua requisição. Exemplo: GET accounts/abcdefg/campaigns?with_deleted=true
O campo data nas respostas JSON conterá os objetos específicos associados ao recurso utilizado. O formato do nó data será um array JSON quando a resposta puder conter um ou mais resultados. Será retornado como um hash JSON quando apenas um resultado for possível na resposta. Em alguns casos raros, você pode ver uma resposta que normalmente incluiria uma coleção com um hashmap em vez disso. Nesse caso, presuma que o hashmap único é um objeto do mesmo tipo especificado no campo type.

Estrutura de resposta de erro

Respostas de erro são servidas com um código HTTP fora da faixa 200. Geralmente uma resposta JSON estará anexada, mas alguns erros responderão com diferentes tipos de body. Nessas circunstâncias em que a estrutura da resposta não pode ser analisada, considere o significado central do código HTTP como prevalecente. Por exemplo, você pode ocasionalmente ver um HTTP 404 junto com uma resposta HTML. Nesse caso, é seguro assumir que o conteúdo não pode ser encontrado (HTTP 404 significa “Não Encontrado”). Respostas de erro típicas seguem uma estrutura semelhante às respostas bem-sucedidas. A natureza do erro será comunicada em um nó errors da resposta. O nó errors/code indicará uma constante de erro em CAPS_CASE que você pode consumir programaticamente para tomar decisões de resolução. O nó errors/message indicará uma descrição (geralmente) legível por humanos do erro em inglês. Campos adicionais podem ser anexados para indicar detalhes mais refinados sobre o erro.
Exemplo de resposta
No exemplo acima, uma requisição a um endpoint de analytics foi feita com um valor inválido para o parâmetro start_time. O errors/code para requisições com parâmetros inválidos é INVALID_PARAMETER.