Difunda a Millones en WhatsApp
Envíe mensajes con plantillas a miles de contactos con seguimiento de entrega en tiempo real, soporte de medios enriquecidos y limitación inteligente — todo mediante una sola llamada de API.
✦ No credit card required · Free plan available · Setup in 5 minutes
Difusión Oficial, Sin Riesgo de Bloqueo
StartMessaging utiliza la estructura oficial de la Cloud API de Meta. Al enviar plantillas preaprobadas a audiencias con opt-in, evita los filtros de spam que causan bloqueos de número. Nuestro sistema gestiona las tasas de entrega dinámicamente.
- Admite más de 100 mil contactos por difusión
- Soporte de medios enriquecidos: imágenes, documentos, botones interactivos
- Confirmación de entrega y recibos de lectura en tiempo real
Difusión vs. Campañas vs. Spam Masivo No Oficial
Por qué elegir difusiones oficiales protege la reputación de su marca y su número de teléfono.
| Métricas de Comparación | Difusión StartMessaging | Campañas en Secuencia | Extractores Web No Oficiales |
|---|---|---|---|
| Tiempo de Configuración | Instantáneo (API Directa) | Instantáneo (Constructor de Flujo) | Requiere inicio de sesión web manual |
| Verificaciones de Cumplimiento de Opt-In | Requerido | Requerido | ✗ (Alta tasa de spam) |
| Velocidad de Entrega | Hasta 80 mensajes/segundo | Limitado según reglas de activación | Muy lento (retrasos manuales) |
| Riesgo de Bloqueo de Número | 0% (Conforme TRAI/Meta) | 0% (Conforme TRAI/Meta) | 99% (Bloqueo inmediato del número) |
Activar un Mensaje de Difusión Programáticamente
curl -X POST https://api.startmessaging.com/v1/broadcast \
-H "Content-Type: application/json" \
-H "X-API-Key: sm_live_your_api_key_here" \
-d '{
"templateName": "order_shipped",
"languageCode": "en",
"recipients": ["+919876543210", "+918765432109"],
"variables": {
"+919876543210": { "name": "Rahul", "orderId": "#5521" },
"+918765432109": { "name": "Aarav", "orderId": "#5522" }
}
}' const response = await fetch("https://api.startmessaging.com/v1/broadcast", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "sm_live_your_api_key_here",
},
body: JSON.stringify({
templateName: "order_shipped",
languageCode: "en",
recipients: ["+919876543210", "+918765432109"],
variables: {
"+919876543210": { name: "Rahul", orderId: "#5521" },
"+918765432109": { name: "Aarav", orderId: "#5522" }
}
})
});
const data = await response.json();
console.log(data); import requests
response = requests.post(
"https://api.startmessaging.com/v1/broadcast",
headers={
"Content-Type": "application/json",
"X-API-Key": "sm_live_your_api_key_here",
},
json={
"templateName": "order_shipped",
"languageCode": "en",
"recipients": ["+919876543210", "+918765432109"],
"variables": {
"+919876543210": { "name": "Rahul", "orderId": "#5521" },
"+918765432109": { "name": "Aarav", "orderId": "#5522" }
}
}
)
print(response.json()) $ch = curl_init("https://api.startmessaging.com/v1/broadcast");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: sm_live_your_api_key_here",
],
CURLOPT_POSTFIELDS => json_encode([
"templateName" => "order_shipped",
"languageCode" => "en",
"recipients" => ["+919876543210", "+918765432109"],
"variables" => [
"+919876543210" => ["name" => "Rahul", "orderId" => "#5521"],
"+918765432109" => ["name" => "Aarav", "orderId" => "#5522"]
]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true); import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
String body = """
{
"templateName": "order_shipped",
"languageCode": "en",
"recipients": ["+919876543210", "+918765432109"],
"variables": {
"+919876543210": { "name": "Rahul", "orderId": "#5521" },
"+918765432109": { "name": "Aarav", "orderId": "#5522" }
}
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.startmessaging.com/v1/broadcast"))
.header("Content-Type", "application/json")
.header("X-API-Key", "sm_live_your_api_key_here")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body()); package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"io"
)
func main() {
payload, _ := json.Marshal(map[string]interface{}{
"templateName": "order_shipped",
"languageCode": "en",
"recipients": []string{"+919876543210", "+918765432109"},
"variables": map[string]interface{}{
"+919876543210": map[string]string{ "name": "Rahul", "orderId": "#5521" },
"+918765432109": map[string]string{ "name": "Aarav", "orderId": "#5522" },
},
})
req, _ := http.NewRequest("POST", "https://api.startmessaging.com/v1/broadcast", bytes.NewBuffer(payload))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "sm_live_your_api_key_here")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
} Difusión — Preguntas Frecuentes
¿A cuántos contactos puedo enviar una difusión?
No hay un límite rígido de nuestra parte. Puede difundir a más de 100.000 contactos por campaña. Meta aplica límites de throughput por número de teléfono (típicamente 80 mensajes/segundo para números de Nivel 4). Nuestro motor gestiona la limitación automáticamente.
¿Necesito usar plantillas preaprobadas para difusiones?
Sí. WhatsApp requiere que todos los mensajes iniciados por empresas utilicen plantillas preaprobadas. Puede crear plantillas a través de nuestro panel de control. La mayoría de las plantillas son revisadas y aprobadas por Meta en minutos.
¿La difusión en WhatsApp cumple con las regulaciones locales contra el spam?
Sí, las difusiones oficiales cumplen plenamente con las regulaciones porque requieren el opt-in del destinatario y utilizan plantillas preaprobadas.
Páginas Relacionadas
Empiece a Difundir en WhatsApp Hoy
Plan gratis. Sin tarjeta de crédito.