curl --request POST \
--url https://api.jelou.ai/v1/hsm/file \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"campaignName": "<string>",
"elementName": "<string>",
"botId": "<string>",
"params": [
{
"param": 123,
"column": "<string>"
}
],
"type": "text",
"mediaUrl": "<string>",
"fileUrl": "<string>",
"buttonPayloads": [
{}
],
"actions": {},
"scheduledAt": "2023-11-07T05:31:56Z"
}
'{
"message": [
"<string>"
],
"status": "<string>"
}Envía plantillas de forma masiva a múltiples destinatarios y consulta el estado de tus campañas
curl --request POST \
--url https://api.jelou.ai/v1/hsm/file \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"campaignName": "<string>",
"elementName": "<string>",
"botId": "<string>",
"params": [
{
"param": 123,
"column": "<string>"
}
],
"type": "text",
"mediaUrl": "<string>",
"fileUrl": "<string>",
"buttonPayloads": [
{}
],
"actions": {},
"scheduledAt": "2023-11-07T05:31:56Z"
}
'{
"message": [
"<string>"
],
"status": "<string>"
}Utiliza esta función para enviar plantillas de forma masiva a tus clientes. La API se encargará de la entrega a los destinatarios desde un archivo basado en columnas. Enviar plantillas de forma masiva 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.Documentation Index
Fetch the complete documentation index at: https://docs.jelou.ai/llms.txt
Use this file to discover all available pages before exploring further.
.CSV.
!, $, %, &, *, etc.)._) si es necesario.phone_number, customer_name, order_amount
Incorrecto: phone number, customer-name!, order#amount
+ (por ejemplo, para un número en Ecuador, escribe PHONE_NUMBER).
Tu pedido {{1}} por un total de {{2}} está confirmado. La entrega esperada es {{3}}.
| phone_number | param_1 | param_2 | param_3 |
|---|---|---|---|
| PHONE_NUMBER | A12345 | $250.00 | 1 de diciembre |
| PHONE_NUMBER_2 | B67890 | $100.50 | 2 de diciembre |
| PHONE_NUMBER_3 | C22345 | $50.00 | 3 de diciembre |
POST https://api.jelou.ai/v1/hsm/file
multipart/form-data.
| Propiedad | Tipo | Descripción | Requerido |
|---|---|---|---|
| campaignName | string | Nombre asignado a la campaña que se está enviando. | Sí |
| elementName | string | Nombre de la plantilla. Debe tener estado aprobado por WhatsApp. | Sí |
| botId | string | Identificador único del bot que envía la plantilla. | Sí |
| params | array | Arreglo de objetos con el número de parámetro y la columna correspondiente del CSV. Si la plantilla no tiene parámetros, el arreglo debe estar vacío. | Sí |
| type | string | Tipo de plantilla: text, image, document, video. Por defecto es text. | No |
| mediaUrl | string | URL pública del archivo multimedia. Necesario para plantillas de imagen, video o documento. | Condicional |
| fileUrl | string | URL pública del archivo CSV. Requerido si no se sube el archivo directamente. | Condicional |
| file | file | Archivo CSV adjunto. Requerido si no se usa fileUrl. | Condicional |
| buttonPayloads | array | Arreglo de objetos para botones de respuesta rápida con workflows. | No |
| actions | object | Acciones relacionadas con la plantilla. | No |
| scheduledAt | date | Fecha y hora en UTC cuando se enviará la campaña. | No |
Envío desde URL pública (JSON)
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": "BOT_ID",
"elementName": "ELEMENT_NAME",
"params": [
{"param": 1, "column": "customer_name"}
],
"mediaUrl": "https://cdn.ejemplo.com/imagen.png",
"type": "image",
"fileUrl": "https://cdn.ejemplo.com/campana.csv",
"buttonPayloads": [
{"type": "edge", "action": "Yes", "skillId": "1"}
]
}'
Envío con archivo adjunto (multipart/form-data)
curl --request POST \
--url https://api.jelou.ai/v1/hsm/file \
--header 'Authorization: Basic {{Base64EncodedUsername:Password}}' \
--form campaignName=campaign_name \
--form botId=BOT_ID \
--form elementName=ELEMENT_NAME \
--form 'buttonPayloads=[{"type":"edge","action":"Yes","skillId":"1"},{"type":"edge","action":"Reschedule","skillId":"2"},{"type":"edge","action":"Cancel","skillId":"3"}]' \
--form file=@/ruta/local/campana.csv \
--form 'params=[]'
200 - Respuesta exitosa
{
"message": ["Campaign has been created."],
"status": "success"
}
400 - Bad Request
{
"message": ["Invalid CSV format"],
"status": "failed"
}
401 - Unauthorized
{
"message": "Authentication failed"
}
422 - Unprocessable Entity
{
"message": ["Template not found or not approved"],
"status": "failed"
}
params es un objeto que contiene:
[
{"param": 1, "column": "customer_name"},
{"param": 2, "column": "order_amount"}
]
[
{"type": "edge", "action": "Yes", "skillId": "1"},
{"type": "edge", "action": "Reschedule", "skillId": "2"},
{"type": "edge", "action": "Cancel", "skillId": "3"}
]
Basic authentication using Base64 encoded clientId:clientSecret
Show child attributes
text, image, document, video ¿Esta página le ayudó?