API de Labels

March 25, 2026 · View on GitHub

Documentação completa dos endpoints para organizar chats e mensagens com etiquetas (labels).

📋 Índice


Adicionar Label em Chat

Adiciona uma etiqueta (label) a um chat.

Endpoint: POST /label/chat

Headers:

Content-Type: application/json
apikey: SUA-CHAVE-API

Body:

{
  "jid": "5511999999999@s.whatsapp.net",
  "labelId": "1"
}

Parâmetros:

CampoTipoObrigatórioDescrição
jidstring✅ SimJID do chat (individual ou grupo)
labelIdstring✅ SimID da label

Resposta de Sucesso (200):

{
  "message": "success"
}

Exemplo cURL:

curl -X POST http://localhost:4000/label/chat \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "jid": "5511999999999@s.whatsapp.net",
    "labelId": "1"
  }'

Adicionar Label em Mensagem

Adiciona uma etiqueta a uma mensagem específica.

Endpoint: POST /label/message

Body:

{
  "jid": "5511999999999@s.whatsapp.net",
  "labelId": "2",
  "messageId": "3EB0C5A277F7F9B6C599"
}

Parâmetros:

CampoTipoObrigatórioDescrição
jidstring✅ SimJID do chat
labelIdstring✅ SimID da label
messageIdstring✅ SimID da mensagem

Resposta de Sucesso (200):

{
  "message": "success"
}

Exemplo cURL:

curl -X POST http://localhost:4000/label/message \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "jid": "5511999999999@s.whatsapp.net",
    "labelId": "2",
    "messageId": "3EB0C5A277F7F9B6C599"
  }'

Editar Label

Edita nome, cor ou deleta uma label existente.

Endpoint: POST /label/edit

Body:

{
  "labelId": "1",
  "name": "Clientes VIP",
  "color": 0,
  "deleted": false
}

Parâmetros:

CampoTipoObrigatórioDescrição
labelIdstring✅ SimID da label a editar
namestring✅ SimNovo nome da label
colorint❌ NãoCódigo de cor (0-19)
deletedbool❌ NãoSe true, marca label como deletada

Cores Disponíveis (0-19):

CódigoCor
0Azul
1Rosa
2Roxo
3Verde
4Laranja
5Cinza
6Vermelho
7Marrom
8Verde água
9Amarelo
10-19Variações

Resposta de Sucesso (200):

{
  "message": "success"
}

Exemplo cURL:

# Renomear label
curl -X POST http://localhost:4000/label/edit \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "labelId": "1",
    "name": "Clientes VIP",
    "color": 3
  }'

# Deletar label
curl -X POST http://localhost:4000/label/edit \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "labelId": "1",
    "name": "Label antiga",
    "deleted": true
  }'

Remover Label de Chat

Remove uma etiqueta de um chat.

Endpoint: POST /unlabel/chat

Body:

{
  "jid": "5511999999999@s.whatsapp.net",
  "labelId": "1"
}

Parâmetros:

CampoTipoObrigatórioDescrição
jidstring✅ SimJID do chat
labelIdstring✅ SimID da label a remover

Resposta de Sucesso (200):

{
  "message": "success"
}

Exemplo cURL:

curl -X POST http://localhost:4000/unlabel/chat \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "jid": "5511999999999@s.whatsapp.net",
    "labelId": "1"
  }'

Remover Label de Mensagem

Remove uma etiqueta de uma mensagem específica.

Endpoint: POST /unlabel/message

Body:

{
  "jid": "5511999999999@s.whatsapp.net",
  "labelId": "2",
  "messageId": "3EB0C5A277F7F9B6C599"
}

Parâmetros:

CampoTipoObrigatórioDescrição
jidstring✅ SimJID do chat
labelIdstring✅ SimID da label
messageIdstring✅ SimID da mensagem

Resposta de Sucesso (200):

{
  "message": "success"
}

Exemplo cURL:

curl -X POST http://localhost:4000/unlabel/message \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "jid": "5511999999999@s.whatsapp.net",
    "labelId": "2",
    "messageId": "3EB0C5A277F7F9B6C599"
  }'

Listar Todas as Labels

Obtém todas as labels da instância.

Endpoint: GET /label

Headers:

apikey: SUA-CHAVE-API

Resposta de Sucesso (200):

[
  {
    "ID": 1,
    "LabelID": "1",
    "Name": "Clientes VIP",
    "Color": 3,
    "Deleted": false,
    "PredefinedID": 0,
    "InstanceID": "minha-instancia"
  },
  {
    "ID": 2,
    "LabelID": "2",
    "Name": "Suporte",
    "Color": 6,
    "Deleted": false,
    "PredefinedID": 0,
    "InstanceID": "minha-instancia"
  }
]

Campos da Resposta:

  • ID: ID interno do banco de dados
  • LabelID: ID da label no WhatsApp
  • Name: Nome da label
  • Color: Código da cor (0-19)
  • Deleted: Se foi deletada
  • PredefinedID: ID de label pré-definida (0 se customizada)
  • InstanceID: ID da instância

Exemplo cURL:

curl -X GET http://localhost:4000/label \
  -H "apikey: SUA-CHAVE-API"

Fluxos Completos de Uso

1. Sistema de Categorização de Clientes

# 1. Listar labels existentes
LABELS=$(curl -s -X GET http://localhost:4000/label \
  -H "apikey: SUA-CHAVE-API")

