Enviar en Masa
Utiliza esta función para enviar plantillas en masa a tus clientes. La API se encargará de la entrega a los destinatarios desde un archivo basado en columnas.
Enviar plantillas en masa te permite enviar una plantilla predefinida con diferentes valores relacionados con cada cliente, de manera que puedas seleccionar información dinámica desde una fuente como un archivo, para automatizar y enviar tu campaña fácilmente.
Directrices para las plantillas
El archivo fuente debe ser creado siguiendo las siguientes especificaciones:
-
Formato de archivo: Solo se admiten archivos con la extensión
.CSV
. -
Encabezado: La primera fila del archivo debe definir los Propiedads de las columnas (encabezado). Sigue estas reglas para el encabezado:
- Evita los espacios en blanco en los Propiedads de las columnas.
- No uses caracteres especiales ni signos de puntuación (por ejemplo,
!, $, %, &, *, etc.
). - Usa solo letras, números y guiones bajos (
_
) si es necesario. - Ejemplo correcto:
phone_number
,customer_name
,order_amount
. - Ejemplo incorrecto:
phone number
,customer-name!
,order#amount
.
-
Primera columna: La primera columna debe contener los números de teléfono de los destinatarios. Es obligatorio incluir el código internacional sin el símbolo "+" (por ejemplo, para un número en Ecuador, escribe
593XXXXXXXXX
). -
Columnas restantes: Las otras columnas se usarán para los valores dinámicos de los parámetros (personalización de la plantilla).
Ejemplo
Si tu plantilla contiene el siguiente contenido:
Tu pedido {{1}}
por un total de {{2}}
está confirmado. La entrega esperada es {{3}}
.
Archivo CSV:
phone_number | param_1 | param_2 | param_3 |
---|---|---|---|
593XXXXXXXXX | A12345 | $250.00 | 1 de diciembre |
593XXXXXXXXX | B67890 | $100.50 | 2 de diciembre |
593XXXXXXXXX | C22345 | $50.00 | 3 de diciembre |
El archivo CSV debe estar codificado en UTF-8.
Enviar HSM desde archivo
POST https://api.jelou.ai/v1/hsm/file
Opciones de carga de archivo para envío masivo
Existen dos formas de proporcionar el archivo CSV con la información de los destinatarios:
-
Usando una URL pública: Puedes proporcionar la URL al archivo CSV que esté disponible públicamente. En este caso, el cuerpo de la solicitud debe estar en formato JSON.
-
Subiendo el archivo: Alternativamente, puedes adjuntar el archivo CSV directamente a la solicitud. En este caso, el cuerpo de la solicitud debe estar en formato
multipart/form-data
.
Dependiendo de tu elección, el formato del cuerpo de la solicitud será diferente:
- Si usas una URL pública, el cuerpo de la solicitud estará en formato JSON.
- Si subes un archivo directamente, el cuerpo de la solicitud estará en formato
multipart/form-data
.
Utiliza esta función para enviar plantillas en masa a tus clientes. La API se encargará de la entrega a los destinatarios a partir de un archivo basado en columnas.
Enviar plantillas en masa te permite enviar una plantilla predefinida con diferentes valores relacionados con cada cliente, para que puedas seleccionar información dinámica de una fuente, como un archivo, y automatizar el envío de tu campaña fácilmente.
El archivo fuente debe ser creado siguiendo la siguiente especificación:
-
Formato de archivo: Solo se admiten archivos con la extensión .CSV.
-
Encabezado: La primera fila del archivo debe definir los Propiedads de las columnas (encabezado). Sigue estas reglas para el encabezado:
- Evita espacios en blanco en los Propiedads de las columnas.
- No uses caracteres especiales o signos de puntuación (por ejemplo,
!, $, %, &, *
, etc.). - Usa solo letras, números y guiones bajos (
_
) si es necesario. - Ejemplo correcto:
phone_number
,customer_name
,order_amount
. - Ejemplo incorrecto:
phone number
,customer-name!
,order#amount
.
-
Primera columna: La primera columna debe contener los números de teléfono de los destinatarios. Es obligatorio incluir el código internacional sin el símbolo "+". Por ejemplo, para un número en Ecuador, escribe
593XXXXXXXXX
. -
Columnas restantes: Las otras columnas se usarán para los valores de los parámetros dinámicos (personalización de la plantilla).
Si tu plantilla contiene el siguiente contenido:
Tu pedido {{1}}
por un total de {{2}}
ha sido confirmado. La entrega esperada es {{3}}
.
El archivo CSV debe estar codificado en UTF-8.
POST
https://api.jelou.ai/v1/hsm/file
Opciones de carga de archivo para envío masivo
Existen dos formas de proporcionar el archivo CSV con la información de los destinatarios:
- Usando una URL pública: Puedes proporcionar la URL al archivo CSV que esté disponible públicamente. En este caso, el cuerpo de la solicitud debe estar en formato JSON.
- Subiendo el archivo: Alternativamente, puedes adjuntar el archivo CSV directamente a la solicitud. En este caso, el cuerpo de la solicitud debe estar en formato
multipart/form-data
.
Dependiendo de tu elección, el formato del cuerpo de la solicitud será diferente:
- Si usas una URL pública, el cuerpo de la solicitud estará en formato JSON.
- Si subes un archivo directamente, el cuerpo de la solicitud estará en formato
multipart/form-data
.
El archivo debe tener la extensión .CSV
. Este archivo contiene los datos de los destinatarios utilizados en el proceso de envío masivo.
El archivo debe tener la extensión .CSV
y estar disponible públicamente durante la campaña de envío masivo.
Parámetros del archivo CSV:
- El Propiedad asignado a la campaña que se está enviando.
- El Propiedad de la plantilla que se está enviando. La plantilla debe tener un estado aprobado por WhatsApp en el momento del envío.
- Cada elemento en el arreglo es un objeto que contiene el número de parámetro y la columna correspondiente del archivo CSV de donde se extraerán los valores del parámetro. Si la plantilla no tiene parámetros, el arreglo debe estar vacío.
- El identificador único del bot que envía la plantilla.
- Define el Tipo de dato de plantilla. Puede ser
text
,image
,document
, ovideo
. Este campo es necesario cuando se envían plantillas de imagen, video o documento. Si no se especifica, el valor predeterminado estext
. - Una URL pública que apunte al archivo de medios (imagen, video o documento). Esto es necesario cuando se envían plantillas de imagen, video o documento; de lo contrario, no es necesario.
- Este objeto define las acciones o configuraciones relacionadas con la plantilla que se está enviando.
- Este campo contiene un arreglo de objetos, cada uno representando una habilidad/flujo al que la plantilla redirigirá en caso de que se utilicen botones de respuesta rápida.
- La fecha y hora en UTC cuando se enviará la campaña.
Envia tu archivo desde una URL publica (JSON Body)
curl --request POST \
--url https://api.jelou.ai/v1/hsm/file \
--header 'Authorization: Basic {{Base64EncodedUsername:Password}}' \
--header 'content-type: application/json' \
--data '{
"campaignName": "campaign_name",
"botId": "12345-XXX-XXX-XXX-78910",
"elementName": "test_template",
"params": [
{
"param": 1,
"column": "customer_name"
}
],
"mediaUrl": "https://cdn.test.com/public_image.png",
"type": "image",
"fileUrl": "https://cdn.test.com/TestCampaign.csv",
"buttonPayloads": [
{
"type": "flow",
"action": "Yes",
"flowId": "1"
}
]
}'
Envio de archivo como documento adjunto (Multiples partes/Form-Data Body)
curl --request POST \
--url https://api.jelou.ai/v1/hsm/file \
--header 'Authorization: Basic {{Base64EncodedUsername:Password}}' \
--header 'content-type: multipart/form-data' \
--form campaignName=campaign_name \
--form botId=12345-XXX-XXX-XXX-78910 \
--form elementName=test_template \
--form 'buttonPayloads=[{"type":"edge","action":"Yes","skillId":"1"},{"type":"edge","action":"Reschedule","skillId":"2"},{"type":"edge","action":"Cancel","skillId":"3"}]' \
--form file=@/local/path/TestCampaign.csv \
--form 'params=[]'
{
"message": [
"Campaign has been created."
],
"status": "success"
}