Pular para o conteúdo
WACRM.AI

Gerencie contatos na WACRM com etiquetas, notas e tickets

A tela Contacts do WACRM Workspace permite buscar e importar contatos, marcá-los com etiquetas, registrar notas internas e abrir tickets de suporte — incluindo vincular um ticket a um dos agendamentos do contato. O cartão Linked records mostra os pedidos e agendamentos de um contato, e tudo isso também funciona pela API da WACRM com chaves com escopos.

Por Huy Nguyen (David), Fundador e CEO da Netbase JSC Atualizado em

O que você vai aprender

  • O que você precisa antes de começar
  • Busque e importe contatos
  • Abra um contato: etiquetas, notas e tickets
  • Linked records: pedidos e agendamentos
  • Faça o mesmo pela API
  • O que funciona hoje e o que ainda não

Todo contato com quem seu projeto fala no WhatsApp vive na tela Contacts do WACRM Workspace — criado automaticamente a partir das conversas, ou adicionado em lote colando números ou enviando um CSV. Na página de um contato você pode marcá-lo com etiquetas, registrar notas internas que seus clientes nunca veem, e abrir tickets de suporte que podem ser vinculados a um dos agendamentos dele. Este tutorial percorre as telas e chamadas de API reais, e diz claramente quais partes — como uma tela de tickets dedicada ou filtrar a lista de Contacts por etiqueta — ainda não existem.

O que você precisa antes de começar

  • Uma conta WACRM Workspace com pelo menos um projeto e pelo menos um contato (criado a partir de uma conversa do WhatsApp, ou importado — veja abaixo).
  • Apenas para as etapas da API: curl (ou qualquer cliente HTTP que possa definir cabeçalhos), e uma chave de API em Developer / API & MCP com os escopos de contacts/labels/notes/tickets marcados.

Busque e importe contatos

Workspace → Contacts lista todos os contatos do projeto com as colunas Nome, Telefone, E-mail, Etiquetas e Adicionado, uma caixa Buscar contatos acima delas, e paginação Anterior/Próxima abaixo mostrando “n–m de total” contatos.

Clique em Importar contatos para adicionar contatos em lote — cole um número de telefone por linha, ou envie um arquivo .csv com colunas phone,name,email,labels em qualquer ordem (a coluna labels separa várias etiquetas com ;, não com vírgula, seguindo o mesmo formato CSV simples que a RFC 4180 descreve, para que o próprio nome de uma etiqueta nunca seja confundido com uma segunda etiqueta). Até 1.000 linhas por importação; a caixa de diálogo avisa e desativa o Import acima desse limite. Depois da importação, a lista é atualizada e mostra quantas linhas foram criadas, atualizadas e ignoradas, além do número da linha e do motivo de qualquer linha que tenha falhado.

Uma nota ao lado do botão Import está sempre visível, não é algo que você precise procurar: “Imported contacts are NOT opted in. WACRM never grants WhatsApp consent on import — collect opt-in before sending marketing messages.” Importar um número de telefone não é o mesmo que ter permissão para enviar mensagem a ele — veja a própria orientação da Meta sobre como obter o opt-in antes de enviar qualquer coisa de marketing para um contato importado.

Abra um contato: etiquetas, notas e tickets

Clique no nome de um contato para abrir sua página. Ela tem seis abas — Profile, Conversations, Orders, Bookings, Notes e Tickets — mas apenas Profile, Notes e Tickets mostram dados reais hoje; Conversations, Orders e Bookings ainda mostram um aviso de que esse módulo não está conectado (os pedidos e agendamentos reais de um contato ficam no cartão Linked records da barra lateral — veja abaixo).

A aba Profile mostra telefone, e-mail (ou “Sem e-mail registrado”), quando o contato foi Adicionado e sua Última atualização, e suas etiquetas como chips (ou “Ainda sem etiquetas”).

Etiquetas — clique em Adicionar etiqueta para abrir um campo de autocompletar (“Digite para buscar ou criar uma etiqueta”) com as etiquetas que o contato ainda não tem; escolha uma existente ou digite um nome novo (exibido como Criar etiqueta "nome") para criá-la e vinculá-la em uma única etapa. Clique no x de um chip para remover (desvincular) uma etiqueta apenas deste contato. Para excluir uma etiqueta de todo o catálogo do projeto, clique no pequeno ícone de lixeira ao lado de qualquer etiqueta nessa mesma lista suspensa “Adicionar etiqueta” — uma caixa de confirmação avisa que a etiqueta “será removida de todos os contatos que a possuem neste projeto. Esta ação não pode ser desfeita” antes de ser executada.

