From tray-api
Manages customer addresses via the Tray API: list, view, create, update, and delete. Supports Brazilian address fields (CEP, neighborhood, city, state). Useful when building Tray e-commerce integrations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tray-api:enderecos-clienteWhen to use
Use quando o desenvolvedor mencionar: endereço de cliente, endereço de entrega, endereço de cobrança, CEP, customer address, GET /customers/addresses, POST /customers/addresses, bairro, cidade, estado ou complemento de endereço.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
- **OBRIGATÓRIO:** `node skills/tray-dev/scripts/search_docs.mjs "<termo>"` — confirme o comportamento da API antes de gerar código.
node skills/tray-dev/scripts/search_docs.mjs "<termo>" — confirme o comportamento da API antes de gerar código.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/addresses | Listar endereços (filtre por customer_id na query) |
| GET | /customers/addresses/:id | Consultar endereço específico por ID |
| POST | /customers/addresses | Cadastrar novo endereço (customer_id vai no corpo) |
| PUT | /customers/addresses/:id | Atualizar endereço |
| DELETE | /customers/addresses/:id | Excluir endereço |
Autenticação: ?access_token={token} em todas as chamadas.
⚠️ Rota correta é
/customers/addresses(e/customers/addresses/:id), NÃO/customers/:id/addresses. O caminho com o id do cliente no meio retorna HTTP 404. Ocustomer_idvai na query (listagem/filtro) ou no corpo (criação), nunca no path.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | — | ID do endereço (retornado pela API) |
customer_id | number | Sim | ID do cliente (no corpo na criação; na query na listagem) |
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-clientesnpx claudepluginhub tray-tecnologia/tray-api-ai-plugin --plugin tray-apiProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.