VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa

Caixa de entrada do WhatsApp

Como o seller atende, pela API, as conversas que os clientes abrem no número de WhatsApp da loja.

O módulo WhatsApp Commerce conecta a loja ao WhatsApp Business (a API oficial da Meta, chamada de Cloud API). Cada cliente que escreve para o número da loja abre uma conversa (em inglês, thread): um histórico de mensagens entre o telefone do cliente e o número do seller (lojista). Esta seção documenta as rotas que o painel do seller usa para atender essas conversas: listar, ler, responder, mandar produtos e cobrança, e deixar anotações internas.

A conversa nasce sozinha quando o cliente manda a primeira mensagem. Não existe rota para criar uma conversa por esta API.

Pontos-chave
  • Todas as rotas exigem o token de um usuário seller (/api/v1/vendor/...). Um token de administrador da loja recebe 403 {"error":"insufficient permissions"} aqui.
  • O módulo whatsapp-commerce precisa estar ligado na loja. Desligado, toda rota responde 403 {"error":"module_disabled","module":"whatsapp-commerce"}.
  • O seller só enxerga as suas conversas. Pedir a conversa de outro seller devolve 404, nunca 403, para não revelar que ela existe.
  • Quase todas as rotas pedem o privilégio vendor_manage_whatsapp (usuários da equipe do seller sem ele recebem 403).
  • Respostas feitas por um atendente não desligam o assistente automático da conversa: o humano e o bot convivem.

Como funciona

O ciclo de uma conversa

Cliente escreve→Conversa criada→Atendente lê→Atendente responde→Conversa lida
  1. Listar as conversas

    GET /inbox/threads devolve a fila, da mais recente para a mais antiga, com a contagem de mensagens não lidas.

  2. Abrir uma conversa

    GET /inbox/threads/{id} traz a conversa e as últimas 50 mensagens. O painel também carrega o contexto do cliente (pedidos, itens mais comprados).

  3. Responder

    Texto livre, ou foto, áudio, vídeo e documento (Responder). Para vender, mande um botão com o carrinho ou o link de pagamento (Carrinho e cobrança).

  4. Marcar como lida e anotar

    mark-read zera o contador. Notas internas ficam só para a equipe: o cliente nunca as recebe.

Conceitos-chave

Conversa (thread)

Uma conversa é única para o par seller + telefone do cliente. O campo id é um UUID em string. Os campos mais úteis:

CampoSignificado
customer_phoneTelefone do cliente, só dígitos com DDI (por exemplo 5511999990000).
bot_enabledtrue quando o assistente automático também responde nesta conversa.
unread_countMensagens do cliente que ninguém marcou como lidas.
last_inbound_at / last_outbound_atÚltima mensagem recebida e última enviada (RFC 3339, UTC). Podem ser null.
human_requested_atQuando o cliente pediu para falar com uma pessoa, se pediu.
urgency_statehuman_requested, waiting_client, manual_mode ou normal (calculado na hora).
tags, assigned_to_user_idEtiquetas e responsável. Aparecem na resposta, mas o seller não filtra por eles.

A janela de 24 horas

A Meta só aceita mensagem de texto livre ou mídia dentro de 24 horas depois da última mensagem do cliente. Fora da janela, só mensagens de modelo aprovado (template) passam. Esta API não bloqueia antes: ela tenta enviar, a Meta recusa e você recebe 502 (veja Responder). Os modelos ficam em Canal e catálogo.

Qual número envia

A resposta sai pelo número do próprio seller, se ele conectou um (Número do seller). Sem número próprio, sai pelo número padrão da loja.

Dinheiro e datas

Valores monetários desta seção (total_cents, unit_price_cents) são inteiros em centavos (18900 = R$ 189,00). Datas são RFC 3339 em UTC.

Endpoints

Auth: Seller é um usuário do painel do seller (Authorization: Bearer $TOKEN).

MétodoRotaO que fazAuthPágina
GET/api/v1/vendor/whatsapp/inbox/threadsLista as conversasSellerConversas
GET/api/v1/vendor/whatsapp/inbox/threads/{id}Abre uma conversa com as mensagensSellerConversas
GET/api/v1/vendor/whatsapp/inbox/threads/{id}/customer-contextPedidos e itens mais comprados do clienteSellerConversas
POST/api/v1/vendor/whatsapp/inbox/threads/{id}/mark-readZera as não lidasSellerConversas
POST/api/v1/vendor/whatsapp/inbox/threads/{id}/replyResponde com textoSellerResponder
POST/api/v1/vendor/whatsapp/inbox/threads/{id}/reply-mediaResponde com imagem, vídeo, áudio ou documentoSellerResponder
POST/api/v1/vendor/whatsapp/inbox/uploadEnvia um arquivo para usar na respostaSellerResponder
GET/api/v1/vendor/whatsapp/inbox/media/{message_id}Baixa a mídia de uma mensagemSellerResponder
POST/api/v1/vendor/whatsapp/inbox/threads/{id}/send-cartEnvia um botão "Abrir carrinho"SellerCarrinho e cobrança
POST/api/v1/vendor/whatsapp/inbox/threads/{id}/send-paymentEnvia um botão "Pagar pedido"SellerCarrinho e cobrança
GET/api/v1/vendor/whatsapp/inbox/threads/{id}/notesLista as notas internasSellerNotas internas
POST/api/v1/vendor/whatsapp/inbox/threads/{id}/notesCria uma nota internaSellerNotas internas
DELETE/api/v1/vendor/whatsapp/inbox/threads/{id}/notes/{note_id}Apaga uma nota internaSellerNotas internas

Erros comuns

  • Usar token de administrador. As rotas /api/v1/vendor/... só aceitam usuário seller. O erro é 403 insufficient permissions.
  • Esperar que status combine filtros. Em GET /inbox/threads, status aceita um só valor por vez (open, pending ou resolved).
  • Tratar 502 em resposta como "não gravou". A mensagem fica registrada na conversa mesmo quando a Meta recusa o envio; o corpo do 502 traz a mensagem gravada.
  • Mandar media_url que a Meta não alcança. A Meta baixa o arquivo pelo link. URL de rede interna ou que exige login falha.
  • Escrever travessão e reticências na resposta. O envio troca travessões por ponto e colapsa pontos repetidos (veja Responder).
  • Passar o id de uma conversa de outro seller. A resposta é 404 thread not found, igual a um id que não existe.

Próximos passos

Conversas
Listar, abrir e marcar como lida.
Responder
Texto, mídia e upload.
Número do seller
Conectar o número de WhatsApp da loja.
Anterior
Catálogo da Meta
Próxima
Conversas
Nesta página
  • Como funciona
  • O ciclo de uma conversa
  • Conceitos-chave
  • Conversa (thread)
  • A janela de 24 horas
  • Qual número envia
  • Dinheiro e datas
  • Endpoints
  • Erros comuns
  • Próximos passos