From tray-api
Manages Tray e-commerce product characteristics via API: create reusable global properties, associate values (color, size, material, voltage) to products, list, update, delete.
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/#apis-de-caracteristicas
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /products/:product_id/properties | Listar características de um produto |
| POST | /products/:product_id/properties | Cadastrar ou atualizar característica no produto |
| POST | /properties | Criar característica global (reutilizável em vários produtos) |
| DELETE | /products/:product_id/properties/:id | Excluir característica de um produto |
Autenticação: ?access_token={token} em todas as chamadas.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | number | — | ID da característica (retornado pela API) |
property | string | Sim | Nome da característica (ex: "Cor", "Material") |
value | string | Sim | Valor da característica (ex: "Azul", "Algodão") |
product_id | number | Sim | ID do produto associado |
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Nome da característica global |
presentation | string | Não | Tipo de apresentação (ex: "select", "text") |
{
"Property": {
"property": "Cor",
"value": "Azul"
}
}
{
"Property": {
"name": "Material",
"presentation": "select"
}
}
| Operação | Código | Mensagem |
|---|---|---|
| Criação | 201 | {"message": "Created", "id": 123, "code": 201} |
| Atualização | 200 | {"message": "Saved", "id": 123, "code": 200} |
| Exclusão | 200 | {"message": "Deleted", "id": 123, "code": 200} |
{
"Properties": [
{
"Property": {
"id": "1",
"property": "Cor",
"value": "Azul",
"product_id": "123"
}
},
{
"Property": {
"id": "2",
"property": "Material",
"value": "Algodão",
"product_id": "123"
}
}
]
}
POST /properties para padronizar nomes e evitar duplicidadePOST /properties quando a padronização é necessáriaPOST /products/:id/propertiesProperty correto em cada chamadaGET /products/:id/propertiesproduct_id disponívelaccess_token configurado