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

Vender na conversa

Mostra o carrinho e os pedidos do cliente e envia produtos, listas, catálogo e link do carrinho dentro da conversa.

Ver o carrinho e os pedidos do cliente

Alimenta o painel lateral da conversa: o carrinho aberto do telefone, até 30 pedidos recentes e, se houver cliente vinculado, o nome dele.

GET/api/v1/admin/whatsapp-confluence/threads/{id}/commerceAdmin

Carrinho e pedidos do cliente

Parâmetros de caminho

iduuidobrigatório
Id da conversa.

Exemplo de requisição

bash
curl "$BASE_URL/api/v1/admin/whatsapp-confluence/threads/e661b36c-fe1b-450f-b75b-49d10c1ead48/commerce" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Painel do cliente
json
{
  "phone": "5511987654321",
  "cart": {
    "cart_id": "c1f9a0de-3b2a-4f10-9a77-0c8d5e6f7a81",
    "items": [],
    "subtotal_cents": 19800,
    "total_cents": 19800,
    "currency": "BRL",
    "item_count": 2
  },
  "orders": [
    {
      "order_id": "a8a3c7a3-5f15-45a8-a385-4f20fbf8b722",
      "order_number": "PEDIDO-20261008-0012",
      "status": "P",
      "status_name": "Em separação",
      "total_cents": 19800,
      "created_at": "2026-10-08T15:20:00Z",
      "item_count": 2,
      "item_preview": "Camiseta Azul, Bermuda"
    }
  ],
  "user": {
    "user_id": "f12f30a9-cbec-40ba-98f1-b7fa8f2e8e10",
    "name": "Maria Souza",
    "company": ""
  }
}

Campos da resposta

phonestring
Telefone da conversa.
cartobject
Carrinho aberto, ou null se estiver vazio. Valores em centavos: subtotal_cents, total_cents, discount_cents. Também traz cart_id, items, currency, item_count, coupon_code.
ordersarray
Até 30 pedidos do telefone, com order_id, order_number, status, status_name, total_cents (centavos), created_at, item_count, item_preview, stage e outros.
userobject
Cliente vinculado ao telefone (user_id, name, company). Ausente se não houver.

Erros

StatusQuandoCorpo de exemplo
404A conversa não existe.{"error":"thread not found"}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}

Enviar um produto

Envia um cartão de produto. Se a loja tem catálogo da Meta ligado, vai um cartão nativo do WhatsApp; senão, vai uma mensagem com um botão que abre o produto na mini-loja.

POST/api/v1/admin/whatsapp-confluence/threads/{id}/send-productAdmin

Envia um produto

Parâmetros de caminho

iduuidobrigatório
Id da conversa.

Corpo da requisição

retailer_idstring
Id do produto no catálogo da Meta (product_retailer_id).
product_iduuid
Id do produto na plataforma; usado se retailer_id faltar. Informe um dos dois.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp-confluence/threads/e661b36c-fe1b-450f-b75b-49d10c1ead48/send-product" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "0b6f9d52-8a7e-4b1c-9d3a-52e1f4a7c610"}'

Resposta

200Mensagem enviada
json
{
  "id": 42,
  "thread_id": "e661b36c-fe1b-450f-b75b-49d10c1ead48",
  "wamid": "wamid.HBgLNTUxMTk4NzY1NDMyMRUCABEYEjQ1QTE",
  "direction": "O",
  "origin": "A",
  "msg_type": "interactive",
  "body": "Produto: SKU-1001",
  "status": "S",
  "meta_timestamp": "2026-10-10T18:43:02Z",
  "created_at": "2026-10-10T18:43:02Z",
  "interactive": {
    "type": "product",
    "body": {
      "text": "Produto: SKU-1001"
    }
  }
}

Campos da resposta

idinteger
Id numérico da mensagem. Cresce com o tempo; usado para paginar e em Baixar mídia.
thread_iduuid
Conversa a que pertence.
wamidstring
Id da mensagem na Meta. Ausente em mensagem que falhou antes de ser aceita.
directionstring
IO
Sentido.
originstring
CABEH
Quem gerou.
msg_typestring
Tipo: text, interactive, template, image, audio, video, document e outros que a Meta envia.
bodystring
Texto da mensagem (ou resumo, para tipos sem texto).
media_idstring
Id da mídia na Meta, se houver.
media_mimestring
Tipo MIME da mídia.
media_captionstring
Legenda da mídia.
filenamestring
Nome do arquivo (documentos).
media_urlstring
URL assinada do mesmo domínio para tocar ou exibir a mídia sem cabeçalho de autorização. Só em listagens de mensagens.
transcriptionstring
Transcrição de um áudio, quando existir.
interactiveobject
Conteúdo de mensagens interativas (botões, listas, link com botão).
order_payloadobject
Carga de um pedido feito pelo catálogo do WhatsApp.
statusstring
QSDRF
Situação da entrega.
errorstring
Motivo da falha, quando status é F.
meta_timestampstring
Horário informado pela Meta.
created_atstring
Quando a plataforma registrou.

