CampaignDialer XML Interface

CampaignDialer XML Interface

From TeleFlow

(Difference between revisions)
Jump to: navigation, search
(New page: CampaignDialer XML Interfact This document describes the interface to allow a web/application programmer to export data to and query from CampaignDialer. All functions are achieved throug...)
Current revision (22:40, 16 March 2008) (edit) (undo)
(Redirecting to TeleFlow Dialer XML)
 
(3 intermediate revisions not shown.)
Line 1: Line 1:
-
CampaignDialer XML Interfact
+
#REDIRECT [[TeleFlow_Dialer_XML]]
-
 
+
-
This document describes the interface to allow a web/application programmer to export data to and query from CampaignDialer. All functions are achieved through HTTP Post of XML documents to the CampaignDialer web server. Each type of document represents a command that can be issued to CampaignDialer, along with the appropriate data to fulfill the command.
+
-
 
+
-
 
+
-
=== Conventions ===
+
-
This document uses the following conventions to describe XML elements:
+
-
 
+
-
 
+
-
==== Nodes ====
+
-
Both start and end tags are used if the XML node has sub-nodes or child tags.
+
-
 
+
-
Example:
+
-
 
+
-
<xml>
+
-
<Node_Name>
+
-
</Node_Name>
+
-
</xml>
+
-
 
+
-
 
+
-
==== Data elements ====
+
-
For brevity, if a tag contains a single piece of information, only the start tag is used and the data and end tag are assumed. Example:
+
-
 
+
-
<xml>
+
-
<Tag_name>…
+
-
</xml>
+
-
 
+
-
is intended to mean:
+
-
 
+
-
<xml>
+
-
<Tag_name>data</Tag_name>
+
-
</xml>
+
-
 
+
-
 
+
-
==== Date types ====
+
-
Dates must be expressed in the format YYYY/MM/DD.
+
-
 
+
-
Example:
+
-
<xml>
+
-
<Appt_date>2007/06/21</Appt_date><!-- June 21, 2007 -->
+
-
</xml>
+
-
 
+
-
 
+
-
==== Time types ====
+
-
Time values must be expressed in 24-hour HH:MM:SS format.
+
-
 
+
-
Examples:
+
-
<xml>
+
-
<Callout_start_time>16:00:00</Callout_start_time><!-- 4:00 PM -->
+
-
</xml>
+
-
 
+
-
 
+
-
<xml>
+
-
<Appt_time>11:45:00</Appt_time><!-- 11:45 AM -->
+
-
</xml>
+
-
 
+
-
 
+
-
==== HTTP Post XML Interface ====
+
-
The format for the XML command documents follows in logical order. To avoid potential abuse, every command must contain the Client authentication information: <Login_name> and <Login_password>. The only exception is the “Hello” command.
+
-
 
+
-
 
+
-
=== Commands ===
+
-
The following section provides the definitions for the commands processed by the CampaignDialer
+
-
 
+
-
 
+
-
==== Hello ====
+
-
'''URL:''' http://XXX.XXX.XXX.XXX/campaigndialer/campaignhello.php
+
-
 
+
-
'''Body:'''
+
-
<xml>
+
-
{none}
+
-
</xml>
+
-
 
+
-
 
+
-
Use this command to “ping” the Campaign Dialer web server to ensure it can be reached and is functioning correctly. This command is not required to use the Campaign Dialer. It is available as a troubleshooting tool. Campaign Dialer server will respond with a simple “Success” only.
+
-
 
+
-
'''Responses:'''
+
-
 
+
-
Success:
+
-
<xml>
+
-
<Result>Success</Result>
+
-
</xml>
+
-
 
+
-
 
+
-
====Authenticate====
+
-
'''URL:''' http://XXX.XXX.XXX.XXX/campaigndialer/campaignauthcheck.php
+
-
 
+
-
'''Body:'''
+
-
<xml>
+
-
<?xml version='1.0' encoding='utf-8'?>
+
-
<AuthCheck>
+
-
<UserID>companyadmin</UserID>
+
-
<Password>abc123</Password>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
</AuthCheck>
+
-
</xml>
+
-
 
+
-
This command will check your login credentials against the Campaign Dialer server to determine if you are permitted to use the system. It does not affect future interactions with the Campaign Dialer. Every command must include user/client authentication.
+
-
 
+
-
'''Responses:'''
+
-
 
+
-
Authorized:
+
-
<xml>
+
-
<AuthResult>
+
-
<UserID>companyadmin</UserID>
+
-
<Success>This account is registered to Joe Bloggs</Success>
+
-
<InboundTelNo>604-555-1234</InboundTelNo>
+
-
<Result>Success</Result>
+
-
</AuthResult>
+
-
</xml>
+
-
 
