Canais
Oito canais.Uma mesma requisição.
O corpo que você envia para /v1/messages não muda quando o canal muda. O que muda é o que aquele canal consegue levar, o que ele precisa antes de enviar e quem cobra por isso.
O campo channel aceita qualquer um destes, mais auto. Omita e a Zavu resolve um a partir do destinatário e do que o sender realmente tem conectado.
Capacidades
Escolha um tipo de mensagem. Os canais respondem.
Quase todo tipo rico tem exatamente uma casa. Saber qual antes de desenhar um fluxo com botões sai mais barato do que descobrir por um 400.
messageType
Leva
SMS
sms
Este não
One-way SMS
sms_oneway
Este não
Voice
voice
Este não
Este não
Telegram
telegram
Este não
Este não
Messenger
messenger
Este não
Estes são os valores de messageType. Escolha qual for, os nomes dos campos não mudam — só o canal que acaba levando.
Roteamento
Por onde este sai?
Digite um destinatário e veja as mesmas decisões que o handler toma, na mesma ordem, com a que resolveu apontada.
messageType
channel
Por onde o sender consegue enviar
Alterne estes. O roteamento só escolhe algo que o sender realmente tem conectado.
Canal resolvido
"channel": "whatsapp"
Como chegou lá
- 01to é um telefone em E.164, então os candidatos são WhatsApp, SMS, SMS de via única e voz.
- 02Nada foi nomeado, então a ordem é WhatsApp, Instagram, Messenger, Telegram, SMS, SMS de via única, email.
- 03A voz não está nessa lista. Só é usada quando você pede.
- 04O primeiro pelo qual este sender alcança esse destinatário: whatsapp.
autowhatsapp
A janela de 24 horas
O WhatsApp tem uma regra que vale aprender primeiro
Uma mensagem livre no WhatsApp só é aceita enquanto a última mensagem recebida do contato tiver menos de 24 horas. Teste e veja o que volta.
O contato nunca escreveu para você, então não há janela em que estar.
O que a API respondeu
- —
A chamada
Mesmo corpo, destino diferente
to e channel são os únicos campos que mudam entre estes. Todo o resto é a mesma requisição.
import Zavudev from "@zavudev/sdk";
const zavu = new Zavudev();
const { message } = await zavu.messages.send({
to: "+56912345678",
text: "Your order shipped.",
});
// channel: "auto" is the default. The sender's own channels decide
// which one this leaves on.
console.log(message.channel, message.status);O registro
O que cada um leva, e o que precisa antes
Um canal não é uma caixinha. Cada um tem uma forma de mensagem que consegue renderizar e uma configuração sem a qual não envia.
Leva
Texto, mídia, documentos, stickers, botões, listas, botões CTA com URL, pedidos de localização e de contato, reações e templates aprovados.
Precisa antes
Uma conta do WhatsApp Business conectada ao sender. Respostas livres ainda precisam de uma janela de 24 horas aberta; templates não.
SMS
sms
Leva
Texto puro, e templates reduzidos a texto.
Precisa antes
Um número de telefone atribuído ao sender. O número sozinho não liga o SMS.
One-way SMS
sms_oneway
Leva
Texto puro. O destinatário não pode responder.
Precisa antes
Nada. Sem número, sem credencial — o caminho mais rápido para um sender que envia.
Voice
voice
Leva
Texto falado em voz alta, ou um agente de voz que conduz a conversa.
Precisa antes
Um número de telefone e o canal de voz ligado. O roteamento nunca escolhe voz sozinho; é preciso pedir. O idioma segue o país do destinatário, a menos que você defina voiceLanguage.
Leva
Assunto, texto puro e HTML, até 50 anexos e imagens embutidas por content id.
Precisa antes
Um domínio verificado e um endereço de origem no sender. Cada destinatário é checado antes do envio, para que um bounce certo não saia.
Telegram
telegram
Leva
Texto, mídia e elementos interativos. Sem template para esperar aprovação.
Precisa antes
Um bot token no sender. Os destinatários são chat ids numéricos, então o canal precisa ser nomeado.
Leva
Texto para uma caixa do Instagram.
Precisa antes
Uma conta Instagram Business conectada. Tem a própria janela: 24 horas de respostas livres, depois só um agente humano, até sete dias.
Messenger
messenger
Leva
Texto para a caixa de uma Página do Facebook, conversas do Marketplace incluídas.
Precisa antes
Uma Página do Facebook conectada. Os destinatários são chat ids numéricos.
Um sender declara por quais canais consegue enviar agora no seu array channels. Leia isso, em vez de deduzir a capacidade de um número de telefone ou de um email gravados no registro.
Quanto custa
Quem cobra, e pelo quê
Dois destes são nossos. Os outros dois passam a custo, então você pode conferir por conta própria.
WhatsApp · Telegram · Instagram · Messenger
2.000 por mês, grátis
Compartilhados entre os quatro no plano grátis. Planos pagos não têm teto de mensagens, e a Zavu não cobra nada por mensagem em nenhum deles.
Conversas de WhatsApp
Tarifas da Meta, a custo
A Meta cobra templates e conversas por país e categoria, direto na sua conta do WhatsApp Business. Não colocamos margem em cima.
SMS · Voz
Por envio
Cobrado do seu saldo pré-pago em todos os planos, com tarifas publicadas por destino.
$0,40 por 1.000
Transacional. Marketing é $0,80 por 1.000. Cobrado do saldo em blocos de 1.000 mensagens.
Times grátis começam com $2 de crédito. Passada a cota grátis, um envio devolve 429 com a2p_limit_exceeded; com saldo zero, um email devolve 402 com insufficient_balance.
Escolha um canal, ou deixe o roteamento escolher.
Comece grátis, sem cartão. Ligue o resto quando quiser, sem tocar no código que você já escreveu.