Erros

StatusQuandoCorpo de exemplo
400Nenhum dos dois ids.{"error":"retailer_id or product_id required"}
502Produto fora do catálogo da conversa, conversa inexistente ou envio recusado.{"error":"..."}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}
Escopo do seller

A busca respeita o catálogo do seller dono do número; um produto de outro seller é recusado.

Enviar uma lista de produtos

Envia vários produtos em uma única mensagem de lista (a Meta aceita até 30). Sem catálogo da Meta ligado, vai um resumo com até 10 produtos e um botão para a mini-loja.

POST/api/v1/admin/whatsapp-confluence/threads/{id}/send-product-listAdmin

Envia uma lista de produtos

Parâmetros de caminho

iduuidobrigatório
Id da conversa.

Corpo da requisição

titlestring
Título da lista. Padrão Produtos no resumo.
product_idsarrayobrigatório
Ids de produto da plataforma (UUID). Obrigatório e não vazio.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp-confluence/threads/e661b36c-fe1b-450f-b75b-49d10c1ead48/send-product-list" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Camisetas", "product_ids": ["0b6f9d52-8a7e-4b1c-9d3a-52e1f4a7c610", "8d2e1c47-3f5b-4a96-b0c8-71e9a4d5f302"]}'

Resposta

200Mensagem enviada
json
{
  "id": 42,
  "thread_id": "e661b36c-fe1b-450f-b75b-49d10c1ead48",
  "wamid": "wamid.HBgLNTUxMTk4NzY1NDMyMRUCABEYEjQ1QTE",
  "direction": "O",
  "origin": "A",
  "msg_type": "interactive",
  "body": "Produto: SKU-1001",
  "status": "S",
  "meta_timestamp": "2026-10-10T18:43:02Z",
  "created_at": "2026-10-10T18:43:02Z",
  "interactive": {
    "type": "product",
    "body": {
      "text": "Produto: SKU-1001"
    }
  }
}

Campos da resposta

idinteger
Id numérico da mensagem. Cresce com o tempo; usado para paginar e em Baixar mídia.
thread_iduuid
Conversa a que pertence.
wamidstring
Id da mensagem na Meta. Ausente em mensagem que falhou antes de ser aceita.
directionstring
IO
Sentido.
originstring
CABEH
Quem gerou.
msg_typestring
Tipo: text, interactive, template, image, audio, video, document e outros que a Meta envia.
bodystring
Texto da mensagem (ou resumo, para tipos sem texto).
media_idstring
Id da mídia na Meta, se houver.
media_mimestring
Tipo MIME da mídia.
media_captionstring
Legenda da mídia.
filenamestring
Nome do arquivo (documentos).
media_urlstring
URL assinada do mesmo domínio para tocar ou exibir a mídia sem cabeçalho de autorização. Só em listagens de mensagens.
transcriptionstring
Transcrição de um áudio, quando existir.
interactiveobject
Conteúdo de mensagens interativas (botões, listas, link com botão).
order_payloadobject
Carga de um pedido feito pelo catálogo do WhatsApp.
statusstring
QSDRF
Situação da entrega.
errorstring
Motivo da falha, quando status é F.
meta_timestampstring
Horário informado pela Meta.
created_atstring
Quando a plataforma registrou.

Erros

StatusQuandoCorpo de exemplo
400product_ids ausente ou vazio.{"error":"product_ids required"}
502Envio recusado ou conversa inexistente.{"error":"..."}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}

Enviar o botão do catálogo

Envia a mensagem nativa "ver catálogo" do WhatsApp. Exige catálogo da Meta ligado na loja.

POST/api/v1/admin/whatsapp-confluence/threads/{id}/send-catalogAdmin

Envia o botão do catálogo

Parâmetros de caminho

iduuidobrigatório
Id da conversa.

Corpo da requisição

