tray-marcas
API utility to manage brand and manufacturer listings via Tray integration.
Install
mkdir -p .claude/skills/tray-marcas && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11015" && unzip -o skill.zip -d .claude/skills/tray-marcas && rm skill.zipInstalls to .claude/skills/tray-marcas
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
API de Marcas da Tray. Utilize quando o desenvolvedor precisar gerenciar as marcas (fabricantes) dos produtos da loja, incluindo listagem, consulta individual, criação, atualização e exclusão. Inclui os campos da marca (brand, slug), paginação e filtros.Key capabilities
- →List store brands
- →Create new brands
- →Update manufacturer details
- →Validate brand schemas
How it works
It interacts with the Tray API to manage brand resources using validated payloads.
Inputs & outputs
When to use tray-marcas
- →Listing store brands
- →Updating manufacturer details
- →Creating new store brands
About this skill
MANDATORY: Tool Calls Required Before Answering
Estas chamadas são OBRIGATÓRIAS, não opcionais. Execute-as antes de gerar qualquer código ou payload. Se você está respondendo sem ter chamado as duas ferramentas abaixo, pare e chame agora.
1. Buscar documentação atualizada (sempre)
node skills/tray-dev/scripts/search_docs.mjs --topic=marcas "<termo da pergunta>"
<TOPIC_SLUG>: ver tabela emskills/tray-dev/SKILL.md.- Use os trechos retornados como fonte primária; este SKILL.md é resumo.
2. Validar payload localmente (antes de retornar código)
node skills/marcas/scripts/validate.mjs --schema=<SCHEMA_NAME> '<payload_json>'
- Schemas disponíveis:
marca.create,marca.update. Use--list-schemaspara confirmar. - Exit codes:
0válido ·1inválido ·2erro de uso. - Para output programático:
--json. - Corrija todos os erros antes de retornar o código (até 3 tentativas).
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 Marcas — Tray
Documentação oficial: https://developers.tray.com.br/#api-de-marca-do-produto
Endpoints
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /products/brands | Listagem de marcas com paginação e filtros |
| GET | /products/brands/:id | Consultar dados de uma marca por ID |
| POST | /products/brands | Cadastrar nova marca |
| PUT | /products/brands/:id | Atualizar dados da marca |
| DELETE | /products/brands/:id | Excluir marca |
Autenticação: ?access_token={token} em todas as chamadas.
Alias não oficial: a rota
/brands(sem o prefixo/products/) também retorna HTTP 200 nesta API, mas não é documentada oficialmente pela Tray. Use sempre/products/brandspara garantir compatibilidade e aderência à documentação oficial.
Campos da Marca
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | — | ID da marca (retornado pela API) |
brand | string | Sim | Nome da marca |
slug | string | Não | Slug para URL amigável (gerado automaticamente se não informado) |
⚠️ O campo do nome da marca é
brand, NÃOname. Enviarnameresulta em"Invalid data provided"(HTTP 400) — a API ignora o campo desconhecido e falha porbrandausente. Os campos aceitos no payload são apenasbrandeslug. Os camposdescriptioneimagenão existem nesta API de marcas.
Atenção (causa #1 de HTTP 400 neste recurso): o campo do nome da marca é
brand, nãoname. Enviar{"Brand": {"name": "Nike"}}resulta emHTTP 400. Confirmado contra a doc oficial: o body e a resposta usambrand(ex.:{"Brand": {"slug": "nike", "brand": "Nike"}}), e o filtro de listagem também ébrand(nãoname).
Paginação
| Parâmetro | Descrição |
|---|---|
limit | Itens por página (máximo 50, padrão 30) |
page | Número da página |
Resposta inclui: total, page, offset, limit, maxLimit
Filtros de Listagem
| Filtro | Tipo | Descrição |
|---|---|---|
id | number | Filtrar por ID da marca |
brand | string | Filtrar por nome da marca |
Corpo da Requisição (POST/PUT)
{
"Brand": {
"brand": "Nike",
"slug": "nike"
}
}
Respostas
| Operação | Código | Mensagem |
|---|---|---|
| Criação | 201 | {"message": "Created", "id": 10, "code": 201} |
| Atualização | 200 | {"message": "Saved", "id": 10, "code": 200} |
| Exclusão | 200 | {"message": "Deleted", "id": 10, "code": 200} |
Exemplo de Resposta — Listar Marcas
{
"paging": {
"total": 25,
"page": 1,
"offset": 0,
"limit": 30,
"maxLimit": 50
},
"Brands": [
{
"Brand": {
"id": "1",
"brand": "Nike",
"slug": "nike"
}
}
]
}
Exemplo de Resposta — Consultar Marca por ID
{
"Brand": {
"id": "1",
"brand": "Nike",
"slug": "nike"
}
}
Boas Práticas
- Crie marcas antes dos produtos — ao cadastrar produtos, o
brand_iddeve referenciar uma marca existente - Use slugs descritivos — o slug é usado na URL da página de marca na vitrine; mantenha-o limpo e legível
- Evite duplicidade — consulte a listagem antes de criar para evitar marcas duplicadas
- Campo correto — use sempre
brandpara o nome da marca;nameé ignorado e causa erro - Exclusão segura — não exclua marcas que possuam produtos associados; reatribua os produtos antes
Como Usar no Claude Code
Exemplos de Prompt
- "cadastra as marcas Nike, Adidas e Puma"
- "lista todas as marcas disponíveis na loja"
- "verifica se a marca Samsung já existe antes de criar"
- "atualiza o slug da marca ID 10"
O que o Claude faz
- Gera o código de criação com wrapper
Brand, usando o campobrand(e slug automático) - Inclui verificação de duplicidade via
GET /products/brands?brand=...antes de criar - Monta o payload apenas com os campos aceitos (
brand,slug) - Explica que o
brand_idretornado deve ser usado ao cadastrar produtos
O que você recebe
- Código de criação de marca com wrapper
{"Brand": {...}}correto e campobrand - Verificação de duplicidade antes de criar
brand_idextraído da resposta para uso em produtos- Código de listagem com paginação
Pré-requisitos
access_tokenconfigurado
When not to use it
- →Managing product categories
- →Managing product characteristics
Prerequisites
Limitations
- →Requires valid access token
- →Limited to brand management
How it compares
It enforces specific field naming conventions required by the Tray API.
Compared to similar skills
tray-marcas side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| tray-marcas (this skill) | 0 | 2mo | Review | Intermediate |
| sales-memberstack | 0 | 1mo | No flags | Intermediate |
| sales-zenler | 0 | 1mo | No flags | Intermediate |
| paypal-integration | 10 | 2mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
sales-memberstack
sales-skills
Memberstack platform help — no-code membership, auth, and Stripe-payments layer for sites you build yourself (memberstack.com): add login (email/password, passwordless, social, 2FA), paid memberships, and content gating to Webflow, WordPress, or any custom site via a script tag + data attributes. De
sales-zenler
sales-skills
New Zenler (Zenler) platform help — all-in-one course/membership platform for creators and coaches (newzenler.com) whose edge is built-in live classes + interactive webinars, multi-instructor, and 0% transaction fees. Public REST API (api.newzenler.com/api/v1, auth headers X-API-Key + X-Account-Name
paypal-integration
wshobson
Integrate PayPal payment processing with support for express checkout, subscriptions, and refund management. Use when implementing PayPal payments, processing online transactions, or building e-commerce checkout flows.
woocommerce
alinaqi
WooCommerce REST API - products, orders, customers, webhooks
flowglad-checkout
flowglad
Implement checkout sessions for purchasing subscriptions and products with Flowglad. Use this skill when creating upgrade buttons, purchase flows, or redirecting users to hosted checkout pages.
shopify-expert
fulfon
Use when building Shopify themes, apps, custom storefronts, or e-commerce solutions. Invoke for Liquid templating, Storefront API, app development, checkout customization, Shopify Plus features.