Visão geral
Este guia contém informações práticas para integrar com a WhatsApp Business Cloud. Inclui autenticação, endpoints úteis, exemplos de chamadas HTTP, payloads de webhook, dicas de segurança e links para SDKs e docs oficiais.
Link oficial da documentação
https://developers.facebook.com/docs/whatsapp/cloud-api/
Autenticação (exemplo)
A maioria das integrações utiliza OAuth2, API keys ou token-based auth. Exemplo genérico usando curl:
curl -X POST "https://api.example.com/oauth/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"{CLIENT_ID}","client_secret":"{CLIENT_SECRET}","grant_type":"client_credentials"}'
Endpoints essenciais (exemplos)
- GET /v1/orders — listar pedidos
- POST /v1/orders — criar pedido
- GET /v1/products — listar produtos/catálogo
- POST /v1/webhooks — registrar webhooks
Exemplo prático: criar pedido (JSON)
{'external_id': 'ORDER_12345', 'items': [{'sku': 'SKU-1', 'quantity': 1, 'price': 199.9}], 'customer': {'name': 'João Silva', 'email': 'joao@exemplo.com'}, 'shipping': {'address': 'Rua A, 123', 'city': 'São Paulo', 'postal_code': '01001000'}}
Webhooks
Configure um endpoint HTTPS com validação HMAC e retornos 2xx. Exemplo de payload de webhook:
{"event":"order.updated","order_id":"ORDER_12345","status":"delivered"}
SDKs e ferramentas
Procure SDKs oficiais no repositório do fornecedor ou na própria documentação (Node, Python, Ruby, PHP). Recomenda-se usar ambientes de sandbox antes de produção.
Melhores práticas
- Use retries exponenciais e idempotência para evitar pedidos duplicados.
- Armazene tokens com segurança e renove quando necessário.
- Valide webhooks com HMAC ou assinatura.
- Documente os fluxos críticos e monitore erros com logging estruturado.
Exemplos por linguagem
Veja a documentação oficial para snippets em curl, Node.js, Python e PHP.
Recursos úteis
- Documentação oficial: https://developers.facebook.com/docs/whatsapp/cloud-api/
- Ambiente sandbox / credenciais de teste (quando disponível)
- Coleções Postman / Insomnia (recomenda-se importar quando existente)