Documentação pública
Valore — Loja de API
Referência para integração ERP ↔ Valore. Todas as rotas usam o prefixo /api/v1 e exigem API key do tenant (feature api_integrations).
Autenticação
Envie a chave em um dos formatos abaixo. A chave é exibida apenas uma vez na criação.
Header Bearer (recomendado)
Authorization: Bearer valore_sua_chave_aqui
Header alternativo
X-Api-Key: valore_sua_chave_aqui
Respostas de sucesso: { "data": { ... } }
Erros: { "error": "...", "code": "FORBIDDEN" }
Outbound Valore → ERP (Idempotency-Key)
Chamadas do Valore ao ERP (pedidos e contratos) enviam o header Idempotency-Key. A chave é estável por tenant + ação + entidade (SHA-256). Reenvios do monitor reutilizam a mesma chave para o ERP deduplicar (ex.: pedido já criado no SAP).
Header enviado pelo Valore
Idempotency-Key: <sha256(company_id:action:entity_id)>
Corpo JSON típico
{
"action": "purchase_order.create",
"entity": "purchase_orders",
"entity_id": "uuid",
"entity_code": "PO-2026-0001",
"data": { "...": "payload do pedido" }
}- Cada tentativa incrementa o contador
attemptsno log. - Despachos concorrentes para a mesma entidade são bloqueados (HTTP 409 no Valore).
- O ERP deve tratar a mesma chave como a mesma operação de negócio.
Códigos de erro
| Code | HTTP | Descrição |
|---|---|---|
| UNAUTHORIZED | 401 | API key ausente ou inválida |
| FORBIDDEN | 403 | Escopo insuficiente ou módulo desabilitado |
| NOT_FOUND | 404 | Recurso não encontrado |
| VALIDATION_ERROR | 400 | Payload ou parâmetros inválidos |
| CONFLICT | 409 | Conflito (ex.: código duplicado) |
| RATE_LIMITED | 429 | Limite de requisições excedido |
| INTERNAL_ERROR | 500 | Erro interno |
Geral
GET
/api/v1/healthHealth check
Valida a API key, a feature api_integrations do tenant e retorna metadados da chave.
Exemplo de response
200 OK
{
"data": {
"status": "ok",
"company_id": "00000000-0000-0000-0000-000000000001",
"scopes": ["items:read", "orders:read"]
}
}