Envio de mensagem
Esses padrões devem ser utilizados quando for necessário enviar mensagens automaticamente através da API do sistema.
Um exemplo prático é quando um cliente preenche um formulário, e você deseja que o sistema dispare automaticamente uma mensagem para esse cliente, seja para confirmar o recebimento, agradecer o contato ou iniciar um atendimento.
📌 Exemplo prático com CRM:
Imagine que você utiliza um CRM para gerenciar seus contatos e leads. Quando um contato avança para uma nova etapa do funil de vendas (como “Proposta enviada” ou “Pré-venda concluída”), você pode configurar o sistema para que, ao atingir essa etapa, seja feita automaticamente uma requisição para a API de mensagens, enviando um WhatsApp com uma mensagem personalizada para o cliente, como:
"Olá, [Nome]! Sua proposta já foi enviada. Em breve, um de nossos consultores entrará em contato para tirar suas dúvidas."
Veja a seguir como usar cada endpoint.

📌API Digitando…
API: Baileys
Altera o status para Digitando… por um tempo definido.
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint
https://https://api.gpconnect.com.br/api/messages/isTyping
Método
POST
Autenticação
Bearer {seutokenaqui}
Payload
{
"number": "5511999999999",
"tempo": 5000,
}
📖
➡ “number”: telefone do destinatário no formato ddi ddd numero (somente números)
➡“tempo”: somente número (1000 corresponde a 1 segundo)
📌 API Gravando…
API: Baileys
Altera o status para Gravando… por um tempo definido.
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint
https://https://api.gpconnect.com.br/api/messages/isRecording
Método
POST
Autenticação
Bearer {seutokenaqui}
Payload
{
"number": "5511999999999",
"tempo": 5000,
}
➡ “number”: telefone do destinatário no formato ddi ddd numero (somente números)
➡ “tempo”: somente número (1000 corresponde a 1 segundo)
📌 API Mensagem de Texto
API: Baileys
Envia uma mensagem de texto, com opções de abrir um ticket e/ou atribuir a conversa à uma fila.
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint
https://https://api.gpconnect.com.br/api/messages/send
Método
POST
Autenticação
Bearer {seutokenaqui}
Payload
{
"number": "5511999999999",
"openTicket": "1",
"queueId": "16",
"body": "Bem vindo Lead"
}
➡“number”: telefone do destinatário no formato ddi ddd numero (somente números)
➡“openTicket”:
“0” Não abre ticket
“1” Abre Ticket
– Atenção: para abrir ticket é obrigatório definir uma fila.
Se o ticket estiver:
– fechado = abre no aguardando
– aberto (aguardando) = mantem no aguardando
– aberto (em atendimento) sem fila = mantem no atendimento
– aberto (em atendimento) com fila = volta para o aguardando na fila nova
➡ “queueId”: ID da fila desejada ( Só funciona o “openTicket”: “1” )
➡“body”: Mensagem
Retorno de API (Payload de Resposta)
Exemplo de retorno do envio de mensagem sem abrir ticket:
{
"mensagem": "Mensagem enviada SEM TICKET",
"ticket": null
}
Exemplo de retorno do envio de mensagem abrindo ticket:
{
"mensagem": "Mensagem enviada",
"ticket": {
"id": 20122,
"status": "pending",
"unreadMessages": 1,
"lastMessage": "Enviei esse texto por último",
"protocolo": "28239",
"typebot_sessionId": null,
"typebot_status": null,
"customA": null,
"lastFlowId": null,
"repeatCount": null,
"fromAds": 24,
"customB": null,
"nextFlowId": null,
"isGroup": false,
"userId": null,
"contactId": 14675,
"whatsappId": 1,
"queueId": 15,
"chatbot": false,
"isMenu": false,
"variables": null,
"channel": "whatsapp",
"queueOptionId": null,
"companyId": 1,
"uuid": "5abc7180-de45-4980-9423-c67377737681",
"promptId": null,
"createdAt": "2025-02-28 T11:46:45.118Z",
"updatedAt": "2025-02-28 T11:46:45.349Z",
"contact": {
"id": 14675,
"name": "João da Silva",
"number": "5511999999999",
"email": "",
"profilePicUrl": "https://pps.whatsapp.net/v/t61.24694-24/488_6855805790520267314_n.jpg?stp=dst-jpg_s96x96_tt6&ccb=11-4&oh=01_Q5AaIJyx3-GwiAAnKi52RrELCld2&oe=67CA22FA&_nc_sid=5e03e0&_nc_cat=123",
"acceptAudioMessage": true,
"active": true,
"disableBot": false,
"extraInfo": []
},
"user": {
"id": 1,
"name": "Jonas",
"restricted": false,
"away": false,
"ausencia": null,
"sigame": false,
"number": "5511888888888"
},
"queue": {
"id": 15,
"name": "Financeiro",
"color": "#999999",
"typeboturl": "",
"typebotname": "",
"typebotexpire": 5000,
"typebotwait": 1500,
"flowiseKey": "",
"flowiseUrl": "",
"promptId": null,
"invalidMessage": "",
"flowId": null,
"zaiaToken": "",
"zaiaAgent": null,
"isTranscribe": false,
"difyToken": null,
"difyURL": null,
"prompt": null
},
"whatsapp": {
"name": "Principal",
"webhook": "https://go.dominio.com.br/webhook",
"id": 1,
"token": "32183831i231u23u321u13u1exemplo",
"coverImage": null,
"selectedCommentQueueId": null,
"whatsmeowname": null,
"whatsmeowtoken": null,
"whatsmeowurl": null,
"hubtoken": null,
"channel": "whatsapp",
"status": "CONNECTED",
"ignoreNumbers": ""
},
"tags": [],
"company": {
"name": "Bom Negócio"
}
}
}
📌API Mensagem Interna
API: Baileys, APIdoZap Pro
Envia uma mensagem de comunicação interna (whisper), sendo visível somente dentro do sistema.
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint
https://https://api.gpconnect.com.br/api/messages/internal/send
Método
POST
Autenticação
Bearer {seutokenaqui}
Payload
{
"ticketId": "33461",
"body": "Lead precisa de retorno no pedido"
}
➡ “ticketId”: ID do Ticket
O ticketId é o número que fica entre parênteses em uma conversa.
Por exemplo:
João da Silva (52) | #25678
nessa situação o ticketId é o 52 o numero 25678 seria o protocolo (não deve ser usado nessa api)
➡ “body”: Mensagem Interna
Retorno de API (Payload de Resposta)
Exemplo de retorno do envio de mensagem interna (whisper):
{
"mensagem": "Mensagem INTERNA"
}
📌 API Mensagem para Grupos
API: Baileys
Envia uma mensagem de texto para um Grupo, com opções de abrir um ticket e/ou atribuir a conversa a uma fila.
Endpoint
'https://https://api.gpconnect.com.br/api/messages/sendGroup'
Metodo
Post
Autenticação
'Content-Type: application/json',
'Authorization: Bearer {{seutokenaqui}} //Token cadastrado na conexão
– "number": "34324434543543212", //ID DO GRUPO
– “openTicket”: “0” Não abre ticket e “1” Abre Ticket
– “queueId”: “7”, ID da fila desejada (Funciona se abrir ticket)
– "body": "Teste" Mensagem a ser enviada
Retorno de API (Payload de Resposta)
Exemplo de retorno do envio de mensagem para grupo sem abrir ticket:
{
"mensagem": "Mensagem enviada SEM TICKET",
"ticket": null
}
Exemplo de retorno do envio de mensagem para grupo abrindo ticket:
{
"mensagem": "Mensagem enviada",
"ticket": {
"id": 17428,
"status": "open",
"unreadMessages": 1,
"lastMessage": "Enviei essa mensagem por último no grupo",
"protocolo": "23735",
"typebot_sessionId": null,
"typebot_status": null,
"customA": null,
"lastFlowId": null,
"repeatCount": 0,
"fromAds": 24,
"customB": null,
"nextFlowId": null,
"isGroup": true,
"userId": 1,
"contactId": 17783,
"whatsappId": 1,
"queueId": 15,
"chatbot": false,
"isMenu": false,
"variables": null,
"channel": "whatsapp",
"queueOptionId": null,
"companyId": 1,
"uuid": "5abc7180-de45-4980-9423-c67377737681",
"promptId": null,
"createdAt": "2025-01-12 T19:48:08.778Z",
"updatedAt": "2025-02-28 T13:09:46.832Z",
"contact": {
"id": 17783,
"name": "120363181268041352",
"number": "120363181268041352",
"email": "",
"profilePicUrl": "https://backendurl.com.br/nopicture.png",
"acceptAudioMessage": true,
"active": true,
"disableBot": false,
"extraInfo": []
},
"user": {
"id": 1,
"name": "Jonas",
"restricted": false,
"away": false,
"ausencia": null,
"sigame": false,
"number": "5511888888888"
},
"queue": {
"id": 15,
"name": "Financeiro",
"color": "#999999",
"typeboturl": "",
"typebotname": "",
"typebotexpire": 5000,
"typebotwait": 1500,
"flowiseKey": "",
"flowiseUrl": "",
"promptId": null,
"invalidMessage": "",
"flowId": null,
"zaiaToken": "",
"zaiaAgent": null,
"isTranscribe": false,
"difyToken": null,
"difyURL": null,
"prompt": null
},
"whatsapp": {
"name": "Principal",
"webhook": "https://go.dominio.com.br/webhook",
"id": 1,
"token": "32183831i231u23u321u13u1exemplo",
"coverImage": null,
"selectedCommentQueueId": null,
"whatsmeowname": null,
"whatsmeowtoken": null,
"whatsmeowurl": null,
"hubtoken": null,
"channel": "whatsapp",
"status": "CONNECTED",
"ignoreNumbers": ""
},
"tags": [],
"company": {
"name": "Bom Negócio"
}
}
}
📌API Mensagem de Lista
API: Baileys
Envia uma mensagem com uma Lista de opções, para o usuário escolher uma resposta.
– o Título será a resposta devolvida quando o lead selecionar uma opção
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint POST
https://https://api.gpconnect.com.br/api/messages/sendList
API
📤 Endpoint
POST https://api.gpconnect.com.br/api/messages/sendList
🔐 Autenticação
A autenticação é feita via token Bearer.
Cabeçalho:
Authorization: Bearer {seutokenaqui}
📥 Parâmetros da Requisição
A requisição deve ser feita com o tipo de conteúdo application/json.
Corpo (JSON)
{
"number": "5511999999999",
"body": "Selecione a melhor opção:",
"optionList": {
"buttonLabel": "Abrir lista de opções",
"options": [
{
"id": "1",
"title": "Título A",
"description": "Descrição A"
},
{
"id": "2",
"title": "Título B",
"description": "Descrição B"
}
]
}
}
💻 Exemplo de Código (PHP com cURL)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.gpconnect.com.br/api/messages/sendList',
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 => json_encode([
"number" => "5511999999999",
"body" => "Selecione a melhor opção:",
"optionList" => [
"buttonLabel" => "Abrir lista de opções",
"options" => [
[
"id" => "1",
"title" => "Título A",
"description" => "Descrição A"
],
[
"id" => "2",
"title" => "Título B",
"description" => "Descrição B"
]
]
]
]),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' // Substitua pelo seu token real
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
✅ Resposta Esperada
Exemplo de Resposta (Sucesso)
json
CopiarEditar
{
"status": "success",
"message": "Lista de opções enviada com sucesso."
}
⚠️ Possíveis Erros
Retorno de API (Payload de Resposta)
Exemplo de retorno do envio de mensagem de lista:
{
"mensagem": "Mensagem enviada SEM TICKET",
"ticket": null
}
📌 API Criar Agendamento
API: Baileys
Cria uma mensagem agendada, para um contato previamente cadastrado.
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint POST
https://https://api.gpconnect.com.br/api/schedules
API
Utilize o código em requisições HTTPS com ferramentas como cURL ou bibliotecas de integração.
📤 Endpoint
URL:
POST https://api.gpconnect.com.br/api/schedules
🔐 Autenticação
A autenticação é feita via token Bearer.
Cabeçalho:
http
CopiarEditar
Authorization: Bearer {seutokenaqui}
📥 Parâmetros da Requisição
A requisição deve ser enviada com o tipo de conteúdo application/json.
Corpo (JSON)
{
"body": "Teste de Agendamento",
"sendAt": "2023-12-17T22:00:00.000Z",
"contactId": "24294",
"userId": "34",
"openTicket": "0",
"queueId": "0",
"whatsappId": "2",
"repetir": "0",
"repetirTodo": "0",
"quantasVezes": "0"
}
💻 Exemplo de Código (PHP com cURL)
<?php
$curl = curl_init();
$data = [
"body" => "Teste de Agendamento",
"sendAt" => "2023-12-17T22:00:00.000Z",
"contactId" => "24294",
"userId" => "34",
"openTicket" => "0",
"queueId" => "0",
"whatsappId" => "2",
"repetir" => "0",
"repetirTodo" => "0",
"quantasVezes" => "0"
];
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.gpconnect.com.br/api/schedules',
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 => json_encode($data),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' // Substitua pelo token da sua conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
✅ Resposta Esperada
Exemplo de Resposta (Sucesso)
{
"status": "success",
"message": "Mensagem agendada com sucesso."
}
⚠️ Possíveis Erros
📌API Deletar Agendamento
Este documento descreve como utilizar a API da GP Connect para cancelar um agendamento de mensagem previamente configurado, através de uma requisição POST com cURL em PHP.
API: Baileys
Deleta uma mensagem agendada.
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint POST
https://https://api.gpconnect.com.br/api/schedules/delete
API
Utilize o código em requisições HTTPS com ferramentas como cURL ou bibliotecas de integração.
📤 Endpoint
URL:
POST https://api.gpconnect.com.br/api/schedules/delete
🔐 Autenticação
A autenticação é feita via token Bearer.
Cabeçalho:
Authorization: Bearer {seutokenaqui}
📥 Parâmetros da Requisição
A requisição deve ser enviada com o tipo de conteúdo application/json.
Corpo (JSON)
{
"scheduleId": "55"
}
💻 Exemplo de Código (PHP com cURL)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.gpconnect.com.br/api/schedules/delete',
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 => '{
"scheduleId":"55"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' // Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
✅ Resposta Esperada
Exemplo de Resposta (Sucesso)
{
"status": "success",
"message": "Agendamento cancelado com sucesso."
}
⚠️ Possíveis Erros
📌 API Enviar Contato
Leitura estimada: 1 minuto 644 views
API: Baileys
Envia um contato para adicionar ou iniciar uma conversa.
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint POST
https://https://api.gpconnect.com.br/api/messages/sendContact
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://https://api.gpconnect.com.br/api/messages/sendContact',
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": "5511999999999", // Número que vai receber o contato (cliente)
"body": "Maria Oliveira", // Nome do contato a ser enviado
"optionList": {
"phone": "5511987654321", // Telefone do contato que será enviado
"company": "ABC Soluções", // Empresa do contato
"address": "Rua Central, 123" // Endereço do contato
}
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' // Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
📌 API Obter Mensagens por Protocolo
API: Baileys
Retorna todas as mensagens de um protocolo (se esse estiver encerrado / finalizado).
Verifique aqui os Pré-Requisitos para utilizar APIs
Endpoint GET
https://https://api.gpconnect.com.br/api/tickets/messages/6126
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://api.exemplo.com/api/tickets/messages/6126',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_POSTFIELDS => '{
"protocol": "6126" // Número do protocolo do atendimento que você deseja consultar.
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {{numero de seu token '
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;