PlugSend — Controle de Permissões e Gerenciamento de Grupos
P
PlugSend API Docs

Gerenciamento de Grupos e Campanhas

Documentação dos endpoints para listar grupos, obter informações, controlar permissões de envio e enviar mensagens em grupos do WhatsApp via API.

Base URL da API

https://plugsend.uazapi.com

Todos os endpoints abaixo usam esta URL base. Envie seu token de autenticação no header token em todas as requisições.


1. Listar todos os grupos

Retorna todos os grupos do WhatsApp conectado à sua instância. Útil para descobrir os IDs (JID) dos grupos antes de interagir com eles.

Listagem simples (GET)

GET https://plugsend.uazapi.com/group/list
Query ParamTipoDescrição
forceopcional boolean true = atualiza o cache e busca dados frescos do WhatsApp. Padrão: false
noparticipantsopcional boolean true = omite a lista de participantes (resposta mais leve). Padrão: false
cURL — listar grupos
curl -X GET "https://plugsend.uazapi.com/group/list?noparticipants=true" \
  -H "token: SEU_TOKEN_AQUI"

Listagem com filtro e paginação (POST)

POST https://plugsend.uazapi.com/group/list
Campo (body JSON)TipoDescrição
searchopcional string Filtra grupos por nome ou JID
limitopcional integer Resultados por página. Padrão: 50, máximo: 1000
offsetopcional integer Deslocamento para paginação. Padrão: 0
forceopcional boolean Forçar atualização do cache
noParticipantsopcional boolean Omitir participantes na resposta
cURL — buscar grupo por nome
curl -X POST https://plugsend.uazapi.com/group/list \
  -H "Content-Type: application/json" \
  -H "token: SEU_TOKEN_AQUI" \
  -d '{
    "search": "Black Friday",
    "limit": 10,
    "offset": 0,
    "noParticipants": true
  }'
Resposta 200
{
  "groups": [
    {
      "JID": "120363339858396166@g.us",
      "Name": "Campanha Black Friday",
      "IsAnnounce": false,
      "OwnerIsAdmin": true,
      "InviteLink": "https://chat.whatsapp.com/AbCdEf123456"
      // ... demais campos
    }
  ],
  "pagination": {
    "totalRecords": 1,
    "limit": 10,
    "offset": 0
  }
}

2. Informações detalhadas de um grupo

Recupera todos os dados de um grupo específico: participantes, configurações, link de convite e solicitações pendentes.

POST https://plugsend.uazapi.com/group/info
CampoTipoDescrição
groupjidobrigatório string ID do grupo no formato xxxx@g.us
getInviteLinkopcional boolean Retornar o link de convite do grupo
getRequestsParticipantsopcional boolean Retornar solicitações pendentes de entrada
forceopcional boolean Ignorar cache e buscar dados atualizados
cURL — info do grupo
curl -X POST https://plugsend.uazapi.com/group/info \
  -H "Content-Type: application/json" \
  -H "token: SEU_TOKEN_AQUI" \
  -d '{
    "groupjid": "120363339858396166@g.us",
    "getInviteLink": true,
    "force": false
  }'
Resposta 200
{
  "JID": "120363339858396166@g.us",
  "Name": "Campanha Black Friday",
  "IsAnnounce": false,
  "IsLocked": false,
  "OwnerIsAdmin": true,
  "InviteLink": "https://chat.whatsapp.com/AbCdEf123456",
  "Participants": [
    {
      "JID": "5511999999999@s.whatsapp.net",
      "IsAdmin": true,
      "IsSuperAdmin": false
    },
    {
      "JID": "5511888888888@s.whatsapp.net",
      "IsAdmin": false,
      "IsSuperAdmin": false
    }
  ]
  // ... demais campos
}
💡
O campo IsAnnounce na resposta indica o estado atual das permissões: true = somente admins enviam, false = todos enviam. Use esse campo para verificar o status antes de alternar.

3. Controlar permissões de envio

Alterna a configuração de envio de mensagens do grupo — equivalente à opção "Enviar mensagens → Somente administradores" no WhatsApp.

