Fluxo de integracao
- Solicite ao lojista ou ao suporte CFShop as credenciais da loja.
- Configure o
merchantId,appId,webhookTokene, quando usado,webhookSecret. - Envie eventos
CREATEDouPREPARATION_REQUESTEDpara criar pedidos no PDV. - Use a API2 Completa para consultar pedidos, cardapio, status e filas operacionais.
Para homologacao rapida, o CFShop aceita o objeto order completo dentro do evento. Assim o parceiro nao precisa expor uma API de consulta logo no primeiro teste.
Credenciais
| Campo | Onde usar | Observacao |
|---|---|---|
merchantId | Header X-App-MerchantId e corpo do evento | Identifica a loja CFShop. |
appId | Header X-App-Id | Identifica o aplicativo/parceiro. |
webhookToken | Header X-Webhook-Token | Valida o recebimento do webhook. |
webhookSecret | Header X-App-Signature | Opcional. Assinatura HMAC-SHA256 do corpo JSON. |
TOKEN_DA_LOJA | Header Authorization: Bearer | Usado na API2 Completa para consultas e atualizacoes. |
Enviar evento
curl -X POST "https://cfshop.com.br/webhook/opendelivery.php" \
-H "Content-Type: application/json" \
-H "X-App-Id: APP_ID_FORNECIDO" \
-H "X-App-MerchantId: cfshop_store_ID_DA_LOJA" \
-H "X-Webhook-Token: TOKEN_FORNECIDO" \
-d @pedido-opendelivery.json
Healthcheck
curl "https://cfshop.com.br/webhook/opendelivery.php"
Payload minimo de pedido
{
"eventId": "evt-teste-1001",
"eventType": "CREATED",
"merchantId": "cfshop_store_ID_DA_LOJA",
"sourceAppId": "APP_ID_FORNECIDO",
"orderId": "od-teste-1001",
"order": {
"id": "od-teste-1001",
"displayId": "1001",
"type": "DELIVERY",
"createdAt": "2026-07-15T12:00:00-03:00",
"customer": {
"name": "Cliente Teste",
"phone": {
"number": "5599999999999"
},
"documentNumber": "00000000000",
"email": "[email protected]"
},
"delivery": {
"deliveryAddress": {
"street": "Rua Teste",
"number": "123",
"district": "Centro",
"city": "Cidade",
"state": "UF",
"postalCode": "00000000",
"complement": "Casa",
"reference": "Proximo ao mercado"
}
},
"items": [
{
"id": "prod-1",
"externalCode": "1",
"name": "Produto Teste",
"quantity": 1,
"unitPrice": 23,
"totalPrice": 23,
"options": []
}
],
"total": {
"itemsPrice": 23,
"discount": 0,
"orderAmount": 23
},
"payments": {
"methods": [
{
"method": "CASH",
"type": "OFFLINE"
}
]
}
}
}
Eventos e status
CREATED cria pedido
PREPARATION_REQUESTED cria pedido
CONFIRMED/PREPARING aceita
READY_FOR_PICKUP producao
DISPATCHED/PICKED_UP entrega
DELIVERED/CONCLUDED conclui
CANCELLED cancela
Eventos desconhecidos sao registrados e respondidos com sucesso, sem alterar o pedido local.
API2 de apoio
Apos o pedido entrar, o parceiro pode consultar pedidos, status, produtos, pagamentos e filas operacionais pela API2 Completa.
curl "https://cfshop.com.br/api2-completa/orders?pending_integration=1" \
-H "Authorization: Bearer TOKEN_DA_LOJA"
