En este tutorial aprenderás a programar la entrega de mensajes a grupos usando la API
Hay dos maneras de programar la entrega de un mensaje para una hora y/o día posterior: especificando el día y la hora exactos en los que quieres que se envíe o indicando cuántos minutos, horas o días quieres retrasar la entrega diferida.
🤩 🤖 Wassenger es una solución completa de API para WhatsApp. Regístrate para una prueba gratuita de 7 días y comienza en minutos!
Si deseas enviar mensajes desde código, puedes usar cualquier lenguaje de programación para realizar solicitudes HTTPS a la API. A continuación se muestra el probador de API en vivo con ejemplos de código listos para usar en varios lenguajes de programación.
Requisitos
- Tener un número de WhatsApp ya vinculado a la plataforma y en línea.
- ID de canal WhatsApp (WID) que puedes encontrar de dos maneras:
- En el panel de gestión de tu número de WhatsApp, ve a “Groups”. Desde allí verás los canales a los que tu número tiene acceso.
- Usando la API, consulta los grupos disponibles en tu dispositivo en este endpoint.
Preparar la solicitud
URL objetivo de la API usando el método POST
https://api.wassenger.com/v1/messages
Cabeceras HTTPS requeridas > Obtén tu clave de API aquí
Content-Type: application/json
Token: $API_TOKEN
Usa el cuerpo en formato JSON
{ "group": "${@g.us">group_id}@g.us", "message": "This is a scheduled message to be sent tomorrow to a group chat. Date format is based on ISO 8601 format with default UTC time zone", "deliverAt": "2025-01-24T21:18:31.271Z" }
¡Felicidades! Ahora puedes enviar mensajes automáticos usando la API a grupos en WhatsApp.
🤩 🤖 Wassenger es una solución completa de API para WhatsApp. Regístrate para una prueba gratuita de 7 días y comienza en minutos!
¿Eres desarrollador?
Explora cómo usar el código en tu navegador sin instalar ningún software.
Además, puedes encontrar diferentes lenguajes de programación que puedes probar en Replit.com:
# Los ejemplos requieren tener instalado el paquete requests de Python.
# Instálalo ejecutando: pip install requests
import requests
url = "https://api.wassenger.com/v1/messages"
payload = { "group": "${@g.us">group_id}@g.us", "message": "This is a scheduled message to be sent tomorrow to a group chat. Date format is based on ISO 8601 format with default UTC time zone", "deliverAt": "2025-01-24T21:18:31.271Z" } headers = { "Content-Type": "application/json", "Token": "API TOKEN GOES HERE" }
response = requests.post(url, json=payload, headers=headers)
print(response.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.wassenger.com/v1/messages',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
'group' => '${@g.us">group_id}@g.us',
'message' =>
'This is a scheduled message to be sent tomorrow to a group chat.Date format is based on ISO 8601 format with default UTC time zone',
'deliverAt' => '2025-01-24T21:18:31.271Z',
]),
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Token: API TOKEN GOES HERE',
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo 'cURL Error #:' . $err;
} else {
echo $response;
}
// This code example requires to have installed pecl_http package, a simple and elegant HTTP client for PHP.
// Install it by running: pecl install pecl_http
// More information: https://mdref.m6w6.name/http
<?php
$client = new http\Client();
$request = new http\Client\Request();
$body = new http\Message\Body();
$body->append(
json_encode([
'group' => '${@g.us">group_id}@g.us',
'message' =>
'This is a scheduled message to be sent tomorrow to a group chat.Date format is based on ISO 8601 format with default UTC time zone',
'deliverAt' => '2025-01-24T21:18:31.271Z',
])
);
$request->setRequestUrl('https://api.wassenger.com/v1/messages');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
'Content-Type' => 'application/json',
'Token' => 'API TOKEN GOES HERE',
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
// This code example requires to have installed Guzzle package, a flexible and elegant HTTP client for PHP.
// Install it first following these instructions:
// https://docs.guzzlephp.org/en/stable/overview.html#installation
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://api.wassenger.com/v1/messages', [
'body' =>
'{"group":"${@g.us">group_id}@g.us", "message":"This is a scheduled message to be sent tomorrow to a group chat.Date format is based on ISO 8601 format with default UTC time zone", "deliverAt":"2025-01-24T21:18:31.271Z"}',
'headers' => [
'Content-Type' => 'application/json',
'Token' => 'API TOKEN GOES HERE',
],
]);
echo $response->getBody();
// This code requires you to have installed RestSharp package. // Documentation: https://restsharp.dev // Installation: https://www.nuget.org/packages/RestSharp
var client = new RestClient("https://api.wassenger.com/v1/messages"); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddHeader("Token", "API TOKEN GOES HERE"); request.AddParameter("application/json", "{\"group\":\"${@g.us">group_id}@g.us\",\"message\":\"This is a scheduled message to be sent tomorrow to a group chat. Date format is based on ISO 8601 format with default UTC time zone\",\"deliverAt\":\"2025-01-24T21:18:31.271Z\"}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
// This code uses the built-in HttpClient package in the .NET framework. // Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
using System.Net.Http.Headers; var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("https://api.wassenger.com/v1/messages"), Headers = { { "Token", "API TOKEN GOES HERE" }, }, Content = new StringContent("{\"group\":\"${@g.us">group_id}@g.us\",\"message\":\"This is a scheduled message to be sent tomorrow to a group chat. Date format is based on ISO 8601 format with default UTC time zone\",\"deliverAt\":\"2025-01-24T21:18:31.271Z\"}") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } } }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); }
// This code requires you to have installed Unirest package.
// Documentation: https://kong.github.io/unirest-java/#requests
// Installation: http://kong.github.io/unirest-java/
HttpResponse<String> response = Unirest.post("https://api.wassenger.com/v1/messages")
.header("Content-Type", "application/json")
.header("Token", "API TOKEN GOES HERE")
.body("{\"group\":\"${@g.us">group_id}@g.us\", \"message\":\"This is a scheduled message to be sent tomorrow to a group chat.Date format is based on ISO 8601 format with default UTC time zone\", \"deliverAt\":\"2025-01-24T21:18:31.271Z\"}")
.asString();
$headers=@{}
$headers.Add("Content-Type", "application/json")
$headers.Add("Token", "API TOKEN GOES HERE")
$response = Invoke-WebRequest -Uri 'https://api.wassenger.com/v1/messages' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"group":"${@g.us">group_id}@g.us", "message":"This is a scheduled message to be sent tomorrow to a group chat.Date format is based on ISO 8601 format with default UTC time zone", "deliverAt":"2025-01-24T21:18:31.271Z"}'
require 'uri'
require 'net/http'
url = URI("https://api.wassenger.com/v1/messages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Token"] = 'API TOKEN GOES HERE'
request.body = "{\"group\":\"${@g.us">group_id}@g.us\", \"message\":\"This is a scheduled message to be sent tomorrow to a group chat.Date format is based on ISO 8601 format with default UTC time zone\", \"deliverAt\":\"2025-01-24T21:18:31.271Z\"}"
response = http.request(request)
puts response.read_body
package main
import(
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url:= "https://api.wassenger.com/v1/messages"
payload:= strings.NewReader("{\"group\":\"${@g.us">group_id}@g.us\", \"message\":\"This is a scheduled message to be sent tomorrow to a group chat.Date format is based on ISO 8601 format with default UTC time zone\", \"deliverAt\":\"2025-01-24T21:18:31.271Z\"}")
req, _:= http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Token", "API TOKEN GOES HERE")
res, _:= http.DefaultClient.Do(req)
defer res.Body.Close()
body, _:= io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
🤩 🤖 Wassenger es una plataforma de comunicación completa y una solución de API para WhatsApp. Explora más de 100 casos de uso de la API y automatiza cualquier cosa en WhatsApp registrándote para una prueba gratuita y comenzando en minutos!
Pruebas en vivo para enviar un mensaje a un grupo vía API
Explora nuestro probador de API en vivo
Preguntas frecuentes
Cómo enviar mensajes a múltiples grupos
Solo tienes que enviar múltiples solicitudes a la API, una por cada grupo objetivo.
Por ejemplo, si quieres enviar un mensaje a 10 grupos, deberías enviar 10 solicitudes HTTPS independientes a la API.
No existe la opción de enviar múltiples mensajes en una sola solicitud a la API.
¿Qué tipo de mensajes se pueden enviar?
Puedes enviar diferentes tipos de mensajes, incluyendo texto, imágenes, videos, emojis, audio, gifs, ubicaciones geográficas y documentos de archivo mediante la API.
Consulta otros tutoriales para más información.
Recursos útiles adicionales
Para más detalles sobre el endpoint de la API, por favor consulta nuestra documentación. Encontrarás todos los detalles sobre los parámetros de la solicitud aceptados, las posibles respuestas de éxito o error y ejemplos de código listos para usar en múltiples lenguajes de programación.







