API de WhatsAPP Business para Scala lang
Envíe mensajes de WhatsAPP con nuestra API para Scala lang de forma sencilla y segura. Pruebe gratis nuestra API para Scala lang. Nuestro equipo le ayudará a integrar el envío automatizado de WhatsAPP en su aplicación en Scala lang.
Funcionalidad de la API de WhatsAPP Business
Enviar un mensaje por WhatsAPP con Scala lang
val aclass = "whatsapp"
val method = "sendmessage"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "3460000000"
val message = "test+message"
val result = Http("https://www.afilnet.com/api/http/")
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.param("message", message)
.asString
val aclass = "whatsapp"
val method = "sendmessage"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "3460000000"
val message = "test+message"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.param("message", message)
.asString
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=whatsapp | Clase a la que se realiza la petición | Obligatorio |
method=sendmessage | Método de la clase al que se realiza la petición | Obligatorio |
user | El usuario / email de su cuenta de Afilnet | Obligatorio |
password | El password de su cuenta de Afilnet | Obligatorio |
platformid | Identificador de la plataforma | Obligatorio |
destination | whatsapp.sendmessage_destination | Obligatorio |
message | whatsapp.sendmessage_message | Obligatorio |
Respuesta:
- status
-
result (si status=success), recibirá los siguientes valores:
- No recibirá valores adicionales
- error (si status=error), aquí recibirá el código de error
Códigos de error:
Código | Descripción |
---|---|
MISSING_USER | Usuario / email no incluido |
MISSING_PASSWORD | Password no incluido |
MISSING_CLASS | Clase no incluida |
MISSING_METHOD | Método no incluido |
MISSING_COMPULSORY_PARAM | Parámetro obligatorio no incluido |
INCORRECT_USER_PASSWORD | Usuario o clave incorrectos |
INCORRECT_CLASS | Clase incorrecta |
INCORRECT_METHOD | Método incorrecto |
CHANNEL_NOT_FOUND | El canal indicado no existe |
Enviar un archivo por WhatsAPP con Scala lang
val aclass = "whatsapp"
val method = "sendmessage"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "3460000000"
val message = "test+message"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.param("message", message)
.asStringval aclass = "whatsapp"
val method = "sendfile"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "3460000000"
val type = "image"
val fileurl = "https://www.example.com/image.jpg"
val thumburl = "https://www.example.com/thumb.jpg"
val message = "test+message"
val result = Http("https://www.afilnet.com/api/http/")
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.param("type", type)
.param("fileurl", fileurl)
.param("thumburl", thumburl)
.param("message", message)
.asString
val aclass = "whatsapp"
val method = "sendfile"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "3460000000"
val type = "image"
val fileurl = "https://www.example.com/image.jpg"
val thumburl = "https://www.example.com/thumb.jpg"
val message = "test+message"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.param("type", type)
.param("fileurl", fileurl)
.param("thumburl", thumburl)
.param("message", message)
.asString
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=whatsapp | Clase a la que se realiza la petición | Obligatorio |
method=sendfile | Método de la clase al que se realiza la petición | Obligatorio |
user | El usuario / email de su cuenta de Afilnet | Obligatorio |
password | El password de su cuenta de Afilnet | Obligatorio |
platformid | Identificador de la plataforma | Obligatorio |
destination | whatsapp.sendfile_destination | Obligatorio |
type | whatsapp.sendfile_type | Obligatorio |
fileurl | whatsapp.sendfile_fileurl | Obligatorio |
thumburl | whatsapp.sendfile_thumburl | Opcional |
message | whatsapp.sendfile_message | Opcional |
Respuesta:
- status
-
result (si status=success), recibirá los siguientes valores:
- No recibirá valores adicionales
- error (si status=error), aquí recibirá el código de error
Códigos de error:
Código | Descripción |
---|---|
MISSING_USER | Usuario / email no incluido |
MISSING_PASSWORD | Password no incluido |
MISSING_CLASS | Clase no incluida |
MISSING_METHOD | Método no incluido |
MISSING_COMPULSORY_PARAM | Parámetro obligatorio no incluido |
INCORRECT_USER_PASSWORD | Usuario o clave incorrectos |
INCORRECT_CLASS | Clase incorrecta |
INCORRECT_METHOD | Método incorrecto |
CHANNEL_NOT_FOUND | El canal indicado no existe |
CHAT_NOT_FOUND | El chat indicado no existe |
INCORRECT_FILETYPE | El tipo de archivo es incorrecto, revise los valores posibles |
INCORRECT_FILEURL | La url del archivo no es válida |
INCORRECT_THUMBURL | La url de la miniatura no es válida |
Enviar un mensaje con plantilla por WhatsAPP con Scala lang
val aclass = "whatsapp"
val method = "sendfile"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "3460000000"
val type = "image"
val fileurl = "https://www.example.com/image.jpg"
val thumburl = "https://www.example.com/thumb.jpg"
val message = "test+message"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.param("type", type)
.param("fileurl", fileurl)
.param("thumburl", thumburl)
.param("message", message)
.asStringval aclass = "whatsapp"
val method = "sendmessagefromtemplate"
val user = "user"
val password = "password"
val idtemplate = "100"
val platformid = "100"
val destination = "3460000000"
val options = "{\"header\":{\"file\":\"url\"}}"
val result = Http("https://www.afilnet.com/api/http/")
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("idtemplate", idtemplate)
.param("platformid", platformid)
.param("destination", destination)
.param("options", options)
.asString
val aclass = "whatsapp"
val method = "sendmessagefromtemplate"
val user = "user"
val password = "password"
val idtemplate = "100"
val platformid = "100"
val destination = "3460000000"
val options = "{\"header\":{\"file\":\"url\"}}"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("idtemplate", idtemplate)
.param("platformid", platformid)
.param("destination", destination)
.param("options", options)
.asString
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=whatsapp | Clase a la que se realiza la petición | Obligatorio |
method=sendmessagefromtemplate | Método de la clase al que se realiza la petición | Obligatorio |
user | El usuario / email de su cuenta de Afilnet | Obligatorio |
password | El password de su cuenta de Afilnet | Obligatorio |
idtemplate | Identificador de la plantilla | Obligatorio |
platformid | Identificador de la plataforma | Obligatorio |
destination | Destinatario del mensaje (Número en formato internacional) | Obligatorio |
options | Las opciones permiten parametrizar y configurar el mensaje a enviar (Ver Anexo) | Opcional |
Respuesta:
- status
-
result (si status=success), recibirá los siguientes valores:
- No recibirá valores adicionales
- error (si status=error), aquí recibirá el código de error
Códigos de error:
Código | Descripción |
---|---|
MISSING_USER | Usuario / email no incluido |
MISSING_PASSWORD | Password no incluido |
MISSING_CLASS | Clase no incluida |
MISSING_METHOD | Método no incluido |
MISSING_COMPULSORY_PARAM | Parámetro obligatorio no incluido |
INCORRECT_USER_PASSWORD | Usuario o clave incorrectos |
INCORRECT_CLASS | Clase incorrecta |
INCORRECT_METHOD | Método incorrecto |
CHANNEL_NOT_FOUND | El canal indicado no existe |
Obtener listado de conversaciones de WhatsAPP con Scala lang
val aclass = "whatsapp"
val method = "sendmessagefromtemplate"
val user = "user"
val password = "password"
val idtemplate = "100"
val platformid = "100"
val destination = "3460000000"
val options = "{\"header\":{\"file\":\"url\"}}"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("idtemplate", idtemplate)
.param("platformid", platformid)
.param("destination", destination)
.param("options", options)
.asStringval aclass = "whatsapp"
val method = "getchats"
val user = "user"
val password = "password"
val platformid = "100"
val result = Http("https://www.afilnet.com/api/http/")
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.asString
val aclass = "whatsapp"
val method = "getchats"
val user = "user"
val password = "password"
val platformid = "100"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.asString
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=whatsapp | Clase a la que se realiza la petición | Obligatorio |
method=getchats | Método de la clase al que se realiza la petición | Obligatorio |
user | El usuario / email de su cuenta de Afilnet | Obligatorio |
password | El password de su cuenta de Afilnet | Obligatorio |
platformid | Identificador de la plataforma | Obligatorio |
Respuesta:
- status
-
result (si status=success), recibirá los siguientes valores:
-
list
- platformid
- message
- destination
- messageid
- sent
- status
- datetime
-
list
- error (si status=error), aquí recibirá el código de error
Códigos de error:
Código | Descripción |
---|---|
MISSING_USER | Usuario / email no incluido |
MISSING_PASSWORD | Password no incluido |
MISSING_CLASS | Clase no incluida |
MISSING_METHOD | Método no incluido |
MISSING_COMPULSORY_PARAM | Parámetro obligatorio no incluido |
INCORRECT_USER_PASSWORD | Usuario o clave incorrectos |
INCORRECT_CLASS | Clase incorrecta |
INCORRECT_METHOD | Método incorrecto |
CHANNEL_NOT_FOUND | El canal indicado no existe |
CHAT_NOT_FOUND | El chat indicado no existe |
Obtener listado de mensajes de un WhatsAPP con Scala lang
val aclass = "whatsapp"
val method = "getchats"
val user = "user"
val password = "password"
val platformid = "100"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.asStringval aclass = "whatsapp"
val method = "getmessages"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "34600000000"
val result = Http("https://www.afilnet.com/api/http/")
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.asString
val aclass = "whatsapp"
val method = "getmessages"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "34600000000"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.asString
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=whatsapp | Clase a la que se realiza la petición | Obligatorio |
method=getmessages | Método de la clase al que se realiza la petición | Obligatorio |
user | El usuario / email de su cuenta de Afilnet | Obligatorio |
password | El password de su cuenta de Afilnet | Obligatorio |
platformid | Identificador de la plataforma | Obligatorio |
destination | Destinatario del cual se quiere obtener los mensajes | Obligatorio |
Respuesta:
- status
-
result (si status=success), recibirá los siguientes valores:
-
list
- platformid
- message
- destination
- messageid
- sent
- status
- datetime
-
list
- error (si status=error), aquí recibirá el código de error
Códigos de error:
Código | Descripción |
---|---|
MISSING_USER | Usuario / email no incluido |
MISSING_PASSWORD | Password no incluido |
MISSING_CLASS | Clase no incluida |
MISSING_METHOD | Método no incluido |
MISSING_COMPULSORY_PARAM | Parámetro obligatorio no incluido |
INCORRECT_USER_PASSWORD | Usuario o clave incorrectos |
INCORRECT_CLASS | Clase incorrecta |
INCORRECT_METHOD | Método incorrecto |
CHANNEL_NOT_FOUND | El canal indicado no existe |
CHAT_NOT_FOUND | El chat indicado no existe |
Obtener listado de mensajes no leídos de un chat de WhatsAPP con Scala lang
val aclass = "whatsapp"
val method = "getmessages"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "34600000000"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.asStringval aclass = "whatsapp"
val method = "getunreadmessages"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "34600000000"
val result = Http("https://www.afilnet.com/api/http/")
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.asString
val aclass = "whatsapp"
val method = "getunreadmessages"
val user = "user"
val password = "password"
val platformid = "100"
val destination = "34600000000"
val result = Http("https://www.afilnet.com/api/http/")
.postForm
.param("class", aclass)
.param("method", method)
.param("user", user)
.param("password", password)
.param("platformid", platformid)
.param("destination", destination)
.asString
Parámetro | Descripción | Obligatorio / Opcional |
---|---|---|
class=whatsapp | Clase a la que se realiza la petición | Obligatorio |
method=getunreadmessages | Método de la clase al que se realiza la petición | Obligatorio |
user | El usuario / email de su cuenta de Afilnet | Obligatorio |
password | El password de su cuenta de Afilnet | Obligatorio |
platformid | Identificador de la plataforma | Obligatorio |
destination | Destinatario del cual se quiere obtener los mensajes | Obligatorio |
Respuesta:
- status
-
result (si status=success), recibirá los siguientes valores:
-
list
- platformid
- message
- destination
- messageid
- issent
- status
- datetime
-
list
- error (si status=error), aquí recibirá el código de error
Códigos de error:
Código | Descripción |
---|---|
MISSING_USER | Usuario / email no incluido |
MISSING_PASSWORD | Password no incluido |
MISSING_CLASS | Clase no incluida |
MISSING_METHOD | Método no incluido |
MISSING_COMPULSORY_PARAM | Parámetro obligatorio no incluido |
INCORRECT_USER_PASSWORD | Usuario o clave incorrectos |
INCORRECT_CLASS | Clase incorrecta |
INCORRECT_METHOD | Método incorrecto |
CHANNEL_NOT_FOUND | El canal indicado no existe |
CHAT_NOT_FOUND | El chat indicado no existe |
ANEXO: Opciones adicionales en Mensajes
En este anexo aprenderá a enviar mensajes desde sus plantillas. Las plantillas de WhatsAPP le permite enviar mensajes más elaborados que los mensajes de texto, permitiendo adjuntar archivos, así como incluir botones en sus mensajes.
Opciones
Las opciones permiten enviar mensajes interactivos, adjuntar imágenes, videos, documentos y compartir localizaciones por WhatsAPP. Para ello aquí aprenderá a personalizar el parámetro "options". El parámetro "options" debe ser una cadena en formato JSON siguiendo las siguientes especificaciones:
Parámetros principales
header | Detalles sobre la cabecera del mensaje (opcional) |
---|---|
params | Valores a los diferentes valores de la plantilla (opcional) |
Ejemplo
{"header":"", "params": ""} |
Definir la cabecera
Definir una cabecera le permitirá adjuntar diferentes archivos y servicios a sus mensajes de WhatsAPP
Enviar una Imagen
file | URL de la imagen (Formatos permitidos: JPG, PNG, WEBP) El archivo debe estar subida a internet y ser accesible a través de una URL
|
---|
Enviar un Video
file | URL del video (Formatos permitidos: MP4, MPEG, 3GP) El archivo debe estar subida a internet y ser accesible a través de una URL
|
---|
Enviar un Documento
file | URL del documento (Formatos permitidos: TXT, PDF, PPT, DOC, DOCX, XLS, PPTX, XLSX) El archivo debe estar subida a internet y ser accesible a través de una URL
|
---|
Enviar una Localización
file | Latitud y longitud con el formato: (0.0000, 0.0000) | ||||
---|---|---|---|---|---|
location |
|
Definir los parámetros
Utilizar parámetros le permitirá personalizar sus plantillas a cada destinatario, permitiendo incluir información relacionada con el destinatario al mensaje. Algunos ejemplos de esta información sería: Datos personales, Datos relacionados con su cuenta, Información de seguimiento, etc.
Ejemplo JSON: | {"params":{"name":"John", "orderid": "10"}} |
---|
Ejemplos de JSON válidos
Enviar un mensaje con parámetros personalizados
En este ejemplo vamos a enviar un mensaje parametrizado.
Mensaje de la plantilla con parámetros: | Estimado {{name}}, su pedido con ID: {{orderid}} ha salido de nuestros almacenes |
---|---|
Ejemplo JSON: | {"params":{"name":"John", "orderid": "10"}} |
Enviar una Imagen
En este ejemplo vamos a utilizar una plantilla que tiene cómo cabecera una imagen.
Ejemplo JSON: | {"header":{"file":"https:\/\/test.com\/test.jpg"}} |
---|
Enviar una Imagen y mensaje con parámetros personalizados
En este ejemplo vamos a utilizar una plantilla que tiene cómo cabecera una imagen. Adjuntamos una imagen con el número de seguimiento.
Mensaje de la plantilla con parámetros: | Estimado {{name}}, su pedido con ID: {{orderid}} ha salido de nuestros almacenes |
---|---|
Ejemplo JSON: | {"header":{"file":"https:\/\/test.com\/test.jpg"}, "params":{"name":"John", "orderid": "10"}} |
Enviar un Video
En este ejemplo vamos a utilizar una plantilla que tiene cómo cabecera un video.
Ejemplo JSON: | {"header":{"file":"https:\/\/test.com\/test.mp4"}} |
---|
Enviar un Documento
En este ejemplo vamos a utilizar una plantilla que tiene cómo cabecera un documento.
Ejemplo JSON: | {"header":{"file":"https:\/\/test.com\/test.mp4"}} |
---|
Enviar una Localización
En este ejemplo vamos a utilizar una plantilla que tiene cómo cabecera una localización.
Ejemplo JSON: | {"header":{"file":"(LATITUDE, LONGITUDE)","location":{"name":"NAME","address":"ADDRESS"}}} |
---|
¿Qué API para Scala lang debo utilizar?
Descubra las ventajas e inconvenientes de cada una de nuestras APIs. Descubra cual API es mejor para su Software en Scala lang.
Esta API permite conectar con nosotros desde Scala lang para enviar peticiones a través de peticiones HTTP GET. Esta petición envía los parámetros en la misma URL de la petición.
- HTTP GET es extremadamente sencillo de implementar
- Información se envía no cifrada (Se podría extraer contraseñas de logs o caché)
- Petición máximas de ~4000 caracteres
La API de peticiones POST le permite conectar con nuestra API desde Scala lang enviando los parámetros de la petición por parámetros HTTP POST. La información se envía de forma independiente a la URL.
- HTTP POST es sencillo de implementar
- Información se envía cifrada
- No hay limite en el tamaño de la petición
- Seguridad media
La API de autenticación básica permite la utilización de peticiones GET y POST en Scala lang con una capa de seguridad adicional, ya que en este caso el usuario y clave se envía en la cabecera de la petición.
- La autenticación básica es sencilla de implementar
- Datos de acceso se envían cifrados
- El límite del tamaño depende del uso de GET o POST
- Seguridad media
SOAP le permite enviar peticiones en formato XML con Scala lang, SOAP añade capa de seguridad extra en las peticiones API.
- La integración SOAP es más compleja
- Información se envía cifrada
- No hay limite en el tamaño de la petición
- Seguridad media / alta
Nuestra API JSON le permite enviar peticiones en formato JSON con Scala lang, además esta API añade el protocolo oAuth 2.0 en la autenticación que le permite añadir una capa adicional de seguridad.
- La integración JSON oAuth 2.0 es más compleja
- Información se envía cifrada
- No hay limite en el tamaño de la petición
- Seguridad alta
Conectar Scala lang con nuestra API de WhatsAPP Business
Regístrese como cliente
Para poder tener acceso a la API debe ser cliente de Afilnet. El registro le llevará pocos minutos.
Solicite su prueba gratuita
Nuestra empresa le ofrecerá saldo de prueba que le permitirá realizar las pruebas con la API que necesite.
Integre la API
Realice la integración de la API utilizando el lenguaje de programación que deseen. Si tiene alguna duda o sugerencía sobre la API contáctenos
¡Bienvenido a Afilnet!
¡Todo listo!, ha conseguido mejorar sus comunicaciones con Afilnet. Estamos para darle soporte de nuestra API cuando lo necesite
Contacte con nuestro equipo a través de cualquiera duda a través de los métodos de contacto que le ofrecemos. Nuestro equipo intentará ofrecerla una solución inmediata y le ayudará en la integración de nuestra API en su Software.