+
-
Not Authorized:
+
-
<xml>
+
-
<AuthResult>
+
-
<UserID>companyadmin</UserID>
+
-
<Failure>UserID and Password combination invalid</Failure>
+
-
<Result>Failure</Result>
+
-
</AuthResult>
+
-
</xml>
+
-
 
+
-
 
+
-
====InstallVoice====
+
-
'''URL:''' http://XXX.XXX.XXX.XXX/campaigndialer/campaignupload.php
+
-
 
+
-
'''Body:'''
+
-
<xml>
+
-
<?xml version="1.0"?>
+
-
<InstallVoice version ="1.0">
+
-
<UserID>companyadmin</UserID>
+
-
<Password>abc123</Password>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<FileTag replace="n">SampleFile</FileTag>
+
-
<FileType>wav</FileType>
+
-
<FileContents>Base64 Encoded Data</FileContents>
+
-
</InstallVoice>
+
-
</xml>
+
-
 
+
-
All campaigns must have an associated audio file to play. This command will upload an MP3 or WAV audio file and establish a tag name to refer to that file in subsequent calls.
+
-
 
+
-
In the above body example, you must replace “Base64 Encoded Data” with the actual audio data.
+
-
 
+
-
'''Responses:'''
+
-
 
+
-
Successful installation:
+
-
<xml>
+
-
<InstallResponse>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<FileTag>SampleFile</FileTag>
+
-
<Result>Success</Result>
+
-
</InstallResponse>
+
-
</xml>
+
-
 
+
-
Invalid user/password:
+
-
<xml>
+
-
<AuthResult>
+
-
<UserID>companyadmin</UserID>
+
-
<Failure>UserID and Password combination invalid</Failure>
+
-
</AuthResult>
+
-
</xml>
+
-
 
+
-
Bad audio data:
+
-
<xml>
+
-
<InstallResponse>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<Errors>1004: Encoded file type unknown</Errors>
+
-
<Result>Failure</Result>
+
-
</InstallResponse>
+
-
</xml>
+
-
 
+
-
 
+
-
====SendTest====
+
-
'''URL:''' http://XXX.XXX.XXX.XXX/campaigndialer/campaignupload.php
+
-
 
+
-
'''Body:'''
+
-
<xml>
+
-
<?xml version="1.0"?>
+
-
<SendTest version="1.0">
+
-
<UserID>companyadmin</UserID>
+
-
<Password>abc123</Password>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<SendCallerId>6045558888</SendCallerId>
+
-
<Transfer offer="y" ext="103">6046396391</Transfer>
+
-
<FileTag playtwice="y">SampleFile</FileTag>
+
-
<SendTo>6046396391</SendTo>
+
-
</SendTest>
+
-
</xml>
+
-
 
+
-
Use this command to send a test call to one phone number.
+
-
 
+
-
Once an audio file has been installed, it is advisable to make a test call to ensure the audio sounds acceptable, and that the transfer functionality works as expected, before you you’re your full campaign call list with SendVoice.
+
-
 
+
-
'''Responses:'''
+
-
Success:
+
-
<xml>
+
-
<TestSent>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<FileTag>SampleFile</FileTag>
+
-
<SentCount>1</SentCount>
+
-
<FailCount>0</FailCount>
+
-
<Result>Success</Result>
+
-
</TestSent>
+
-
</xml>
+
-
 
+
-
Not authorized:
+
-
<xml>
+
-
<AuthResult>
+
-
<UserID>companyadmin</UserID>
+
-
<Failure>UserID and Password combination invalid</Failure>
+
-
</AuthResult>
+
-
</xml>
+
-
 
+
-
Invalid recording:
+
-
<xml>
+
-
<VoiceSent>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<Errors>2009: Recording not installed</Errors>
+
-
<Result>Failure</Result>
+
-
</VoiceSent>
+
-
</xml>
+
-
 
+
-
Invalid telephone number:
+
-
<xml>
+
-
<VoiceSent>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<Errors>2011: No valid telephone numbers provided</Errors>
+
-
<Result>Failure</Result>
+
-
</VoiceSent>
+
-
</xml>
+
-
 
+
-
'''Important Notes:'''
+
-
 
+
-
* Telephone number validation does not apply to the telephone number to use for transfers to the operator.
+
-
* You '''must''' test this number to ensure it is valid and reaches the intended party.
+
-
* If this telephone number is remote from the Atlanta calling area, it '''must''' contain the preceding ‘1’.
+
-
 
+
-
 
