Initiate Click to Call

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

The Click-to-Call API enables your application to initiate an outbound call between an Acefone agent and a customer with a single API request. Instead of manually dialing numbers, your application simply sends the required call details to Acefone, and the platform automatically establishes the call.

When a request is received, acefone first places a call to the specified agent (using the registered mobile number, Acefone Agent ID, or Acefone Extension for Softphone users). Once the agent answers, Acefone initiates the second leg of the call to the destination number. After the customer answers, Acefone seamlessly bridges both call legs, allowing the agent and customer to communicate.

This API is ideal for CRM integrations, lead management systems, customer support platforms, sales automation, and any application that requires one-click outbound calling without manual intervention.

The Click-to-Call API operates asynchronously, meaning it immediately acknowledges that the request has been accepted for processing instead of waiting for the call to complete. To monitor the call lifecycle—including ringing, answered, completed, missed, or failed events—configure Acefone Webhooks, which provide real-time event notifications to your application.

Typical Flow

  1. Your application sends a Click-to-Call request to Acefone.
  2. Acefone calls the specified agent.
  3. After the agent answers, Acefone calls the destination number.
  4. Once the customer answers, Acefone bridges both call legs.
  5. Call progress and final status are delivered to your application through Webhooks.

Note: A successful API response only confirms that the request has been accepted for processing. It does not indicate that the call has been connected or answered. Use Acefone Webhooks to track the complete call lifecycle and receive real-time call status updates.

How it Works

The diagram below provides a high-level overview of the Click-to-Call workflow, including call initiation, agent connection, customer dialing, and call bridging.



Request Headers

The following request headers are required to successfully invoke the Click-to-Call API.

HeaderRequiredDescription
Content-TypeYesapplication/json

Request Parameters

Provide the following parameters in the request body to initiate a Click-to-Call request between a Aceone agent and the destination number.

