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.
/api/v1/admin/whatsapp-confluence/threads/{id}/commerceAdminCarrinho e pedidos do cliente
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl "$BASE_URL/api/v1/admin/whatsapp-confluence/threads/e661b36c-fe1b-450f-b75b-49d10c1ead48/commerce" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"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
phonestringcartobjectnull se estiver vazio. Valores em centavos: subtotal_cents, total_cents, discount_cents. Também traz cart_id, items, currency, item_count, coupon_code.ordersarrayorder_id, order_number, status, status_name, total_cents (centavos), created_at, item_count, item_preview, stage e outros.userobjectuser_id, name, company). Ausente se não houver.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 404 | A conversa não existe. | {"error":"thread not found"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O 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.
/api/v1/admin/whatsapp-confluence/threads/{id}/send-productAdminEnvia um produto
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
retailer_idstringproduct_retailer_id).product_iduuidretailer_id faltar. Informe um dos dois.Exemplo de requisição
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
{
"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
idintegerthread_iduuidwamidstringdirectionstringIOoriginstringCABEHmsg_typestringtext, interactive, template, image, audio, video, document e outros que a Meta envia.bodystringmedia_idstringmedia_mimestringmedia_captionstringfilenamestringmedia_urlstringtranscriptionstringinteractiveobjectorder_payloadobjectstatusstringQSDRFerrorstringstatus é F.meta_timestampstringcreated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Nenhum dos dois ids. | {"error":"retailer_id or product_id required"} |
| 502 | Produto fora do catálogo da conversa, conversa inexistente ou envio recusado. | {"error":"..."} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem papel de administrador. | {"error":"insufficient permissions"} |
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.
/api/v1/admin/whatsapp-confluence/threads/{id}/send-product-listAdminEnvia uma lista de produtos
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
titlestringProdutos no resumo.product_idsarrayobrigatórioExemplo de requisição
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
{
"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
idintegerthread_iduuidwamidstringdirectionstringIOoriginstringCABEHmsg_typestringtext, interactive, template, image, audio, video, document e outros que a Meta envia.bodystringmedia_idstringmedia_mimestringmedia_captionstringfilenamestringmedia_urlstringtranscriptionstringinteractiveobjectorder_payloadobjectstatusstringQSDRFerrorstringstatus é F.meta_timestampstringcreated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | product_ids ausente ou vazio. | {"error":"product_ids required"} |
| 502 | Envio recusado ou conversa inexistente. | {"error":"..."} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O 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.
/api/v1/admin/whatsapp-confluence/threads/{id}/send-catalogAdminEnvia o botão do catálogo
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
bodystringConfira nosso catálogo.Exemplo de requisição
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
{
"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
idintegerthread_iduuidwamidstringdirectionstringIOoriginstringCABEHmsg_typestringtext, interactive, template, image, audio, video, document e outros que a Meta envia.bodystringmedia_idstringmedia_mimestringmedia_captionstringfilenamestringmedia_urlstringtranscriptionstringinteractiveobjectorder_payloadobjectstatusstringQSDRFerrorstringstatus é F.meta_timestampstringcreated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 502 | Sem catálogo ligado, conversa inexistente ou envio recusado. | {"error":"..."} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem papel de administrador. | {"error":"insufficient permissions"} |
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".
/api/v1/admin/whatsapp-confluence/threads/{id}/send-cart-linkAdminEnvia o link do carrinho
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/whatsapp-confluence/threads/e661b36c-fe1b-450f-b75b-49d10c1ead48/send-cart-link" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"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
messageobjectErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 404 | A conversa não existe. | {"error":"thread not found"} |
| 502 | Não foi possível montar o link ou o envio foi recusado. | {"error":"whatsappcoex: cart link unavailable","message":null} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem papel de administrador. | {"error":"insufficient permissions"} |