Skip to content
Back to skills

Clientes

ASecurity

API de Clientes da Tray. Utilize quando o desenvolvedor precisar gerenciar dados de clientes da loja: listagem, consulta, cadastro, atualização e exclusão. Inclui campos de pessoa física (CPF) e jurídica (CNPJ), validações brasileiras e gestão de newsletter.

  • 14 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added June 11, 2026
developmentgonodegitapi

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned June 11, 2026

npx -y skills add tray-tecnologia/tray-api-ai-plugin --skill clientes --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Clientes?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Clientes
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tray-tecnologia-clientes/badge)](https://www.skillsdirectory.com/skills/tray-tecnologia-clientes)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tray-clientes
description: >
  API de Clientes da Tray. Utilize quando o desenvolvedor precisar
  gerenciar dados de clientes da loja: listagem, consulta, cadastro, atualização
  e exclusão. Inclui campos de pessoa física (CPF) e jurídica (CNPJ), validações
  brasileiras e gestão de newsletter.
when_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.
when_not_to_use: >
  Não use para endereços do cliente (use tray-enderecos-cliente), perfis/grupos de clientes
  (use tray-perfis-cliente) nem para inscrições em newsletter (use tray-newsletter).
---

## MANDATORY: Tool Call(s) Required Before Answering

- **OBRIGATÓRIO:** `node skills/tray-dev/scripts/search_docs.mjs "<termo>"` — confirme o comportamento da API antes de gerar código.
- **OBRIGATÓRIO:** `node skills/clientes/scripts/validate.mjs '<payload_json>'` — valide a estrutura do payload antes de retornar código ao usuário.

## Antes de responder

> Execute estas verificações antes de gerar qualquer payload ou código:

1. Confirme o método HTTP e endpoint correto para a operação solicitada.
2. Identifique os campos obrigatórios listados neste documento — não omita nenhum.
3. Verifique que `access_token` não aparece como literal string no código gerado.
4. Confirme que esta é a skill correta para o recurso (leia `when_not_to_use` no frontmatter).
5. Execute `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.

# API de Clientes — Tray

Documentação oficial: https://developers.tray.com.br/#api-de-clientes

## Endpoints

| 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}`

## Campos do Cliente

| 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) ou `cnpj` (PJ) conforme o tipo de cliente; informe o que
> corresponder à pessoa.

## Validações Brasileiras

- **CPF**: deve ser um CPF válido (11 dígitos, algoritmo de verificação)
- **CNPJ**: deve ser um CNPJ válido (14 dígitos, algoritmo de verificação)

## Corpo da Requisição (POST/PUT)

```json
{
  "Customer": {
    "name": "João Silva",
    "email": "joao@exemplo.com",
    "birth_date": "1990-05-20",
    "cpf": "12345678901",
    "phone": "1133334444",
    "cellphone": "11999998888",
    "newsletter": 1
  }
}
```

## Paginação

`limit` (máximo 50, padrão 30), `page`.

## Recursos Relacionados

- **Endereços**: gerenciados via API separada — consulte o skill `tray-enderecos-cliente`
- **Perfis**: gerenciados via API separada — consulte o skill `tray-perfis-cliente`

## Boas Práticas

1. **E-mail único** — o e-mail é identificador único do cliente na plataforma
2. **Valide CPF/CNPJ** — antes de enviar, valide localmente para evitar erros 400
3. **Newsletter opt-in** — respeite a LGPD, envie `newsletter: 1` apenas com consentimento
4. **Webhook** — configure o webhook `customer` para receber notificações de alterações

## Como Usar no Claude Code

### Exemplos de Prompt

- "cadastra um novo cliente pessoa física com CPF e telefone"
- "busca o cliente pelo e-mail joao@exemplo.com"
- "lista todos os clientes inscritos na newsletter"
- "implementa a sincronização de clientes do meu ERP para a Tray"

### O que o Claude faz

1. Gera o código de criação com wrapper `Customer` e validação de CPF/CNPJ
2. Usa filtros de listagem (`email`, `cpf`, `newsletter`) para buscas específicas
3. Inclui tratamento de erro para e-mail duplicado (cliente já existente)
4. Sugere o fluxo completo: cliente → endereço → perfil quando necessário

### O que você recebe

- Código de criação com wrapper `{"Customer": {...}}` e campos obrigatórios
- Validação local de CPF/CNPJ antes da chamada à API
- Código de busca por e-mail ou CPF via filtros de listagem
- Orientação sobre campos LGPD (`newsletter`)

### Pré-requisitos

- `access_token` configurado
- E-mail único por cliente

Files in this skill

  • SKILL.md5.7 KB
  • assets/schema.json1.5 KB
  • scripts/validate.mjs453 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.