ParameterTypeRequiredDescription
agent_numberStringYesIdentifier of the Acefone agent who will receive the first leg of the call. You can pass any one of the following:
• Registered Agent Mobile Number
• Acefone Agent ID (050XXXXXX)
• Acefone Agent Extension (060XXXXXX) for agents using Acefone Softphone
destination_numberStringYesMobile or landline number of the customer to be called. The number should be provided in a valid format supported by Acefone.
caller_idStringNoCaller ID displayed to the destination party. If provided, it must be a Caller ID assigned to your Acefone account. If omitted, the account's default Pilot Number is used.
asyncIntegerYesSpecifies whether the request should be processed asynchronously. Currently, only the value 1 is supported. The API always processes Click-to-Call requests asynchronously and immediately returns the request acceptance status.
call_timeoutIntegerNoMaximum duration of the connected call in seconds. Once the specified timeout is reached, Acefone automatically disconnects the call.
custom_identifierObjectNoSupports up to 10 custom identifiers in a single request. The combined size of all custom identifier data (including keys, values, colons (:), commas, double quotes ("), braces ({}), and other JSON characters) must not exceed 512 characters. Custom identifier values should be alphanumeric, and the $ (dollar) character is not supported in parameter values. These custom identifiers are returned unchanged in the webhook payload, allowing you to correlate webhook events with your application.

Sample Request

The following example demonstrates how to initiate a Click-to-Call request using the Acefone Click-to-Call API.

curl --request POST \
  --url https://api.acefone.in/v1/click_to_call \
  --header "Content-Type: application/json" \
  --header "Authorization: Bearer <YOUR_API_TOKEN>" \
  --data '{
    "agent_number": "050xxx3456",
    "destination_number": "98xxx43210",
    "caller_id": "08xxx678900",
    "async": 1,
    "call_timeout": 300
  }

Sample Response (Success)

The following example shows the response returned when the Click-to-Call request is successfully accepted for processing.

{
    "success": true,
    "message": "Call originated successfully.",
  "ref_id": "C2C2408011234xxx89"
}

Response Parameters

The API returns the following parameters indicating whether the request has been accepted for processing. Since the API is asynchronous, the response confirms only the request acceptance. Use Acefone Webhooks to track the complete call lifecycle and receive real-time call status updates.

ParameterTypeDescription
successBooleanIndicates whether the API request has been accepted successfully.
messageStringResponse message corresponding to the request status.
ref_idStringUnique Acefone reference ID generated for the Click-to-Call request. This identifier can be used to correlate webhook events and perform supported call operations.

Call Status & Webhooks

The Click-to-Call API returns only the request acceptance status. Actual call progress, including call initiation, ringing, answered, completed, failed, and other call events, is communicated through Acefone Webhooks.

For detailed information about supported webhook events, payload structure, and configuration, please refer to the Webhook Documentation.

Response Codes

The following response codes help you identify whether the request was processed successfully or if corrective action is required due to an error.

HTTP CodeDescription
200Request accepted successfully.
400Invalid request parameters or validation failed.

Error Response Example

The following example shows the response returned when the API request cannot be processed due to invalid input, authentication issues, or other request validation errors.

{
    "success": false,
  "message": "Invalid destination number."
}

Common Error Messages

The table below lists common error messages returned by the Click-to-Call API, along with their possible causes and recommended resolutions to help you troubleshoot integration issues efficiently.
These descriptions are concise and consistent with the rest of your API documentation.

Error MessagePossible CauseResolution
Agent is BlockedThe selected agent is currently in a blocked state and cannot initiate or receive calls.Unblock the agent from the Acefone Dashboard and retry the API request.
Invalid request bodyOne or more request parameters are missing, contain invalid values, or are of an incorrect data type.Review the API request payload and ensure all mandatory fields are provided with the correct data types and formats as defined in the API documentation.
DID Selected is either disabled or Outbound calling is disabled.The specified Caller ID (DID) is invalid, disabled, not associated with your account, or outbound calling is not enabled for it.Use a valid Caller ID (DID) that is active, configured for your account, and enabled for outbound calling.
Call missed by agentThe agent did not answer the call, or the agent's mobile number was unreachable, switched off, or out of network coverage.Verify that the agent's mobile number is active, reachable, and has network connectivity. Once the agent is available, retry the API request.
Endpoint request timed outThe system attempted to connect the first leg of the call but did not receive a response within 30 seconds. This typically occurs when using synchronous API execution.async = 1 is mandatory for all Acefone Calling APIs. Ensure the request includes async = 1 to enable asynchronous call initiation and receive call status updates through webhooks.
Destination number should be a valid intercom number or a valid number with 10 to 13 digits.The destination number is invalid, incorrectly formatted, or exceeds the supported digit limit. International numbers are supported only if international calling is enabled for your account and the user.Verify that the destination number is valid and correctly formatted. If dialing an international number, ensure that international calling is enabled for both your account and the respective user.
Originate failedThe call could not be initiated due to a temporary platform issue or an invalid request configuration.Ensure the request includes async = 1, as it is mandatory for all Acefone Calling APIs. If the issue persists after verifying the request, wait a few minutes and retry. If the problem continues, contact Acefone Support with the request details and timestamp for further investigation.

📘 Notes!

  • The API is asynchronous and immediately acknowledges the request after successful validation.
  • Pass async as 1. Synchronous mode is not supported.
  • Store the returned ref_id for correlating webhook events and future call operations.
  • You can include up to 10 custom identifiers per request. The combined JSON representation of all custom identifiers must not exceed 512 characters. Custom identifier values must be alphanumeric, and the $ character is not supported.
  • Configure Webhooks to receive real-time updates on the complete call lifecycle.

Related APIs

Explore the following related APIs to extend your Click-to-Call integration with advanced call controls, active call management, call history, and real-time event notifications.

APIPurpose
Call Operations APIPerform operations such as Hangup, Transfer, Conference, Monitor, Whisper, and Barge on an active call.
Fetch Active Calls APIRetrieve details of currently active calls.
Call Detail Records (CDR) APIFetch historical call logs and recordings.
Webhook APIReceive real-time call event notifications.
Body Params
string
required

Number of the client that needs to be called.

string
required

ID of the Acefone agent who will receive the call.

string

Caller ID that is shown to the called party.

string
enum
required
Defaults to 1

Make multiple calls simultaneously, i.e don't wait for agent to pick up the call before sending back the response. 1: asynchronous request, 0: synchronous request

Allowed:
int32

With the help of this request variable you can limit the time of the call. Call will auto disconnect after provided seconds have been reached in call duration.

string

Custom parameter that can be send while making a Click To Call request. This parameter will be returned in webhook. Note: This is a sample custom identifier, you can send your own custom parameters while making a request to Servetel.

Headers
string
required
Responses

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json