API group for querying call logs (CDR – Call Detail Record): search for a list of calls by time range and view details of a specific call (including recording_urland transcript).
Header | Value | Description |
|---|---|---|
|
| Tenant's API key |
|
| JWT token after logging in |
|
| Required for requests with body (POST) |
Get API key: Contact Alohub to obtain the API key for the tenant.
https://app.alohub.vn:9909/api/report/call-logsRetrieve the list of call logs within the specified time range, with pagination.
{
"callStartTime": "2025-04-13T00:00:00+07:00",
"callEndtime": "2026-04-13T23:59:59+07:00",
"page": 1,
"limit": 50
}
Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Start time (ISO 8601 with timezone). E.g.: |
| string | Yes | End time (ISO 8601 with timezone) |
| Yes | number | Current page (starting from 1) |
| Yes | number | Number of records per page |
Note: Field names are
callEndtime(notcallEndTime) — pay attention to lowercase and uppercase as per backend spec.
curl --location 'https://app.alohub.vn:9909/api/report/call-logs' \
--header 'Accept: application/json, text/plain, */*' \
--header 'Authorization: <api_key>' \
--header 'X-ACCESS-TOKEN: <jwt_token>' \
--header 'Content-Type: application/json' \
--header 'X-Requested-With: XMLHttpRequest' \
--data '{
"callStartTime": "2025-04-13T00:00:00+07:00",
"callEndtime": "2026-04-13T23:59:59+07:00",
"page": 1,
"limit": 50
}'
const axios = require('axios')
const response = await axios.post(
'https://app.alohub.vn:9909/api/report/call-logs',
{
callStartTime: '2025-04-13T00:00:00+07:00',
callEndtime: '2026-04-13T23:59:59+07:00',
page: 1,
limit: 50
},
{
headers: {
'Accept': 'application/json, text/plain, */*',
'Authorization': '<api_key>',
'X-ACCESS-TOKEN': '<jwt_token>',
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest'
}
}
)
console.log(response.data)
import requests
response = requests.post(
'https://app.alohub.vn:9909/api/report/call-logs',
json={
'callStartTime': '2025-04-13T00:00:00+07:00',
'callEndtime': '2026-04-13T23:59:59+07:00',
'page': 1,
'limit': 50
},
headers={
'Accept': 'application/json, text/plain, */*',
'Authorization': '',
'X-ACCESS-TOKEN': '',
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest'
}
)
print(response.json())
https://app.alohub.vn:9909/api/report/call-logs/{call_id}Retrieve detailed information of a specific call including recording_urland transcript (if available).
Parameter | Required | Type | Description |
|---|---|---|---|
| Yes | string | Call identifier, format: |
curl --location 'https://app.alohub.vn:9909/api/report/call-logs/20260121095227-IMCRRNJW-342' \
--header 'Accept: application/json, text/plain, */*' \
--header 'Authorization: <api_key>' \
--header 'X-ACCESS-TOKEN: <jwt_token>' \
--header 'X-Requested-With: XMLHttpRequest'
const axios = require('axios')
const callId = '20260121095227-IMCRRNJW-342'
const response = await axios.get(
`https://app.alohub.vn:9909/api/report/call-logs/${callId}`,
{
headers: {
'Accept': 'application/json, text/plain, */*',
'Authorization': '<api_key>',
'X-ACCESS-TOKEN': '<jwt_token>',
'X-Requested-With': 'XMLHttpRequest'
}
}
)
console.log(response.data)
import requests
call_id = '20260121095227-IMCRRNJW-342'
response = requests.get(
f'https://app.alohub.vn:9909/api/report/call-logs/{call_id}',
headers={
'Accept': 'application/json, text/plain, */*',
'Authorization': '',
'X-ACCESS-TOKEN': '',
'X-Requested-With': 'XMLHttpRequest'
}
)
print(response.json())
Note:
call_idobtained from the response of the call list API (item 1). The ID format is a string consisting of: timestamp + random chars + extension/session id.