ManyDial Logo
Login

ManyDial API Documentation

Comprehensive guide to integrating with ManyDial's programmable voice platform. Build automated calls, verify orders, embed cloud call centers, and more.

API Documentation for Caller ID Request
This document provides a detailed guide on how to integrate the Caller ID request API.
API Overview
1. Caller ID Request API
Endpoint:
https://api.manydial.com/v1/portal/callerId
Method:
POST
Purpose: Generate a dedicated caller ID (IP-based number) for initiating outbound calls via call center or automation systems.
Caller ID API Integration
Request URL:
bash
Request Headers:
Header
Value
Content-Type
multipart/formdata; boundary=<calculate when request is sent>
x-api-key
YOUR_SECRET_KEY
Request Body:
You must send the body as FormData, especially if uploading files.
Body Parameters:
Parameter
Type
Description
Example
Required
ownerName
string
Full name of the business owner.
Abdul Karim
Yes
businessName
string
Registered or trade name of the business.
Karim Electronics
Yes
email
string
Email address of the business owner.
karim@example.com
Yes
phone
string
Phone number of the business owner.
+8801711000000
Yes
passportSizeImage
string
Base64 encoded string of the passport-size photograph of the owner.
data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD...
Yes
nid
string
National ID number of the business owner.
1999000000000
Yes
dob
string
Date of birth of the business owner in YYYY-MM-DD format.
1980-05-20
Yes
gender
string
Gender of the business owner.
Male
Yes
fatherName
string
Father’s full name.
Mohammad Rahim
Yes
motherName
string
Mother’s full name.
Rahima Begum
Yes
resellerName
string
Name of the reseller (if any).
Rasel Telecom
No
resellerPhone
string
Phone number of the reseller.
+8801711999999
No
resellerNID
string
NID number of the reseller.
1999000000001
No
signature
string
Base64 encoded string of the digital signature.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA...
Yes
seal
string
Base64 encoded string of the business seal or stamp.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA...
Yes
date
string
Date of submission in YYYY-MM-DD format.
2025-05-14
Yes
flatNo
string
Flat number of the address.
A-2
Yes
houseNoOrName
string
House number or name.
12B
Yes
roadNoOrMoholla
string
Road number or moholla name.
Road 7
Yes
areaOrVillage
string
Area or village name.
Banani
Yes
division
string
Division name.
Dhaka
Yes
district
string
District name.
Dhaka
Yes
upazilaOrThana
string
Upazila or police thana name.
Gulshan
Yes
postCode
string
Postal code of the address.
1212
Yes
callerIdRequestHook
string
Webhook URL where caller ID request status updates will be sent (e.g., Approved, Rejected).
https://yourapi.com/webhook
Yes
smsEnabled
string
Specifies whether SMS functionality is enabled for sending messages from the call center or automated systems to customers. Allowed values: 'Yes' or 'No'.
Yes
Yes
callerIdPayload
string
Custom payload used for verification on your end.
Sample payload
Yes
Request Example:
javascript
Success Response Example:
json
Error Response Example:
json
json
API Documentation for Call Automation
This document provides a detailed guide on how to integrate the Call Automation API.
API Overview
1. Call Automation API
Endpoint:
https://api.manydial.com/v1/portal/call/dispatch
Method:
POST
Purpose: Trigger automated voice calls using a configurable call flow and dynamic caller ID per customer.
Authentication
For the POST API, the SECRET_KEY must be included in the request header as x-api-key.
Call Automation API Integration
Request URL:
bash
Request Headers:
Header
Value
Content-Type
multipart/formdata; boundary=<calculate when request is sent>
x-api-key
YOUR_SECRET_KEY
Request Body:
You must send the body as FormData, especially if uploading files.
Body Parameters:
Parameter
Type
Description
Example
Required
callPayload
string
Unique information for verification. This payload will be returned when the webhook is triggered.
unique-verification-token-12345
Yes
callerId
string
The phone number from which the calls will be dispatched.
+8809999999
Yes
perCallDuration
string
The estimated duration of each call (in minutes).
5
Yes
messages
string
A stringified JSON object containing the messages to be converted into voice prompts.
{"welcome":"Hello","menuMessage1":"Press 1 for service details.","menuMessage11":"Our services are..."}
Yes
number
string
A specific customer number for calling.
+8801760399647
Yes
buttons
string
A stringified array that captures user interactions, such as which button was pressed during the call flow.
[{"id":"menuMessage1","key":"1","value":"Place Order"},{"id":"menuMessage2","key":"2","value":"Cancel Order"},{"id":"menuMessage11","key":"1","value":"Confirm Order"}]
Yes
deliveryHook
string
Your POST API URL to receive the call automation response for further operations.
https://yourapi.com/webhook
Yes
Messages Object Structure:
The messages parameter is a JSON object that provides prompts customers will hear during the call flow.
N.B: After the **record** is completed, the call will automatically end, and no further nested menu messages will be played and Record and Forward simultaneously is not possible.
Key
Type
Description
Example
welcome
string
The message played when the call is received.
Hello, press 1 for Bangla, 2 for English.
repeat
string
Number of times the welcome message should be repeated. Defaults to 1.
2
sms
string
The SMS message sent to the customer when they receive the call.
Thank you for choosing our service.
forward
string
The number to which the call will be forwarded after the welcome message is played. Must include the country code.
+8801760399647
menuMessage1
string
Message played when the customer presses 1.
Thank you for staying with us. Press 1 for support, 2 for billing.
repeat1
string
Number of times menuMessage1 should be repeated. Defaults to 1 if not provided.
2
sms1
string
The SMS message sent to the customer when they press 1.
You selected Support. Our representative will contact you shortly.
record1
string
Whether the system should record the customer's voice input after menuMessage1 is played. If set to 'Yes', the system will record the message.
Yes
menuMessage11
string
Message played if the customer presses 1 again (nested menu). Will not play if record1 is set to 'Yes'.
Our service includes A, B, and C. Press 1 for more details.
repeat11
string
Number of times menuMessage11 should be repeated.
3
record11
string
Whether the system should record the customer's voice input after menuMessage11 is played.
Yes
sms11
string
The SMS message sent to the customer when they press 1 again.
You selected detailed service information. Check our website for more.
menuMessage2
string
Message played when the customer presses 2.
Thank you for being with us. Press 1 for general inquiry, 2 for complaints.
repeat2
string
Number of times menuMessage2 should be repeated.
1
sms2
string
The SMS message sent to the customer when they press 2.
You selected General Inquiry. Please wait while we connect you.
record2
string
Whether the system should record the customer's voice input after menuMessage2 is played.
Yes
Example messages :
json
Example buttons :
N.B: The id in the buttons array corresponds to a key in the messages object.
json
Request Example:
javascript
Success Response Example:
json
Error Response Example:
json
json
Delivery Hook Response Documentation
The deliveryHook response provides detailed information about the call flow, user interactions, and any additional actions taken (such as forwarding, SMS sending, or call recording). Below is a breakdown of the response fields:
Response Structure:
json
Field Descriptions:
Field
Type
Description
callPayload
string
A unique identifier for the call, typically used for tracking purposes.
callerId
string
The phone number that initiated the call.
number
string
The recipient's phone number where the call was made.
buttons
array
List of menu options pressed by the user during the call. Each object contains: - id: Unique ID of the menu item. - key: The digit pressed by the user. - value: Description of the action performed.
userPressed
string
The sequence of buttons pressed by the user.
actions
string
A summary of the actions performed based on user input, formatted as key: action name.
sms
array
List of SMS messages sent during the call process. Each object contains: - id: Unique ID of the SMS. - sms: The message content. - status: Pending, Delivered, or Failed.
duration
string
The total duration of the call in MM:SS format.
status
string
The final status of the call (ANSWER, NO ANSWER, BUSY, FAILED).
forwardNumber
string
The phone number to which the call was forwarded, if applicable.
recordAudioURL
string
URL to the recorded audio file if recording was enabled.
recordTranscribed
string
Transcribed text of the call if recording was enabled.
createdAt
string
Timestamp of when the call entry was created (ISO 8601 format).
updatedAt
string
Timestamp of the last update to this call entry (ISO 8601 format).
Example Use Cases
1. User Places an Order & SMS is Sent
A user receives a call and presses 1 to place an order. The system sends an SMS confirmation.
json
2. Call Forwarded to Another Number
A user presses 1 to place an order, and the call is forwarded to a customer service agent.
json
3. Call Recorded & Transcribed
A call is recorded for quality purposes, and a transcription is generated.
json

