Status de pedido
Lista, consulta, cria, altera e remove o cadastro de status que um pedido pode ter, e lê os alfabetos de pagamento, seller e usuário.
Todo pedido tem um status, e o status é uma letra (O, P, S, C, I...). O cadastro de status da loja diz que letras existem, como cada uma se chama, a cor no painel e quem é avisado quando um pedido entra nela. Use estas rotas para montar o seletor de status de uma tela, para traduzir a letra que vem em Listar pedidos em um nome legível, ou para criar um status novo antes de usá-lo em Alterar o status.
Todas exigem um usuário administrador. As rotas também respondem sem o prefixo de versão (/api/statuses).
/api/v1.0/statusesAdminListar os status
Devolve todos os status do tipo pedido, ou o alfabeto de outro tipo quando você manda type. A lista não é paginada.
Parâmetros de consulta
typestringpadrão: OOPVUO pedidos (cadastro da loja), P pagamento, V seller (lojista), U usuário. Aceita minúscula. Qualquer outro valor devolve os status de pedido./api/v1.0/statuses/{id}AdminConsultar um status de pedido
Devolve um status de pedido pelo código. Só consulta o cadastro de pedidos: para os alfabetos de pagamento, seller e usuário use a lista com type.
Parâmetros de caminho
idstringobrigatóriopending, shipped...)./api/v1.0/statusesAdminCriar um status de pedido
Cria um status. Responde 201 com o código criado. O novo status nasce com a letra automática descrita acima.
Corpo da requisição
descriptionstringobrigatóriostatusstring_ e -, até 32 caracteres, sem espaço. A plataforma grava em minúscula. Se faltar, o código sai do nome, em minúscula e com _ no lugar dos espaços.typestringinitial, processing, shipped, complete, cancelled ou general.colorstring#3b82f6).positionintegernotify_customerbooleanfalse.notify_vendorbooleanfalse.notify_adminbooleanfalse./api/v1.0/statuses/{id}AdminAlterar um status de pedido
Altera só o que você enviar. A letra e o código não mudam. Um campo com valor vazio ("") ou 0 é tratado como "não enviado", então esta rota não serve para zerar a posição.
Parâmetros de caminho
idstringobrigatórioCorpo da requisição
descriptionstringtypestringcolorstringpositionintegernotify_customerbooleannotify_vendorbooleannotify_adminboolean/api/v1.0/statuses/{id}AdminRemover um status de pedido
Remove o status do cadastro e responde 204 sem corpo. A plataforma recusa a remoção enquanto existir pedido nesse status, ou quando o status aparece no histórico ou nas transições configuradas. Nesses casos aposente o status em vez de apagar.
Parâmetros de caminho
idstringobrigatórioExemplo de requisição
# Lista os status de pedido
curl -u "$EMAIL:$API_KEY" "$BASE_URL/api/v1.0/statuses"
# Cria um status
curl -u "$EMAIL:$API_KEY" -X POST "$BASE_URL/api/v1.0/statuses" \
-H "Content-Type: application/json" \
-d '{"description":"Aguardando retirada","status":"awaiting_pickup","type":"general","color":"#f59e0b","position":55,"notify_customer":true}'Resposta
{
"statuses": [
{
"status_id": "pending",
"description": "Pendente",
"status": "O",
"type": "initial",
"color": "#f59e0b",
"position": 20,
"params": { "notify_customer": false, "notify_vendor": false, "notify_admin": false }
},
{
"status_id": "shipped",
"description": "Enviado",
"status": "S",
"type": "shipped",
"color": "#8b5cf6",
"position": 50,
"params": { "notify_customer": true, "notify_vendor": true, "notify_admin": false }
}
],
"params": { "total_items": 2, "type": "O" }
}{ "status_id": "awaiting_pickup" }Campos da resposta
statusesarraytype=P, V e U os alfabetos são fixos.statuses[].status_idstringstatuses[].descriptionstringstatuses[].statusstringstatuses[].typestringP, V ou U).statuses[].colorstringstatuses[].positionintegerstatuses[].paramsobjectnotify_customer, notify_vendor e notify_admin, todos booleanos. Nos alfabetos fixos são sempre false.params.total_itemsintegerparams.typestringO, P, V ou U).Alfabetos fixos devolvidos por type:
| Tipo | Letras |
|---|---|
P pagamento | O aberto, N pendente, A autorizado, P pago, F falhou, R reembolsado, Z chargeback |
V seller | A ativo, P pendente, D desativado, R rejeitado |
U usuário | A ativo, P pendente, D desativado |
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | Falta description na criação | {"message":"description is required","status":400} |
| 400 | Código com caractere inválido | {"message":"code may only contain letters, digits, underscore, or hyphen (no spaces)","status":400} |
| 400 | Remoção de status em uso por pedidos | {"message":"status_in_use: 3 orders reference status pending","status":400} |
| 401 | Sem credenciais | {"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401} |
| 403 | Usuário que não é administrador | {"message":"Forbidden: admin scope required","status":403} |
| 404 | Código que não existe (consulta e remoção) | {"message":"status not found","status":404} |