MANDATORY: Tool Call Required Before Answering
Esta chamada é OBRIGATÓRIA, não opcional. Execute-a antes de gerar qualquer código ou payload. Se você está respondendo sem ter chamado a ferramenta abaixo, pare e chame agora.
Buscar documentação atualizada (sempre)
node skills/tray-dev/scripts/search_docs.mjs --topic=listas-preco-b2b "<termo da pergunta>"
<TOPIC_SLUG>: ver tabela emskills/tray-dev/SKILL.md.- Use os trechos retornados como fonte primária; este SKILL.md é resumo.
Nota: este recurso ainda não tem
validate.mjslocal. Você é responsável por revisar campos obrigatórios contra a doc retornada e o resumo abaixo.
Antes de responder
Execute estas verificações antes de gerar qualquer payload ou código:
- Confirme o método HTTP e endpoint correto para a operação solicitada.
- Identifique os campos obrigatórios listados neste documento — não omita nenhum.
- Verifique que
access_tokennão aparece como literal string no código gerado. - Confirme que esta é a skill correta para o recurso (leia
when_not_to_useno frontmatter).
API de Lista de Preço B2B — Tray
Documentação oficial: https://developers.tray.com.br/#api-de-lista-de-preco-b2b
Endpoints de Listas de Preço
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /price-lists |
Listar todas as listas de preço |
| GET | /price-lists/:id |
Retorna uma lista de preço |
| POST | /price-lists |
Criar lista de preço |
| PUT | /price-lists/:id |
Atualizar lista de preço |
| DELETE | /price-lists/:id |
Excluir lista de preço |
Endpoints de Valores
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /price-lists/:id/values |
Listar valores de uma lista |
| GET | /price-lists/:id/values/:value_id |
Retorna um valor |
| POST | /price-lists/:id/values |
Criar valor na lista |
| PUT | /price-lists/:id/values/:value_id |
Atualizar valor |
| DELETE | /price-lists/:id/values/:value_id |
Excluir valor |
Autenticação: ?access_token={token}
Campos da Lista de Preço
| Campo | Tipo | Descrição |
|---|---|---|
name |
string | Nome da lista de preço |
description |
string | Descrição |
active |
boolean | Se a lista está ativa |
customer_group_id |
number | ID do grupo de clientes associado |
Campos do Valor
| Campo | Tipo | Descrição |
|---|---|---|
product_id |
number | ID do produto |
variant_id |
number | ID da variação (opcional) |
price |
decimal | Preço diferenciado |
cost_price |
decimal | Preço de custo |
active |
boolean | Se o valor está ativo |
Exemplo de Criação
{
"PriceList": {
"name": "Atacado Premium",
"description": "Preços para clientes atacadistas",
"active": 1
}
}
Exemplo de Valor
{
"PriceListValue": {
"product_id": 123,
"price": "79.90",
"active": 1
}
}
Paginação
limit (máximo 50, padrão 30), page.
Como Usar no Claude Code
Exemplos de Prompt
- "cria uma lista de preço Atacado Premium com preços específicos por produto"
- "adiciona o produto 123 com preço R$ 79,90 à lista de preço ID 5"
- "lista todas as listas de preço B2B disponíveis"
- "implementa preços diferenciados para clientes atacadistas"
O que o Claude faz
- Gera o código de criação da lista com wrapper
PriceList - Gera o código de adição de valores por produto com wrapper
PriceListValue - Explica o fluxo: criar lista → adicionar valores → associar ao perfil de cliente
- Orienta sobre a combinação com
tray-perfis-clientepara segmentação B2B
O que você recebe
- Código de criação de lista de preço com nome e configuração
- Código de adição de valores por
product_idevariant_id - Fluxo completo de configuração B2B: lista → valores → perfil
- Orientação sobre associação com grupos de clientes
Pré-requisitos
access_tokenconfigurado- Produtos já cadastrados com
product_iddisponível - Perfis de cliente configurados via
tray-perfis-cliente(para associação)