WhatsApp: conexão
Número de WhatsApp Business da loja: credenciais, cadastro, perfil público, atalhos de abertura e mini-loja.
Antes de conversar com clientes pelo WhatsApp, a loja precisa ter um número de WhatsApp Business ligado à plataforma. Esta seção cobre tudo da conexão: guardar as credenciais da Meta, cadastrar um número novo, editar o perfil público, configurar os atalhos de abertura e a aparência da mini-loja que abre dentro do WhatsApp. As demais seções (caixa de entrada, campanhas, fluxos, IA) pressupõem que a conexão funciona.
Como funciona
Conectar um número tem dois caminhos. Caminho A, o número já existe na Meta: grave o phone_number_id e o token com PUT /credentials e confira com POST /credentials/verify. Caminho B, o número é novo: use o assistente de cadastro.
- Registrar
POST /store-setup/registeradiciona o telefone à conta WhatsApp Business (WABA) e devolve ophone_number_id. O número fica pendente. - Pedir o código
POST /store-setup/request-code: a Meta manda um código de 6 dígitos por SMS ou ligação. - Confirmar
POST /store-setup/verifycom o código: o número entra no ar e a rota de mensagens recebidas é registrada. - Ajustar o perfil
PUT /profiledefine nome, descrição e foto que o cliente verá.
O estado do número pode ser conferido a qualquer momento em GET /credentials (campos verified e last_verified_at).
Conceitos-chave
Meta, WABA e phone_number_id
O WhatsApp Business é operado pela Meta. Uma empresa tem uma WABA (conta WhatsApp Business) e, dentro dela, um ou mais números. Cada número tem um phone_number_id, uma string numérica da Meta (não é UUID e não é o telefone). É esse id que as rotas usam.
Número da loja versus número de um seller
Em uma loja com vários sellers (lojistas), há o número da própria loja (rotas credentials, profile, store-setup) e, opcionalmente, um número por seller (self-setup, que exige o vendor_id do seller). As mensagens recebidas num número são atendidas em nome de quem o possui.
Janela de 24 horas e templates
O WhatsApp só deixa a loja mandar texto livre até 24 horas depois da última mensagem do cliente. Depois disso, só templates (modelos de mensagem aprovados pela Meta). Isso afeta o envio do link da mini-loja.
Mini-loja e links personalizados
O link enviado ao cliente carrega um token com a loja e o cliente. Quem abre o link entra na loja já identificado, sem precisar fazer login.
Idioma das mensagens
Os textos de error, warning e meta_error vêm em português (ou no idioma da Meta). Para decidir o que mostrar, use kind e o status HTTP.
Endpoints
| Método | Caminho | Para que serve | Página |
|---|---|---|---|
GET | /api/v1/admin/whatsapp/credentials | Mostra o número de WhatsApp conectado à loja | Credenciais |
PUT | /api/v1/admin/whatsapp/credentials | Conecta um número já existente na Meta como número da loja | Credenciais |
POST | /api/v1/admin/whatsapp/credentials/verify | Testa o token do número na Meta e marca o número como verificado | Credenciais |
DELETE | /api/v1/admin/whatsapp/credentials | Desconecta o número de WhatsApp da loja | Credenciais |
GET | /api/v1/admin/whatsapp/profile | Lê o perfil comercial do número da loja | Perfil comercial |
PUT | /api/v1/admin/whatsapp/profile | Atualiza o perfil comercial na Meta | Perfil comercial |
POST | /api/v1/admin/whatsapp/store-setup/register | Adiciona o número à WABA e grava o perfil (pendente) | Cadastro do número da loja |
POST | /api/v1/admin/whatsapp/store-setup/request-code | A Meta envia o código de validação ao número | Cadastro do número da loja |
POST | /api/v1/admin/whatsapp/store-setup/verify | Valida o código e coloca o número no ar | Cadastro do número da loja |
GET | /api/v1/admin/whatsapp/store-setup/status | Mostra o status de verificação do número na Meta | Cadastro do número da loja |
POST | /api/v1/admin/whatsapp/self-setup/register | Adiciona o número à WABA e grava o perfil (pendente) | Cadastro do número de um seller |
POST | /api/v1/admin/whatsapp/self-setup/request-code | A Meta envia o código de validação ao número | Cadastro do número de um seller |
POST | /api/v1/admin/whatsapp/self-setup/verify | Valida o código e coloca o número no ar | Cadastro do número de um seller |
GET | /api/v1/admin/whatsapp/self-setup/status | Mostra o status de verificação do número na Meta | Cadastro do número de um seller |
GET | /api/v1/admin/whatsapp/ice-breakers | Lê os atalhos de abertura de um seller | Atalhos de abertura |
PUT | /api/v1/admin/whatsapp/ice-breakers | Salva os atalhos de abertura e os envia à Meta | Atalhos de abertura |
POST | /api/v1/admin/whatsapp/ice-breakers/apply-all | Reenvia os atalhos de todos os sellers à Meta | Atalhos de abertura |
GET | /api/v1/admin/whatsapp/web-preview/settings | Lê as configurações visuais da mini-loja | Mini-loja |
PUT | /api/v1/admin/whatsapp/web-preview/settings | Salva as configurações visuais da mini-loja | Mini-loja |
POST | /api/v1/admin/whatsapp/web-preview/media | Envia uma imagem (logo ou capa) para a mini-loja | Mini-loja |
POST | /api/v1/admin/whatsapp/web-preview/send | Envia ao cliente o link da mini-loja, do carrinho ou do checkout | Mini-loja |
GET | /api/v1/admin/whatsapp/link-pack | Gera links personalizados de amostra para pré-visualização | Mini-loja |
Erros comuns
- Achar que
PUT /credentialstesta o token: ele só grava. ChamePOST /credentials/verifyem seguida. - Mandar só o campo alterado em
PUT /profileou emPUT /web-preview/settings: os demais campos de texto são apagados. - Cadastrar um telefone que já tem WhatsApp comum: a Meta recusa (
kind=whatsapp_exists). Exclua a conta do WhatsApp nesse número antes. - Pedir códigos em excesso: a Meta limita e a resposta é 429 com
retry_after_seconds. Troque paraVOICEou espere. - Perder o
two_step_pindevolvido emverify: a Meta o pede ao mover o número de aparelho. - Esperar que
DELETE /credentialsapague conversas: ele só desativa o número.