API Mensagem para Grupos
🧩 Envia uma mensagem de texto para um Grupo, com opções de abrir um ticket e atribuir a conversa à uma fila.
API: Baileys
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint
https://{BACKEND_URL}/api/messages/sendGroup
Método
POST
Autenticação
Bearer {seutokenaqui}
Payload
{
"number": "34324434543543212", //ID do grupo
"openTicket": "1",
"queueId": "23",
"body": "Olá pessoal"
}
➡️ “number”: ID do grupo, fica no mesmo local do telefone em um ticket comum , ➡️ “openTicket”: 0 Não abre ticket
1 Ticket – Atenção: para abrir ticket é obrigatório definir uma fila.
– ao abrir ticket a conversa irá para aguardando mesmo que já esteja em atendimento. ➡️ “queueId”: ID da fila desejada ( Só funciona quando "openTicket": "1" )
➡️ “body”: Mensagem. ###### Modelos
API Utilize o código em requisições HTTPS com ferramentas como cURL ou bibliotecas de integração.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://{BACKEND_URL}/api/messages/sendGroup',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"number": "34324434543543212",
"openTicket": "0",
"queueId": "0",
"body": "Teste"
}',
// "openTicket": "0", 0 Não abre ticket e 1 Abre Ticket
// "queueId": "0", ID da fila desejada (necessário definir se abrir ticket)
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' //Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
FLOWBUILDER Insira o código em um bloco de “Http Request / Code” do tipo REQUISIÇÃO.
Os trechos delimitados por {{...}} são placeholders no formato Mustaches e não precisam ser alterados. Eles serão automaticamente substituídos pelos valores correspondentes no momento da execução.
// definir
let endpoint = "https://{{backendURL}}/api/messages/sendGroup";
let method = "POST";
let payload = {
"number": "120363181268041352",
"openTicket": "1",
"queueId": "0",
"body": "Mensagem de Grupo Flow"
};
let authorization = "{{connection_token}}";
// estrutura
try {
const response = await axios({
url: endpoint,
method: method,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + authorization
},
data: payload,
maxBodyLength: Infinity
});
return response.data;
} catch (error) {
return "Algo deu errado: " + error.message;
}
N8N Copie o código e cole em qualquer ponto do seu fluxo no N8N para adicionar o nó.
{
"meta": {
"instanceId": "9fa9daca05c0090113cca7c701b0ce40a3a913034a045b3177740db7d5f7726e"
},
"nodes": [
{
"parameters": {
"method": "POST",
"url": "=https://{{ $item("0").$node["Credenciais"].json["backend_url"] }}/api/messages/sendGroup",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "={{ $item("0").$node["Credenciais"].json["token"] }}"
}
]
},
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={n "number": "{{ $item("0").$node["Credenciais"].json["grupo"] }}",n "openTicket": "1",n "queueId": "0",n "body": "Mensagem de Grupo N8N"n}",
"options": {}
},
"id": "58daaaa0-e2d0-46a1-8ca0-21802e2d9659",
"name": "Mensagem para Grupos",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1380,
480
]
}
],
"connections": {},
"pinData": {}
}
API Utilize o código em requisições HTTPS com ferramentas como cURL ou bibliotecas de integração.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://{BACKEND_URL}/api/messages/sendGroup',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"number": "34324434543543212",
"openTicket": "0",
"queueId": "0",
"body": "Teste"
}',
// "openTicket": "0", 0 Não abre ticket e 1 Abre Ticket
// "queueId": "0", ID da fila desejada (necessário definir se abrir ticket)
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' //Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
FLOWBUILDER Insira o código em um bloco de "Http Request / Code" do tipo REQUISIÇÃO.
Os trechos delimitados por {{...}} são placeholders no formato Mustaches e não precisam ser alterados. Eles serão automaticamente substituídos pelos valores correspondentes no momento da execução.
// definir
let endpoint = "https://{{backendURL}}/api/messages/sendGroup";
let method = "POST";
let payload = {
"number": "120363181268041352",
"openTicket": "1",
"queueId": "0",
"body": "Mensagem de Grupo Flow"
};
let authorization = "{{connection_token}}";
// estrutura
try {
const response = await axios({
url: endpoint,
method: method,
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + authorization
},
data: payload,
maxBodyLength: Infinity
});
return response.data;
} catch (error) {
return "Algo deu errado: " + error.message;
}
N8N Copie o código e cole em qualquer ponto do seu fluxo no N8N para adicionar o nó.
{
"meta": {
"instanceId": "9fa9daca05c0090113cca7c701b0ce40a3a913034a045b3177740db7d5f7726e"
},
"nodes": [
{
"parameters": {
"method": "POST",
"url": "=https://{{ $item("0").$node["Credenciais"].json["backend_url"] }}/api/messages/sendGroup",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "={{ $item("0").$node["Credenciais"].json["token"] }}"
}
]
},
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={n "number": "{{ $item("0").$node["Credenciais"].json["grupo"] }}",n "openTicket": "1",n "queueId": "0",n "body": "Mensagem de Grupo N8N"n}",
"options": {}
},
"id": "58daaaa0-e2d0-46a1-8ca0-21802e2d9659",
"name": "Mensagem para Grupos",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1380,
480
]
}
],
"connections": {},
"pinData": {}
}