From tray-api
Manages Tray e-commerce customer data: list, create, update, delete customers with CPF/CNPJ Brazilian validations and newsletter opt-in.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tray-api:clientesWhen to use
Use quando o desenvolvedor mencionar: cliente, cadastrar cliente, atualizar cliente, CPF, CNPJ, pessoa física, pessoa jurídica, GET /customers, POST /customers, PUT /customers, endereço de cliente, validação de CPF, validação de CNPJ ou opt-in newsletter.
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.node skills/clientes/scripts/validate.mjs '<payload_json>' — valide a estrutura do payload antes de retornar código ao usuário.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).node skills/clientes/scripts/validate.mjs '<payload_json>'
para confirmar a estrutura do payload que vai gerar. O validador checa
apenas estrutura (campos obrigatórios, tipos e campos desconhecidos),
nunca valores reais — então monte um payload sintético com placeholders
sempre que os valores vierem de variáveis de ambiente, da entrada do
usuário ou de outras chamadas. Exemplo:
node skills/clientes/scripts/validate.mjs '{"Customer":{"name":"<nome>","email":"<email>"}}'.
Corrija todos os erros antes de retornar o código ao usuário. Até 3
tentativas — se persistir, explique o problema ao usuário.Documentação oficial: https://developers.tray.com.br/#api-de-clientes
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /customers | Listagem de clientes com paginação e filtros |
| GET | /customers/:id | Consultar dados do cliente por ID |
| POST | /customers | Cadastrar novo cliente |
| PUT | /customers/:id | Atualizar dados do cliente |
| DELETE | /customers/:id | Excluir cliente |
Autenticação: ?access_token={token}
| Campo | Tipo | Obrigatório (create) | Descrição |
|---|---|---|---|
name | string | Sim | Nome completo |
email | string | Sim | E-mail (único na plataforma) |
birth_date | date | Sim | Data de nascimento (YYYY-MM-DD) |
cpf | string | Não¹ | CPF (pessoa física) |
cnpj | string | Não¹ | CNPJ (pessoa jurídica) |
rg | string | Não | RG |
phone | string | Não | Telefone fixo |
cellphone | string | Não | Celular |
gender | string | Não | Gênero |
company_name | string | Não | Razão social (PJ) |
newsletter | number | Não | 0=não inscrito, 1=inscrito na newsletter |
created_at | datetime | — | Data de cadastro (retornado pela API) |
⚠️
birth_dateé obrigatório na criação (POST /customers). Omitir resulta em HTTP 400 — é a causa #1 de falha ao cadastrar cliente.¹
cpf(PF) oucnpj(PJ) conforme o tipo de cliente; informe o que corresponder à pessoa.
{
"Customer": {
"name": "João Silva",
"email": "[email protected]",
"birth_date": "1990-05-20",
"cpf": "12345678901",
"phone": "1133334444",
"cellphone": "11999998888",
"newsletter": 1
}
}
limit (máximo 50, padrão 30), page.
tray-enderecos-clientetray-perfis-clientenewsletter: 1 apenas com consentimentocustomer para receber notificações de alteraçõesCustomer e validação de CPF/CNPJemail, cpf, newsletter) para buscas específicas{"Customer": {...}} e campos obrigatóriosnewsletter)access_token configuradonpx 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.