Skip to main content
POST
/
v1
/
bots
/
{botId}
/
messages
curl --request POST \
  --url https://api.jelou.ai/v1/bots/BOT_ID/messages \
  --header 'Authorization: Basic <Base64Encoded clientId:clientSecret>' \
  --header 'Content-Type: application/json' \
  --data '{
    "type": "text",
    "text": "Please select an option",
    "userId": "USER_ID",
    "buttons": {
      "title": "Choose an option",
      "buttonText": {
        "type": "text",
        "text": "View Options"
      },
      "options": [
        {
          "title": "Option 1",
          "description": "This is the first option",
          "payload": "OPTION_1"
        },
        {
          "title": "Option 2",
          "description": "This is the second option",
          "payload": "OPTION_2"
        },
        {
          "title": "Option 3",
          "description": "This is the third option",
          "payload": "OPTION_3"
        }
      ]
    }
  }'
{
  "success": true,
  "messageId": "msg_123456789"
}
curl --request POST \
  --url https://api.jelou.ai/v1/bots/BOT_ID/messages \
  --header 'Authorization: Basic <Base64Encoded clientId:clientSecret>' \
  --header 'Content-Type: application/json' \
  --data '{
    "type": "text",
    "text": "Please select an option",
    "userId": "USER_ID",
    "buttons": {
      "title": "Choose an option",
      "buttonText": {
        "type": "text",
        "text": "View Options"
      },
      "options": [
        {
          "title": "Option 1",
          "description": "This is the first option",
          "payload": "OPTION_1"
        },
        {
          "title": "Option 2",
          "description": "This is the second option",
          "payload": "OPTION_2"
        },
        {
          "title": "Option 3",
          "description": "This is the third option",
          "payload": "OPTION_3"
        }
      ]
    }
  }'

Restrictions

  • Options: Minimum 1, maximum 10 options per message
  • Option Title: Maximum 24 characters
  • Option Description: Maximum 72 characters
  • Button Text: Defaults to “Options” if not specified

Use Cases

  • Creating navigation menus
  • Providing multiple-choice options
  • Guiding users through a flow
  • Collecting structured responses

Authorizations

Authorization
string
header
required

Basic authentication using Base64 encoded clientId:clientSecret

Path Parameters

botId
string
required

The unique identifier of the bot

Body

application/json

Message payload. The structure varies based on the message type.

type
enum<string>
required

Type of message to send

Available options:
text
Example:

"text"

userId
string
required

Unique identifier of the user receiving the message

Example:

"USER_ID"

text
string
required

Text content of the message

Example:

"Hello, this is a text message"

botId
string

Unique identifier of the bot sending the message

Example:

"BOT_ID"

Response

Message sent successfully

success
boolean
Example:

true

messageId
string
Example:

"msg_123456789"