Notes:

  • If a call is forwarded, forwardNumber will include <forwardNumber>.
  • The recordAudioURL and recordTranscribed fields will be populated only if call recording is enabled.
  • The sms field tracks SMS status (Pending, Delivered, Failed).
Conclusion of Call Automation
This documentation provides a complete guide for using the Call Automation API and Delivery Report Using Webhook. By following these steps, you can easily integrate the system to dispatch calls and track call deliveries efficiently.
API Documentation for Call Center
This document provides a detailed guide on how to integrate the Call Center API and iframe integration for Call Center.
iFrame Integration
This section provides a detailed guide on how to embed the Call Center interface into your website using an iframe. This allows agents or clients to access the Call Center directly from your web application.
Prerequisites
You must have a valid callerId(usually your Call Center ID, e.g., +8809600000000).
You must have the agent's emailthat will be logged into the Call Center.
The agent must already be registered in the ManyDial system.
React
Parameters:
Parameter
Type
Required
Description
email
string
Yes
Email address of the agent.
callerId
string
Yes
Caller ID number of the Call Center.
Call Center API Overview
1. Call Center Request API
Endpoint:
https://api.manydial.com/v1/portal/call-center
Method:
POST
Purpose: Initialize a call center instance with a specific caller ID, call prefix, agent limit, and optional redirection on incoming calls.
2. Call Center Renew API
Endpoint:
https://api.manydial.com/v1/portal/call-center/renew
Method:
POST
Purpose: Renew the call center instance with a new caller ID, call prefix, agent limit, and optional redirection on incoming calls.
3. Call Center Agent Request API
Endpoint:
https://api.manydial.com/v1/portal/agent-request
Method:
POST
Purpose: Register or onboard agents to a call center with defined roles, phone type, and call permissions.
4. Call Center Agent Delete API
Endpoint:
https://api.manydial.com/v1/portal/agent/delete?email={email}&callerId={callerId}
Method:
DELETE
Purpose: Delete agents from a call center by their IDs.
5. Call Center Agent List API
Endpoint:
https://api.manydial.com/v1/portal/call-center/agent-list?callerId={callerId}
Method:
GET
Purpose: Retrieve a list of agents registered to a call center.
6. Call Center Click To Call API
Endpoint:
https://api.manydial.com/v1/portal/click-to-call
Method:
POST
Purpose: Initiate a call from an agent to a customer number using the registered caller ID and agent email from diferent page.
Authentication
For the POST API, the SECRET_KEY must be included in the request header as x-api-key.
Call Center Request API Integration
Request URL:
bash
Request Headers:
Header
Value
Content-Type
application/json
x-api-key
YOUR_SECRET_KEY
Request Body:
Parameter
Type
Description
Example
Required
callerId
string
Unique caller ID for the call center (usually the shop or service number).
+8809600000000
Yes
callPrefix
string
Prefix code used to identify the agent. Must start with 1000, 2000, ..., or 9000.
1000
Yes
totalAgents
string
Maximum number of agents allowed in the call center.
5
Yes
statusHook
string
Webhook URL where call center request status updates will be sent (e.g., Approved, Rejected).
https://yourapi.com/webhook
Yes
endCallHook
string
Webhook URL to receive detailed information when a call ends (e.g., duration, billing).
https://yourapi.com/webhook
Yes
redirectUrl
string
Optional URL to open in a new tab when an agent receives an incoming call. Add base URL here. The dynamic parameter 'phone' will be replaced with the caller's phone number.
https://yourapi.com/agent-dashboard?phone=011960000000
No
domainUrl
string
Where the call center iframe will be loaded.
https://yourapi.com/call-center
Yes
Request Example:
javascript
Success Response Example:
json
Error Response Example:
json
json
json
Call Center Request Update Body:
json
Call End Hook Body:
json
Call Center Renew API Integration
Request URL:
bash
Request Headers:
Header
Value
Content-Type
application/json
x-api-key
YOUR_SECRET_KEY
Request Body:
Parameter
Type
Description
Example
Required
callerId
string
Unique caller ID for the call center (usually the shop or service number).
+8809600000000
Yes
expireDate
string
Expiration date for the call center (YYYY-MM-DD).
2025-05-14
Yes
Request Example:
javascript
Success Response Example:
json
Error Response Example:
json
json
json
Call Center Agent Create API Integration
Request URL:
bash
Request Headers:
Header
Value
Content-Type
application/json
x-api-key
YOUR_SECRET_KEY
Request Body:
Parameter
Type
Description
Example
Required
callerId
string
Unique caller ID for the call center (usually the shop or service number).
+8809600000000
Yes
name
string
Name of the agent.
John Doe
Yes
email
string
Email address of the agent.
john@example.com
Yes
phone
string
Phone number of the agent.
+8801934567890
Yes
password
string
Password for the agent's account.
password@123
Yes
callPermission
string
Call permission for the agent (inbound/outbound/both).
inbound
Yes
isIncomingCallAutoConnect
boolean
Whether to automatically connect incoming calls to the agent.
true
No
phoneType
string
Phone type for the agent (WEBPHONE/IPPHONE).
WEBPHONE
Yes
expireDate
string
Expiration date for the agent's account. Format: YYYY-MM-DD
2023-12-31
Yes
Request Example:
javascript
Success Response Example:
json
Error Response Example:
json
json
json
json
Call Center Agent Delete API Integration
Request URL:
bash
Request Headers:
Header
Value
Content-Type
application/json
x-api-key
YOUR_SECRET_KEY
Request Query:
Parameter
Type
Description
Example
Required
callerId
string
Unique caller ID for the call center (usually the shop or service number).
+8809600000000
Yes
email
string
Email address of the agent.
john@example.com
Yes
Request Example:
javascript
Success Response Example:
json
Error Response Example:
json
json
json
Call Center Agent List API Integration
Request URL:
bash
Request Headers:
Header
Value
Content-Type
application/json
x-api-key
YOUR_SECRET_KEY
Request Query:
Parameter
Type
Description
Example
Required
callerId
string
Unique caller ID for the call center (usually the shop or service number).
+8809600000000
Yes
Request Example:
javascript
Success Response Example:
json
Error Response Example:
json
json
json
Call Center Click To Call API Integration
Request URL:
bash
Request Headers:
Header
Value
Content-Type
application/json
x-api-key
YOUR_SECRET_KEY
Request Body:
Parameter
Type
Description
Example
Required
callerId
string
Unique caller ID for the call center (usually the shop or service number).
+8809600000000
Yes
email
string
Email address of the agent.
john@example.com
Yes
number
string
Number of the customer you want to call from the call center.
01934567890
Yes
payload
string
Custom payload that can contain any data (e.g., JSON, Array) but must be sent as a string. This same payload will be returned in the call end webhook, allowing you to verify and match the call with your system data.
{"orderId":12345,"customer":"John Doe"}
No
Request Example:
javascript
Success Response Example:
json
Error Response Example:
json
json
Conclusion of Call Center
This documentation provides a complete guide for using the Call Center API and Call Center iframe. By following these steps, you can easily integrate the system to your website.