From tray-api
Manages Tray API customer addresses: list all for a customer, retrieve by ID, create delivery/billing addresses, delete by ID. Supports Brazilian fields (CEP, street, number, neighborhood, city, state, complement).
npx claudepluginhub tray-tecnologia/tray-api-ai-plugin --plugin tray-apiThis skill uses the workspace's default tool permissions.
> Execute estas verificações antes de gerar qualquer payload ou código:
Monitors deployed URLs for regressions after deploys, merges, or upgrades by checking HTTP status, console errors, network failures, performance (LCP/CLS/INP), content, and API health.
Share bugs, ideas, or general feedback.
Execute estas verificações antes de gerar qualquer payload ou código:
access_token não aparece como literal string no código gerado.when_not_to_use no frontmatter).Documentação oficial: https://developers.tray.com.br/#api-de-clientes
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /customers/:customer_id/addresses | Listar endereços de um cliente |
| GET | /customers/:customer_id/addresses/:id | Consultar endereço específico por ID |
| POST | /customers/:customer_id/addresses | Cadastrar novo endereço para o cliente |
| DELETE | /customers/:customer_id/addresses/:id | Excluir endereço do cliente |
Autenticação: ?access_token={token} em todas as chamadas.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | — | ID do endereço (retornado pela API) |
customer_id | number | — | ID do cliente (definido na URL) |
recipient | string | Sim | Nome do destinatário |
street | string | Sim | Nome da rua/logradouro |
number | string | Sim | Número do endereço |
complement | string | Não | Complemento (apto, bloco, sala) |
neighborhood | string | Sim | Bairro |
city | string | Sim | Cidade |
state | string | Sim | Estado (sigla UF, ex: "SP", "RJ") |
zipcode | string | Sim | CEP (formato: "01001000" — apenas números) |
country | string | Não | País (padrão: "Brasil") |
type | string | Não | Tipo do endereço: "delivery" (entrega) ou "billing" (cobrança) |
is_default | number | Não | 1 = endereço padrão, 0 = endereço secundário |
| Parâmetro | Descrição |
|---|---|
limit | Itens por página (máximo 50, padrão 30) |
page | Número da página |
{
"Address": {
"recipient": "João Silva",
"street": "Rua Augusta",
"number": "1500",
"complement": "Apto 42",
"neighborhood": "Consolação",
"city": "São Paulo",
"state": "SP",
"zipcode": "01304001",
"country": "Brasil",
"type": "delivery",
"is_default": 1
}
}
| Operação | Código | Mensagem |
|---|---|---|
| Criação | 201 | {"message": "Created", "id": 200, "code": 201} |
| Exclusão | 200 | {"message": "Deleted", "id": 200, "code": 200} |
{
"Addresses": [
{
"Address": {
"id": "200",
"customer_id": "50",
"recipient": "João Silva",
"street": "Rua Augusta",
"number": "1500",
"complement": "Apto 42",
"neighborhood": "Consolação",
"city": "São Paulo",
"state": "SP",
"zipcode": "01304001",
"country": "Brasil",
"type": "delivery",
"is_default": "1"
}
}
]
}
{
"Address": {
"id": "200",
"customer_id": "50",
"recipient": "João Silva",
"street": "Rua Augusta",
"number": "1500",
"complement": "Apto 42",
"neighborhood": "Consolação",
"city": "São Paulo",
"state": "SP",
"zipcode": "01304001",
"country": "Brasil",
"type": "delivery",
"is_default": "1"
}
}
is_default: 1, esse passa a ser o endereço principal do clientetray-clientes para gerenciar dados do clienteAddress e todos os campos obrigatóriosis_default: 1 e o type (delivery/billing){"Address": {...}} e formatação correta dos camposDELETE + novo POSTaccess_token configuradocustomer_id do cliente já cadastrado via tray-clientes