Conecta. Automatiza. Escala.
La API de WhatsApp más potente para desarrolladores. Envía mensajes, gestiona sesiones y trackea entregas en tiempo real. 15 días gratis para probar.
{
"status": "sent",
"messageId": "msg_k7x9p2m1",
"timestamp": "2024-01-15T10:30:00Z"
}
Todo lo que necesitas para automatizar WhatsApp
Una API completa con todas las herramientas para integrar WhatsApp en tu negocio.
Mensajes de texto
Envía mensajes de texto a cualquier número de WhatsApp con formato enriquecido y emojis.
Imágenes y multimedia
Comparte imágenes, videos, audios y documentos directamente desde tu aplicación.
Sesiones seguras
Gestiona múltiples sesiones de WhatsApp con autenticación QR y reconexión automática.
Dashboard en tiempo real
Visualiza estadísticas, métricas de entrega y actividad de tus mensajes en un panel intuitivo.
Tracking de mensajes
Rastrea el estado de cada mensaje: enviado, entregado, leído o fallido con timestamps precisos.
Webhooks avanzados
12 tipos de eventos, firma HMAC-SHA256, reintentos automáticos y logs detallados de cada entrega.
Integra WhatsApp en 3 simples pasos
Crea tu cuenta
Regístrate en segundos y obtén tu API key. Sin tarjeta de crédito requerida para empezar.
- 10 días de prueba gratis
- Acceso completo a la API
- Soporte técnico incluido
••••••••••••
Conecta WhatsApp
Escanea el código QR con tu teléfono para vincular tu cuenta de WhatsApp. La conexión es instantánea y segura.
- Reconexión automática
- Múltiples sesiones
- Cifrado end-to-end
Escanea con WhatsApp
Integra y lanza
Usa nuestra API REST o elige el SDK en tu lenguaje favorito. Estarás enviando mensajes en minutos.
- SDKs para PHP, Python, C#, VB.NET
- Documentación completa
- Ejemplos listos para usar
await client.sendMessage({
to: "51987654321",
message: "¡Hola mundo!"
});
Recibe eventos en tiempo real
Sistema de webhooks empresarial con seguridad HMAC, reintentos automáticos y monitoreo completo.
Eventos de Conexión
-
qrCódigo QR generado -
readySesión lista -
authenticatedAutenticado -
disconnectedDesconectado
Eventos de Mensajes
-
messageMensaje recibido -
message_createMensaje enviado -
message_ackConfirmación (✓✓) -
message_revokeMensaje eliminado
Eventos de Grupos
-
group_joinNuevo miembro -
group_leaveMiembro salió -
state_changeCambio de estado -
auth_failureError de auth
Integra con tu lenguaje favorito
SDKs oficiales y ejemplos listos para copiar y usar.
<?php
require 'vendor/autoload.php';
use Wapi2\WhatsApp\Client;
$client = new Client([
'token' => 'tu_api_token',
'session_id' => 'mi_sesion'
]);
// Enviar mensaje de texto
$response = $client->sendMessage([
'to' => '51987654321',
'message' => '¡Hola! Este mensaje fue enviado con WAPI2 🚀'
]);
// Enviar imagen
$response = $client->sendImage([
'to' => '51987654321',
'image' => 'https://ejemplo.com/imagen.jpg',
'caption' => 'Mira esta imagen'
]);
echo "Mensaje enviado: " . $response['messageId'];
from wapi2 import WhatsAppClient
client = WhatsAppClient(
token="tu_api_token",
session_id="mi_sesion"
)
# Enviar mensaje de texto
response = client.send_message(
to="51987654321",
message="¡Hola! Este mensaje fue enviado con WAPI2 🚀"
)
# Enviar imagen
response = client.send_image(
to="51987654321",
image_url="https://ejemplo.com/imagen.jpg",
caption="Mira esta imagen"
)
print(f"Mensaje enviado: {response['messageId']}")
using Wapi2.WhatsApp;
var client = new WhatsAppClient(new ClientOptions
{
Token = "tu_api_token",
SessionId = "mi_sesion"
});
// Enviar mensaje de texto
var response = await client.SendMessageAsync(new MessageRequest
{
To = "51987654321",
Message = "¡Hola! Este mensaje fue enviado con WAPI2 🚀"
});
// Enviar imagen
var imageResponse = await client.SendImageAsync(new ImageRequest
{
To = "51987654321",
ImageUrl = "https://ejemplo.com/imagen.jpg",
Caption = "Mira esta imagen"
});
Console.WriteLine($"Mensaje enviado: {response.MessageId}");
Imports Wapi2.WhatsApp
Dim client As New WhatsAppClient(New ClientOptions With {
.Token = "tu_api_token",
.SessionId = "mi_sesion"
})
' Enviar mensaje de texto
Dim response = Await client.SendMessageAsync(New MessageRequest With {
.To = "51987654321",
.Message = "¡Hola! Este mensaje fue enviado con WAPI2 🚀"
})
' Enviar imagen
Dim imageResponse = Await client.SendImageAsync(New ImageRequest With {
.To = "51987654321",
.ImageUrl = "https://ejemplo.com/imagen.jpg",
.Caption = "Mira esta imagen"
})
Console.WriteLine($"Mensaje enviado: {response.MessageId}")
# Enviar mensaje de texto
curl -X POST https://api.wapi2.com/chat/51987654321/text \
-H "Authorization: Bearer tu_api_token" \
-H "Content-Type: application/json" \
-d '{
"message": "¡Hola! Este mensaje fue enviado con WAPI2 🚀",
"session_id": "mi_sesion"
}'
# Enviar imagen
curl -X POST https://api.wapi2.com/chat/51987654321/image \
-H "Authorization: Bearer tu_api_token" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://ejemplo.com/imagen.jpg",
"caption": "Mira esta imagen",
"session_id": "mi_sesion"
}'
# 1. Configurar webhook para tu sesión
curl -X POST https://api.wapi2.com/webhook/config \
-H "Authorization: Bearer tu_api_token" \
-H "Content-Type: application/json" \
-d '{
"session_id": "mi_sesion",
"webhook_url": "https://tu-servidor.com/webhook",
"events": ["message", "message_ack", "ready", "disconnected"],
"retry_count": 3,
"timeout_ms": 5000
}'
# Respuesta incluye secret_key para verificar firma HMAC-SHA256
# 2. Enviar webhook de prueba
curl -X POST https://api.wapi2.com/webhook/test/mi_sesion \
-H "Authorization: Bearer tu_api_token"
# 3. Ver estadísticas de entregas
curl https://api.wapi2.com/webhook/stats/mi_sesion \
-H "Authorization: Bearer tu_api_token"
from flask import Flask, request, jsonify
import hmac
import hashlib
app = Flask(__name__)
SECRET_KEY = "tu_secret_key_de_wapi2"
@app.route('/webhook', methods=['POST'])
def handle_webhook():
# Verificar firma HMAC-SHA256
signature = request.headers.get('X-WAPI2-Signature')
payload = request.get_data()
expected = hmac.new(
SECRET_KEY.encode(),
payload,
hashlib.sha256
).hexdigest()
if not hmac.compare_digest(f"sha256={expected}", signature):
return jsonify({"error": "Invalid signature"}), 401
# Procesar evento
data = request.json
event_type = data.get('event')
if event_type == 'message':
print(f"Nuevo mensaje de {data['from']}: {data['body']}")
elif event_type == 'message_ack':
print(f"Mensaje {data['id']} - Estado: {data['ack']}")
elif event_type == 'ready':
print(f"Sesión {data['session_id']} conectada")
return jsonify({"status": "received"}), 200
Planes simples, sin sorpresas
Comienza gratis y escala cuando lo necesites.
Prueba Gratuita
Perfecto para probar la plataforma
- 1 sesión de WhatsApp
- 100 mensajes incluidos
- Acceso completo a la API
- Dashboard de estadísticas
- Soporte por email
Pro
Para negocios en crecimiento
- 5 sesiones de WhatsApp
- Mensajes ilimitados
- Webhooks en tiempo real
- Tracking de mensajes
- Soporte prioritario 24/7
- API de contactos
¿Listo para automatizar tu comunicación?
Únete a miles de desarrolladores que ya usan WAPI2 para conectar sus aplicaciones con WhatsApp.