Send Bulk
Use this feature to send templates in bulk to your customers. The API will handle the delivery to the recipients from a column-based file.
Last updated
Use this feature to send templates in bulk to your customers. The API will handle the delivery to the recipients from a column-based file.
Last updated
Sending bulk templates allows you to send a preset template with different values related to each customer so that you can select dynamic information from a source like a file in order to automate and send your campaign easily.
The source (file) must be created following the next specification:
File Format: Only files with the .CSV extension are supported.
Header: The first row of the file must define the column names (header). Follow these rules for the header:
Avoid blank spaces in column names.
Do not use special characters or punctuation marks (e.g., !, $, %, &, *
, etc.).
Use only letters, numbers, and underscores (_
) if needed.
Correct example: phone_number
, customer_name
, order_amount
.
Incorrect example: phone number
, customer-name!
, order#amount
.
First Column: The first column must contain the phone numbers of the recipients. It is mandatory to include the international code without the "+" symbol. For example, for a number in Ecuador, write 593XXXXXXXXX
.
Remaining Columns: The other columns will be used for the dynamic parameter values (template personalization).
If your template contains the following content:
phone_number | param_1 | param_2 | param_3 |
---|---|---|---|
The CSV file must be UTF-8 encoded
POST
https://api.jelou.ai/v1/hsm/file
There are two ways to provide the source CSV file with recipient information:
Using a Public URL: You can provide the URL to the CSV file that is publicly available. In this case, the body of the request should be formatted as JSON.
Uploading the File: Alternatively, you can attach the CSV file directly to the request. In this case, the body of the request should be formatted as multipart/form-data
.
Depending on your choice, the request body format will differ:
If using a public URL, the request body will be in JSON format.
If uploading a file directly, the request body will be in multipart/form-data
format.
Name | Type | Description | Required |
---|---|---|---|
593XXXXXXXXX
A12345
$250.00
December 1st
593XXXXXXXXX
B67890
$100.50
December 2nd
593XXXXXXXXX
C22345
$50.00
December 3rd
file
string
The file must have a .CSV
extension. This file contains the recipient data used in the bulk send process.
Y
fileUrl
string
The file must have a .CSV
extension and be publicly available during the bulk send campaign.
Y
campaignName
string
The name assigned to the campaign being sent.
Y
elementName
string
The name of the template being sent. The template must have an approved status from WhatsApp at the time of sending.
Y
params
Array[Object]
Each element in the array is an object containing the parameter number and the corresponding CSV column from which the parameter values will be extracted. If the template has no parameters, the array must be empty.
Y
botId
string
The unique identifier of the bot sending the template.
Y
type
string
Defines the type of template. It could be text
, image
, document
, or video
. This field is required when sending image, video, or document templates. If not specified, the default value is text
.
Y
mediaUrl
string
A publicly accessible URL that points to the media file (image, video, or document). This is required when sending image, video, or document templates; otherwise, it is not needed.
Y
actions
object
This object defines the actions or configurations related to the template being sent.
N
buttonPayloads
Array[Object]
This field contains an array of objects, each representing a skill/flow that the template will redirect to in case quickreply buttons are used.
N
date
string
The date and time in UTC when the campaign will be sent.
N