Bxp API

From All n One's bxp software Wixi

Revision as of 21:07, 13 July 2014 by Philip Lacey (talk | contribs)
Jump to: navigation, search

The BEAPI is a way for 3rd party systems to interact directly with bxp software (bxp).

The formal API documentation is publicly available from [[[1]]]

The current version is 5-0-3.


1 Basics

All interactions are done with bxp through HTTPS Posts. Information is passed to bxp through a data "post" or the querystring parameters, depending on the sensitivity and capability of the calling 3rd party application.

BEAPIInteractions.png


The standard "User Interface" is what most agents and direct users will interact with. The interactions will be through a web address similar to https://ww3.allnone.ie/client/client_X/main/login.asp where X is change to the name of the bxp Client.

It is possible for 3rd party solutions to interact with the API which is a completely different and programmatic interface.


2 External Access Setup overview

The detailed setup on how to do this is explicitly detailed in the BEAPI document.

The summary is:

  1. Create a user but give the user no functional access to bxp
  2. Apply IP address restrictions to the account, so it can only be used from controlled environments
  3. Grant the user explicit access to the secure form data
  4. Explicitly allow the form data to be externally accessible
  5. From here the user account should be able to perform functions such as read or write to the data

3 Read and write functionality

There are many functions within the API but the most used are "formlogging" and "datasearch".

3.1 FormLogging

FormLogging is the process by which data is inserted into the secure data form.

//=========================================================
//Data Setup
//=========================================================
$url = 'https://ww3.allnone.ie/client/client_demo/cti/userCTI_GenericEntry.asp';
//set the extrac POST variables required
$fields = array(
	'user_id' 			=> urlencode('testing'),
	'user_key' 			=> urlencode('testing'),
	'system' 			=> urlencode('formlogging'),
	'campaignid' 			=> urlencode('56')
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }

//extract data from the post
foreach($_POST as $key => $value) {
	$fields_string .= $key.'='.urlencode($value).'&';
} 
rtrim($fields_string,'&');
//=========================================================
//Process Data
//=========================================================
//open connection and set the url, number of POST vars, POST data, execute post
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,		$url		);
curl_setopt($ch, CURLOPT_POST,		1		);
curl_setopt($ch, CURLOPT_POSTFIELDS,	$fields_string	);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 	1		);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,	1		); 
$result = curl_exec($ch);
curl_close($ch);


Key Parameters

Line 5: The BE URL which will process the request. Client_demo should be replaced with the name of your system

Line 9: user_id is the username of the account with permission to access the form as set up in steps 2.7 and 2.8 of this document Line 10: user_key is the password of the account with permission to access the form as set up in steps 2.7 and 2.8 of this document

Line 11: system is the function to be used, in this case formlogging Line 12: campaignid is the Id of the form to be accessed. This Id is available from Main Menu > Data Profiling > Instant – Dashboards > Dashboard – System Information.


3.2 DataSearch

4 Website Integrations

For websites bxp provides read and write ability that is controlled by the website. These facilities can be applied to provide:

  • Custom account management
  • Customer Relationship Management
  • Membership management
  • Event management
  • Appointment management
  • Payment processing solution recording and management
  • List or publication management
  • CPD (Continuing Professional Development) point management


5 Mobile and Table App Integrations

6 Computer Telephony Integration (CTI)

7 3rd Party Software Integration