API do Arcane Cardápio
Para o ERP, o app próprio ou o fluxo no n8n de um restaurante. Cada chave pertence a uma loja e só enxerga os dados dela, com as permissões que o dono marcou.
Chave e permissões
O dono gera a chave em Painel → Integrações → API do Arcane Cardápio. Envie em todas as chamadas:
Authorization: Bearer cw_...| cardapio:ler | Ler categorias e produtos |
| cardapio:escrever | Criar e alterar produtos, preços, estoque e esgotado |
| pedidos:ler | Ler pedidos |
| pedidos:escrever | Criar pedidos e mudar status/pagamento |
| clientes:ler | Ler clientes (nome, WhatsApp, total gasto) |
| loja:escrever | Abrir e fechar a loja |
Limite de 120 chamadas por minuto por chave. Valores em reais (número com ponto). Datas em ISO 8601. Disponível no plano Completo.
Rotas
GET
/api/v1/lojaDados da loja e se está aberta agora. Permissão:
cardapio:lerPATCH
/api/v1/lojaAbrir, fechar ou voltar a seguir o horário. Permissão:
loja:escrever{ "aberto": false }GET
/api/v1/categoriasLista as categorias. Permissão:
cardapio:lerPOST
/api/v1/categoriasCria uma categoria. Permissão:
cardapio:escrever{ "nome": "Pizzas doces" }GET
/api/v1/produtosLista os produtos à venda. Permissão:
cardapio:lerPOST
/api/v1/produtosCria um produto. Preço em reais. Permissão:
cardapio:escrever{ "nome": "Pizza de calabresa", "preco": 49.9, "categoria_id": "…", "estoque": 20 }GET
/api/v1/produtos/{id}Um produto. Permissão:
cardapio:lerPATCH
/api/v1/produtos/{id}Altera preço, estoque, esgotado, etiquetas… Permissão:
cardapio:escrever{ "preco": 52.9, "esgotado": false, "estoque": 15 }DELETE
/api/v1/produtos/{id}Tira o produto do cardápio. Permissão:
cardapio:escreverGET
/api/v1/pedidos?status=novo&desde=2026-11-01T00:00:00Z&limite=50Lista pedidos (de todos os canais: cardápio, balcão, iFood…). Permissão:
pedidos:lerPOST
/api/v1/pedidosCria um pedido. Os preços sempre vêm do cadastro. Permissão:
pedidos:escrever{ "nome": "Ana", "telefone": "51999990000", "tipo": "retirada", "pagamento": "pix", "itens": [{ "produto_id": "…", "quantidade": 2, "opcoes": [] }] }GET
/api/v1/pedidos/{numero}Um pedido pelo número. Permissão:
pedidos:lerPATCH
/api/v1/pedidos/{numero}Muda status (novo, aceito, preparo, pronto, saiu, entregue, cancelado) e/ou marca pago. Permissão:
pedidos:escrever{ "status": "preparo", "pago": true }GET
/api/v1/clientes?limite=100Clientes com total gasto e último pedido. Permissão:
clientes:ler
Exemplo: marcar um produto como esgotado
curl -X PATCH http://localhost:3000/api/v1/produtos/ID_DO_PRODUTO \
-H "Authorization: Bearer cw_..." \
-H "Content-Type: application/json" \
-d '{ "esgotado": true }'Webhooks
Em Integrações → n8n, Zapier e Make, o dono informa uma URL https. A cada evento enviamos um POST:
POST https://sua-url
X-Cardapio-Evento: pedido.criado
X-Cardapio-Assinatura: <HMAC-SHA256 do corpo, em hex, com o segredo>
{ "evento": "pedido.criado", "enviado_em": "...", "dados": { "numero": 42, "status": "novo", "total_centavos": 5990, ... } }Eventos: pedido.criado, pedido.status, pedido.pago, assinatura.criada. Confira a assinatura antes de confiar no corpo.
ChatGPT e Claude (MCP)
Cada loja tem um servidor MCP (HTTP, sem estado) em http://localhost:3000/api/mcp/SLUG. Ferramentas: resumo de vendas, listar pedidos, mudar status, listar produtos, pausar produto, alterar preço, criar cupom, abrir e fechar a loja.
Seu cardápio no ar ainda hoje.