📖 Introdução
A Omnipush API é um proxy seguro e robusto para integração com WhatsApp, oferecendo endpoints completos para gerenciamento de instâncias, envio de mensagens, gerenciamento de grupos e muito mais.
Base URL
https://zap.omnipush.com.br/api/v1
Formato de Resposta
Todas as respostas seguem o padrão JSON com estrutura consistente:
{
"success": true,
"message": "Operação realizada com sucesso",
"data": { ... }
}
🔐 Autenticação
Todos os endpoints (exceto esta documentação) requerem autenticação. O token pode ser fornecido de 4 maneiras diferentes:
1. Header Authorization (Recomendado)
Authorization: Bearer SEU_TOKEN_AQUI
# ou
Authorization: SEU_TOKEN_AQUI
2. Body Parameter (token)
{
"recipientNumber": "5511999999999",
"messageText": "Olá!",
"token": "SEU_TOKEN_AQUI"
}
3. Body Parameter (apiToken)
{
"recipientNumber": "5511999999999",
"messageText": "Olá!",
"apiToken": "SEU_TOKEN_AQUI"
}
4. Query Parameter
GET /api/v1/endpoint?token=SEU_TOKEN_AQUI
Tokens Aceitos
demo-token- Token de demonstração- Qualquer token com 32 ou mais caracteres
Prioridade de Autenticação
- Header
Authorization(Bearer ou raw) - Body
token - Body
apiToken - Query parameter
token
📱 Instâncias
Conectar Instância
Conecta uma instância do WhatsApp e gera QR Code para autenticação.
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/instances/connect \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json'
const response = await fetch('https://zap.omnipush.com.br/api/v1/instances/connect', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);
import requests
url = "https://zap.omnipush.com.br/api/v1/instances/connect"
headers = {
"Authorization": "Bearer SEU_TOKEN",
"Content-Type": "application/json"
}
response = requests.post(url, headers=headers)
data = response.json()
print(data)
Desconectar Instância
Desconecta uma instância do WhatsApp ativa.
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/instances/disconnect \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json'
const response = await fetch('https://zap.omnipush.com.br/api/v1/instances/disconnect', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);
import requests
url = "https://zap.omnipush.com.br/api/v1/instances/disconnect"
headers = {
"Authorization": "Bearer SEU_TOKEN",
"Content-Type": "application/json"
}
response = requests.post(url, headers=headers)
data = response.json()
print(data)
Status da Instância
Verifica o status atual de uma instância do WhatsApp.
curl --request GET \
--url https://zap.omnipush.com.br/api/v1/instances/status \
--header 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://zap.omnipush.com.br/api/v1/instances/status', {
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
const data = await response.json();
console.log(data);
import requests
url = "https://zap.omnipush.com.br/api/v1/instances/status"
headers = {"Authorization": "Bearer SEU_TOKEN"}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
Deletar Instância
Remove completamente uma instância do WhatsApp e seus dados.
curl --request DELETE \
--url https://zap.omnipush.com.br/api/v1/instances/delete \
--header 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://zap.omnipush.com.br/api/v1/instances/delete', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
const data = await response.json();
console.log(data);
import requests
url = "https://zap.omnipush.com.br/api/v1/instances/delete"
headers = {"Authorization": "Bearer SEU_TOKEN"}
response = requests.delete(url, headers=headers)
data = response.json()
print(data)
Ver Webhook da Instância
Obtém as configurações atuais do webhook de uma instância.
curl --request GET \
--url https://zap.omnipush.com.br/api/v1/instances/webhook \
--header 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://zap.omnipush.com.br/api/v1/instances/webhook', {
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
const data = await response.json();
console.log(data);
import requests
url = "https://zap.omnipush.com.br/api/v1/instances/webhook"
headers = {"Authorization": "Bearer SEU_TOKEN"}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
Configurar Webhook da Instância
Gerencia a configuração de webhooks para receber eventos em tempo real da instância. Permite gerenciar múltiplos webhooks por instância através do campo ID e action.
🚀 Modo Simples (Recomendado)
Uso mais fácil - sem complexidade de IDs:
- Não inclua
actionnemidno payload - Gerencia automaticamente um único webhook por instância
- Cria novo ou atualiza o existente automaticamente
- Exemplo:
{"url": "https://meusite.com/webhook", "events": ["messages"]}
🧪 Sites para Testes
Para testar webhooks durante desenvolvimento:
⚙️ Modo Avançado (Para múltiplos webhooks)
Para usuários que precisam de múltiplos webhooks por instância:
💡 Dica: Mesmo precisando de múltiplos webhooks, considere usar addUrlEvents no modo simples. Um único webhook pode receber diferentes tipos de eventos em URLs específicas (ex: /webhook/message, /webhook/connection), eliminando a necessidade de múltiplos webhooks.
Criar Novo Webhook:
- Use
action: "add" - Não inclua
idno payload - O sistema gera ID automaticamente
Atualizar Webhook Existente:
- Use
action: "update" - Inclua o
iddo webhook no payload - Todos os campos serão atualizados
Remover Webhook:
- Use
action: "delete" - Inclua apenas o
iddo webhook - Outros campos são ignorados
📋 Eventos Disponíveis
- connection: Alterações no estado da conexão
- history: Recebimento de histórico de mensagens
- messages: Novas mensagens recebidas
- messages_update: Atualizações em mensagens existentes
- call: Eventos de chamadas VoIP
- contacts: Atualizações na agenda de contatos
- presence: Alterações no status de presença
- groups: Modificações em grupos
- labels: Gerenciamento de etiquetas
- chats: Eventos de conversas
- chat_labels: Alterações em etiquetas de conversas
- blocks: Bloqueios/desbloqueios
- leads: Atualizações de leads
- sender: Atualizações de campanhas, quando inicia, e quando completa
🔧 Filtros de Mensagens (excludeMessages)
Remover mensagens com base nos filtros:
- wasSentByApi: Mensagens originadas pela API
- wasNotSentByApi: Mensagens não originadas pela API
- fromMeYes: Mensagens enviadas pelo usuário
- fromMeNo: Mensagens recebidas de terceiros
- isGroupYes: Mensagens em grupos
- isGroupNo: Mensagens em conversas individuais
🔗 Parâmetros de URL
addUrlEvents (boolean): Quando ativo, adiciona o tipo do evento como path parameter na URL.
Exemplo: https://api.example.com/webhook/{evento}
addUrlTypesMessages (boolean): Quando ativo, adiciona o tipo da mensagem como path parameter na URL.
Exemplo: https://api.example.com/webhook/{tipo_mensagem}
Combinações de Parâmetros:
- Ambos ativos:
https://api.example.com/webhook/{evento}/{tipo_mensagem}
Exemplo real:https://api.example.com/webhook/message/conversation - Apenas eventos:
https://api.example.com/webhook/message - Apenas tipos:
https://api.example.com/webhook/conversation
Notas Técnicas:
- Os parâmetros são adicionados na ordem: evento → tipo mensagem
- A URL deve ser configurada para aceitar esses parâmetros dinâmicos
- Funciona com qualquer combinação de eventos/mensagens
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Não | ID único do webhook (necessário para update/delete) Exemplo: "123e4567-e89b-12d3-a456-426614174000" |
| enabled | boolean | Não | Habilita/desabilita o webhook Exemplo: true |
| url | string | Sim | URL para receber os eventos Exemplo: "https://example.com/webhook" |
| events | array | Não | Lista de eventos monitorados Exemplo: ["messages", "connection", "groups"] |
| excludeMessages | array | Não | Filtros para excluir tipos de mensagens Exemplo: ["wasSentByApi", "isGroupYes"] |
| addUrlEvents | boolean | Não | Adiciona o tipo do evento como parâmetro na URL false (padrão): URL normal true: Adiciona evento na URL (ex: /webhook/message) |
| addUrlTypesMessages | boolean | Não | Adiciona o tipo da mensagem como parâmetro na URL false (padrão): URL normal true: Adiciona tipo da mensagem (ex: /webhook/conversation) |
| action | string | Não | Ação a ser executada: add: criar novo webhook update: atualizar webhook existente (requer id) delete: remover webhook (requer apenas id) Se não informado, opera no modo simples (único webhook) |
# Modo Simples (Recomendado)
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/instances/webhook \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"url": "https://webhook.cool/unique-id",
"enabled": true,
"events": ["messages", "connection", "groups"],
"excludeMessages": ["wasSentByApi"],
"addUrlEvents": true
}'
# Modo Avançado - Criar novo webhook
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/instances/webhook \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"action": "add",
"url": "https://webhook.cool/unique-id",
"enabled": true,
"events": ["messages", "connection"],
"addUrlEvents": true,
"addUrlTypesMessages": true
}'
// Modo Simples (Recomendado)
const webhookSimples = await fetch('https://zap.omnipush.com.br/api/v1/instances/webhook', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://webhook.cool/unique-id',
enabled: true,
events: ['messages', 'connection', 'groups'],
excludeMessages: ['wasSentByApi'],
addUrlEvents: true
})
});
// Modo Avançado - Criar novo webhook
const webhookAvancado = await fetch('https://zap.omnipush.com.br/api/v1/instances/webhook', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
action: 'add',
url: 'https://webhook.cool/unique-id',
enabled: true,
events: ['messages', 'connection'],
addUrlEvents: true,
addUrlTypesMessages: true
})
});
const data = await webhookSimples.json();
console.log(data);
import requests
url = "https://zap.omnipush.com.br/api/v1/instances/webhook"
headers = {
"Authorization": "Bearer SEU_TOKEN",
"Content-Type": "application/json"
}
# Modo Simples (Recomendado)
data_simples = {
"url": "https://webhook.cool/unique-id",
"enabled": True,
"events": ["messages", "connection", "groups"],
"excludeMessages": ["wasSentByApi"],
"addUrlEvents": True
}
# Modo Avançado - Criar novo webhook
data_avancado = {
"action": "add",
"url": "https://webhook.cool/unique-id",
"enabled": True,
"events": ["messages", "connection"],
"addUrlEvents": True,
"addUrlTypesMessages": True
}
# Executar modo simples
response = requests.post(url, headers=headers, json=data_simples)
result = response.json()
print(result)
💬 Mensagens
Enviar Mensagem de Texto
Envia uma mensagem de texto para um contato ou grupo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| recipientNumber | string | Sim | Número apenas com dígitos: 5511999999999 |
| messageText | string | Sim | Texto da mensagem |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/send-text \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"recipientNumber": "5511999999999",
"messageText": "Olá! Como você está?"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/send-text', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
recipientNumber: '5511999999999',
messageText: 'Olá! Como você está?'
})
});
const data = await response.json();
console.log(data);
import requests
url = "https://zap.omnipush.com.br/api/v1/messages/send-text"
headers = {
"Authorization": "Bearer SEU_TOKEN",
"Content-Type": "application/json"
}
data = {
"recipientNumber": "5511999999999",
"messageText": "Olá! Como você está?"
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)
Enviar Mídia
Envia mensagem com mídia (imagem, vídeo, áudio, documento).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| recipientNumber | string | Sim | Número apenas com dígitos: 5511999999999 |
| mediaUrl | string | Sim | URL da mídia |
| mediaType | string | Sim | Tipo: image, video, document, audio, myaudio, ptt, sticker |
| caption | string | Não | Legenda da mídia |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/send-media \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"recipientNumber": "5511999999999",
"mediaUrl": "https://exemplo.com/imagem.jpg",
"mediaType": "image",
"caption": "Legenda da imagem"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/send-media', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
recipientNumber: '5511999999999',
mediaUrl: 'https://exemplo.com/imagem.jpg',
mediaType: 'image',
caption: 'Legenda da imagem'
})
});
Histórico de Mensagens
Obtém histórico de mensagens com um contato.
curl --request GET \
--url 'https://zap.omnipush.com.br/api/v1/messages/history/5511999999999?limit=50&offset=0' \
--header 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/history/5511999999999?limit=50&offset=0', {
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
const data = await response.json();
console.log(data);
Enviar Localização
Envia localização geográfica.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| recipientNumber | string | Sim | Número apenas com dígitos: 5511999999999 |
| latitude | number | Sim | Latitude (-90 a 90) |
| longitude | number | Sim | Longitude (-180 a 180) |
| locationName | string | Não | Nome do local |
| locationAddress | string | Não | Endereço do local |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/send-location \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"recipientNumber": "5511999999999",
"latitude": -23.5505,
"longitude": -46.6333,
"locationName": "São Paulo",
"locationAddress": "São Paulo, SP, Brasil"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/send-location', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
recipientNumber: '5511999999999',
latitude: -23.5505,
longitude: -46.6333,
locationName: 'São Paulo',
locationAddress: 'São Paulo, SP, Brasil'
})
});
Enviar Contato
Envia contato (vCard).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| recipientNumber | string | Sim | Número apenas com dígitos: 5511999999999 |
| contactName | string | Sim | Nome do contato |
| contactNumbers | array | Sim | Array de números do contato |
| contactOrganization | string | Não | Organização do contato |
| contactEmail | string | Não | Email do contato |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/send-contact \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"recipientNumber": "5511999999999",
"contactName": "João Silva",
"contactNumbers": ["5511888888888"],
"contactOrganization": "Empresa XYZ",
"contactEmail": "joao@empresa.com"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/send-contact', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
recipientNumber: '5511999999999',
contactName: 'João Silva',
contactNumbers: ['5511888888888'],
contactOrganization: 'Empresa XYZ',
contactEmail: 'joao@empresa.com'
})
});
Atualizar Presença
Envia atualização de presença (digitando, gravando, pausado).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| recipientNumber | string | Sim | Número apenas com dígitos: 5511999999999 |
| presenceType | string | Sim | Tipo: composing, recording, paused |
| duration | number | Não | Duração em milissegundos (padrão: 2000) |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/presence \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"recipientNumber": "5511999999999",
"presenceType": "composing",
"duration": 2000
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/presence', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
recipientNumber: '5511999999999',
presenceType: 'composing',
duration: 2000
})
});
Enviar Status/Stories
Envia status/stories do WhatsApp.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| statusType | string | Sim | Tipo: text, image, video |
| statusText | string | Não | Texto do status (obrigatório se statusType=text) |
| mediaUrl | string | Não | URL da mídia (obrigatório se statusType=image/video) |
| backgroundColor | string | Não | Cor de fundo (hex: #FFFFFF) |
| font | number | Não | Fonte (0-5, padrão: 0) |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/send-status \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"statusType": "text",
"statusText": "Olá! Como estão?",
"backgroundColor": "#FF5733",
"font": 2
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/send-status', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
statusType: 'text',
statusText: 'Olá! Como estão?',
backgroundColor: '#FF5733',
font: 2
})
});
Enviar Menu Interativo
Envia menu interativo com botões, lista, carrossel ou enquete.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| recipientNumber | string | Sim | Número apenas com dígitos: 5511999999999 |
| menuType | string | Sim | Tipo: buttons, list, carousel, poll |
| headerText | string | Não | Texto do cabeçalho |
| bodyText | string | Sim | Texto principal do menu |
| footerText | string | Não | Texto do rodapé |
| buttons | array | Sim | Array de botões/opções |
Enviar Carrossel
Envia carrossel de mídia com botões.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| recipientNumber | string | Sim | Número apenas com dígitos: 5511999999999 |
| cards | array | Sim | Array de cards do carrossel |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/send-carousel \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"recipientNumber": "5511999999999",
"cards": [
{
"header": "Produto 1",
"body": "Descrição do produto 1",
"footer": "R$ 99,90",
"media": "https://exemplo.com/imagem1.jpg",
"buttons": [{"id": "buy1", "title": "Comprar"}]
},
{
"header": "Produto 2",
"body": "Descrição do produto 2",
"footer": "R$ 149,90",
"media": "https://exemplo.com/imagem2.jpg",
"buttons": [{"id": "buy2", "title": "Comprar"}]
}
]
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/send-carousel', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
recipientNumber: '5511999999999',
cards: [
{
header: 'Produto 1',
body: 'Descrição do produto 1',
footer: 'R$ 99,90',
media: 'https://exemplo.com/imagem1.jpg',
buttons: [{id: 'buy1', title: 'Comprar'}]
},
{
header: 'Produto 2',
body: 'Descrição do produto 2',
footer: 'R$ 149,90',
media: 'https://exemplo.com/imagem2.jpg',
buttons: [{id: 'buy2', title: 'Comprar'}]
}
]
})
});
⚡ Ações
Download de Mensagem
Baixa o conteúdo de uma mensagem específica (áudio, imagem, vídeo, documento).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | ID da mensagem |
| return_base64 | boolean | Não | Retornar conteúdo em base64 |
| generate_mp3 | boolean | Não | Converter áudio para MP3 |
| return_link | boolean | Não | Retornar link de download |
| transcribe | boolean | Não | Transcrever áudio para texto |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/actions/download-message \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"id": "3EB0C431070A7F73212D",
"return_base64": false,
"generate_mp3": true,
"return_link": true,
"transcribe": false
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/actions/download-message', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: '3EB0C431070A7F73212D',
return_base64: false,
generate_mp3: true,
return_link: true,
transcribe: false
})
});
const data = await response.json();
console.log(data);
Marcar como Lida
Marca uma ou múltiplas mensagens como lidas.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | array | Sim | Array de IDs das mensagens |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/actions/mark-read \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"id": ["3EB0C431070A7F73212D", "3EB0C431070A7F73212E"]
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/actions/mark-read', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: ['3EB0C431070A7F73212D', '3EB0C431070A7F73212E']
})
});
const data = await response.json();
console.log(data);
Reagir à Mensagem
Adiciona uma reação (emoji) a uma mensagem específica.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| number | string | Sim | Número do contato/grupo |
| text | string | Sim | Emoji da reação |
| id | string | Sim | ID da mensagem |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/actions/react-message \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"number": "5511999999999",
"text": "👍",
"id": "3EB0C431070A7F73212D"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/actions/react-message', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
number: '5511999999999',
text: '👍',
id: '3EB0C431070A7F73212D'
})
});
const data = await response.json();
console.log(data);
Deletar Mensagem
Remove uma mensagem específica da conversa.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | ID da mensagem |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/actions/delete-message \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"id": "3EB0C431070A7F73212D"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/actions/delete-message', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: '3EB0C431070A7F73212D'
})
});
const data = await response.json();
console.log(data);
Editar Mensagem
Edita o conteúdo de uma mensagem já enviada.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | ID da mensagem |
| text | string | Sim | Novo texto da mensagem |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/actions/edit-message \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"id": "3EB0C431070A7F73212D",
"text": "Texto editado da mensagem"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/actions/edit-message', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: '3EB0C431070A7F73212D',
text: 'Texto editado da mensagem'
})
});
const data = await response.json();
console.log(data);
Listar Ações
Lista todas as ações disponíveis no sistema.
curl --request GET \
--url https://zap.omnipush.com.br/api/v1/actions/list \
--header 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://zap.omnipush.com.br/api/v1/actions/list', {
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
const data = await response.json();
console.log(data);
Executar Ação
Executa uma ação específica com parâmetros customizados.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| actionId | string | Sim | ID da ação a executar |
| parameters | object | Não | Parâmetros específicos da ação |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/actions/execute \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"actionId": "action-123",
"parameters": {}
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/actions/execute', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
actionId: 'action-123',
parameters: {}
})
});
const data = await response.json();
console.log(data);
Verificar Status da Mensagem
Verifica o status de entrega de uma mensagem específica.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| messageId | string | Sim | ID da mensagem (path parameter) |
curl --request GET \
--url https://zap.omnipush.com.br/api/v1/messages/status/msg_123456 \
--header 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/status/msg_123456', {
method: 'GET',
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
Marcar como Lida
Marca mensagens como lidas.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| recipientNumber | string | Sim | Número apenas com dígitos: 5511999999999 |
| messageId | string | Não | ID específico da mensagem |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/mark-read \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"recipientNumber": "5511999999999",
"messageId": "msg_123456"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/mark-read', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
recipientNumber: '5511999999999',
messageId: 'msg_123456'
})
});
Deletar Mensagem
Deleta uma mensagem enviada.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| messageId | string | Sim | ID da mensagem (path parameter) |
| deleteForEveryone | boolean | Não | Deletar para todos (padrão: false) |
curl --request DELETE \
--url https://zap.omnipush.com.br/api/v1/messages/delete/msg_123456 \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"deleteForEveryone": true
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/delete/msg_123456', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
deleteForEveryone: true
})
});
Editar Mensagem
Edita o texto de uma mensagem enviada.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| messageId | string | Sim | ID da mensagem (path parameter) |
| newText | string | Sim | Novo texto da mensagem |
curl --request PUT \
--url https://zap.omnipush.com.br/api/v1/messages/edit/msg_123456 \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"newText": "Texto corrigido da mensagem"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/edit/msg_123456', {
method: 'PUT',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
newText: 'Texto corrigido da mensagem'
})
});
Encaminhar Mensagem
Encaminha uma mensagem para outros contatos.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| messageId | string | Sim | ID da mensagem a ser encaminhada |
| recipientNumbers | array | Sim | Array de números de destino |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/forward \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"messageId": "msg_123456",
"recipientNumbers": ["5511999999999", "5511888888888"]
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/forward', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
messageId: 'msg_123456',
recipientNumbers: ['5511999999999', '5511888888888']
})
});
Buscar Mensagens
Busca mensagens por texto.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| query | string | Sim | Texto a buscar (query parameter) |
| recipientNumber | string | Não | Filtrar por contato específico |
| limit | number | Não | Limite de resultados (padrão: 50) |
| offset | number | Não | Offset para paginação (padrão: 0) |
curl --request GET \
--url 'https://zap.omnipush.com.br/api/v1/messages/search?query=hello&recipientNumber=5511999999999&limit=20' \
--header 'Authorization: Bearer SEU_TOKEN'
const params = new URLSearchParams({
query: 'hello',
recipientNumber: '5511999999999',
limit: '20'
});
const response = await fetch(`https://zap.omnipush.com.br/api/v1/messages/search?${params}`, {
method: 'GET',
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
Baixar Arquivo de Mensagem
Baixa o arquivo associado a uma mensagem de mídia (imagem, vídeo, áudio, documento ou sticker).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| messageId | string | Sim | ID da mensagem |
| return_base64 | boolean | Não | Retorna arquivo em base64 (padrão: false) |
| generate_mp3 | boolean | Não | Para áudios: true=MP3, false=OGG (padrão: true) |
| return_link | boolean | Não | Retorna URL pública do arquivo (padrão: true) |
| transcribe | boolean | Não | Transcreve áudios para texto (padrão: false) |
| openai_apikey | string | Não | Chave OpenAI para transcrição |
Resposta de Sucesso:
{
"fileURL": "https://api.exemplo.com/files/arquivo.mp3",
"mimetype": "audio/mpeg",
"base64Data": "UklGRkj...",
"transcription": "Texto transcrito"
}
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/download \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"id": "7EB0F01D7244B421048F0706368376E0",
"return_base64": false,
"generate_mp3": true,
"return_link": true,
"transcribe": false
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/download', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: '7EB0F01D7244B421048F0706368376E0',
return_base64: false,
generate_mp3: true,
return_link: true,
transcribe: false
})
});
const data = await response.json();
console.log('File URL:', data.fileURL);
console.log('MIME Type:', data.mimetype);
Exemplos de Uso:
Baixar áudio como MP3:
{
"id": "7EB0F01D7244B421048F0706368376E0",
"generate_mp3": true
}
Transcrever áudio:
{
"id": "7EB0F01D7244B421048F0706368376E0",
"transcribe": true,
"openai_apikey": "sk-..."
}
Apenas base64 (sem URL):
{
"id": "7EB0F01D7244B421048F0706368376E0",
"return_base64": true,
"return_link": false
}
📝 Notas Importantes:
- Por padrão, áudios são retornados como MP3
- Todos os downloads retornam URL pública por padrão
- Transcrição requer chave OpenAI válida
- A chave OpenAI pode ser salva na instância para reutilização
Baixar Arquivo de Mensagem
Baixa o arquivo associado a uma mensagem de mídia (imagem, vídeo, áudio, documento ou sticker).
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | ID da mensagem |
| return_base64 | boolean | Não | Retorna arquivo em base64 (padrão: false) |
| generate_mp3 | boolean | Não | Para áudios: true=MP3, false=OGG (padrão: true) |
| return_link | boolean | Não | Retorna URL pública do arquivo (padrão: true) |
| transcribe | boolean | Não | Transcreve áudios para texto (padrão: false) |
| openai_apikey | string | Não | Chave OpenAI para transcrição |
Resposta de Sucesso:
{
"fileURL": "https://api.exemplo.com/files/arquivo.mp3",
"mimetype": "audio/mpeg",
"base64Data": "UklGRkj...",
"transcription": "Texto transcrito"
}
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/messages/download \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"id": "7EB0F01D7244B421048F0706368376E0",
"return_base64": false,
"generate_mp3": true,
"return_link": true,
"transcribe": false
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/messages/download', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
id: '7EB0F01D7244B421048F0706368376E0',
return_base64: false,
generate_mp3: true,
return_link: true,
transcribe: false
})
});
const data = await response.json();
console.log('File URL:', data.fileURL);
console.log('MIME Type:', data.mimetype);
Exemplos de Uso:
Baixar áudio como MP3:
{
"id": "7EB0F01D7244B421048F0706368376E0",
"generate_mp3": true
}
Transcrever áudio:
{
"id": "7EB0F01D7244B421048F0706368376E0",
"transcribe": true,
"openai_apikey": "sk-..."
}
Apenas base64 (sem URL):
{
"id": "7EB0F01D7244B421048F0706368376E0",
"return_base64": true,
"return_link": false
}
📝 Notas Importantes:
- Por padrão, áudios são retornados como MP3
- Todos os downloads retornam URL pública por padrão
- Transcrição requer chave OpenAI válida
- A chave OpenAI pode ser salva na instância para reutilização
👥 Grupos
Criar Grupo
Cria um novo grupo do WhatsApp.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| name | string | Sim | Nome do grupo |
| participants | array | Sim | Array de números dos participantes (apenas dígitos) |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/create \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"name": "Meu Grupo",
"participants": ["5511999999999", "5511888888888"]
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/create', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Meu Grupo',
participants: ['5511999999999', '5511888888888']
})
});
Listar Grupos
Lista todos os grupos da sessão.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| force | boolean | Não | Forçar atualização (query parameter) |
| noparticipants | boolean | Não | Excluir participantes da resposta |
curl --request GET \
--url 'https://zap.omnipush.com.br/api/v1/groups/list?force=true&noparticipants=false' \
--header 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/list?force=true&noparticipants=false', {
method: 'GET',
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
Informações do Grupo
Obtém informações detalhadas de um grupo específico.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupjid | string | Sim | ID do grupo (JID) |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/info \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"groupjid": "120363123456789012@g.us"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/info', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
groupjid: '120363123456789012@g.us'
})
});
Listar Participantes
Lista todos os participantes de um grupo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupId | string | Sim | ID do grupo (path parameter) |
curl --request GET \
--url https://zap.omnipush.com.br/api/v1/groups/participants/120363123456789012 \
--header 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/participants/120363123456789012', {
method: 'GET',
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
Adicionar Participantes
Adiciona novos participantes ao grupo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupId | string | Sim | ID do grupo (path parameter) |
| participantNumbers | array | Sim | Array de números dos participantes (apenas dígitos) |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/add-participants/120363123456789012 \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"participantNumbers": ["5511999999999", "5511888888888"]
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/add-participants/120363123456789012', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
participantNumbers: ['5511999999999', '5511888888888']
})
});
Remover Participante
Remove um participante do grupo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupId | string | Sim | ID do grupo (path parameter) |
| participantNumber | string | Sim | Número do participante a ser removido (apenas dígitos) |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/remove-participant/120363123456789012 \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"participantNumber": "5511999999999"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/remove-participant/120363123456789012', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
participantNumber: '5511999999999'
})
});
Promover Administrador
Promove um participante a administrador do grupo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupId | string | Sim | ID do grupo (path parameter) |
| participantNumber | string | Sim | Número do participante a ser promovido (apenas dígitos) |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/promote-admin/120363123456789012 \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"participantNumber": "5511999999999"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/promote-admin/120363123456789012', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
participantNumber: '5511999999999'
})
});
Rebaixar Administrador
Remove privilégios de administrador de um participante.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupId | string | Sim | ID do grupo (path parameter) |
| participantNumber | string | Sim | Número do administrador a ser rebaixado (apenas dígitos) |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/demote-admin/120363123456789012 \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"participantNumber": "5511999999999"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/demote-admin/120363123456789012', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
participantNumber: '5511999999999'
})
});
Enviar Mensagem para Grupo
Envia uma mensagem para o grupo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupId | string | Sim | ID do grupo (path parameter) |
| messageText | string | Não | Texto da mensagem |
| mediaUrl | string | Não | URL da mídia a ser enviada |
| mediaType | string | Não | Tipo da mídia (image, video, audio, document) |
| caption | string | Não | Legenda para mídia |
| mentionedUsers | array | Não | Array de números para mencionar |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/send-message/120363123456789012 \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"messageText": "Olá pessoal!",
"mentionedUsers": ["5511999999999"]
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/send-message/120363123456789012', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
messageText: 'Olá pessoal!',
mentionedUsers: ['5511999999999']
})
});
Atualizar Informações do Grupo
Atualiza nome e descrição do grupo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupId | string | Sim | ID do grupo (path parameter) |
| groupName | string | Não | Novo nome do grupo |
| groupDescription | string | Não | Nova descrição do grupo |
curl --request PUT \
--url https://zap.omnipush.com.br/api/v1/groups/update-info/120363123456789012 \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"groupName": "Novo Nome do Grupo",
"groupDescription": "Nova descrição do grupo"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/update-info/120363123456789012', {
method: 'PUT',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
groupName: 'Novo Nome do Grupo',
groupDescription: 'Nova descrição do grupo'
})
});
Atualizar Foto do Grupo
Atualiza a foto do grupo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupId | string | Sim | ID do grupo (path parameter) |
| groupPhoto | string | Sim | Foto do grupo em Base64 ou URL da imagem |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/update-photo/120363123456789012 \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"groupPhoto": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ..."
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/update-photo/120363123456789012', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
groupPhoto: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ...'
})
});
Sair do Grupo
Sai de um grupo específico.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupjid | string | Sim | ID do grupo (JID) para sair |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/leave \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"groupjid": "120363123456789012@g.us"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/leave', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
groupjid: '120363123456789012@g.us'
})
});
Gerar Link de Convite
Gera um link de convite para o grupo.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupJID | string | Sim | ID do grupo (JID) (path parameter) |
curl --request GET \
--url https://zap.omnipush.com.br/api/v1/groups/invite-link/120363123456789012@g.us \
--header 'Authorization: Bearer SEU_TOKEN'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/invite-link/120363123456789012@g.us', {
method: 'GET',
headers: {
'Authorization': 'Bearer SEU_TOKEN'
}
});
Resetar Código de Convite
Reseta o código de convite do grupo, invalidando links anteriores.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| groupjid | string | Sim | ID do grupo (JID) |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/reset-invite-code \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"groupjid": "120363123456789012@g.us"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/reset-invite-code', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
groupjid: '120363123456789012@g.us'
})
});
Entrar no Grupo
Entra em um grupo usando código de convite.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| inviteCode | string | Sim | Código de convite do grupo |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/groups/join \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"inviteCode": "ABC123DEF456"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/groups/join', {
method: 'POST',
headers: {
'Authorization': 'Bearer SEU_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
inviteCode: 'ABC123DEF456'
})
});
const data = await response.json();
console.log(data);
Perfil
Endpoints para gerenciar informações do perfil do WhatsApp.
Alterar Nome do Perfil
Altera o nome de exibição do perfil da instância do WhatsApp.
O endpoint realiza:
- Atualiza o nome do perfil usando o WhatsApp AppState
- Sincroniza a mudança com o servidor do WhatsApp
- Retorna confirmação da alteração
Importante:
- A instância deve estar conectada ao WhatsApp
- O nome será visível para todos os contatos
- Pode haver um limite de alterações por período (conforme WhatsApp)
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| name | string | Sim | Novo nome do perfil do WhatsApp Exemplo: "Minha Empresa - Atendimento" |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/profile/name \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SEU_TOKEN' \
--data '{
"name": "Minha Empresa - Atendimento"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/profile/name', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer SEU_TOKEN'
},
body: JSON.stringify({
name: 'Minha Empresa - Atendimento'
})
});
const data = await response.json();
console.log(data);
Alterar Imagem do Perfil
Altera a imagem de perfil da instância do WhatsApp.
O endpoint realiza:
- Atualiza a imagem do perfil
- Processa a imagem (URL, base64 ou comando de remoção)
- Sincroniza a mudança com o servidor do WhatsApp
- Retorna confirmação da alteração
Importante:
- A instância deve estar conectada ao WhatsApp
- A imagem será visível para todos os contatos
- A imagem deve estar em formato JPEG e tamanho 640x640 pixels
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| image | string | Sim | Imagem do perfil. Pode ser: • URL da imagem (http/https) • String base64 da imagem • "remove" ou "delete" para remover a imagem atual Exemplo: "https://picsum.photos/640/640.jpg" |
curl --request POST \
--url https://zap.omnipush.com.br/api/v1/profile/image \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer SEU_TOKEN' \
--data '{
"image": "https://picsum.photos/640/640.jpg"
}'
const response = await fetch('https://zap.omnipush.com.br/api/v1/profile/image', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer SEU_TOKEN'
},
body: JSON.stringify({
image: 'https://picsum.photos/640/640.jpg'
})
});
const data = await response.json();
console.log(data);