A campaign refers to an outbound auto-dialer feature that sequentially reaches out to a list of contacts, initiates outbound calls, and connects each contact to an available agent. Campaign endpoints provide access to campaign-related data, allowing retrieval of campaign and contact objects.
Campaign object: represents a single campaign within the platform
Contact object: represents individual campaign contacts within a specific campaign
See to the following model to determine which fields might contain PII:
[
{
"campaign_type" : "default",
"id" : 67,
"external_campaign_id" : null,
"max_abandonment_percent" : 3,
"max_redial_count" : 3,
"mode" : "preview",
"name" : "string",
"overdial_adjustment_multiplier" : 1,
"queue" : {
"deleted" : false,
"hidden" : false,
"id" : 60,
"menu_type" : "ivr_menu",
"name" : "string",
"output_msg" : null,
"parent_id" : 59,
"position" : 4
},
"redial_interval_minutes" : 120,
"status" : "dialing",
"target_number_to_process" : 1000,
"created_at" : "2023-04-01T23:23:43.000Z",
"starts_at" : "2023-04-01T23:28:08.000Z",
"ends_at" : null,
"updated_at" : "2023-04-01T23:28:08.000Z",
"contact_stats" : {
"Abandoned by Contact" : 0,
"Abandoned by Dialer" : 0,
"Average Redials per Number" : 0,
"Carrier Error" : 0,
"Completed" : 50,
"Connected" : 0,
"Contacts" : 1000,
"Dialer General Error" : 0,
"Dialing" : 0,
"Do Not Call" : 0,
"Finished" : 40,
"Invalid Number or Name" : 0,
"Invalid outbound number" : 0,
"Not Picked Up" : 0,
"Not Reached to Contact" : 0,
"Not reached" : 10,
"Not yet reached" : 960,
"Queued" : 0,
"Reached" : 0,
"Redial Scheduled" : 0,
"Redials" : 0,
"Remaining" : 950,
"Running" : 0,
"Skipped" : 0,
"Skipped & Closed" : 10,
"Transferred" : 0,
"Transferred and Finished" : 0,
"Upcoming" : 950,
"Voicemail Hung Up" : 0
}
}
]
Campaign status field
The status
field can be in any of the following states:
Campaign Status | Description |
---|---|
created | A campaign is created but has not started doing outbound calls. |
started | A campaign has started doing outbound calls has not started dialing (conversation). |
dialing | A campaign is dialing outbound calls. |
pause | A campaign has been paused by an agent or manager. |
finished | A campaign has completed all of its calls. |
Campaign mode field
The mode
field can be in any of the following values:
Campaign Mode | Description |
---|---|
preview | For a preview campaign, an agent connects to an end-user or chooses what action to take for a given contact. In a preview campaign, the contact or end-user is known. |
predictive | For a predictive campaign, an agent is connected to a reservation call. We turn on machine detection for that call, which tells us whether the response to an outbound call is from a human or a machine (for example, a voicemail), only connecting the agent to a human. |
progressive | For Progressive Campaign, the dialer would first connect to the first available agent. Upon connection, the dialer would call and deliver the first available (a contact that has not been called yet for a given campaign) contact to the agent. |
Campaign type field
The campaign_type
field can be any of the following values:
Campaign Type | Description |
---|---|
default | Campaign contacts are from user-uploaded CSV files. |
external_list | Campaign contacts are from external or third-party services. |
Campaign list
Endpoint:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/outbound_dialer/campaigns
More example Requests/Responses:
Example request: Campaign list
Query: None
Body: None
Example response: Campaign list
[
{
"campaign_type": "default",
"id": 67,
"external_campaign_id": null,
"max_abandonment_percent": 3,
"max_redial_count": 3,
"mode": "preview",
"name": "string",
"overdial_adjustment_multiplier": 1,
"queue": {
"deleted": false,
"hidden": false,
"id": 60,
"menu_type": "ivr_menu",
"name": "string",
"output_msg": null,
"parent_id": 59,
"position": 4
},
"redial_interval_minutes": 120,
"status": "dialing",
"target_number_to_process": 1000,
"created_at": "2023-04-01T23:23:43.000Z",
"starts_at": "2023-04-01T23:28:08.000Z",
"ends_at": null,
"updated_at": "2023-04-01T23:28:08.000Z",
"contact_stats": {
"Abandoned by Contact": 0,
"Abandoned by Dialer": 0,
"Average Redials per Number": 0,
"Carrier Error": 0,
"Completed": 50,
"Connected": 0,
"Contacts": 1000,
"Dialer General Error": 0,
"Dialing": 0,
"Do Not Call": 0,
"Finished": 40,
"Invalid Number or Name": 0,
"Invalid outbound number": 0,
"Not Picked Up": 0,
"Not Reached to Contact": 0,
"Not reached": 10,
"Not yet reached": 960,
"Queued": 0,
"Reached": 0,
"Redial Scheduled": 0,
"Redials": 0,
"Remaining": 950,
"Running": 0,
"Skipped": 0,
"Skipped & Closed": 10,
"Transferred": 0,
"Transferred and Finished": 0,
"Upcoming": 950,
"Voicemail Hung Up": 0
}
}
]
Status Code: 200
Single campaign
Endpoint:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/outbound_dialer/campaigns/\{campaign_id\}
More example Requests/Responses:
Example request: Single campaign
Query:
Parameter | Required | Data Type | Definition |
---|---|---|---|
campaign_id | TRUE | Integer | The ID of the campaign that you want to retrieve |
Body: None
Example response: Single campaign
{
"campaign_type": "default",
"id": 67,
"external_campaign_id": null,
"max_abandonment_percent": 3,
"max_redial_count": 3,
"mode": "preview",
"name": "string",
"overdial_adjustment_multiplier": 1,
"queue": {
"deleted": false,
"hidden": false,
"id": 60,
"menu_type": "ivr_menu",
"name": "string",
"output_msg": null,
"parent_id": 59,
"position": 4
},
"redial_interval_minutes": 120,
"status": "dialing",
"target_number_to_process": 1000,
"created_at": "2023-04-01T23:23:43.000Z",
"starts_at": "2023-04-01T23:28:08.000Z",
"ends_at": null,
"updated_at": "2023-04-01T23:28:08.000Z",
"contact_stats": {
"Abandoned by Contact": 0,
"Abandoned by Dialer": 0,
"Average Redials per Number": 0,
"Carrier Error": 0,
"Completed": 50,
"Connected": 0,
"Contacts": 1000,
"Dialer General Error": 0,
"Dialing": 0,
"Do Not Call": 0,
"Finished": 40,
"Invalid Number or Name": 0,
"Invalid outbound number": 0,
"Not Picked Up": 0,
"Not Reached to Contact": 0,
"Not reached": 10,
"Not yet reached": 960,
"Queued": 0,
"Reached": 0,
"Redial Scheduled": 0,
"Redials": 0,
"Remaining": 950,
"Running": 0,
"Skipped": 0,
"Skipped & Closed": 10,
"Transferred": 0,
"Transferred and Finished": 0,
"Upcoming": 950,
"Voicemail Hung Up": 0
}
}
Status Code: 200
Contact list
Parameter | Required | Data Type | Definition |
---|---|---|---|
campaign_id | TRUE | Integer | The ID of the campaign that you want to get the contacts for |
Endpoint:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/manager/api/v1/outbound_dialer/campaigns/\{campaign_id\}/contacts
More example Requests/Responses:
Example request: Contact list
Query:
Parameter | Required | Data Type | Definition |
---|---|---|---|
campaign_id | TRUE | Integer | The ID of the campaign that you want to get the contacts for |
Body: None
Example response: Contact list
[
{
"assigned_call_id": 32001,
"assigned_participant_id": 54321,
"campaign_id": 240,
"created_at": "2023-04-01T17:15:38.000Z",
"id": 16312,
"name": "string",
"outbound_number": null,
"priority": null,
"status": "Upcoming",
"unique_id": "string",
"updated_at": "2023-04-01T17:15:38.000Z"
},
{
"assigned_call_id": 32002,
"assigned_participant_id": 54330,
"campaign_id": 240,
"created_at": "2023-04-01T17:15:38.000Z",
"id": 16313,
"name": "string",
"outbound_number": null,
"priority": null,
"status": "Upcoming",
"unique_id": "string",
"updated_at": "2023-04-01T17:15:38.000Z"
}
]
Status Code: 200