Documentação da API
Duas coisas: o seu sistema manda mensagem pelo seu número de WhatsApp, e recebe de volta o que aconteceu com ela. HTTP e JSON, sem SDK para instalar.
Base: https://api.patrociniotech.com
Autenticação (link para esta seção)
Toda chamada leva a chave no header Authorization. A chave é criada no painel, em Integrações, e aparece inteira uma única vez: guarde na hora, porque depois só mostramos o começo dela.
Authorization: Bearer ptk_live_...
Primeira chamada (link para esta seção)
Se o contato falou com você nas últimas 24 horas, dá para mandar texto livre. Fora dessa janela, a Meta só aceita template aprovado (veja Mensagens).
curl -X POST https://api.patrociniotech.com/public/v1/messages \
-H "Authorization: Bearer ptk_live_..." \
-H "Content-Type: application/json" \
-d '{
"to": "5521999999999",
"text": "Seu pedido saiu para entrega.",
"client_ref": "pedido-8421"
}'Formato das respostas (link para esta seção)
Sucesso e erro têm sempre a mesma forma. Olhe o campo success antes de qualquer outra coisa, e trate o erro pelo code, nunca pela message: a frase é para humano e pode mudar; o código é contrato.
{ "success": true, "data": { ... } }
{ "success": false, "error": { "code": "outside_24h_window", "message": "..." } }Especificação OpenAPI (link para esta seção)
O contrato legível por máquina, só das rotas públicas. Importe no Postman ou no Insomnia, gere um cliente na sua linguagem, ou abra no visualizador de API que você já usa. Esta página explica o porquê; a especificação entrega a forma exata dos campos.
https://api.patrociniotech.com/public/v1/openapi.json
Ambiente e versão (link para esta seção)
| Item | Valor |
|---|---|
| Base | https://api.patrociniotech.com |
| Versão | Está no caminho (/public/v1/). Mudança que quebre contrato vira /v2, e a v1 continua no ar. |
| Formato | JSON na entrada e na saída. Use Content-Type: application/json. |
| Fuso | Toda data em UTC, no formato ISO 8601 com Z no fim. |
| Limite | 600 requisições por minuto por chave. Ver Erros e limites. |