Enviar mensajes de audio usando la API de WhatsApp

3 de junio de 2024

¿Necesitas ayuda con consultas de clientes, promociones y actualizaciones que debes enviar? Imagina si pudieras automatizar estas tareas, como enviar mensajes de audio tipo grabación de voz en WhatsApp directamente a clientes o chats grupales, para hacer todo de forma rápida y eficiente. Con Wassenger, ¡esto se hace fácilmente!

Ya sea un recordatorio, notificación o promoción, tus mensajes de audio garantizan una entrega efectiva y mejoran la experiencia del cliente. Además, ahorras tiempo y ofreces una mejor experiencia de usuario usando audio en lugar de texto.

En este tutorial, te guiaremos paso a paso sobre cómo configurar y usar la Wassenger API para automatizar la entrega de mensajes de audio de WhatsApp (tipo grabación de voz) a 🚀

Ejemplos de código listos para usar en Python, C#, PHP, JavaScript, Ruby, Java, Go y cURL están disponibles aquí.

🫣 ¿No quieres usar programación? ¡No hay problema! Explora nuestra nueva función de Campañas de WhatsApp sin código. ¡Importa tus contactos, define un mensaje, programa la fecha de entrega y relájate! 🥳 🥳

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

Este tutorial te enseñará cómo enviar mensajes de audio a números de teléfono y a listas de chat grupales usando la API.

Puedes enviar archivos de audio en cualquiera de los siguientes formatos: MP3, OGG, MP4, ACC.

Si necesitas enviar mensajes desde código, puedes usar cualquier lenguaje de programación para realizar solicitudes HTTPS a la API. A continuación está el probador de API en vivo con ejemplos de código listos para usar en varios lenguajes de programación.

Requisitos

Endpoints de la API

En este tutorial, usaremos el siguiente endpoint de la API:

Puedes enviar mensajes de audio en una sola solicitud a la API pasando la URL remota donde está almacenado el archivo. Haz clic aquí para probarlo

Enviar mensaje de audio desde URL

Para enviar un mensaje de audio tipo grabación de voz (PTT o Push-To-Talk) como un mensaje multimedia, en este caso un archivo de audio, debes proporcionar una URL pública remota (accesible por Internet) que apunte al contenido del archivo de audio.

Para enviar un mensaje de audio (PTT) usando las siguientes opciones con la API:

  • URL remota usando JSON con un campo url con la URL públicamente accesible para descargar el archivo de audio.

Ejemplo de archivo de audio MP3 para usar

https://download.samplelib.com/mp3/sample-9s.mp3

Nota: en caso de que la URL no sea públicamente accesible, devuelva un estado HTTP no válido (>=400), o devuelva contenido no binario, como HTML o texto, la API devolverá un error.

URL de la API objetivo (POST)

https://api.wassenger.com/v1/messages

Encabezados HTTPS requeridos

Content-Type: application/json
Token: $API-TOKEN

Cuerpo de la solicitud en formato JSON

{
  "phone": "+1234567890",
  "media": {
    "url": "https://download.samplelib.com/mp3/sample-9s.mp3",
    "format": "ptt"
  }
}

Dependiendo del lenguaje de programación o del cliente HTTP que utilices, el proceso puede variar. Para hacerlo más sencillo, destacamos las herramientas más populares, como Postman, y otros lenguajes de programación.

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

Enviar audio usando código

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

Además, puedes encontrar distintos lenguajes 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 = { "phone": "+1234567890", "media": { "url": "https://download.samplelib.com/mp3/sample-9s.mp3", "format": "ptt" } } headers = { "Content-Type": "application/json", "Token": "ENTER API KEY HERE" }

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)

var axios = require('axios');
var options = {
  method: 'POST',
  url: 'https://api.wassenger.com/v1/messages',
  headers: { 'Content-Type': 'application/json', Token: 'ENTER API KEY HERE' },
  data: {
    phone: '+1234567890',
    media: {
      url: 'https://download.samplelib.com/mp3/sample-9s.mp3',
      format: 'ptt'
    }
  }
};
axios
  .request(options)
  .then(function (response) {
    console.log(response.data);
  })
  .catch(function (error) {
    console.error(error);
  });
