Enviar encuestas automatizadas a canales de WhatsApp vía API

1 de octubre de 2024

La función de encuestas en WhatsApp Channels es una nueva forma para que los administradores de canales interactúen con su audiencia y obtengan retroalimentación sobre varios temas.

Las encuestas son una forma simple y efectiva de aumentar el engagement y fomentar la conexión comunitaria dentro de WhatsApp Channels. Con esta incorporación y la automatización que Wassenger aporta, las empresas pueden generar fácilmente más respuestas e interactuar con su audiencia de manera significativa.

Estas funciones abren nuevas oportunidades para una interacción creativa y directa con tu audiencia, dando a las marcas nuevas maneras de conectar y hacer crecer su comunidad.

🤩 🤖 Wassenger es una plataforma de comunicación y solución API completa 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!

Requisitos

  • Tener un número de WhatsApp ya vinculado a la plataforma y en línea.
  • ID de WhatsApp del canal (WID) que puedes encontrar de dos maneras:
  1. 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.
  2. Usando la API, consulta los canales disponibles en tu dispositivo con este endpoint.

Endpoint de la API

En este tutorial utilizaremos el siguiente endpoint de la API:

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 para enviar la nueva encuesta

{
  "group": "$CHANNEL_ID@newsletter",
  "poll": {
    "name": "Which product of ours do you use the most?",
    "options": [
      "Product A - Wireless Headphones",
      "Product B - Smartwatch",
      "Product C - Fitness Tracker",
      "Product D - Bluetooth Speaker",
      "Product E - Smartphone Charger",
      "Product F - Laptop Stand",
      "Product G - Home Security Camera",
      "Product H - Smart Light Bulb",
      "Product I - Portable Power Bank"
    ]
  }
}

🖥️ ¿Buscas un ejemplo de código? Ve al probador en vivo de la API y obtiene ejemplos de código listos para usar en más de 15 lenguajes de programación, incluidos Python, JavaScript, PHP, C#, Java, Ruby, Go, Powershell, cURL y más.

Enviar encuestas usando código

Explora cómo usar el código en tu navegador sin instalar ningún software.

Además, puedes encontrar diferentes lenguajes que puedes probar en Replit.com:

# Examples requires to have installed requests Python package.
# Install it by running: pip install requests
import requests
url = "https://api.wassenger.com/v1/messages"
querystring = {"limit":"100"}
payload = {
"group": "$CHANNEL_ID@newsletter", 
"poll": {
"name": "Which product of ours do you use the most?", 
"options": ["Product A - Wireless Headphones", "Product B - Smartwatch", "Product C - Fitness Tracker", "Product D - Bluetooth Speaker", "Product E - Smartphone Charger", "Product F - Laptop Stand", "Product G - Home Security Camera", "Product H - Smart Light Bulb", "Product I - Portable Power Bank"]
}
}
headers = {
"Content-Type": "application/json", 
"Token": "API TOKEN GOES HERE"
}
response = requests.post(url, json=payload, headers=headers, params=querystring)
print(response.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.wassenger.com/v1/messages?limit=100',
  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' => '$CHANNEL_ID@newsletter',
    'poll' => [
      'name' => 'Which product of ours do you use the most?',
      'options' => [
        'Product A - Wireless Headphones',
        'Product B - Smartwatch',
        'Product C - Fitness Tracker',
        'Product D - Bluetooth Speaker',
        'Product E - Smartphone Charger',
        'Product F - Laptop Stand',
        'Product G - Home Security Camera',
        'Product H - Smart Light Bulb',
        'Product I - Portable Power Bank',
      ],
    ],
  ]),
  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;
}

🤩 🤖 Wassenger es una solución API completa para WhatsApp. Regístrate para una prueba gratuita de 7 días y comienza en minutos!

