Retrieve a paginated list of scheduled customer callback records for a specific campaign, using defined filters.
This API endpoint is typically used by supervisor or administrator applications to monitor, manage, and retrieve details of outstanding or past callbacks associated with a campaign.
This API requires session-based authentication. A valid session token, typically generated upon a successful supervisor or administrative login, must be passed in the request header.
The following parameters are passed directly in the URL query string to control filtering and pagination of the results.
| Parameter | Type | Required | Description | Example Value |
offset |
Integer |
Yes | The starting index of the result set for pagination. Use 0 to start from the first record. |
0 |
campaignId |
Integer |
Yes | The unique identifier of the campaign for which callbacks are being retrieved. | 110 |
limit |
Integer |
Yes | The maximum number of callback records to return in the current request. | 101 |
<Protocol>://<IP_Domain_Name>:<port>/ameyorestapi/voice/customerCallbacks/getFiltered?offset=<Integer>&campaignId=<Integer>&limit=<Integer>
curl --location 'https://app3.ameyoemerge.in:8443/ameyorestapi/voice/customerCallbacks/getFiltered?offset=0&campaignId=110&limit=101' \ --header 'Sessionid: d741-6904fad1-ses-supervisor@exotel.in-Fw47aqwBM5asexKrtuH127yeq0w7hN6hUUOqT93bVqaxayEOF7d8cDT7EU45kdNNZiG1toUxaK8mHoMRreZF2FfX3KZtrqWaAwvH1f3K1BR9TIUyo79p-89189'
A successful request returns a JSON array containing the list of callbacks.
| Field | Type | Description |
customerCallbackId |
String |
The unique identifier for this specific callback instance. |
campaignId |
Integer |
The ID of the campaign the callback is associated with. |
phone |
String |
The customer's contact number for the callback. |
callbackTime |
Long |
The scheduled time for the callback, represented as a Unix epoch timestamp in milliseconds. |
dateAdded |
Long |
The timestamp (in milliseconds) when this callback record was created. |
selfCallback |
Boolean |
Indicates if the callback was initiated by the customer (true) or scheduled internally (false). |
userId |
String |
The ID of the agent it is assigned to or who scheduled it. |
lastScheduledBy |
String |
The user ID of the last person/system that scheduled or modified the callback. |
[
{
"customerCallbackId": "d741-6904fad1-cm-eEcdnIb3-50833",
"campaignId": 110,
"callbackTime": 1764410400000,
"selfCallback": true,
"userId": "Vinod",
"phone": "7905690272",
"customerId": -1,
"dateAdded": 1764324364764,
"maskedPhone": null,
"lastScheduledBy": "supervisor@exotel.in",
"actualCallbackTime": null,
"campaignName": null,
"phoneInfo": {
"phone": "7905690272",
"displayPhone": "7905690272",
"uniqueIdentifier": null
},
"groupIds": null,
"groupManagerIds": null
},
// ... other callback objects
]
The server returns a 401 Unauthorized response when the provided authentication token is invalid or missing. The primary cause is typically an expired or incorrect Sessionid passed in the request header. The response body will explicitly confirm the nature of the error.
Action: If you receive this error, the client must obtain a new Sessionid by performing a fresh login to the supervisor/administrator console and updating the token in the request header.
The system may incorrectly return a 500 Internal Server Error in a specific edge case where the request is logically successful but no data is found (i.e., zero callbacks match the provided campaignId, offset, and limit). Instead of the expected 200 OK with an empty array [], the server returns a 500 status.
Action: Developers should be prepared to handle a 500 error as a success case indicating an empty result set when the request URL and headers are otherwise valid. This behavior is considered an API bug but must be accounted for in client-side error logic to prevent false negative failures. If the 500 error occurs with valid input, it indicates that no records are available for the given filter criteria.
{
"message": "invalid.authentication.token:d741-6904fad1-ses-supervisor@exotel.in-Fw47aqwBM5asexKrtuH127yeq0w7hN6hUUOqT93bVqaxayEOF7d8cDT7EU45kdNNZiG1toUxaK8mHoMRreZF2FfX3KZtrqWaAwvH1f3K1BR9TIUyo79p-89189",
"info": null,
"status": 401,
"errorCode": 70201
}