Envía mensajes de WhatsApp con cURL
Prueba la API de WhatsApp de WbizTool desde tu terminal antes de escribir una línea de código. Cada comando de abajo es un POST a https://wbiztool.com/api/v1/, y el mensaje sale desde tu propio número, vinculado como WhatsApp Web.
Prueba gratuita: 50 mensajes en cualquier periodo de 30 días, sin tarjeta.
Cómo funciona
Obtén tu clave API y vincula tu número
Regístrate y vincula tu número de WhatsApp en la página Números de WhatsApp con un código QR o un código de vinculación, igual que WhatsApp Web. En Configuración → Claves API, crea una clave y copia tu Client ID (la guía de claves API de abajo muestra dónde). El ID que aparece en la tarjeta del número (por ejemplo, ID 678) es tu
whatsapp_client.Prueba tus credenciales
Haz un POST con tu
client_idy tuapi_keya/api/v1/me/."status": 1con"message": "Okay"significa que funcionan. No envía nada ni usa mensajes.Envía un mensaje
Haz un POST a
/api/v1/send_msg/con el número de teléfono y el texto. Una respuesta con"status": 1y unmsg_idsignifica que el mensaje está en cola en tu número.Comprueba que salió
Haz un POST a
/api/v1/message/status/<msg_id>/. El estado 1 significa Sent; el estado 2 significa Failed, con el motivo enerror.
Ejemplos de código en cURL
curl -X POST https://wbiztool.com/api/v1/me/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678
}'curl -X POST https://wbiztool.com/api/v1/send_msg/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 0,
"country_code": "91",
"phone": "9876543210",
"msg": "Hi Aman, your order #4821 has shipped and will arrive on Thursday."
}'{"status": 1, "message": "Created", "msg_id": 9817263}curl -X POST https://wbiztool.com/api/v1/send_msg/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 1,
"country_code": "91",
"phone": "9876543210",
"img_url": "https://example.com/offers/diwali-sale.jpg",
"msg": "Our Diwali sale starts today 🎉"
}'curl -X POST https://wbiztool.com/api/v1/send_msg/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 2,
"country_code": "91",
"phone": "9876543210",
"file_url": "https://example.com/invoices/invoice-4821.pdf",
"file_name": "invoice-4821.pdf",
"msg": "Your invoice for order #4821 is attached."
}'curl -X POST https://wbiztool.com/api/v1/send_msg/ \
-F client_id=12345 \
-F api_key=YOUR_API_KEY \
-F whatsapp_client=678 \
-F msg_type=2 \
-F country_code=91 \
-F phone=9876543210 \
-F "msg=Your invoice for order #4821 is attached." \
-F file_name=invoice-4821.pdf \
-F file=@./invoice-4821.pdfcurl -X POST https://wbiztool.com/api/v1/schedule_msg/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 0,
"country_code": "91",
"phone": "9876543210",
"msg": "Hi Aman, a reminder that your appointment is today at 11:30 AM.",
"date": "24/12/2026",
"time": "09:00",
"timezone": "Asia/Kolkata"
}'curl -X POST https://wbiztool.com/api/v1/message/status/9817263/ \
-H "Content-Type: application/json" \
-d '{
"client_id": 12345,
"api_key": "YOUR_API_KEY"
}'Lo que puedes hacer
JSON o campos de formulario
Envía el cuerpo como JSON, como campos de formulario, o como multipart form data (
-F) cuando subes un archivo. Los ejemplos funcionan tal cual en cuanto pones tus propios ID y clave.Imágenes y archivos
msg_type1 envía una imagen desdeimg_url,msg_type2 un archivo desdefile_url. Los archivos enlazados pueden pesar hasta 100 MB, y el enlace debe ser público.Programación con zona horaria
schedule_msgaceptadate(dd/mm/aaaa),time(HH:MM) y un nombre detimezonecomoAmerica/New_Yorko una abreviatura como IST o EST.Webhooks para cada estado
Añade
"webhook": "https://…"y WbizTool le envía por POST elmsg_idySENT,FAILED,CANCELLEDoEXPIREDcuando el mensaje cambia.Las mismas llamadas desde cualquier herramienta
Make, Pabbly Connect y otras herramientas de automatización envían estas mismas peticiones con su módulo HTTP. También hay una colección de Postman en la documentación.
Conviene saber
"status": 1significa que el mensaje está en cola, no que se entregó. Sent es el estado final de éxito; la API no informa si el mensaje se entregó o se leyó.- Dentro de JSON, escribe un salto de línea en
msgcomo\n. Un salto de línea real o una coma final hacen que el JSON no sea válido. - Una hora programada que ya pasó se acepta y se envía al momento. La fecha va con el día primero (24/12/2026), así que revísala antes de enviar.
- Los errores al enviar un mensaje llegan con HTTP 400 (429 en el límite diario); los errores al programar un mensaje suelen llegar con HTTP 200 y
"status": 0, así que decodifica siempre el cuerpo y compruebastatus. - Enviar a un grupo de WhatsApp por la API (
group_nameen lugar dephone) funciona en todos los planes, también en la prueba gratuita. - La prueba gratuita incluye 50 mensajes en cualquier periodo de 30 días y 1 número, sin tarjeta. Los planes de pago empiezan en $25 al mes en EE. UU. (tu precio aparece en Precios) y envían mensajes ilimitados con uso justo: hasta 1.000 al día por número.
- Los mensajes salen desde tu propio número de WhatsApp, así que se aplican las reglas de WhatsApp: escribe a personas que esperan saber de ti.
Preguntas frecuentes
- ¿Cuál es el endpoint de la API de WhatsApp para enviar un mensaje?
- POST
https://wbiztool.com/api/v1/send_msg/conclient_id,api_key,whatsapp_client,phone(máscountry_codesi el número no lo lleva) ymsg. La respuesta traestatusy, si todo va bien, unmsg_id. - ¿Cómo programo un mensaje de WhatsApp con cURL?
- Haz un POST a
https://wbiztool.com/api/v1/schedule_msg/con los mismos campos másdate(dd/mm/aaaa),time(HH:MM) ytimezone. Elmsg_idde la respuesta te permite consultarlo o cancelarlo más tarde. - ¿Cómo sé si el mensaje se envió?
- Una respuesta con
"status": 1y unmsg_idsignifica que está en cola. Pasa una URL dewebhookpara recibir un POST conSENT,FAILED,CANCELLEDoEXPIRED, o llama al endpoint de estado del mensaje con elmsg_id. Sent es el estado final: la API no informa si se entregó o se leyó. - ¿En qué formato envío el número de teléfono?
- Envía el número con su código de país (919876543210), o sin él (9876543210) junto con
country_code(91). Los espacios, el +, los guiones y los paréntesis se quitan por ti, así que +91 98765-43210 también funciona. - ¿Necesito la API de WhatsApp Business o la aprobación de Meta?
- No. WbizTool envía desde tu propio número de WhatsApp o WhatsApp Business, vinculado como WhatsApp Web. No hay aprobación de Meta ni plantillas de mensajes que aprobar.
- ¿Se paga por mensaje?
- No. La prueba gratuita incluye 50 mensajes en cualquier periodo de 30 días. Los planes de pago envían mensajes ilimitados con uso justo, hasta 1.000 al día por número: Lite $25, Standard $59 y Advanced $149 al mes en EE. UU.; la página de Precios muestra el precio de tu país.
Lee las guías
- API de envío de mensajes
- API para programar mensajes
- API de estado del mensaje
- API para comprobar credenciales
- Enviar desde cualquier herramienta de automatización
- Claves API y Client ID
- Conecta tu número de WhatsApp
Relacionado
- PythonEnvía mensajes de WhatsApp desde Python con el cliente oficial o simplemente con requests.
- PHPEnvía mensajes de WhatsApp desde PHP con la extensión cURL, sin librerías.
- MakeEnvía mensajes de WhatsApp desde escenarios de Make con el módulo HTTP.
- API de recordatoriosCrea, lista y cancela recordatorios de WhatsApp recurrentes con una programación cron.
Envía hoy tu primer mensaje automatizado de WhatsApp
Crea una cuenta, escanea el código QR y envía un mensaje en menos de cinco minutos.
Empieza gratisPlanes de pago desde $25 al mes en EE. UU. Precios