// Examples 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://pecl.php.net/package/pecl_http/3.2.0
<?php
$client = new http\Client();
$request = new http\Client\Request();
$body = new http\Message\Body();
$body->append(
  json_encode([
    'group' => '$CHANNEL_ID@newsletter',
    'poll' => [
      'name' => 'Which product of ours do you use the most?',
      'options' => [
        'Product A - Wireless Headphones',
        'Product B - Smartwatch',
        'Product C - Fitness Tracker',
        'Product D - Bluetooth Speaker',
        'Product E - Smartphone Charger',
        'Product F - Laptop Stand',
        'Product G - Home Security Camera',
        'Product H - Smart Light Bulb',
        'Product I - Portable Power Bank',
      ],
    ],
  ])
);
$request->setRequestUrl('https://api.wassenger.com/v1/messages');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setQuery(
  new http\QueryString([
    'limit' => '100',
  ])
);
$request->setHeaders([
  'Content-Type' => 'application/json',
  'Token' => 'API TOKEN GOES HERE',
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
// 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?limit=100")
.header("Content-Type", "application/json")
.header("Token", "API TOKEN GOES HERE")
.body("{\"group\":\"$CHANNEL_ID@newsletter\", \"poll\":{\"name\":\"Which product of ours do you use the most?\", \"options\":[\"Product A - Wireless Headphones\", \"Product B - Smartwatch\", \"Product C - Fitness Tracker\", \"Product D - Bluetooth Speaker\", \"Product E - Smartphone Charger\", \"Product F - Laptop Stand\", \"Product G - Home Security Camera\", \"Product H - Smart Light Bulb\", \"Product I - Portable Power Bank\"]}}")
.asString();

¿Necesitas más? ¡Explora todos nuestros ejemplos de encuestas en WhatsApp y lánzate!

🤩 🤖 Wassenger es una plataforma de comunicación y solución API completa 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 usando la API

Explora nuestro probador en vivo de la API

Preguntas frecuentes

Tengo varios números conectados: ¿cómo envío mensajes a través de un número específico?

Si tienes varios números conectados a tu cuenta, necesitas especificar el campo device en el cuerpo JSON con el ID del dispositivo del número de WhatsApp objetivo (valor hexadecimal de 24 caracteres) por el que deseas enviar los mensajes.

Si el campo device no se especifica, los mensajes se enviarán a través del primer número de WhatsApp conectado en tu cuenta.

Aquí hay un ejemplo de cómo enviar un mensaje a través de un número de WhatsApp específico

Cómo enviar mensajes a múltiples números de teléfono

Tienes que enviar múltiples solicitudes a la API, una por cada número de teléfono objetivo.

Por ejemplo, si deseas enviar un mensaje a 10 números de teléfono, debes 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.

Cómo validar si un número de teléfono puede recibir mensajes de WhatsApp

Puedes validar si un número de teléfono dado está vinculado a una cuenta de WhatsApp y puede recibir mensajes.

La API proporciona un endpoint que puede validar si un número de teléfono dado existe en WhatsApp o no.

El único requisito es tener al menos un número de WhatsApp conectado a la plataforma en tu cuenta actual.

Para más detalles, consulta la documentación del endpoint de la API aquí.

Antes de comprobar si un número de teléfono existe en WhatsApp, también puedes validar y normalizar el formato de una lista de números de teléfono usando el endpoint validador de números. Este endpoint solo valida el correcto formato E164, pero no comprueba si el número de teléfono existe efectivamente en WhatsApp.

Nota: El número de validaciones de comprobación en WhatsApp está limitado por mes según tu plan de suscripción. Por favor consulta la tabla de precios para más detalles sobre los límites.

¿Buscas más respuestas? Consulta las FAQs extendidas.

Recursos útiles adicionales

Documentación de la API

Para más detalles sobre el endpoint de la API, por favor consulta la documentación donde encontrarás todos los detalles sobre los parámetros de solicitud aceptados, posibles respuestas de éxito o error y ejemplos de código listos para usar en múltiples lenguajes de programación:

https://app.wassenger.com/docs/#tag/Messages/operation/createMessage

🤩 🤖 Wassenger es una solución API completa para WhatsApp. Regístrate para una prueba gratuita de 7 días y comienza en minutos!

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free