echo $LABELS | jq '.'

# 2. Criar nova label (via edição)
curl -X POST http://localhost:4000/label/edit \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "labelId": "10",
    "name": "Lead Qualificado",
    "color": 3,
    "deleted": false
  }'

# 3. Etiquetar chats de clientes
CLIENTES=("5511999999999@s.whatsapp.net" "5511888888888@s.whatsapp.net")

for cliente in "\${CLIENTES[@]}"; do
  curl -X POST http://localhost:4000/label/chat \
    -H "Content-Type: application/json" \
    -H "apikey: SUA-CHAVE-API" \
    -d "{
      "jid": "$cliente",
      "labelId": "10"
    }"
done

2. Marcar Mensagens Importantes

# Etiquetar mensagem específica como "Urgente"
curl -X POST http://localhost:4000/label/message \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "jid": "5511999999999@s.whatsapp.net",
    "labelId": "5",
    "messageId": "3EB0C5A277F7F9B6C599"
  }'

3. Gerenciar Labels de Suporte

# Criar labels de status de atendimento
LABELS=(
  "1:Aguardando:0"
  "2:Em Atendimento:3"
  "3:Resolvido:4"
  "4:Cancelado:6"
)

for label_data in "\${LABELS[@]}"; do
  IFS=':' read -r id name color <<< "$label_data"
  
  curl -X POST http://localhost:4000/label/edit \
    -H "Content-Type: application/json" \
    -H "apikey: SUA-CHAVE-API" \
    -d "{
      "labelId": "$id",
      "name": "$name",
      "color": $color,
      "deleted": false
    }"
done

4. Reorganizar Labels

# Renomear label existente
curl -X POST http://localhost:4000/label/edit \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "labelId": "1",
    "name": "Clientes Premium",
    "color": 1
  }'

# Deletar label obsoleta
curl -X POST http://localhost:4000/label/edit \
  -H "Content-Type: application/json" \
  -H "apikey: SUA-CHAVE-API" \
  -d '{
    "labelId": "99",
    "name": "Label Antiga",
    "deleted": true
  }'

Casos de Uso Práticos

CRM Simples

Use labels para categorizar clientes:

  • Label 1: Leads
  • Label 2: Clientes Ativos
  • Label 3: Clientes Inativos
  • Label 4: VIP

Suporte ao Cliente

Organize tickets por status:

  • Label 1: Aberto
  • Label 2: Em Progresso
  • Label 3: Aguardando Cliente
  • Label 4: Resolvido

E-commerce

Categorize conversas por estágio:

  • Label 1: Interessado
  • Label 2: Pedido Realizado
  • Label 3: Enviado
  • Label 4: Entregue

Equipes

Atribua conversas para departamentos:

  • Label 1: Vendas
  • Label 2: Suporte
  • Label 3: Financeiro
  • Label 4: Diretoria

Códigos de Erro Comuns

CódigoErroSolução
400jid is requiredForneça o JID do chat
400label id is requiredForneça o ID da label
400message id is requiredForneça o ID da mensagem
400name is requiredForneça o nome da label (ao editar)
500instance not foundInstância não conectada
500error parse community jidJID inválido

Boas Práticas

1. Planeje suas Labels

Defina um sistema de categorização antes de começar. Exemplo:

  • Label 1: "Novo Lead" (cor: azul/0)
  • Label 2: "Qualificado" (cor: verde/3)
  • Label 3: "Cliente" (cor: rosa/1)
  • Label 4: "Inativo" (cor: marrom/5)

2. Use Cores Consistentes

Mantenha um padrão de cores:

  • Verde (3): Status positivo
  • Vermelho (6): Urgente/Problema
  • Azul (0): Novo/Neutro
  • Laranja (4): Em progresso

3. Documente IDs

Mantenha uma tabela de referência:

ID | Nome | Cor | Descrição
---|------|-----|----------
1  | VIP  | 1   | Clientes premium
2  | Lead | 0   | Novos contatos
3  | Urg  | 6   | Requer atenção

4. Não Abuse de Labels

Limite-se a 10-15 labels no máximo. Muitas labels dificultam a organização.

5. Limpe Labels Antigas

Periodicamente, revise e delete labels não utilizadas:

# Listar todas
curl -s http://localhost:4000/label -H "apikey: KEY" | jq '.'

# Deletar obsoletas
curl -X POST http://localhost:4000/label/edit \
  -H "Content-Type: application/json" \
  -H "apikey: KEY" \
  -d '{"labelId": "99", "name": "Old", "deleted": true}'

6. Labels em Mensagens

Use labels em mensagens apenas para casos especiais:

  • Mensagens com pedidos
  • Informações importantes para referência
  • Reclamações/Problemas

Evite: Etiquetar todas as mensagens (cria poluição visual).


Limitações do WhatsApp

Limites Conhecidos

  • Máximo de labels: Não documentado oficialmente, mas recomenda-se não ultrapassar 100
  • Labels por chat: Sem limite conhecido
  • Labels por mensagem: 1 label por mensagem

Sincronização

Labels são sincronizadas entre dispositivos via WhatsApp Multi-Device. Mudanças podem levar alguns segundos para aparecer em outros dispositivos.

Visibilidade

Labels são privadas - apenas você vê suas labels. O destinatário não vê que você etiquetou o chat ou mensagem.


Próximos Passos


Documentação gerada para Evolution GO v1.0