POST https://plugsend.uazapi.com/group/updateAnnounce
CampoTipoDescrição
groupjidobrigatório string ID do grupo no formato xxxx@g.us
announceobrigatório boolean true = somente admins enviam (grupo travado)
false = todos enviam (grupo liberado)

Fluxo de uma campanha

1
Campanha ativa Envie announce: false para liberar o envio de mensagens para todos os participantes.
2
Campanha encerrada Envie announce: true para restringir — somente administradores poderão enviar mensagens. Os demais ficam em modo somente leitura.
3
Nova campanha Envie announce: false novamente para reabrir o envio para todos.
Encerrar campanha — travar grupo
curl -X POST https://plugsend.uazapi.com/group/updateAnnounce \
  -H "Content-Type: application/json" \
  -H "token: SEU_TOKEN_AQUI" \
  -d '{
    "groupjid": "120363339858396166@g.us",
    "announce": true
  }'
Iniciar campanha — liberar grupo
curl -X POST https://plugsend.uazapi.com/group/updateAnnounce \
  -H "Content-Type: application/json" \
  -H "token: SEU_TOKEN_AQUI" \
  -d '{
    "groupjid": "120363339858396166@g.us",
    "announce": false
  }'
Resposta 200
{
  "response": "Group announce enabled successfully",
  "group": {
    "JID": "120363339858396166@g.us",
    "Name": "Campanha Black Friday",
    "IsAnnounce": true
  },
  "needs_refresh": false
}

Códigos de resposta

200 Configuração alterada com sucesso
401 Token de autenticação ausente ou inválido
403 O número conectado não é administrador do grupo
404 Grupo não encontrado
⚠️
Requisito: o número conectado à PlugSend precisa ser administrador do grupo para alterar permissões. Caso contrário, a API retornará 403.

4. Enviar mensagem no grupo

Envia uma mensagem de texto para um grupo. Basta passar o JID do grupo no campo number (o mesmo endpoint usado para contatos individuais).

POST https://plugsend.uazapi.com/send/text
CampoTipoDescrição
numberobrigatório string JID do grupo no formato xxxx@g.us (ou número de telefone para chat individual)
textobrigatório string Texto da mensagem. Aceita placeholders como {{name}}
delayopcional integer Atraso em milissegundos antes do envio (mostra "Digitando...")
mentionsopcional string Números para mencionar, separados por vírgula
linkPreviewopcional boolean Gerar preview automático de links no texto
replyidopcional string ID de uma mensagem para responder
cURL — enviar mensagem no grupo
curl -X POST https://plugsend.uazapi.com/send/text \
  -H "Content-Type: application/json" \
  -H "token: SEU_TOKEN_AQUI" \
  -d '{
    "number": "120363339858396166@g.us",
    "text": "🔥 A campanha está aberta! Enviem suas ofertas.",
    "delay": 1000
  }'
cURL — mensagem com menções
curl -X POST https://plugsend.uazapi.com/send/text \
  -H "Content-Type: application/json" \
  -H "token: SEU_TOKEN_AQUI" \
  -d '{
    "number": "120363339858396166@g.us",
    "text": "Atenção @5511999999999 e @5511888888888! A campanha encerra em 1h.",
    "mentions": "5511999999999,5511888888888"
  }'
cURL — mensagem com link preview
curl -X POST https://plugsend.uazapi.com/send/text \
  -H "Content-Type: application/json" \
  -H "token: SEU_TOKEN_AQUI" \
  -d '{
    "number": "120363339858396166@g.us",
    "text": "Confira o catálogo completo: https://exemplo.com/catalogo",
    "linkPreview": true
  }'
💡
Outros endpoints de envio também funcionam com grupos usando o JID: /send/media (imagens, vídeos, áudio), /send/contact, /send/location, entre outros. Basta passar o JID do grupo no campo number.

Exemplos com JavaScript (fetch)

Funções prontas para integração
const API_BASE = "https://plugsend.uazapi.com";
const TOKEN = "SEU_TOKEN_AQUI";

