VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/WhatsApp: catálogo na Meta

Campanhas

Lista campanhas de WhatsApp e cria rascunhos com template, variáveis e público.

Listar campanhas

Devolve todas as campanhas com os contadores de envio. Sem paginação.

GET/api/v1/admin/whatsapp-confluence/campaignsAdmin

Lista campanhas

Exemplo de requisição

bash
curl "$BASE_URL/api/v1/admin/whatsapp-confluence/campaigns" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Campanhas
json
{
  "campaigns": [
    {
      "id": "9a1b2c3d-4e5f-4061-8a7b-c8d9e0f1a2b3",
      "name": "Volta às aulas",
      "template_name": "promo_volta_as_aulas",
      "template_language": "pt_BR",
      "params_template": {
        "body": [
          "{{nome}}",
          "20%"
        ]
      },
      "cta_kind": "S",
      "audience_filter": {
        "source": "S",
        "opted_in_only": true
      },
      "status": "D",
      "total": 0,
      "sent": 0,
      "delivered": 0,
      "read": 0,
      "failed": 0,
      "clicked": 0,
      "created_at": "2026-10-10T18:00:00Z"
    }
  ]
}

Campos da resposta

campaignsarray
Campanhas. Lista vazia se não houver.
campaigns[].iduuid
Id da campanha.
campaigns[].namestring
Nome interno.
campaigns[].template_namestring
Template usado.
campaigns[].template_languagestring
Idioma do template.
campaigns[].params_templateobject
Variáveis do corpo: body, lista de textos na ordem de {{1}}, {{2}}. O texto {{nome}} (ou {{name}}) vira o nome do contato, ou cliente se não houver.
campaigns[].cta_kindstring
NKSC
Botão de ação anexado.
campaigns[].audience_filterobject
Público: source, q, opted_in_only.
campaigns[].statusstring
DQRCXE
Situação.
campaigns[].scheduled_atstring
Agendamento. Ausente se não agendada.
campaigns[].totalinteger
Destinatários.
campaigns[].sentinteger
Enviadas.
campaigns[].deliveredinteger
Entregues.
campaigns[].readinteger
Lidas.
campaigns[].failedinteger
Falhas.
campaigns[].clickedinteger
Cliques no botão.
campaigns[].created_atstring
Criação.

Erros

StatusQuandoCorpo de exemplo
500Falha ao consultar.{"error":"..."}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}

Criar um rascunho

Grava uma campanha em estado de rascunho (D). Nada é enviado.

POST/api/v1/admin/whatsapp-confluence/campaignsAdmin

Cria um rascunho de campanha

Corpo da requisição

namestring
Nome interno, para você reconhecer.
template_namestringobrigatório
Nome de um template aprovado. Obrigatório.
template_languagestring
Idioma do template (pt_BR).
params_templateobject
Variáveis: {"body": ["{{nome}}", "20%"]}.
cta_kindstringpadrão: N
NKSC
Botão de ação: N nenhum, K abre o carrinho na mini-loja, S abre a mini-loja, C abre o catálogo nativo.
audience_filterobject
Público entre os contatos importados: source (S ou H), q (trecho de nome ou telefone) e opted_in_only (só quem aceitou receber).

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/whatsapp-confluence/campaigns" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Volta às aulas", "template_name": "promo_volta_as_aulas", "template_language": "pt_BR", "params_template": {"body": ["{{nome}}", "20%"]}, "cta_kind": "S", "audience_filter": {"source": "S", "opted_in_only": true}}'

Resposta

200Rascunho criado
json
{
  "id": "9a1b2c3d-4e5f-4061-8a7b-c8d9e0f1a2b3",
  "name": "Volta às aulas",
  "template_name": "promo_volta_as_aulas",
  "template_language": "pt_BR",
  "params_template": {
    "body": [
      "{{nome}}",
      "20%"
    ]
  },
  "cta_kind": "S",
  "audience_filter": {
    "source": "S",
    "opted_in_only": true
  },
  "status": "D",
  "total": 0,
  "sent": 0,
  "delivered": 0,
  "read": 0,
  "failed": 0,
  "clicked": 0,
  "created_at": "2026-10-10T18:00:00Z"
}

Campos da resposta

(corpo)object
A campanha criada, com os campos de Listar campanhas.

Erros

StatusQuandoCorpo de exemplo
400template_name vazio ou JSON inválido.{"error":"template_name required"}
500Falha ao gravar.{"error":"..."}
401Sem token, token inválido ou expirado.{"error":"missing authorization header"}
403O usuário não tem papel de administrador.{"error":"insufficient permissions"}
O rascunho não dispara

No código existem as rotas para editar, agendar (queue), cancelar, ver destinatários e estimar custo, mas elas não estão montadas na API de administração: respondem 404. Hoje esta API só cria e lista rascunhos.

Nada é validado

O template, o idioma e os filtros não são conferidos na criação. Um template_name que não existe ou não está aprovado só falha no envio.

Veja também

  • Produtos e templates
  • Painéis de análise
Anterior
Produtos sincronizados
Próxima
Ligar o catálogo
Nesta página
  • Listar campanhas
  • Exemplo de requisição
  • Resposta
  • Erros
  • Criar um rascunho
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também