Enviar mensajes automatizados en WhatsApp usando Kotlin

29 de mayo de 2024

Transforma tu estrategia de marketing con el poder de los mensajes automatizados en WhatsApp. Integrar la API de Wassenger con Kotlin te permite enviar recordatorios, mensajes personalizados y contenido promocional a tus clientes de manera fluida. Esta herramienta robusta ayuda a las empresas a aumentar las ventas y mejorar el engagement con los clientes.

En este artículo, te guiaremos en la configuración y el uso de la Wassenger API con Kotlin para automatizar tus mensajes de WhatsApp. Asegura interacciones oportunas y dirigidas con tu audiencia, eleva tus esfuerzos de marketing, mejora la satisfacción del cliente, y genera un crecimiento significativo en ventas con esta guía completa.

🫣 ¿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 empezando en minutos!

Requisitos

  • Tener un número de WhatsApp ya vinculado a la plataforma y en línea.
  • Número de teléfono del destinatario con prefijo internacional en formato E164. Ejemplo: +12345678900. Valida el formato del número de teléfono aquí.

Endpoint de la API

Usaremos el siguiente endpoint de la API para enviar mensajes a un chat:

Preparar la solicitud

URL objetivo de la API usando el método POST

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

Encabezados HTTPS requeridos > Obtén tu clave API aquí

Content-Type: application/json
Token: $API_TOKEN

Usa el cuerpo en formato JSON

{
  "phone": "+1234567890",
  "message": "Hello world, this is a sample message"
}

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

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

Enviar mensajes automatizados con Kotlin

Para enviar mensajes automatizados de WhatsApp usando Kotlin con la biblioteca OkHttp, sigue estos pasos:

  1. Instala OkHttp: Asegúrate de tener instalado el paquete OkHttp. Instalación vía Maven.
  2. Prepara la solicitud: Usa OkHttp para crear y enviar una solicitud POST con los encabezados necesarios y el cuerpo JSON.

// This code requires you to have installed okhttp package. // Documentation: https://square.github.io/okhttp/recipes/ // Installation via Maven: https://square.github.io/okhttp/#releases

// Send text message to a phone number val client = OkHttpClient()

val mediaType = MediaType.parse("application/json") val body = RequestBody.create(mediaType, "{\"phone\":\"+1234567890\",\"message\":\"Hello world! This is a test message.\"}") val request = Request.Builder() .url("https://api.wassenger.com/v1/messages") .post(body) .addHeader("Content-Type", "application/json") .addHeader("Token", "") .build()

val response = client.newCall(request).execute()

También puedes enviar varios tipos de mensajes según tus necesidades. Nuestra API es versátil y robusta.

1. Enviar mensajes de texto con alta prioridad a un grupo

val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\"group\":\"123456789000000000@g.us\", \"priority\":\"high\", \"message\":\"Hello world! This is a simple test message.\"}")
val request = Request.Builder()
.url("https://api.wassenger.com/v1/messages")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Token", "<api token goes here>")
.build()
val response = client.newCall(request).execute()

2. Enviar mensajes multimedia a usuarios. Nota: el archivo debe subirse primero

Aprende cómo enviar mensajes multimedia y subir archivos aquí

val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\"phone\":\"+1234567890\", \"message\":\"Hello world! This is a test media message.\", \"media\":{\"file\":\"<24 characters length file ID>\"}}")
val request = Request.Builder()
.url("https://api.wassenger.com/v1/messages")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Token", "<api token goes here>")
.build()
val response = client.newCall(request).execute()

3. Enviar un mensaje de texto que debe entregarse ahora

val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\"phone\":\"+1234567890\", \"message\":\"Hello world! This is a simple test message.\", \"enqueue\":\"never\"}")
val request = Request.Builder()
.url("https://api.wassenger.com/v1/messages")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Token", "<api token goes here>")
.build()
val response = client.newCall(request).execute()

4. Enviar mensajes programados con un retraso personalizado

val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\"phone\":\"+1234567890\", \"schedule\":{\"delayTo\":\"1h\"}, \"message\":\"Hello world! This is a simple test message.\"}")
val request = Request.Builder()
.url("https://api.wassenger.com/v1/messages")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Token", "<api token goes here>")
.build()
val response = client.newCall(request).execute()

5. Enviar un mensaje programado en una fecha específica con una fecha ISO 8601 válida

val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\"phone\":\"+1234567890\", \"deliverAt\":\"2019-01-01T11:00:00.410Z\", \"message\":\"Hello world! This is a simple test message.\"}")
val request = Request.Builder()
.url("https://api.wassenger.com/v1/messages")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Token", "<api token goes here>")
.build()
val response = client.newCall(request).execute()

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

Pruebas en vivo de la API

Puedes probar la API en vivo y jugar con ella directamente desde tu navegador.

Una vez que termines las pruebas, obtén el ejemplo de código autogenerado en tu lenguaje de programación preferido y estarás listo para comenzar.

🤩 🤖 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 empezando en minutos!

Preguntas frecuentes

¿De dónde puedo obtener los ejemplos de código de la API?

Por favor revisa la documentación de la API y selecciona el ejemplo de código listo para usar en el lenguaje deseado.

Proporcionamos ejemplos de código para los lenguajes y herramientas de línea de comandos más comunes, como JavaScript, Node.js, Python, Ruby, PHP, Java, C#, Swift, Go y más.

¿El número de claves API está relacionado con la cuenta o con el dispositivo? Si tengo dos dispositivos, ¿tengo dos claves API?

Cada cuenta tiene 1 clave API, por lo que si tienes dos dispositivos en la misma cuenta solo tendrás 1 clave API.

Si necesitas 2 claves API, puedes crear 2 cuentas diferentes con un dispositivo cada una. No hay costos adicionales.

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.

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

Para más detalles, por favor revisa 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 formato correcto E164 pero no comprueba si el número de teléfono está efectivamente en WhatsApp.

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

¿Buscas más respuestas? Consulta las FAQ ampliadas.

Recursos útiles adicionales

Documentación de la API 🖥️

Para más detalles sobre el endpoint de la API, por favor revisa la documentación donde encontrarás todos los detalles sobre los parámetros aceptados en la solicitud, 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

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free