From tray-api
Manages Tray customer profiles via API: list, retrieve by ID, create, update, delete, associate/dissociate customers. For segmentation, B2B/B2C pricing, group discounts.
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/profiles | Listar perfis de clientes |
| GET | /customers/profiles/:id | Consultar dados de um perfil por ID |
| POST | /customers/profiles | Cadastrar novo perfil |
| PUT | /customers/profiles/:id | Atualizar dados do perfil |
| DELETE | /customers/profiles/:id | Excluir perfil |
| POST | /customers/:customer_id/profiles/:profile_id | Associar cliente a um perfil |
| DELETE | /customers/:customer_id/profiles/:profile_id | Desassociar cliente de um perfil |
Autenticação: ?access_token={token} em todas as chamadas.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | — | ID do perfil (retornado pela API) |
name | string | Sim | Nome do perfil (ex: "Atacado", "VIP", "Revendedor") |
description | string | Não | Descrição do perfil |
approved | number | Não | 1 = perfil ativo/aprovado, 0 = inativo |
| Parâmetro | Descrição |
|---|---|
limit | Itens por página (máximo 50, padrão 30) |
page | Número da página |
{
"Profile": {
"name": "Atacado",
"description": "Clientes com volume de compra acima de R$ 5.000/mês",
"approved": 1
}
}
Endpoint: POST /customers/:customer_id/profiles/:profile_id
Não requer corpo na requisição. O cliente é associado ao perfil informado na URL.
Exemplo:
POST /customers/50/profiles/3?access_token={token}
Endpoint: DELETE /customers/:customer_id/profiles/:profile_id
Remove a associação entre o cliente e o perfil.
Exemplo:
DELETE /customers/50/profiles/3?access_token={token}
| Operação | Código | Mensagem |
|---|---|---|
| Criação de perfil | 201 | {"message": "Created", "id": 3, "code": 201} |
| Atualização de perfil | 200 | {"message": "Saved", "id": 3, "code": 200} |
| Exclusão de perfil | 200 | {"message": "Deleted", "id": 3, "code": 200} |
| Associação | 200 | {"message": "Saved", "code": 200} |
| Desassociação | 200 | {"message": "Deleted", "code": 200} |
{
"Profiles": [
{
"Profile": {
"id": "1",
"name": "Varejo",
"description": "Clientes do segmento varejo",
"approved": "1"
}
},
{
"Profile": {
"id": "2",
"name": "Atacado",
"description": "Clientes com volume de compra elevado",
"approved": "1"
}
}
]
}
tray-listas-preco-b2b)approved para controlar a ativação de perfis que requerem aprovaçãotray-clientes e tray-listas-preco-b2b para operações complementaresProfiletray-listas-preco-b2b para preços diferenciadosPOST /customers/:id/profiles/:profile_idDELETE /customers/:id/profiles/:profile_idaccess_token configuradocustomer_id disponível via tray-clientes