tray-frete
API de Frete da Tray. Utilize quando o desenvolvedor precisar calcular valores de frete e consultar métodos de envio disponíveis. Inclui cálculo de frete por CEP com peso e dimensões, listagem de form
Files1
View on GitHubSKILL.mdskills/frete/SKILL.md
GitHubAPI de Frete — Tray
Documentação oficial: https://developers.tray.com.br/#api-de-integracao-de-frete
Endpoints
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /shippings/cotation/ |
Calcular frete para um ou mais produtos por CEP |
| GET | /shippings/ |
Listar formas de envio disponíveis na loja |
Autenticação: ?access_token={token} em todas as chamadas.
Parâmetros do Cálculo de Frete (/shippings/cotation/)
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
zipcode |
string | Sim | CEP de destino (apenas números, ex: "04001001") |
products[n][product_id] |
number | Sim | ID do produto (índice n começa em 0) |
products[n][price] |
decimal | Sim | Preço do produto |
products[n][quantity] |
number | Sim | Quantidade do produto |
A rota aceita múltiplos produtos na mesma requisição usando índices
products[0],products[1], etc.
Exemplo de Requisição — Cálculo de Frete
GET /shippings/cotation/?access_token={token}&zipcode=04001001&products[0][product_id]=123&products[0][price]=58.90&products[0][quantity]=2
Exemplo de Resposta — Cálculo de Frete
{
"Shipping": [
{
"id": "1",
"name": "PAC",
"price": "25.90",
"delivery_time": "8",
"delivery_time_text": "8 dias úteis"
},
{
"id": "2",
"name": "SEDEX",
"price": "45.50",
"delivery_time": "3",
"delivery_time_text": "3 dias úteis"
}
]
}
Campos da Resposta de Frete
| Campo | Tipo | Descrição |
|---|---|---|
id |
number | ID do método de envio |
name |
string | Nome do método (ex: "PAC", "SEDEX", "Transportadora") |
price |
decimal | Valor do frete em reais |
delivery_time |
number | Prazo de entrega em dias úteis |
delivery_time_text |
string | Texto formatado do prazo de entrega |
Exemplo de Resposta — Listar Métodos de Envio
{
"ShippingMethods": [
{
"ShippingMethod": {
"id": "1",
"name": "PAC",
"active": "1"
}
},
{
"ShippingMethod": {
"id": "2",
"name": "SEDEX",
"active": "1"
}
},
{
"ShippingMethod": {
"id": "3",
"name": "Retirada na Loja",
"active": "1"
}
}
]
}
Integração com Gateway de Frete (Frete-X API)
A Tray suporta integração com gateways de frete como o Frete-X API para cotação automática com múltiplas transportadoras.
Funcionamento
- A loja configura o gateway de frete no painel administrativo
- Ao calcular o frete via API, a Tray consulta automaticamente o gateway configurado
- O gateway retorna as opções de transportadoras com preços e prazos
- A resposta é consolidada no formato padrão da API de Frete
Configuração
A configuração do gateway de frete é feita no painel administrativo da Tray ou via API de Configuração de Frete (consulte o skill tray-configuracao-frete).
Boas Práticas
- CEP apenas números — envie o CEP sem pontos ou traços (ex: "01304001")
- Peso em gramas — informe o peso sempre em gramas; 1 kg = 1000 g
- Dimensões mínimas — os Correios possuem dimensões mínimas (16x11x2 cm); considere isso na requisição
- Cache de resultados — o cálculo de frete pode ser lento por depender de APIs externas; considere cachear resultados por CEP + peso + dimensões
- Tratamento de erros — nem sempre todos os métodos retornam resultado; trate o cenário de frete indisponível para determinada região
- Frete grátis — produtos com
free_shipping: 1podem retornar frete zerado dependendo da configuração da loja - Recursos relacionados — consulte o skill
tray-configuracao-frete(/shippings/method/gateway,/shippings/method/zipcode_table) para gerenciar métodos de envio e tabelas de CEP
Como Usar no Claude Code
Exemplos de Prompt
- "calcula o frete para o CEP 01310100 para 2 unidades do produto 123"
- "lista os métodos de envio disponíveis na loja"
- "implementa o cálculo de frete com cache por CEP para evitar chamadas repetidas"
- "calcula o frete para um carrinho com 3 produtos diferentes"
O que o Claude faz
- Gera o código de requisição para
GET /shippings/cotation/com os parâmetros indexados - Monta os índices
products[0],products[1]... para múltiplos produtos - Implementa cache de resultados por CEP + produtos quando solicitado
- Trata o cenário de frete indisponível para determinada região
O que você recebe
- Código de cálculo de frete com CEP e produtos indexados corretamente
- Tratamento da resposta com nome, preço e prazo de cada método
- Implementação de cache para otimizar chamadas repetidas
- Código de listagem de métodos via
GET /shippings/
Pré-requisitos
access_tokenconfiguradoproduct_idepricedos produtos disponíveis- CEP de destino