// Função base para chamadas à API
async function plugsendRequest(endpoint, body, method = "POST") {
  const options = {
    method,
    headers: {
      "Content-Type": "application/json",
      "token": TOKEN
    }
  };
  if (body) options.body = JSON.stringify(body);
  const res = await fetch(API_BASE + endpoint, options);
  if (!res.ok) throw { status: res.status, ...await res.json() };
  return res.json();
}

// 1. Listar todos os grupos
async function listarGrupos(search = "") {
  return plugsendRequest("/group/list", {
    search,
    limit: 50,
    noParticipants: true
  });
}

// 2. Info de um grupo específico
async function infoGrupo(groupjid) {
  return plugsendRequest("/group/info", {
    groupjid,
    getInviteLink: true
  });
}

// 3. Travar grupo (somente admins enviam)
async function encerrarCampanha(groupjid) {
  return plugsendRequest("/group/updateAnnounce", {
    groupjid,
    announce: true
  });
}

// 4. Liberar grupo (todos enviam)
async function iniciarCampanha(groupjid) {
  return plugsendRequest("/group/updateAnnounce", {
    groupjid,
    announce: false
  });
}

// 5. Enviar mensagem no grupo
async function enviarMensagem(groupjid, text) {
  return plugsendRequest("/send/text", {
    number: groupjid,
    text,
    delay: 1000
  });
}

// Exemplo de uso completo:
const grupo = "120363339858396166@g.us";

await iniciarCampanha(grupo);
await enviarMensagem(grupo, "🔥 Campanha aberta! Enviem suas ofertas.");
// ... quando encerrar:
await enviarMensagem(grupo, "⏹️ Campanha encerrada. Obrigado a todos!");
await encerrarCampanha(grupo);

Prompt para Vibecode / IA

Copie e cole o prompt abaixo na sua ferramenta de vibecoding (Cursor, Bolt, Lovable, Claude, etc.) para gerar a integração completa automaticamente.

📋 Prompt pronto para copiar

Preciso de um módulo de integração com a API da PlugSend para gerenciar campanhas de vendas via WhatsApp. API Base URL: https://plugsend.uazapi.com Header de autenticação em todas as requisições: token: MEU_TOKEN_AQUI Content-Type: application/json ENDPOINTS QUE PRECISO INTEGRAR: 1. LISTAR GRUPOS POST /group/list Body: { "search": "texto", "limit": 50, "offset": 0, "noParticipants": true } Retorna: { groups: [...], pagination: { totalRecords, limit, offset } } 2. INFO DE UM GRUPO POST /group/info Body: { "groupjid": "ID@g.us", "getInviteLink": true } Retorna objeto do grupo com JID, Name, IsAnnounce, Participants[], InviteLink, etc. 3. CONTROLAR PERMISSÕES DE ENVIO POST /group/updateAnnounce Body: { "groupjid": "ID@g.us", "announce": true/false } - announce: true → trava o grupo, somente admins enviam - announce: false → libera o grupo, todos enviam Erros: 401 (token inválido), 403 (não é admin), 404 (grupo não encontrado) 4. ENVIAR MENSAGEM NO GRUPO POST /send/text Body: { "number": "ID@g.us", "text": "mensagem", "delay": 1000 } Campos opcionais: mentions (string com números separados por vírgula), linkPreview (boolean), replyid (string) CRIE: - Uma classe ou módulo PlugSendAPI com métodos: listarGrupos(), infoGrupo(), encerrarCampanha(), iniciarCampanha(), enviarMensagem() - Uma tela que lista meus grupos (mostrando nome, JID e status do IsAnnounce) - Um botão de toggle por grupo para travar/destravar (chama updateAnnounce) - Um campo para enviar mensagem no grupo selecionado - Feedback visual de sucesso/erro em cada ação - O token da API deve vir de variável de ambiente ou config - Tratar todos os erros (401, 403, 404) com mensagens claras para o usuário - O número conectado PRECISA ser admin do grupo para alterar permissões