Authentication
Prior to using the API a properly obtained Token via Admin application (Settings->Integration->API Tokens) should be generated.
Each call will contain 2 required parameters:
token - properly obtained API Integration Token
accid - dhm
Inserting Lead
Any lead inserted by this method will be put into the database as a Hot Lead. Which means it will be dialed with priority as soon as possible. By default duplicate leads will be suppressed and won't be dialed.
Supported Methods: POST,GET
Required Values:
token - look at "Authentication" section above
accid - look at "Authentication" section above
Campaign - name of campaign where lead will be inserted (should exist beforehand)
PrimaryPhone
Optional Values:
Subcampaign - name of subcampaign where lead will be inserted
timezone - tells the system whether to check or not timezone based on phone area. Allowed values are: 0 or 1 (0 - default is disabled)
AllowDialingDups - tells the system whether to dial duplicated leads or not (dups lookup being performed based on "Duplicates Check" mode). Allowed values are: 0 or 1 (0 - default is disabled)
DialNonCallables - tells the system whether to dial non-callable leads (including numbers added into DNC table) or not. Allowed values are: 0 or 1 (0 - default is disabled)
DuplicatesCheck - tells the system how to check for duplicates. Allowed values are: 0 (default) - check duplicates within same campaign only, 1 - allow duplicates, 2 - check duplicates across all campaigns, 3 - check duplicates within same campaign and subcampaign
ImportOnly - tells the system if that is regular import without dialing. Allowed values are: 0 or 1 (0 - default)
To create Agent Specific Callback:
CallbackAgent - Selected Agent
CallbackDate - Callback Date. Date format: "MM/dd/yyyy HH:mm:ss", where MM - 2-digit month, dd - 2-digit day, yyyy - 4-digit year, HH:mm:ss - time in 24-hrs format. Date and Time should be in Customer Phone Timezone. Sample: "08/23/2018 14:20:00"
CallbackNotes - optional. Callback Notes
Any other values will be recognized as lead fields so they should have exact same names as in DB.
Any custom field should have prefix " adv_ " in its name. Additionally, any spaces in the field names should be replaced with double underscore (__)
Default field length:
ClientId = 50
FirstName = 100
LastName = 100
Address = 500
City = 100
State = 2
ZipCode = 10
PrimaryPhone = 50
Rep = 50
CallStatus = 50
Campaign = 50
Notes = unlimited
Subcampaign = 50
Sample request:
Updating Lead
This method is used to UPDATE existing lead. It won't create new one and it won't send command to dial the updated lead right away.
Supported Methods: POST,GET
Required Values:
token - look at "Authentication" section above
accid - look at "Authentication" section above
SearchField - based on which field we will be looking for a lead. Allowed values are: ClientId , LeadId , Phone
Identifier - search value
To create Agent Specific Callback:
CallbackAgent - Selected Agent
CallbackDate - Callback Date. Date format: "MM/dd/yyyy HH:mm:ss", where MM - 2-digit month, dd - 2-digit day, yyyy - 4-digit year, HH:mm:ss - time in 24-hrs format. Date and Time should be in Customer Phone Timezone. Sample: "08/23/2018 14:20:00"
CallbackNotes - optional. Callback Notes
Any other values will be recognized as lead fields so they should have exact same names as in DB.
Any custom field should have prefix "adv_ " in its name. Additionally, any spaces in the field names should be replaced with double underscore (__)
Any fields that won't be found for current lead will be omitted.
Sample request:
Lead Operations
This method is used to perform an ACTION on an existing lead.
Supported Methods: POST,GET
Required Values:
token - look at "Authentication" section above
accid - look at "Authentication" section above
Action - look at "Action" section below
Action Values:
DispositionLead - this action will disposition current lead opened by the agent and identified by LeadId value. Parameters: LeadId - lead identifier, Disposition - dispostion that should be used.
Sample request: https://api.chasedatacorp.com/HttpImport/LeadOperations.php?token=D7C84300-0C1D-4DC9-B70F-A1D89B927F51&accid=test&Action=DispositionLead&LeadId=1234&Disposition=TestDispo
SearchLead - this action will lookup current lead and return available information if any.
Parameters:
SearchField - based on which field we will be looking for a lead. Allowed values are: ClientId , LeadId , Phone.
Identifier - search value. Will be passed as-is, so proper formatting is required at the caller side.
Detailed - indicate if all available lead fields should be returned, or just search result. Allowed values are: 0/1
Campaign - name of campaign to restrict lookup (optional, empty = all)
Subcampaign - name of sub-campaign to restrict lookup (optional, empty = all)
Return values: {"id": [record identifier],"LeadExists": [true/false]}
InsertDnc - this action will add DNC number and scrub it for all existing leads.
Parameters:
Number - 10-digit phone number
DeleteDnc - this action will remove DNC number. Existing leads marked as DNC won't be affected.
Parameters:
Number - 10-digit phone number
Text Operations
This method used to send SMS.
Supported Methods: POST,GET
Required Values:
token - look at "Authentication" section above
accid - look at "Authentication" section above
Action - look at "Action" section below
Action Values:
SendSms - this action will send SMS on behalf of the provided account.
Parameters:
From - owned 10-digit source number
To - destination number
Message - text message to send
Agent (optional) - agent login name (case sensitive)
LeadId (optional) - existing lead where SMS should be assigned.
Sample request:
Call Operations ( including agent Availability)
This method used to perform an ACTION for existing call.
Supported Methods: POST,GET
Required Values:
token - look at "Authentication" section above
accid - look at "Authentication" section above
Action - look at "Action" section below
Action Values:
AvailableInboundAgents
Parameters:
DID (Required) - Ring Group Number
CallId (Optional) - caller identifier to perform a Lead lookup
CanBeOnCall (Optional) (default=0 -- ignore) - indication if an agent can be considered available while processing another call
CanBeOnBreak (Optional) (default=0 -- ignore) - indication if an agent can be considered available while on break
CanDoWrapUp (Optional) (default=0 -- ignore) - indication if an agent can be considered available while in wrap up.
ConferenceCall - this action will initiate conference call for an existing conversation.
Parameters:
Agent - agent login name (case sensitive)
Phone - conference number
PrivateConference - indication if customer should be muted (0 [Client not muted] or 1 [Client Muted], 0 - default)
Agent Dial List Operations
This method used to MANAGE Agent Dial Lists.
Supported Methods: POST,GET
Required Values:
token - look at "Authentication" section above
accid - look at "Authentication" section above
Action - look at "Action" section below
List - Agent Dial List Name (should be unique to make proper call)
Phone - phone number that should be affected by the call (only digits, same as appears in the Dial List without extra prefixes)
Action Values:
CreateList - create new Agent Dial List. Name should be unique for selected Agent.
Parameters:
Agent
List
DeleteList - remove Agent Dial List.
Parameters:
Agent
List
AddPhone - add new Phone Number to existing Agent Dial List.
Parameters:
Agent
List
Phone
DeletePhone - remove Phone Number from existing Agent Dial List.
Parameters:
Agent
List
Phone
PhoneDialed - mark existing Phone as Dialed in existing Agent Dial List.
Parameters:
Agent
List
Phone
PhoneUnDialed - mark existing Phone as UnDialed (skipped) in existing Agent Dial List.
Parameters:
Agent
List
Phone
Rules
It is not recommended to use spaces in Agent Login Name or Agent Dial List Name for API calls
Agent Dial List Name should be unique for any operation to perform. Error will be returned otherwise.
Duplicated Phone Numbers are being suppressed in Agent Dial List
When a Phone is marked Dialed/UnDialed, relavent information like lead, call history record is not being modified if any exists.
Playlist Operations
This method used to MANAGE Playlist .
Supported Methods: POST,GET
Required Values:
token - look at "Authentication" section above
accid - look at "Authentication" section above
Playlist - relative playlist Name
Action - look at "Action" section below
Filter - filter name associated with Playlist
Action Values:
EnableFilter - Make filter active.
Parameters:
Playlist
Filter
DisableFilter - Make filter inactive.
Parameters:
Playlist
Filter
Reload - Apply changes and reload leads in associated campaigns
Parameters:
Playlist
AssignFilter - Assign filter to the Playlist.
Parameters:
Playlist
Filter
RemoveFilter - Un-assign filter from the Playlist
Parameters:
Playlist
Filter
Skill List Operations
This method used to MANAGE Skills and Call Queues.
Supported Methods: POST,GET
Required Values:
token - look at "Authentication" section above
accid - look at "Authentication" section above
Action - look at "Action" section below
Skill - skill name
Source - DID Source
Action
UpdatePriority - Set skill priority, delay, status for selected Source DID. If no priority exists, new one will be added.
Parameters:
Skill
Source
Optional (ignored if not set):
Priority - Skill Priority
Delay - Skill Priority Delay in seconds
Active - DID Source status for Skill (1 - active, 0 - disabled)
Reload - Apply changes and reload Call Queues for the affected group
Parameters: none
Sample request: https://api.chasedatacorp.com/HttpImport/SkillListOperations.php?token=D7C84300-0C1D-4DC9-B70F-A1D89B927F51&accid=test&Action=Reload