bodystring
Texto da mensagem. Padrão Confira nosso catálogo.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp-confluence/threads/e661b36c-fe1b-450f-b75b-49d10c1ead48/send-catalog" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"body": "Veja nosso catálogo"}'

Resposta

200Mensagem enviada
json
{
  "id": 42,
  "thread_id": "e661b36c-fe1b-450f-b75b-49d10c1ead48",
  "wamid": "wamid.HBgLNTUxMTk4NzY1NDMyMRUCABEYEjQ1QTE",
  "direction": "O",
  "origin": "A",
  "msg_type": "interactive",
  "body": "Veja nosso catálogo",
  "status": "S",
  "meta_timestamp": "2026-10-10T18:43:02Z",
  "created_at": "2026-10-10T18:43:02Z"
}

Campos da resposta

idinteger
Id numérico da mensagem. Cresce com o tempo; usado para paginar e em Baixar mídia.
thread_iduuid
Conversa a que pertence.
wamidstring
Id da mensagem na Meta. Ausente em mensagem que falhou antes de ser aceita.
directionstring
IO
Sentido.
originstring
CABEH
Quem gerou.
msg_typestring
Tipo: text, interactive, template, image, audio, video, document e outros que a Meta envia.
bodystring
Texto da mensagem (ou resumo, para tipos sem texto).
media_idstring
Id da mídia na Meta, se houver.
media_mimestring
Tipo MIME da mídia.
media_captionstring
Legenda da mídia.
filenamestring
Nome do arquivo (documentos).
media_urlstring
URL assinada do mesmo domínio para tocar ou exibir a mídia sem cabeçalho de autorização. Só em listagens de mensagens.
transcriptionstring
Transcrição de um áudio, quando existir.
interactiveobject
Conteúdo de mensagens interativas (botões, listas, link com botão).
order_payloadobject
Carga de um pedido feito pelo catálogo do WhatsApp.
statusstring
QSDRF
Situação da entrega.
errorstring
Motivo da falha, quando status é F.
meta_timestampstring
Horário informado pela Meta.
created_atstring
Quando a plataforma registrou.

Erros

StatusQuandoCorpo de exemplo
502Sem catálogo ligado, conversa inexistente ou envio recusado.{"error":"..."}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}
Sem catálogo da Meta?

Use Enviar o link do carrinho ou a mini-loja.

Enviar o link do carrinho

Envia uma mensagem com o botão Abrir carrinho, que leva o cliente à mini-loja com o carrinho do telefone. É o jeito de o atendente "montar o carrinho e mandar para fechar".

POST/api/v1/admin/whatsapp-confluence/threads/{id}/send-cart-linkAdmin

Envia o link do carrinho

Parâmetros de caminho

iduuidobrigatório
Id da conversa.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp-confluence/threads/e661b36c-fe1b-450f-b75b-49d10c1ead48/send-cart-link" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Link enviado
json
{
  "message": {
    "id": 42,
    "thread_id": "e661b36c-fe1b-450f-b75b-49d10c1ead48",
    "wamid": "wamid.HBgLNTUxMTk4NzY1NDMyMRUCABEYEjQ1QTE",
    "direction": "O",
    "origin": "A",
    "msg_type": "interactive",
    "body": "🛒 Montei um carrinho pra você, é só abrir e finalizar!",
    "status": "S",
    "meta_timestamp": "2026-10-10T18:43:02Z",
    "created_at": "2026-10-10T18:43:02Z"
  }
}

Campos da resposta

messageobject
A mensagem criada, com os campos de uma mensagem.

Erros

StatusQuandoCorpo de exemplo
404A conversa não existe.{"error":"thread not found"}
502Não foi possível montar o link ou o envio foi recusado.{"error":"whatsappcoex: cart link unavailable","message":null}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}
Resposta embrulhada

Diferente das outras rotas de envio, aqui a mensagem vem dentro de message.

Veja também

  • Cobranças PIX
  • Catálogo e campanhas
Anterior
Cobranças PIX
Próxima
Contatos importados
Nesta página
  • Ver o carrinho e os pedidos do cliente
  • Exemplo de requisição
  • Resposta
  • Erros
  • Enviar um produto
  • Exemplo de requisição
  • Resposta
  • Erros
  • Enviar uma lista de produtos
  • Exemplo de requisição
  • Resposta
  • Erros
  • Enviar o botão do catálogo
  • Exemplo de requisição
  • Resposta
  • Erros
  • Enviar o link do carrinho
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também