MANDATORY: Tool Calls Required Before Answering
Estas chamadas são OBRIGATÓRIAS, não opcionais. Execute-as antes de gerar qualquer código ou payload. Se você está respondendo sem ter chamado as duas ferramentas abaixo, pare e chame agora.
1. Buscar documentação atualizada (sempre)
node skills/tray-dev/scripts/search_docs.mjs --topic=pedidos "<termo da pergunta>"
<TOPIC_SLUG>: ver tabela emskills/tray-dev/SKILL.md.- Use os trechos retornados como fonte primária; este SKILL.md é resumo.
2. Validar payload localmente (antes de retornar código)
node skills/pedidos/scripts/validate.mjs --schema=<SCHEMA_NAME> '<payload_json>'
- Schemas disponíveis:
pedido.create,pedido.update. Use--list-schemaspara confirmar. - Exit codes:
0válido ·1inválido ·2erro de uso. - Para output programático:
--json. - Corrija todos os erros antes de retornar o código (até 3 tentativas).
Antes de responder
Execute estas verificações antes de gerar qualquer payload ou código:
- Confirme o método HTTP e endpoint correto para a operação solicitada.
- Identifique os campos obrigatórios listados neste documento — não omita nenhum.
- Verifique que
access_tokennão aparece como literal string no código gerado. - Confirme que esta é a skill correta para o recurso (leia
when_not_to_useno frontmatter).
API de Pedidos — Tray
Documentação oficial: https://developers.tray.com.br/#apis-de-pedidos
Endpoints
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /orders |
Listagem de pedidos com paginação e filtros |
| GET | /orders/:id |
Dados do pedido por ID |
| GET | /orders/:id/full |
Dados completos (produtos, cliente, pagamento, frete) |
| POST | /orders |
Cadastrar novo pedido |
| PUT | /orders/:id |
Atualizar dados do pedido |
| PUT | /orders/:id/cancel |
Cancelar pedido |
| POST | /orders/:id/products |
Incluir produtos no pedido |
| DELETE | /orders/:id/products/:product_id |
Excluir produto do pedido |
Autenticação: ?access_token={token}
Campos do Pedido
| Campo | Tipo | Descrição |
|---|---|---|
id |
number | ID do pedido |
store_id |
number | ID da loja |
status_id |
number | ID do status atual |
client_id |
number | ID do cliente |
adm_user |
string | Usuário administrativo |
total_amount |
decimal | Valor total do pedido |
shipping_cost |
decimal | Custo do frete |
shipping_method |
string | Método de envio |
tracking_number |
string | Código de rastreamento |
payment_method |
string | Método de pagamento |
coupon_code |
string | Código do cupom aplicado |
discount |
decimal | Valor do desconto |
taxes |
decimal | Impostos |
created_at |
datetime | Data de criação |
updated_at |
datetime | Data de atualização |
Consulta Completa
O endpoint GET /orders/:id/full retorna dados completos incluindo:
- Produtos — lista de itens com quantidade, preço e variação
- Cliente — dados completos do comprador
- Endereço — endereço de entrega
- Pagamento — dados do método e status de pagamento
- Frete — dados de envio e rastreamento
Filtros de Listagem
| Filtro | Descrição |
|---|---|
status |
Filtrar por status do pedido |
created_at |
Filtrar por data de criação |
updated_at |
Filtrar por data de atualização |
customer_id |
Filtrar por cliente |
payment_method |
Filtrar por método de pagamento |
Cancelamento
Para cancelar um pedido, use PUT /orders/:id/cancel. O cancelamento atualiza o status e pode disparar webhooks.
Incluir/Excluir Produtos
POST /orders/:id/products— adiciona produtos ao pedido existenteDELETE /orders/:id/products/:product_id— remove produto do pedido
Paginação
limit (máximo 50, padrão 30), page.
Ciclo de Vida do Pedido
Criação → Aguardando Pagamento → Pago → Em Separação → Enviado → Entregue
↘ Cancelado
Boas Práticas
- Use
/orders/:id/full— para obter todos os dados em uma única chamada - Webhook de pedido — configure o webhook
orderpara receber notificações em tempo real - Código de rastreamento — atualize o
tracking_numberquando o pedido for enviado - Não exclua pedidos — use cancelamento ao invés de exclusão
Como Usar no Claude Code
Exemplos de Prompt
- "lista os pedidos em aberto dos últimos 7 dias"
- "busca os dados completos do pedido ID 1001 incluindo produtos e pagamento"
- "cancela o pedido ID 2050"
- "atualiza o código de rastreamento do pedido 1500"
O que o Claude faz
- Identifica a operação desejada (listar, consultar, atualizar ou cancelar)
- Usa
/orders/:id/fullpara consultas completas e/orders/:idpara dados básicos - Gera o código com os filtros adequados na listagem (status, data, cliente)
- Inclui o tratamento da resposta e extração dos campos relevantes
O que você recebe
- Código de consulta com os filtros aplicados e paginação configurada
- Chamada para
/orders/:id/fullcom os dados completos do pedido - Código de atualização com os campos necessários
- Código de cancelamento via
PUT /orders/:id/cancel
Pré-requisitos
access_tokenconfiguradoorder_iddisponível para operações em pedidos específicos