O fluxo principal (visão geral)
No painel (primeira vez): Tags e campos → importar ou cadastrar contatos → Topics (consentimento) → Segments → Campaigns. Na API: Criar tags → criar contatos (telefone e/ou e-mail) comtagIds → listar/filtrar → opcionalmente usar contactId no envio WhatsApp (type: contact).
Abaixo o passo a passo detalhado nas duas frentes.
Pré-requisitos
No painel: acesso ao workspace no navegador (permissões de Contacts e Audience conforme seu perfil). Pela API:- API Key com escopos contacts:read/create/update/delete e tags:read/create/update/delete (conforme a operação).
- Envie a API Key em toda requisição:
- Header:
Authorization: Bearer sk_live_xxxxx - ou Header:
x-api-key: sk_live_xxxxx
- Header:
1. No painel: da base à campanha
Siga esta ordem na primeira vez; depois você repete só o que mudar.1.1 Contacts — tags e campos antes da massa de dados
- Abra Contacts.
- Em Tags, crie nomes que vai usar de verdade (ex.:
Lead,Cliente). Tags são etiquetas; segmentos vêm depois e podem combinar tags com outras regras. - Opcional: Custom fields — defina chave (ex.:
cidade,plano_atual), rótulo e tipo (texto, número, sim/não, data). Esses valores entram em segmentos e em variáveis de mensagem quando o envio usa o contato.
1.2 Contacts — cadastrar e importar
- Um contato: adicione pelo menos telefone ou e-mail (regra igual à API). Associe tags e preencha campos personalizados se já existirem.
- Muitos contatos: use Import (CSV ou Excel). Colunas comuns (nome, telefone, e-mail, site) são reconhecidas; para campos extras, use cabeçalho igual à chave do campo. Defina se os números já têm DDI ou informe o país (ex.: 55). Cabeçalhos que não forem campo conhecido são ignorados — só entram custom fields já criados no workspace.
1.3 Audience — Topics (tópicos)
- Audience & campaigns → aba Topics.
- New (ou tecla N com a aba ativa): nome, slug estável, descrição opcional, opt-in padrão para novos contatos (use com critério em ofertas).
- Associe templates de marketing ao tópico certo para respeitar consentimento por tema.
1.4 Audience — Segments (segmentos)
- Aba Segments → New segment: nome e definição em JSON (versão 1), ou use os assistentes do painel quando disponíveis.
- Preview mostra total e amostra; confira antes de campanhas grandes.
1.5 Audience — Campaigns (campanhas)
- Aba Campaigns: template, canais, público (segmento ou IDs de contato).
- Run quando estiver pronto — mesmo fluxo de filas e créditos dos envios pela API.
1.6 Preferências do contato
Na ficha do contato, gere o link de preferências (token temporário) para a pessoa ajustar marketing e tópicos. Em e-mail, usepreferences_link no template quando suportado.
Dicas na interface: na parte superior de Audience, há tooltips por aba; a tecla N costuma abrir o fluxo de criar novo conforme a aba ativa.
2. Pela API: criar tag
Crie uma tag para depois vincular a contatos (ex.: “Lead”, “Cliente”, “Newsletter”). O nome é único por workspace. Requestid da tag para usar em tagIds ao criar/atualizar contatos.
3. Pela API: criar contato
É obrigatório informar pelo menos um de phone ou email (permite contatos só com e-mail ou só com telefone). Opcionalmente vincule a tags com tagIds. Request — com telefone e tagsCONTACT_PHONE_EXISTS ou CONTACT_EMAIL_EXISTS).
4. Pela API: listar contatos
Liste com paginação, busca e filtro por tag (tagId). Cada item inclui tags.
Request
search (nome, telefone ou e-mail), tagId (apenas contatos que têm essa tag).
Response (200)
5. Pela API: obter contato por ID
Request6. Pela API: atualizar contato
Atualize campos e/ou tags. Enviar tagIds substitui a lista de tags do contato. O contato deve continuar com pelo menos um de phone ou email. Request7. Pela API: excluir contato
Request8. Pela API: rotas de tags
| Método | Rota | Escopo | Descrição |
|---|---|---|---|
| GET | /v1/tags | tags:read | Listar tags (com contactsCount) |
| GET | /v1/tags/:id | tags:read | Obter tag |
| POST | /v1/tags | tags:create | Criar tag (name único por workspace) |
| PUT | /v1/tags/:id | tags:update | Atualizar nome |
| DELETE | /v1/tags/:id | tags:delete | Excluir tag (desvincula de todos os contatos) |
9. Enviar contato via WhatsApp (contactId)
POST /v1/whatsapp/messages comtype: "contact" e payload.contactId. Requer whatsapp:send.
Resumo das rotas de contatos
| Método | Rota | Escopo | Descrição |
|---|---|---|---|
| GET | /v1/contacts | contacts:read | Listar (page, limit, search, tagId) |
| GET | /v1/contacts/:id | contacts:read | Obter contato |
| POST | /v1/contacts | contacts:create | Criar (phone ou email obrigatório; tagIds opcional) |
| PUT | /v1/contacts/:id | contacts:update | Atualizar (tagIds substitui tags) |
| DELETE | /v1/contacts/:id | contacts:delete | Excluir |
Referências
- Conceitos e diferenças (contatos × tags × tópicos × segmentos): Introdução.
- Tópicos, segmentos e campanhas (detalhe): Topics · Segments · Campaigns.
- Escopos: Contatos (
contacts:read/create/update/delete) e Tags (tags:read/create/update/delete). - 400 CONTACT_REQUIRES_PHONE_OR_EMAIL: É obrigatório enviar pelo menos um de phone ou email ao criar/atualizar.
- 409 CONTACT_PHONE_EXISTS / CONTACT_EMAIL_EXISTS: Phone ou email já existe no workspace.
- 409 TAG_NAME_EXISTS: Nome de tag já existe no workspace.
