curl --request GET \
--url https://api.jelou.ai/v1/external/messages/history/{botId} \
--header 'Authorization: Basic <encoded-value>'{
"pagination": {
"limit": 123,
"page": 123,
"total": 123,
"offset": 123,
"totalPages": 123
},
"_metadata": {},
"results": [
{
"recipient": {
"id": "<string>",
"names": "<string>"
},
"sender": {
"id": "<string>",
"name": "<string>",
"type": "<string>"
},
"by": "bot",
"messageId": "<string>",
"status": "<string>",
"bubble": {
"type": "<string>",
"text": "<string>",
"mediaUrl": "<string>"
},
"createdAt": "2023-11-07T05:31:56Z"
}
]
}Query the message history of a bot
curl --request GET \
--url https://api.jelou.ai/v1/external/messages/history/{botId} \
--header 'Authorization: Basic <encoded-value>'{
"pagination": {
"limit": 123,
"page": 123,
"total": 123,
"offset": 123,
"totalPages": 123
},
"_metadata": {},
"results": [
{
"recipient": {
"id": "<string>",
"names": "<string>"
},
"sender": {
"id": "<string>",
"name": "<string>",
"type": "<string>"
},
"by": "bot",
"messageId": "<string>",
"status": "<string>",
"bubble": {
"type": "<string>",
"text": "<string>",
"mediaUrl": "<string>"
},
"createdAt": "2023-11-07T05:31:56Z"
}
]
}GET https://api.jelou.ai/v1/external/messages/history/{botId}
| Field | Location | Type | Required | Description |
|---|---|---|---|---|
| botId | Path | string | Yes | Unique identifier of the bot whose history you want to query. |
| Field | Location | Type | Required | Default value | Description |
|---|---|---|---|---|---|
| limit | Query | integer | No | 10 | Number of messages to request. Maximum: 50. |
| page | Query | integer | No | 1 | Page number. |
| startAt | Query | date | No | - | Start date of the range to query. ISO 8601 format. |
| endAt | Query | date | No | - | End date of the range to query. ISO 8601 format. |
| clientId | Query | string | No | - | Filters the history by a specific clientId associated with your integrations. |
| messageId | Query | string | No | - | Returns the conversation that contains the message with this identifier. |
curl --request GET \
--url 'https://api.jelou.ai/v1/external/messages/history/BOT_ID?limit=10&page=1' \
--header 'Authorization: Basic {{Base64EncodedUsername:Password}}'
curl --request GET \
--url 'https://api.jelou.ai/v1/external/messages/history/BOT_ID?limit=20&page=1&startAt=2025-01-01T00:00:00.000Z&endAt=2025-01-31T23:59:59.000Z' \
--header 'Authorization: Basic {{Base64EncodedUsername:Password}}'
curl --request GET \
--url 'https://api.jelou.ai/v1/external/messages/history/BOT_ID?limit=10&page=1&clientId=CLIENT_ID' \
--header 'Authorization: Basic {{Base64EncodedUsername:Password}}'
200 - Successful response
{
"pagination": {
"limit": 10,
"page": 1,
"total": 1,
"offset": 0,
"totalPages": 1
},
"_metadata": {},
"results": [
{
"recipient": {
"id": "RECIPIENT_ID",
"names": "Example Customer"
},
"sender": {
"id": "BOT_ID",
"name": "My Bot",
"type": "WhatsApp"
},
"by": "bot",
"messageId": "msg-12345-67890-4a38-abcde-fghij",
"status": "DELIVERED_USER",
"bubble": {
"type": "TEXT",
"text": "Hello, welcome to Jelou"
},
"createdAt": "2025-01-15T10:30:00.000Z"
}
]
}
401 - Unauthorized
{
"message": "Authentication failed"
}
404 - Not Found
{
"message": ["The Bot could not be found at the moment."],
"statusMessage": "failed",
"status": 0,
"error": {
"code": "E1019",
"key": "BOT_NOT_FOUND",
"description": "Error to be thrown when trying to get a Bot.",
"developerMessages": {
"es": "El botId no se encuentra en la base de datos o ha sido eliminado.",
"en": "The botId is not found in the database or has been deleted."
},
"clientMessages": {
"es": "El Bot no se pudo encontrar por el momento.",
"en": "The Bot could not be found at the moment."
}
}
}
422 - Unprocessable Entity
{
"message": ["The values entered are not correct."],
"statusMessage": "failed",
"status": 0,
"error": {
"code": "E0422",
"key": "VALIDATOR_ERROR",
"description": "Error to be thrown when cannot process request because of incoming values",
"developerMessages": {
"es": "Los valores del request no son correctos para ser procesados.",
"en": "The request values are not correct for processing."
},
"clientMessages": {
"es": "Los valores ingresados no son correctos.",
"en": "The values entered are not correct."
}
},
"validationError": {
"startAt": [
{
"es": "el campo startAt debe ser una fecha",
"en": "the startAt field must be a Date"
}
]
}
}
500 - Internal Server Error
{
"message": ["We are having trouble processing your request. Please try again later."],
"statusMessage": "failed",
"status": 0,
"error": {
"code": "E0000",
"key": "UNKNOWN_ERROR",
"description": "Error to be thrown when it couldn't be determined the reason of failure",
"developerMessages": {
"es": "Error inesperado ocurrido, revisar logs.",
"en": "Unexpected error occurred, check logs."
},
"clientMessages": {
"es": "Estamos teniendo problemas procesando la solicitud. Por favor intenta más tarde.",
"en": "We are having trouble processing your request. Please try again later."
}
}
}
| Field | Type | Description |
|---|---|---|
| limit | integer | Number of records per page. |
| page | integer | Current page. |
| total | integer | Total records. |
| offset | integer | Offset from the beginning. |
| totalPages | integer | Total available pages. |
| Field | Type | Description |
|---|---|---|
| recipient | object | Recipient information (id, names). |
| sender | object | Sender information (id, name, type). |
| by | string | Indicates who sent the message: bot or user. |
| messageId | string | Unique message identifier. |
| status | string | Message status: DELIVERED_USER, DELIVERED_CHANNEL, READ, etc. |
| bubble | object | Message content (type, text, mediaUrl, etc.). |
| createdAt | date | Message creation date in ISO 8601 format. |
502025-01-15T10:30:00.000Z)Basic authentication using Base64 encoded clientId:clientSecret
x <= 50Was this page helpful?