API REST de WhatsApp
Envia mensajes, administra celulares, configura webhooks y consulta saldo. 30 endpoints REST, ejemplos en 8 lenguajes, listo para produccion.
/panel/api_wa.php →
(mismo contrato, ejemplos en PHP, cURL, Python y Node.js).
Pruebalo rapido
REST simple
Endpoints HTTP estandar. POST/GET con form-data. JSON de respuesta. Sin SDK requerido.
Webhooks en tiempo real
Recibe eventos cuando un mensaje se entrega, se lee, o llega una respuesta. Configurable por cliente.
Rate limit manejable
Hasta 256 msg/min por celular. Errores 429 con retry_after explicito. Backoff automatico recomendado.
Auth por API key
Una key por celular. HMAC-SHA256 firmada. Rotable desde el panel. Logs de auditoria.
Proteccion anti-baneo incluida
WhatsApp suspende cuentas que envian mensajes identicos en bucle. Por eso la API incluye 3 capas automaticas para mantener tu numero seguro:
Cola humanizada
Por default los mensajes se encolan y se envian ~1 cada 5s. 1000 mensajes no llegan de golpe, se distribuyen en el tiempo. Asi WhatsApp no detecta patron de spam.
Anti-duplicado inteligente
El mismo mensaje (mismo texto + mismo destinatario + mismo celular) 3 veces en 2 minutos = bloqueo 5 min. Proteccion por cliente, no global. Evita loops accidentales.
Modo directo opcional
Para tiempo real (2FA, chatbots, alertas), envia directo=1. La API llama a WhatsApp al instante y registra como enviado. Ideal para codigos OTP.
30+ paises auto-detectados
El campo destinatario acepta cualquier formato. Mexico, USA, Espana, Argentina, Brasil, UK, China, Japon y mas. Normalizacion automatica a E.164.
Endpoints
Administracion 9
/api/info.php
Info del cliente
Devuelve la ficha del cliente asociado a la API key: nombre, email, plan, max_celulares, saldo_global, num_celulares, mensajes ultimos 30 dias.
/api/saldo.php
Consultar saldo
Devuelve el saldo global del cliente y el saldo del celular asociado a la API key.
/api/celulares.php
Listar celulares
Lista todos los celulares del cliente con su estado, saldo, configuracion de rate limit y horario.
/api/celular.php
Detalle de un celular
Devuelve el detalle completo de un celular por su id.
/api/celular_crear.php
Crear celular
Crea un celular nuevo en estado desconectado. Para vincularlo con WhatsApp via QR, llamar despues a /api/celular_qr.php?id=N
/api/celular_editar.php
Editar celular
Edita uno o varios campos de un celular. Solo se actualizan los campos enviados.
/api/celular_eliminar.php
Eliminar celular (hard delete)
Elimina el celular junto con todos sus mensajes, entrenamientos y movimientos de saldo. Genera un snapshot JSON forense en la auditoria antes de borrar. Tambien desconecta la session de WhatsApp (best effort).
/api/celular_qr.php
Generar QR de vinculacion
Genera o recupera el QR para vincular el WhatsApp. Si el celular no tiene session, crea una automaticamente. Devuelve el string del QR que debes convertir a imagen con una libreria qrcode (cliente JS o Python) y mostrar al usuario para que lo escanee desde WhatsApp.
/api/celular_status.php
Status de la sesion WhatsApp
Consulta el status actual de la sesion de WhatsApp del celular segun el proveedor. Actualiza la BD local.
Cliente 4
/api/cliente_info.php
Obtener info del cliente
Devuelve la informacion del cliente asociado al API key.
/api/saldo_consultar.php
Consultar saldo
Consulta el saldo disponible del cliente y por celular.
/api/celular_listar.php
Listar celulares
Lista todos los celulares del cliente con su estado y API key.
/api/celular_vincular_qr.php
Vincular celular con QR
Inicia el proceso de vinculacion de un celular nuevo via QR. Devuelve un codigo QR (string) que el cliente debe escanear con WhatsApp.
Mensajes 13
/api/mensaje_enviar_texto.php
Enviar mensaje de texto
Envia un mensaje de texto plano via WhatsApp. Default encola (modo humanizado). Con directo=1 envia al instante.
/api/mensaje_enviar_imagen.php
Enviar imagen
Envia una imagen (JPG/PNG) con caption opcional. Default encola. directo=1 envia al instante.
/api/mensaje_enviar_documento.php
Enviar documento (PDF, DOC, XLS...)
Envia un archivo PDF, Word, Excel, etc. (max 100MB). Default encola. directo=1 envia al instante.
/api/mensaje_enviar_audio.php
Enviar audio (nota de voz)
Envia un audio (mp3, ogg, m4a). Para notas de voz usa formato opus + ptt=true. Default encola. directo=1 envia al instante.
/api/mensaje_enviar_video.php
Enviar video
Envia un video (mp4) con caption opcional. Default encola. directo=1 envia al instante.
/api/mensaje_enviar_sticker.php
Enviar sticker
Envia un sticker (WebP, max 100KB). Default encola. directo=1 envia al instante.
/api/mensaje_estado.php
Consultar estado de mensaje
Consulta el estado actual de un mensaje enviado (pendiente, enviado, entregado, leido, error).
/api/historial_listar.php
Listar historial
Lista el historial de mensajes enviados en los ultimos 3 meses. Soporta filtros por fecha, estado y destinatario.
/api/mensaje_enviar_imagen_base64.php
Enviar imagen (base64)
Variante que acepta la imagen como base64 (data URI o base64 puro) en vez de una URL publica. Util cuando no tienes donde hospedar la imagen. Default encola; con directo=1 envia al instante y elimina el archivo temporal antes de la respuesta.
/api/mensaje_enviar_documento_base64.php
Enviar documento (base64)
Variante de enviar documento que acepta el archivo (PDF, DOC, XLS, etc.) como base64. Default encola; directo=1 envia al instante y elimina el temporal.
/api/mensaje_enviar_audio_base64.php
Enviar audio (base64)
Variante de enviar audio que acepta el archivo (mp3, ogg, opus, m4a) como base64. Para notas de voz usa formato opus con ptt=true. Default encola; directo=1 envia al instante.
/api/mensaje_enviar_video_base64.php
Enviar video (base64)
Variante de enviar video que acepta el archivo (mp4, mov, 3gp) como base64 con caption opcional. Default encola; directo=1 envia al instante.
/api/mensaje_enviar_sticker_base64.php
Enviar sticker (base64)
Variante de enviar sticker que acepta el WebP/PNG como base64. Default encola; directo=1 envia al instante.
Webhooks 2
/api/webhook_configurar.php
Configurar webhook del cliente
Configura la URL del webhook donde se recibiran los eventos del cliente (mensajes recibidos, estados).
/api/webhook.php
Webhook del cliente (CRUD)
GET lee la config. POST crea/actualiza (UPSERT). DELETE elimina el webhook. Aplica a TODA la cuenta del cliente, no a un celular especifico. Eventos disponibles: messages.received, message.status, session.status, all.
¿Listo para empezar?
Crea tu cuenta, vincula tu WhatsApp con QR y envia tu primer mensaje en menos de 5 minutos.
Ir al portal del cliente Contactar soporte