Individual Send (1-1)
Send personalized HSM messages to individual recipients using the WhatsApp API
The WhatsApp API allows companies to automate and personalize communication with their customers, enabling efficient, scalable interactions enriched with multimedia content. It is ideal for managing inquiries, sending notifications, and providing immediate responses through AI Agents.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.
Message sending configuration
Step 1: Define the Endpoint
To send messages, use the following API endpoint:Step 2: Request Parameters
The key parameters for the request include:- Text: The message content.
- Message type (
type): Defines the type of template to be sent. - Template property: Template previously created and approved by META.
- Media file: If the template requires a URL (image, document, etc.).
- Bot ID: Unique bot identifier.
- Parameters: Specific data for each send (name, order number, etc.).
Step 3: Send the request
Send the message using the POST method. Upon completing the send, you will receive a response that allows you to verify the delivery status.Content restrictions
Remember that, to send messages through WhatsApp, you must use templates previously approved by META. Each template has specific limitations based on its format and content, such as message length or the type of information allowed. Make sure to review these restrictions before using them to ensure correct delivery. Keep in mind that:- URLs, emojis, and multimedia files are not allowed within authentication messages.
- Parameters must have a maximum of 15 characters.
Request Body
| Property | Type | Description | Required |
|---|---|---|---|
| mediaUrl | string | Public URL of the media file. Required if your template is of type video, image, or document. | Conditional |
| filename | string | File name for document-type templates. | Conditional |
| type | string | Message type: text, hsm, image, document, video, catalog, carousel. Defaults to text. | No |
| language | string | Template language: en, es, pt | No |
| elementName | string | Name of the approved template. | Yes |
| parameters | array | Set of strings that replace values in the template. | Yes |
| destinations | array | List of phone numbers. Numeric format with country code, without + or spaces. | Yes |
| buttonPayloads | array | Information for quick reply buttons. | No |
| actions | object | Template configuration and actions in payload format. | No |
| headerParameters | array | Header parameter, maximum 1 parameter. | No |
| thumbnailProduct | string | Thumbnail image URL. Required for catalog templates. | Conditional |
| expirationTime | string | Expiration time in timestamp format (milliseconds). | No |
| campaignId | string | Unique identifier of the associated campaign. | No |
| buttonParameters | array | Configuration for all button types. | No |
| ltoParams | object | Limited time offer (LTO) parameters. | No |
| cards | array | Content cards for carousel templates. | No |
Template types
In this section, we share request examples for the different template types. These examples provide a clear guide so you can easily substitute the values with your own data.Text message
Text message
Message with image
Message with image
Message with video
Message with video
Message with attached document
Message with attached document
Text message with static URL action buttons
Text message with static URL action buttons
Text message with dynamic URL action buttons
Text message with dynamic URL action buttons
Text message with Quick Reply buttons
Text message with Quick Reply buttons
Personalized text message with header parameters
Personalized text message with header parameters
Full catalog
Full catalog
LTO with copy code button
LTO with copy code button
Authentication
Authentication
Carousel with 2 cards
Carousel with 2 cards
Common use cases
1. Personalized messages
Use templates with variables to send messages tailored to each user’s needs (for example, payment reminders or order updates).2. Automation with Webhooks
Personalized interactions based on user responses, allowing for a more dynamic and efficient conversation. Campaign examples:- Personalized promotions: Exclusive offers based on customer preferences.
- Payment reminders: Automatic notifications for invoice due dates.
- Service quotes: Quick inquiries about insurance, loans, etc.
Advanced configuration
Phone number
Since this is an individual send, the phone number of the recipient must be in the correct format for the send to be successful. The+ sign must be omitted, the country code must be included, and only numeric characters are allowed. Dashes or spaces are not accepted.
| ✅ Correct format | ❌ Incorrect format | ❌ Incorrect format |
|---|---|---|
| PHONE_NUMBER | +PHONE_NUMBER | 09XXXXXXXX |
Specific parameters
Depending on the campaign, you can use personalized data such as the message type or additional customer information.Message personalization
Linking with Workflows
Each message can be associated with a specific workflow that defines how the user’s response should be handled. This is useful for creating more complex and targeted interactions, such as interactive menus or surveys.Button configuration
Button Payload
Button Payload
Actions Payload
Actions Payload
Cache Parameters
This function is used to save additional information in the cache for later use. It will depend on the desired configuration for the template. If a URL is sent, it can be used by a workflow to redirect that URL for marketing purposes. All parameters to be stored in cache must go insetMemoryParams with their respective key-value fields.
API Responses
200 - Successful response
200 - Successful response
400 - Bad Request
400 - Bad Request
401 - Unauthorized
401 - Unauthorized
404 - Not Found
404 - Not Found
422 - Unprocessable Entity
422 - Unprocessable Entity
500 - Internal Server Error
500 - Internal Server Error
Recommended tools for testing
To facilitate testing and sending requests, we recommend using tools such as:- Postman
- Insomnia
Frequently asked questions
How many characters are allowed?
How many characters are allowed?
- DOCUMENT: Up to 15MB - Format:
.pdf - VIDEO: Up to 15MB - Format:
.mp4 - IMAGE: Up to 5MB - Formats:
.jpg,.jpeg,.png
How is the API consumed?
How is the API consumed?
Authorizations
Basic authentication using Base64 encoded clientId:clientSecret
Path Parameters
The unique identifier of the bot
Body
Approved template name
Phone numbers with country code, no + sign
Public URL for media (required for image/video/document templates)
Filename for document templates
text, hsm, image, document, video, catalog, carousel en, es, pt Template parameter values
1Expiration timestamp in milliseconds