Notas — a aba Notes é uma lista contínua, da mais recente para a mais antiga, de notas internas (“Adicione uma nota para manter contexto interno sobre este contato — os compradores nunca veem isso”). Digite na caixa e clique em Adicionar nota.

Tickets — a aba Tickets lista os tickets de suporte com chips de status (Aberto/Pendente/Fechado), prioridade (Baixa/Normal/Alta) e tipo (Suporte/Solicitação de serviço). Clique em Novo ticket e preencha Assunto e Detalhes, opcionalmente Prioridade e Tipo, e — se este contato tiver algum — Vincular a uma reserva (opcional), que por padrão é Nenhuma. Clique em Abrir ticket para criá-lo.

Não existe nenhuma tela separada de tickets no Workspace hoje: os tickets só existem na aba Tickets de cada contato, um contato por vez. As abas Notes e Tickets carregam uma página por vez (as 20 mais recentes primeiro) com um botão Load more abaixo da lista para buscar a página seguinte — sem recarregar tudo.

Linked records: pedidos e agendamentos

Ao lado das abas, um cartão Linked records mostra os Agendamentos e Pedidos deste contato — até três de cada, do mais recente para o mais antigo, com um link Ver agendamentos / Ver pedidos para a tela completa de Bookings ou Store orders para ver o restante. Um contato sem nenhum ainda mostra “Este contato ainda não tem agendamentos registrados.” / “Este contato ainda não tem pedidos registrados.”

Faça o mesmo pela API

Contacts, labels, notes e tickets são sustentados por estes endpoints da Core API, cada um com escopo por contato:

Code
POST   /v1/contacts/import                        contacts:write
GET    /v1/contacts                                contacts:read
POST   /v1/contacts/{contact}/labels               labels:write
DELETE /v1/contacts/{contact}/labels/{label}       labels:write
GET    /v1/labels                                  labels:read
POST   /v1/labels                                  labels:write
DELETE /v1/labels/{label}                          labels:write
GET    /v1/contacts/{contact}/notes                notes:read
POST   /v1/contacts/{contact}/notes                notes:write
GET    /v1/contacts/{contact}/tickets              tickets:read
POST   /v1/contacts/{contact}/tickets              tickets:write

Nenhum desses escopos é concedido por padrão a uma chave. Marque os que você precisa em Restrict what this key can do (advanced) → WhatsApp CRM scopes ao criar a chave em Developer / API & MCP — uma chave sem o escopo responde 403 insufficient_scope.

Importe contatos pela API

Code
curl -s -X POST "https://api.wacrm.ai/v1/contacts/import" \
  -H "Authorization: Bearer sk_live_your_scoped_key" \
  -H "Content-Type: application/json" \
  -d '{"contacts": [{"phone": "+15551234567", "name": "Jane Diaz", "labels": ["vip"]}]}'
Code
{
  "data": {
    "created": 1,
    "updated": 0,
    "skipped": 0,
    "errors": []
  }
}

Até 1.000 linhas por chamada (422 too_many_contacts acima disso). Um telefone que já está no projeto nunca é duplicado — apenas um name/email vazio é preenchido, nada que já esteja definido é sobrescrito. Mesma regra da caixa de diálogo do Workspace: não existe nenhum campo de consentimento nesse corpo, e enviar um não faz nada — uma importação nunca ativa o opt-in de um contato.

Adicione uma etiqueta, adicione uma nota, abra um ticket

Code
curl -s -X POST "https://api.wacrm.ai/v1/contacts/your-contact-uuid/labels" \
  -H "Authorization: Bearer sk_live_your_scoped_key" \
  -H "Content-Type: application/json" \
  -d '{"label_id": "your-label-uuid"}'

curl -s -X POST "https://api.wacrm.ai/v1/contacts/your-contact-uuid/notes" \
  -H "Authorization: Bearer sk_live_your_scoped_key" \
  -H "Content-Type: application/json" \
  -d '{"body": "Asked about a refund on order #1042."}'

curl -s -X POST "https://api.wacrm.ai/v1/contacts/your-contact-uuid/tickets" \
  -H "Authorization: Bearer sk_live_your_scoped_key" \
  -H "Content-Type: application/json" \
  -d '{"subject": "Refund request", "body": "Wants a refund on order #1042.", "priority": "high", "type": "support", "booking_id": "your-booking-uuid"}'

booking_id é opcional e só é aceito como um UUID real que pertença a um dos próprios agendamentos deste contato — um id de agendamento que não seja deste contato, ou que não exista, responde 404. priority aceita low/normal/high; type aceita support/service_request; ambos caem para um padrão se forem omitidos.

