A API WhatsApp permite o envio de mensagens e verificação de status do serviço WhatsApp integrado ao Ravi Monitor.
⚠️ IMPORTANTE: Para utilizar a API WhatsApp, é necessário ter uma conta WhatsApp conectada no sistema:
Todas as operações WhatsApp requerem:
action=whatsapp
operation
: Operação específicatoken
: Token com permissão whatsapp
Envia mensagens WhatsApp para um ou múltiplos contatos.
message
(ou msg
): Texto da mensagemcontacts
: Lista de contatos (separados por vírgula)551199887766
551199887766@s.whatsapp.net
551199887766,551188776655
curl -X POST "https://seu-servidor-ravi/api.php" \
-d "token=SEU_TOKEN" \
-d "action=whatsapp" \
-d "operation=send" \
-d "message=Teste de mensagem do Ravi Monitor" \
-d "contacts=551199887766"
curl -X POST "https://seu-servidor-ravi/api.php" \
-d "token=SEU_TOKEN" \
-d "action=whatsapp" \
-d "operation=send" \
-d "message=Teste de mensagem do Ravi Monitor" \
-d "contacts=551199887766,551188776655,551177665544"
// Sucesso
{"msg": "ok"}
// Erros
{"msg": "WhatsApp API is disabled"}
{"msg": "Message cannot be empty"}
{"msg": "Please provide contacts"}
{"msg": "No valid contacts provided"}
{"msg": "No client connected"}
{"msg": "Message sending failed"}
Verifica se o WhatsApp está habilitado e conectado.
curl -X POST "https://seu-servidor-ravi/api.php" \
-d "token=SEU_TOKEN" \
-d "action=whatsapp" \
-d "operation=status"
{
"status": {
"system_enabled": true,
"service_connected": true,
"connection_status": "connected"
}
}
"connected"
ou "disconnected"
#!/bin/bash
TOKEN="seu_token_aqui"
API_URL="https://seu-servidor-ravi/api.php"
PHONE="551199887766"
# Função para enviar mensagem
send_message() {
local message="$1"
local phone="$2"
curl -s -X POST "$API_URL" \
-d "token=$TOKEN" \
-d "action=whatsapp" \
-d "operation=send" \
-d "message=$message" \
-d "contacts=$phone"
}
# Verificar se WhatsApp está conectado
check_status() {
local response=$(curl -s -X POST "$API_URL" \
-d "token=$TOKEN" \
-d "action=whatsapp" \
-d "operation=status")
echo "$response" | grep -q '"service_connected":true'
}
# Exemplo de uso
if check_status; then
send_message "Mensagem de teste" "$PHONE"
echo "Mensagem enviada com sucesso"
else
echo "WhatsApp não está conectado"
fi
<?php
/**
* Envia mensagem via API WhatsApp do Ravi Monitor
*
* @param string|array $contacts Contato(s) - string "551199887766" ou array ["551199887766", "551188776655"]
* @param string $message Mensagem a ser enviada
* @return array Resposta da API
*/
function enviarWhatsApp($contacts, $message = "Teste de envio") {
$token = 'seu_token_aqui';
$apiUrl = 'https://seu-servidor-ravi/api.php';
// Converter array de contatos para string
if (is_array($contacts)) {
$contacts = implode(',', $contacts);
}
$data = [
'token' => $token,
'action' => 'whatsapp',
'operation' => 'send',
'message' => $message,
'contacts' => $contacts
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode !== 200 || !$response) {
return ['msg' => 'Erro na requisição HTTP', 'http_code' => $httpCode];
}
return json_decode($response, true);
}
/**
* Verifica status da conexão WhatsApp
*
* @return array Status da conexão
*/
function statusWhatsApp() {
$token = 'seu_token_aqui';
$apiUrl = 'https://seu-servidor-ravi/api.php';
$data = [
'token' => $token,
'action' => 'whatsapp',
'operation' => 'status'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
/*
Uso básico:
// Um contato
$resultado = enviarWhatsApp('551199887766', 'Teste de envio');
// Múltiplos contatos
$resultado = enviarWhatsApp(['551199887766', '551188776655'], 'Teste de envio');
// Verificar status
$status = statusWhatsApp();
// Verificar se enviou com sucesso
if ($resultado['msg'] === 'ok') {
echo "Enviado com sucesso";
} else {
echo "Erro: " . $resultado['msg'];
}
*/
?>
Código | Descrição |
---|---|
"ok" |
Mensagem enviada com sucesso |
"WhatsApp API is disabled" |
Serviço desabilitado no sistema |
"Message cannot be empty" |
Mensagem vazia |
"Please provide contacts" |
Contatos não informados |
"No valid contacts provided" |
Formato de contatos inválido |
"No client connected" |
WhatsApp não conectado |
"Message sending failed" |
Falha no envio |
551199887766
(55 + DDD + número)551199887766@s.whatsapp.net
Lembre-se: O WhatsApp deve estar ativo e conectado no painel administrativo (Configurações > Integrações) para que a API funcione.