Portal API Docs
Portal API Documentation
Use portal.robocall.pk endpoints for standard Robo Call Pakistan portal accounts, call placement, statuses, balance checks, and key verification.

Portal API Overview
Robo Call Pakistan APIs use HTTPS GET endpoints with an api_key query parameter. This matches the website demo form and the project API settings, where calls are sent through https://portal.robocall.pk/api/calls unless a corporate account endpoint is configured.
https://portal.robocall.pkAuthentication
All public examples authenticate with an api_key query parameter. Keep the key private, store it server-side, and never expose it in public frontend JavaScript.
?api_key=[VOICE API KEY]GETHTTPSJSONGET Endpoint
Verify API Key
https://portal.robocall.pk/api/user_verify| Parameter | Type | Status | Description | Example |
|---|---|---|---|---|
| api_key | string | Required | API key provided by Robo Call Pakistan | [VOICE API KEY] |
Sample Request URL
https://portal.robocall.pk/api/user_verify?api_key=[VOICE API KEY]Sample Response
{
"status": 200,
"response": "API matched"
}GET Endpoint
Check Balance
Fetch account balance, username, and per-call pulse rate for the supplied API key.
https://portal.robocall.pk/api/check_balanceSample Request URL
https://portal.robocall.pk/api/check_balance?api_key=[VOICE API KEY]Sample Response
{
"status": 200,
"data": {
"balance": "2682.00",
"username": "demo",
"call_rate": "5.50"
}
}Call rate is shown in per-call pulse units, for example per 30 seconds.
GET Endpoint
Send Robo Call
Initiates a robo call to a specified customer with amount, voice ID, keys, and text values. The demo request form in this theme uses the same endpoint and query format.
https://portal.robocall.pk/api/calls| Parameter | Description | Required | Example |
|---|---|---|---|
| api_key | API key provided by Robo Call Pakistan | Yes | [VOICE API KEY] |
| caller_id | Customer phone number with country code, no plus sign | Yes | 923001234567 |
| amount | Order/payment amount or campaign value | Optional | 1500 |
| voice_id | Voice ID configured for the account | Yes | 102 |
| key1, key2 | Custom keys or workflow markers | Optional | 0 |
| text1 | Store, company, vehicle, or campaign text | Optional | My Store |
| text2 | Order ID, reference, location, or campaign detail | Optional | ORD12345 |
| text3 - text5 | Additional optional text fields | Optional | 0 |
Sample Request URL
https://portal.robocall.pk/api/calls?api_key=[VOICE API KEY]&caller_id=923001234567&amount=1500&voice_id=102&key1=0&key2=0&text1=My%20Store&text2=ORD12345&text3=0&text4=0&text5=0Sample Response
{
"status": 200,
"message": "Call Data inserted successfully",
"data": {
"call_id": "dynamicgenerated_number",
"call_to": "923001234567",
"amount": 1500,
"voice_id": 102
},
"api_response": "Ok 200"
}GET Endpoint
Get Call Status
Fetch final or in-progress status of a call using the call ID returned by the send call endpoint.
https://portal.robocall.pk/api/get_call| Parameter | Description | Required | Example |
|---|---|---|---|
| api_key | API key provided by Robo Call Pakistan | Yes | [VOICE API KEY] |
| call_id | Unique call ID returned by /api/calls | Yes | 20076 |
Sample Request URL
https://portal.robocall.pk/api/get_call?api_key=[VOICE API KEY]&call_id=20076Sample Response
{
"data": {
"call_id": 20076,
"call_to": "923001234567",
"call_status": 2,
"dtmf": 1,
"retry": 1,
"amount": 1500,
"voice_id": 102,
"text1": "My Store",
"text2": "ORD12345",
"call_charges": "6.90"
},
"code": 200,
"response": "Code Executed Successfully"
}Webhook
Call Response Webhook
Receive the result of an automated voice call from Robo Call Pakistan at your application endpoint. The webhook provides the call identifier, destination number, keypad response (DTMF), call duration, final call status, and a business reference.
Payload example
{
"rc_id": "4273864",
"call_to": "923369799498",
"dtmf": 1,
"seconds": 13,
"status": "completed",
"order_id": "production"
}Payload fields
| Field | Example | Description |
|---|---|---|
rc_id | "4273864" | Unique call/request identifier. |
call_to | "923369799498" | Destination phone number. |
dtmf | 1 | Customer's keypad selection during the call. |
seconds | 13 | Call duration in seconds. |
status | "completed" | Final call status. |
order_id | "production" | Business reference value supplied for the integration. |
In the example, rc_id, call_to, status and order_id are strings, and dtmf and seconds are numbers. Confirm which fields are required, and how empty values are sent, with our integration team before you rely on them.
Call result flow
- Robo Call Pakistan initiates a voice call.
- The customer receives the call and, if configured, can select an IVR option using their keypad.
- Robo Call Pakistan sends the call result to your receiving endpoint.
- Your application matches the result using
rc_id, savesstatus,dtmfandseconds, and processes the related business reference.
DTMF example
An order-confirmation campaign can configure:
For such a campaign, a payload with "dtmf": 1 represents the configured Confirm selection. DTMF meanings are campaign-specific; do not assume a fixed universal mapping.
Example webhook receiver (Node.js / Express)
import express from "express";
const app = express();
app.use(express.json());
// Example receiver route configured on your own server.
app.post("/webhooks/robocall", async (req, res) => {
const { rc_id, call_to, dtmf, seconds, status, order_id } = req.body;
if (!rc_id || !call_to || !status) {
return res.status(400).json({ error: "Missing call identification/status" });
}
// TODO: Authenticate the callback using your agreed integration mechanism.
// TODO: Save or update the call record by rc_id; keep processing idempotent.
// TODO: Resolve the campaign-specific meaning of dtmf.
// TODO: Update the associated business record using the appropriate reference.
return res.status(200).json({ success: true });
});
app.listen(3000);This code illustrates a receiver in your application. It is not an official SDK, and /webhooks/robocall is not a hosted Robo Call Pakistan endpoint.
Implementation guidance
- Use
rc_idto associate the callback with the relevant call. - Store the final
status,dtmfandsecondsfor reporting and downstream processing. - Preserve
call_toas a string so leading zeros and country prefixes are not lost. - Interpret
dtmfaccording to the actual IVR choices for that campaign. - Protect the callback endpoint and make downstream actions idempotent.
Configuration
Webhook delivery is set up per integration: the HTTP method, how your endpoint URL is registered, delivery authentication, the list of status values, retries, timeouts and the response your endpoint should return. Confirm these with the Robo Call Pakistan integration team when you set up your webhook.
Call Status Definitions
| Status | Meaning | Description |
|---|---|---|
| 1 | Initiated | Call has been initiated and is awaiting pickup. |
| 2 | Answered | Customer picked up. DTMF may be 1 confirm, 2 cancel, 3 callback, or empty. |
| 3 | Congestion | No answer due to network congestion. |
| 4 | Busy | Customer line was busy. |
| 5 | No Answer | Call rang but was not answered. |
| 6 | Hangup | Call disconnected before completion. |
| 8 | Pushed to SIP | Call job was pushed to SIP provider but not yet initiated. |
Retry Logic
- Unanswered calls can be retried automatically based on account settings.
- Retry statuses include initiated, congestion, busy, no answer, hangup, and pushed-to-SIP calls that do not convert within timeout.
- Retry delays can be configured from the Call Settings panel.
- Keep checking the get_call endpoint until a final status is available.
E-Commerce Integrations
Robo Call Pakistan provides ready-to-use integrations for Shopify, WooCommerce, Google Sheets, and custom systems through API.
Support
For API key setup, voice IDs, endpoint access, integrations, or troubleshooting, contact Robo Call Pakistan support.