<?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 => "{\"phone\":\"+1234567890\", \"media\":{\"url\":\"https://download.samplelib.com/mp3/sample-9s.mp3\", \"format\":\"ptt\"}}",
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Token: ENTER API KEY HERE',
  ],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo 'cURL Error #:' . $err;
} else {
  echo $response;
}
// 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(
  '{"phone":"+1234567890", "media":{"url":"https://download.samplelib.com/mp3/sample-9s.mp3", "format":"ptt"}}'
);
$request->setRequestUrl('https://api.wassenger.com/v1/messages');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
  'Content-Type' => 'application/json',
  'Token' => 'ENTER API KEY HERE',
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
package main
import(
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url:= "https://api.wassenger.com/v1/messages"
payload:= strings.NewReader("{\"phone\":\"+1234567890\", \"media\":{\"url\":\"https://download.samplelib.com/mp3/sample-9s.mp3\", \"format\":\"ptt\"}}")
req, _:= http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Token", "ENTER API KEY HERE")
res, _:= http.DefaultClient.Do(req)
defer res.Body.Close()
body, _:= ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
  • C# (RestClient)
// 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", "ENTER API KEY HERE");
request.AddParameter("application/json", "{\"phone\":\"+1234567890\", \"media\":{\"url\":\"https://download.samplelib.com/mp3/sample-9s.mp3\", \"format\":\"ptt\"}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.wassenger.com/v1/messages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Token"] = 'ENTER API KEY HERE'
request.body = "{\"phone\":\"+1234567890\", \"media\":{\"url\":\"https://download.samplelib.com/mp3/sample-9s.mp3\", \"format\":\"ptt\"}}"
response = http.request(request)
puts response.read_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", "ENTER API KEY HERE")
.body("{\"phone\":\"+1234567890\", \"media\":{\"url\":\"https://download.samplelib.com/mp3/sample-9s.mp3\", \"format\":\"ptt\"}}")
.asString();

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

Enviar mensajes de audio a un número de teléfono

Enviar un nuevo mensaje multimedia vía API es fácil, solo necesitas conocer el número de teléfono destino en formato E.164 y la URL del archivo de audio.

Puedes enviar mensajes a cualquier número de teléfono en todo el mundo que tenga una cuenta de WhatsApp; no es necesario agregar el número como contacto en la agenda de tu dispositivo móvil o lista de contactos.

Enviar mensajes de audio a un chat grupal en WhatsApp

De forma similar al escenario anterior, también puedes enviar mensajes multimedia a chats grupales.

Para ello, necesitas conocer el ID del chat grupal objetivo y la URL remota del archivo de audio.

Para enviar mensajes a un grupo, debes ser participante y tener permisos para enviar mensajes. Si no eres el administrador del grupo, debes tener permiso para enviar mensajes.

Preparar la solicitud

URL de la API objetivo (POST)

https://api.wassenger.com/v1/messages

Encabezados HTTPS requeridos

Content-Type: application/json
Token: $API_KEY

Cuerpo de la solicitud en formato JSON

Enviando un mensaje a un chat grupal:

{
  "group": "1234567890-100000000@g.us",
  "media": {
    "url": "https://download.samplelib.com/mp3/sample-9s.mp3",
    "format": "ptt"
  }
}

Enviar mensajes de audio a un Canal de WhatsApp

De forma similar al escenario anterior, también puedes enviar mensajes multimedia a Canales de WhatsApp.

Para ello, necesitas conocer el ID del Canal de WhatsApp objetivo y la URL del archivo de audio.

Para enviar mensajes a un Canal de WhatsApp, debes ser el propietario del canal.

URL de la API objetivo (POST)

https://api.wassenger.com/v1/messages

Encabezados HTTPS requeridos

Content-Type: application/json
Token: $API_KEY

Cuerpo de la solicitud en formato JSON

Enviando un mensaje a un Canal de WhatsApp:

{
  "channel": "12345678901234567@newsletter",
  "media": {
    "url": "https://download.samplelib.com/mp3/sample-9s.mp3",
    "format": "ptt"
  }
}

Prueba en vivo: envío de mensajes multimedia usando la API

Ahora puedes ejecutar, depurar y probar la API en vivo directamente desde tu navegador, explorar y probar más ejemplos de la API y obtener con un clic fragmentos de código listos para usar disponibles en más de 15 lenguajes de programación 😎

Prueba el probador de API en vivo

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

Preguntas frecuentes

¿Puedo usar Wassenger para chatbots?

Sí, puedes construir tu chatbot con nuestra API y webhooks. Para ello, necesitas suscribirte a cualquier plan Platform que te permita implementar chatbots sobre la API.

Explora más en nuestro artículo relacionado aquí.

¿Qué tipos de archivos multimedia se pueden enviar?

Puedes enviar imágenes (JPEG, PNG, WEBP), videos (MP4, 3GPP), audios (MP3, OGG, MP4, ACC), gifs (MP4) y documentos (PDF, PPT, PPTX, DOCX, DOC, ZIP, RAR, otros tipos binarios).

Consulta la documentación de la API para más detalles.

¿Cómo puedo validar números de teléfono?

Puedes validar si un número de teléfono dado existe en WhatsApp o no, y por tanto si puede recibir mensajes en WhatsApp, usando el endpoint Number exists de la API.

Ten en cuenta que debes tener al menos un número de WhatsApp conectado a la plataforma para realizar la validación.

¿Buscas más respuestas? Consulta las preguntas frecuentes extendidas.

Otros recursos útiles

Documentación de la API

Para más detalles sobre los endpoints de la API, 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/Files

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free