+
-
====SendVoice====
+
-
'''URL:''' http://XXX.XXX.XXX.XXX/campaigndialer/campaignupload.php
+
-
 
+
-
'''Body:'''
+
-
<xml>
+
-
<?xml version="1.0"?>
+
-
<SendVoice version="1.0">
+
-
<UserID>companyadmin</UserID>
+
-
<Password>abc123</Password>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<SendCallerId>6045558888</SendCallerId>
+
-
<Transfer offer="y" ext="103">6046396391</Transfer>
+
-
<FileTag playtwice="y">SampleFile</FileTag>
+
-
<SendTo seq="0">6046396391</SendTo>
+
-
<SendTo seq="1">6045551212</SendTo>
+
-
. . .
+
-
<SendTo seq="n">8005551313</SendTo>
+
-
</SendVoice>
+
-
</xml>
+
-
 
+
-
This command sends a list of telephone numbers to be called. Issuing this command creates a campaign associating all the phone numbers to a particular file tag, and starting the call-out process.
+
-
 
+
-
'''''Important Notice:'''''
+
-
 
+
-
ALWAYS test with the SendTest command BEFORE you upload a list of numbers with SendVoice. It is your responsibility to ensure there are no problems with the audio or operator transfer functionality data you have provided. If there is a problem with the recording or the operator transfer, the problem will be heard by all callers in your list, and you will be billed for the calls made.
+
-
 
+
-
'''Responses:'''
+
-
 
+
-
Success:
+
-
<xml>
+
-
<VoiceSent>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<FileTag>SampleFile</FileTag>
+
-
<SentCount>3</SentCount>
+
-
<FailCount>0</FailCount>
+
-
<Result>Success</Result>
+
-
</VoiceSent>
+
-
</xml>
+
-
 
+
-
Not authorized:
+
-
<xml>
+
-
<AuthResult>
+
-
<UserID>companyadmin</UserID>
+
-
<Failure>UserID and Password combination invalid</Failure>
+
-
</AuthResult>
+
-
</xml>
+
-
 
+
-
Invalid recording:
+
-
<xml>
+
-
<VoiceSent>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<Errors>2009: Recording not installed</Errors>
+
-
<Result>Failure</Result>
+
-
</VoiceSent>
+
-
</xml>
+
-
 
+
-
Invalid telephone number:
+
-
<xml>
+
-
<VoiceSent>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<Errors>2011: No valid telephone numbers provided</Errors>
+
-
<Result>Failure</Result>
+
-
</VoiceSent>
+
-
</xml>
+
-
 
+
-
'''Important Notes:'''
+
-
 
+
-
* Telephone number validation does not apply to the telephone number to use for transfers to the operator.
+
-
* You '''must''' test this number to ensure it is valid and reaches the intended party.
+
-
* If this telephone number is remote from the Atlanta calling area, it '''must''' contain the preceding ‘1’.
+
-
 
+
-
 
+
-
====GetVoice====
+
-
'''URL:''' http://XXX.XXX.XXX.XXX/campaigndialer/campaigndownload.php
+
-
 
+
-
'''Body:'''
+
-
<xml>
+
-
<?xml version="1.0"?>
+
-
<GetVoice version ="1.0">
+
-
<UserID>companyadmin</UserID>
+
-
<Password>abc123</Password>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<FileId>10003</FileId>
+
-
</GetVoice>
+
-
</xml>
+
-
 
+
-
Use this command to retrieve audio data recorded via the Campaign Dialer Message Recorder.
+
-
 
+
-
'''Responses:'''
+
-
 
+
-
Success:
+
-
<xml>
+
-
<GetVoiceResponse>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<FileId>10013</FileId>
+
-
<FileContents>Base64 Encoded Data</FileContents>
+
-
<Result>Success</Result>
+
-
</GetVoiceResponse>
+
-
</xml>
+
-
 
+
-
Note that “Base64 Encoded Data” would contain the actual audio data
+
-
 
+
-
Not authorized:
+
-
<xml>
+
-
<AuthResult>
+
-
<UserID>companyadmin</UserID>
+
-
<Failure>UserID and Password combination invalid</Failure>
+
-
</AuthResult>
+
-
</xml>
+
-
 
+
-
Invalid File ID:
+
-
<xml>
+
-
<GetVoiceResponse>
+
-
<Customer>Campaign Dialer Customer</Customer>
+
-
<Errors Count="1">
+
-
<FileMissing>File Id 10013 not located</FileMissing>
+
-
</Errors>
+
-
<Result>Failure</Result>
+
-
</GetVoiceResponse>
+
-
</xml>
+

Current revision

  1. REDIRECT TeleFlow_Dialer_XML