Construir sobre o API Tech Pad.
Envie mensagens de modelo WhatsApp de seus próprios sistemas, receba eventos de entrega por webhook e monitore cada solicitação nos registros.
Ignorar o código — instalar um plugin de conector.
A mesma API WhatsApp Business, envolto em plug-ins de conectores gratuitos para as ferramentas que você já usa — todos os formulários, reservas, eventos e plataformas de armazenamento enviam diretamente para o WhatsApp. Instale, conecte-se com seu e-mail, feito.
Início rápido
De zero para uma mensagem WhatsApp entregue em quatro etapas. Tudo aqui também funciona dentro do aplicativo Desenvolvedores → Visão geral página, que acompanha o seu progresso.
Criar uma chave de API
Abra Desenvolvedores → Chaves de API no aplicativo e criar uma chave (prefixo ttp_live_). O segredo completo é mostrado uma vez — copiá-lo imediatamente.
Escolha um modelo aprovado
Seu espaço de trabalho precisa de pelo menos um modelo Meta- aprovado (ver Modelos). Os modelos atualizam diretamente do Meta.
Enviar um pedido de teste
Usar o aplicativo Teste de API ou o pedido abaixo. O destinatário deve ter optado por receber mensagens de modelo do seu número.
Adicionar um webhook de entrega
Aponte um webhook para o seu ponto de extremidade HTTPS, selecione os eventos que você se importa e assista Registos de hook Web Confirmar a entrega.
Autenticação
A API é autenticada com chaves API por espaço de trabalho enviadas como um token ao portador. Chaves são criadas e revogadas de Desenvolvedores → Chaves de API.
- Teclas com as quais começar
ttp_live_e são explorados para um espaço de trabalho. - Criar uma chave separada por integração — cada chave rastreia a sua própria
last usedHora de marcar. - O segredo completo é exibido apenas uma vez na criação; não pode ser recuperado mais tarde. Reverenciar e recriar em vez disso.
- Enviar a chave na
Authorizationcabeçalho:Authorization: Bearer ttp_live_…
Enviar mensagem
Envia uma mensagem de modelo WhatsApp aprovada para um destinatário opted-in de um número conectado em sua área de trabalho.
https://v1.thetechpad.com/functions/v1/api-send
Cabeçalho: Authorization: Bearer ttp_live_… · Content-Type: application/json
Organismo de pedido
| Campo | Tipo | Designação das mercadorias |
|---|---|---|
phoneNumberId | string | ID de um número WhatsApp conectado em sua área de trabalho (página de números WhatsApp). |
to | string | Número de telefone do destinatário no formato E.164, por exemplo. 15551234567. |
template.name | string | Nome de um modelo Meta-aprovado no seu espaço de trabalho, por exemplo. order_update. |
template.language | string | Código da língua do modelo, por exemplo en. |
template.parameters | array<string> | Valores posicionais para as variáveis do modelo, em ordem. |
Pedido de exemplo
curl -X POST 'https://v1.thetechpad.com/functions/v1/api-send' \ -H 'Authorization: Bearer ttp_live_...' \ -H 'Content-Type: application/json' \ -d '{ "phoneNumberId": "1122334455", "to": "15551234567", "template": { "name": "order_update", "language": "en", "parameters": ["Ava", "#4031"] } }'
// JavaScript
const response = await fetch('https://v1.thetechpad.com/functions/v1/api-send', {
method: 'POST',
headers: { Authorization: 'Bearer ttp_live_...', 'Content-Type': 'application/json' },
body: JSON.stringify({
phoneNumberId: '1122334455',
to: '15551234567',
template: { name: 'order_update', language: 'en', parameters: ['Ava', '#4031'] }
})
});
Webhooks
Os webhooks de saída empurram eventos do ciclo de vida da mensagem para o seu ponto final HTTPS em tempo quase real. Gerenciar os parâmetros a partir de Desenvolvedores → Webhooks — adicionar, editar, pausar, testar e eliminar.
Eventos
| Evento | Incendeia quando |
|---|---|
message.sent | Uma mensagem foi aceita e enviada pela plataforma WhatsApp. |
message.delivered | A mensagem foi entregue ao dispositivo do destinatário. |
message.read | O destinatário leu a mensagem. |
message.failed | A mensagem falhou (indesenvolvível, modelo rejeitado, limite de remetente, ...). |
message.received | Chegou uma mensagem de entrada de um cliente. |
- Os pontos de vista devem ser HTTPS e acessível a partir da internet.
- Cada endpoint assina um subconjunto escolhido de eventos; cada evento dispara com uma carga útil JSON contendo o ID da mensagem e o status.
- Usar Ensaio num ponto final para enviar uma amostra de entrega e verificar o seu manipulador.
- Os terminais em pausa mantêm a sua configuração, mas param de receber eventos.
Limites de taxa
As mensagens são enviadas até a taxa de pacotes do seu plano. O rendimento real pode ser menor quando a Meta aplica limites de nível de mensagens, qualidade do telefone ou nível de conta. Mensagens permanecem em fila de espera com segurança em vez de ser descartado.
| Plano | Chamadas / mês da API | Taxa de envio de base |
|---|---|---|
| Iniciador da Campanha | — | Até 6 mensagens / minuto |
| Lançar | 10,000 | Taxa de embalagem |
| Crescer | 200,000 | Taxa de embalagem |
| Escala | 2,000,000 | Taxa de embalagem |
Cada solicitação conta para sua quota de chamada API e é registrada nos logs da API com seu código de status e duração.
Registos e monitorização
Desenvolvedores → Logs mantém duas visões:
- Registros de API — cada pedido de API: método, ponto de avaliação, estado HTTP, modelo utilizado e duração.
- Registos de hook Web — todas as tentativas de entrega de ganchos web e os seus resultados.
Use-os para depurar envios mal-sucedidos, confirme entrega webhook e integrações de auditoria terminam.
Erros
Requisitos bem sucedidos retornam a 2xx Situação. Falhas retornam um status não- 2xx com um corpo JSON descrevendo o problema:
{
"error": "Template not approved",
"hint": "Check the template status in Templates — only APPROVED templates can be sent."
}
| Estado | Significado |
|---|---|
2xx | Pedido aceito / processado. |
400 | Pedido mal formado — campos em falta ou inválidos. |
401 | Chave de API ausente ou inválida. |
403 | Chave válida mas não permitida para esta ação ou espaço de trabalho. |
404 | Número, modelo ou recurso desconhecidos. |
429 | Limite de taxa ou quota excedida — tente novamente após a retirada. |
5xx | Erro na plataforma — tente novamente; verifique os registros da API e a página de status. |
Experimente a API da consola.
O verificador de API no aplicativo gera curl, JavaScript e PHP para cada solicitação.