🚀 Omnipush API

Documentação Completa

📖 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

  1. Header Authorization (Bearer ou raw)
  2. Body token
  3. Body apiToken
  4. Query parameter token

📱 Instâncias

POST /instances/connect

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)
POST /instances/disconnect

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)
GET /instances/status

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)
DELETE /instances/delete

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)
GET /instances/webhook

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)
POST /instances/webhook

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 action nem id no 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 id no payload
  • O sistema gera ID automaticamente
Atualizar Webhook Existente:
  • Use action: "update"
  • Inclua o id do webhook no payload
  • Todos os campos serão atualizados
Remover Webhook:
  • Use action: "delete"
  • Inclua apenas o id do 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

POST /messages/send-text

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)
POST /messages/send-media

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'
  })
});
GET /messages/history/{recipientNumber}

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);
POST /messages/send-location

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'
  })
});
POST /messages/send-contact

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'
  })
});
POST /messages/presence

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
  })
});
POST /messages/send-status

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
  })
});
POST /messages/send-menu

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
POST /messages/send-carousel

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

⚡ Ações

POST /actions/download-message

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);
POST /actions/mark-read

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);
POST /actions/react-message

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);
POST /actions/delete-message

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);
POST /actions/edit-message

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);
GET /actions/list

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);
POST /actions/execute

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);
GET /messages/status/{messageId}

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'
  }
});
POST /messages/mark-read

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'
  })
});
DELETE /messages/delete/{messageId}

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
  })
});
PUT /messages/edit/{messageId}

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'
  })
});
POST /messages/forward

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']
  })
});
GET /messages/search

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'
  }
});
GET /messages/download/{messageId}

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
POST /messages/download

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

POST /groups/create

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']
  })
});
GET /groups/list

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'
  }
});
POST /groups/info

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'
  })
});
GET /groups/participants/{groupId}

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'
  }
});
POST /groups/add-participants/{groupId}

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']
  })
});
POST /groups/remove-participant/{groupId}

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'
  })
});
POST /groups/promote-admin/{groupId}

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'
  })
});
POST /groups/demote-admin/{groupId}

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'
  })
});
POST /groups/send-message/{groupId}

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']
  })
});
PUT /groups/update-info/{groupId}

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'
  })
});
POST /groups/update-photo/{groupId}

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...'
  })
});
POST /groups/leave

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'
  })
});
GET /groups/invite-link/{groupJID}

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)
POST /groups/reset-invite-code

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'
  })
});
POST /groups/join

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.

POST /profile/name

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);
POST /profile/image

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);