Esta página trata sobre as respostas das requisições (sucessos e erros)
Estrutura
Ao enviar uma requisição, a API retornará uma resposta com informações pertinentes, como erros, etc.
A estrutura segue o padrão abaixo:
{
"http_code": 200,
"result": {},
"errors": {}
}
-
http_code
- o status HTTP da resposta; -
result
-Object
contendo os resultados da requisição. Cada método HTTP retornará estruturas diferentes nesta seção (confira a seção de cada método para visualizar seus padrões). Em casos de erro, esta seção será retornada comonull
; -
errors
-Object
contendo os erros (caso hajam) da requisição. Caso a requisição seja bem sucedida, este campo será retornado comonull
. Veja a seção Erros para saber mais.
POST
, PUT
, DELETE
POST
, PUT
, DELETE
Em caso de uma requisição bem sucedida, a seção result
da resposta conterá o identificador da entidade criada/atualizada/deletada. Exemplo:
{
"http_code": 200,
"result": {
"entity_id": "123"
},
"errors": null
}
GET
GET
Uma requisição do tipo GET
conterá, na seção result
de sua resposta, os itens que condizem com os filtros especificados mais as informações para paginação dos resultados (total_pages
e page
). Por exemplo, ao Listar Produtos, a resposta seria semelhante ao exemplo abaixo:
{
"http_code": 200,
"result": {
"total_pages": 1,
"page": 1,
"products": [
{
"entity_id": 123,
"name": "API Simple Product",
"sku": "api-simple-proddst",
"url": "https://your-domain.com/api-simple-product-13728.html",
"..."
}
]
},
"errors": null
}
Status HTTP
As respostas são divididas entre 3 status principais. Abaixo, é possível ver em detalhes os casos de uso e formatação das mesmas.
Status HTTP | Mensagem | Explicação |
---|---|---|
200 | OK | Retornado em caso de a requisição ter sido completada com sucesso |
400 | Bad Request | Retornado em caso de a requisição ter sido formulada de forma errada |
401 | Unauthorized | Retornado em caso de falha na autorização (token inválido) |
Erros
Abaixo, segue a tabela de erros possíveis no retorno das requisições.
Code | Message | Motivo |
---|---|---|
001 | This request body isn't valid! | O body da requisição ter sido enviado como um JSON inválido. |
002 | This request HTTP method isn't supported! | A endpoint atual não suporta o método HTTP enviado. |
003 | This item already exists! | Ao tentar cadastrar um item que já existe na loja. Ex. Tentar importar um produto com SKU duplicado. |
004 | No item found! | Quando nada é encontrado para um identificador de item. |
005 | Page out of bounds! | Ao exceder o limite de paginação. Ex.: Tentar acessar a página 2 de um resultado que possui apenas 1 página. |
006 | One or more field's values are invalid! | Quando o valor de um campo ou mais campos enviados na requisição é inválido. Exemplo: Tentar importar um produto com o campo price igual a 0 (o preço dos produtos deve ser maior que zero). |
007 | An error occured while finishing this action! | Quando um erro impede a ação atual (importação, atualização, etc) de ser finalizada. |
O campo
message
informa uma descrição geral do erro. Para ter uma visão mais detalhada da ocorrência do erro, verifique o campodetails
.
{
"http_code": 400,
"result": null,
"errors": [
{
"code": "005",
"message": "Page out of bounds!",
"details": "There's no items for page: 100"
}
]
}
{
"http_code": 400,
"result": null,
"errors": [
{
"code": "006",
"message": "One or more field's values are invalid!",
"details": "Product's price must be greater than the special_price!"
}
]
}