Liste as notas ou tickets de um contato

Code
curl -s "https://api.wacrm.ai/v1/contacts/your-contact-uuid/tickets?page=1&limit=20" \
  -H "Authorization: Bearer sk_live_your_scoped_key"

page/limit funcionam (limit com teto de 100), e os dois endpoints também retornam um bloco meta com current_page, per_page, total e last_page — o mesmo formato que GET /v1/contacts retorna — então dá para saber exatamente quantas páginas existem em vez de adivinhar pelo tamanho da página.

O que funciona hoje e o que ainda não

O que você quer fazerFunciona hoje?
Buscar, paginar e importar contatos (colar ou CSV) no WorkspaceSim — Contacts → Importar contatos
Ver um aviso claro de que contatos importados não têm opt-inSim — exibido ao lado do botão Import sempre
Adicionar, remover ou excluir uma etiqueta de todo o catálogo do projetoSim — pela lista suspensa Adicionar etiqueta do contato
Adicionar notas internas a um contatoSim — aba Notes
Abrir um ticket e vinculá-lo a um dos agendamentos do contatoSim — aba Tickets → Novo ticket → Vincular a uma reserva
Ver os pedidos e agendamentos de um contatoSim — o cartão Linked records da barra lateral (até 3 de cada)
Ver pedidos/agendamentos dentro das abas Orders/Bookings da página do contatoAinda não — as duas continuam mostrando um aviso de módulo não conectado; use o cartão Linked records no lugar
Paginar além das primeiras 20 notas ou tickets de um contatoSim — clique em Load more em qualquer uma das abas; a API também retorna um total meta para paginar contra ele
Abrir ou navegar por tickets a partir de uma tela de tickets dedicadaAinda não — os tickets só existem dentro da aba Tickets de cada contato
Filtrar a lista de Contacts por etiquetaAinda não — GET /v1/contacts?label= existe na API, mas a lista de Contacts não tem um controle de filtro por etiqueta

Pronto para colocar isso em prática? Solicite acesso antecipado para ter um Workspace, ou deixe a equipe da WACRM configurar seu projeto com Quick Setup.

Fale com um especialista

Quem responde é uma pessoa da equipe WACRM.

Tire uma dúvida com o David sobre “CRM de Contatos na WACRM: Etiquetas, Notas e Tickets”.

Resposta em até um dia útil, geralmente mais rápido pelo WhatsApp.

Perguntas frequentes

Os contatos importados ficam com consentimento para receber mensagens no WhatsApp?

Não. Nem colar números nem enviar um CSV concede consentimento do WhatsApp — o Workspace mostra uma nota permanente ao lado do botão Import dizendo isso, e o corpo da API de importação não tem nenhum campo de consentimento; um enviado mesmo assim simplesmente é ignorado. Colete um opt-in real, por exemplo seguindo a própria orientação da Meta sobre como obter o opt-in, antes de enviar qualquer coisa de marketing para um contato importado.

Existe uma tela dedicada para tickets de suporte?

Não. Os tickets só existem na aba Tickets da página de cada contato, dentro de Workspace → Contacts — não há uma lista ou painel de tickets separado hoje, e as abas Orders e Bookings dessa mesma página ainda mostram um aviso de que esse módulo não está conectado (os dados reais de pedidos e agendamentos ficam no cartão Linked records da barra lateral).

Posso ver mais do que a primeira página de notas ou tickets de um contato?

Sim. As duas abas carregam a primeira página (as mais recentes, 20 por padrão) e mostram um botão Load more que busca a página seguinte sem recarregar tudo. A API sustenta isso com um bloco `meta` (`current_page`, `per_page`, `total`, `last_page`) nos dois endpoints — o mesmo formato que `GET /v1/contacts` já retorna.

O que acontece quando eu excluo uma etiqueta do catálogo em vez de apenas removê-la de um contato?

Ela é removida de todos os contatos que a tinham em todo o projeto, não só do que você estava vendo. A caixa de confirmação do Workspace avisa isso antes de a exclusão acontecer, e não pode ser desfeita.

Meu plano limita quantas etiquetas, notas ou tickets eu posso criar?

Os planos da WACRM listam um limite de contatos — 2.000 no Premium, 10.000 no Advanced, ilimitado no Pro — mas nada específico para etiquetas, notas ou tickets. Confira seu plano em Settings para o número que vale para sua conta.

Quer que a gente configure para você?

O Quick Setup conecta o seu número com coexistência em 48 horas, feito por uma pessoa.