Desenvolvedores
API pública
Autenticação, limites, valores e erros da API v1.
A API pública cuida de catálogo, estoque, vendas, entrega, bots e tags. Ela responde em JSON, e tudo é escopado pela chave: nenhuma rota aceita ID de loja, e um ID de outra loja responde 404, como se não existisse.
Endereço#
https://api.promisse.store/api/v1Datas vêm em ISO 8601, em UTC. Os IDs são UUID em todo lugar.
Autenticação#
Envie a chave de API no cabeçalho x-api-key:
curl "https://api.promisse.store/api/v1/product/catalog?type=products&limit=5" \
-H "x-api-key: $PROMISSE_KEY"Permissões#
Cada rota exige uma permissão, indicada nas páginas de referência. PROMISSE_ADMIN dá acesso a todas.
| Página | Permissão |
|---|---|
| Catálogo | PROMISSE_CATALOG |
| Estoque | PROMISSE_INVENTORY |
| Vendas | PROMISSE_SALES |
| Entrega | PROMISSE_INVENTORY |
| Bots de suporte | PROMISSE_BOT |
| Tags | PROMISSE_TAGS |
Limites#
Os limites são contados por chave, não por IP. Trocar de IP não libera nada, e várias chaves atrás do mesmo IP não disputam a mesma cota.
| Rotas | Limite |
|---|---|
POST e PUT /delivery/stock, somadas |
1 requisição a cada 2 segundos |
| Todas as demais, somadas | 60 por minuto |
As respostas trazem os cabeçalhos x-ratelimit-limit, x-ratelimit-remaining e x-ratelimit-reset. Ao passar do limite, a resposta é 429 com retry-after em segundos.
Quem erra a chave repetidamente é limitado por IP, em 30 tentativas por minuto.
Valores#
A API usa reais em decimal, nunca centavos.
| Tipo | Regra |
|---|---|
| Dinheiro | Número ou texto, como 19.99 ou "19.99". Até 2 casas e no máximo 100000000.00. |
| Recusado | Mais de 2 casas (0.001), negativo, notação científica fora do teto (1e9), null, booleano e lista respondem 400 invalid_amount. |
affiliate_fee |
Porcentagem de 0 a 100, com até 2 casas, como 12.5. Fora disso responde 400 invalid_percent. |
| Limpar um campo | compare_price: null e affiliate_fee: null limpam o valor. |
| Estoque ilimitado | quantity: null significa sem limite. |
Erros#
Todo erro tem uma mensagem pronta para mostrar e um código estável para o seu sistema comparar:
{ "error": "Mensagem pronta para o usuário", "code": "codigo_estavel" }| Status | Quando |
|---|---|
400 |
Dado inválido. Falha de formato vem com code: "validation" e details. Campo não declarado também é recusado. |
401 |
Sem chave, chave inválida, revogada ou vencida, ou loja suspensa. |
403 |
A chave não tem a permissão da rota. |
404 |
Não existe, ou é de outra loja. As duas situações respondem igual. |
409 |
Conflito de estado. Cada rota lista os códigos. |
429 |
Limite de requisições, com code: "rate_limited". |
Referência#
- Catálogo Consulta, categorias, produtos e variantes.
- Estoque Consultar, somar, trocar e apagar linhas.
- Vendas e entrega Consultar pedidos e entregar conteúdo.
- Bots de suporte Criar bots e responder nos chats.
- Tags Marcar produtos, variantes e categorias.

