Difference between revisions of "Bxp API - APP API"

From All n One's bxp software Wixi

Jump to: navigation, search
(Function List)
Line 41: Line 41:
  
 
Initial
 
Initial
* login
+
* login [[Bxp_API_APP_-_Function_-_Login]]
* settings
+
* settings [[Bxp_API_APP_-_Function_-_Settings_and_Confg]]
* config_primary
+
* config_primary [[Bxp_API_APP_-_Function_-_Settings_and_Confg#config_function]]
* config_buttonX
+
* config_buttonX [[Bxp_API_APP_-_Function_-_Settings_and_Confg#config_function]]
  
  
 
Lister
 
Lister
* insert_listee
+
* list_listee [[Bxp_API_APP_-_Function_-_Lister]]
* list_listee
+
* insert_listee [[Bxp_API_APP_-_Function_-_Lister#Create_Listee]]
  
  
 
Diary
 
Diary
* diary
+
* diary [[Bxp_API_APP_-_Function_-_Diary]]
* list_appointment
 
  
  
Line 70: Line 69:
 
* todo (future build)
 
* todo (future build)
 
* list_reminders  (future build)
 
* list_reminders  (future build)
 +
* list_appointment  (future build)
  
== Login Function ==
 
  
  
Primary Function: Provide a login session token
 
 
 
You must post four key pair values. (not including the semi colons)
 
 
* strFunction:login
 
* strSystem:client_demo
 
* strClient_Username:Demo Account
 
* strClient_Password:demoPassword
 
 
 
The system will respond with XML.
 
 
 
<syntaxhighlight lang="xml">
 
<?xml version="1.0" encoding="UTF-8" ?>
 
<data>
 
<strFunction>login</function>
 
<intErrorId></intErrorId>
 
<strError></error>
 
<intClient_Id>123</userid>
 
<strClient_SessionField>asdfasdfasdf</strClient_SessionField>
 
</data>
 
</syntaxhighlight>
 
 
 
 
== Settings / Config recall Function ==
 
 
 
Primary Function: Provide APP settings for the bxp app.
 
 
 
You must post four key pair values. (not including the semi colons)
 
 
* strFunction:settings
 
* strSystem:client_demo
 
* intClient_Id:123
 
* strClient_SessionField:asdfasdfasdf
 
 
 
The Client Id and Client Session Field are retrieved from the login process.
 
 
 
It is possible to also limit the data returned to a specific button or just the primary settings.  Use config_primary or config_buttonX (replacing X with the button number) instead of settings.
 
 
 
The system will respond with XML.  The comments were added for highlighting purposes only and will not be in the exported xml
 
 
 
Layout types possible
 
* Splash
 
* SplashArticle
 
* Login
 
* MainMenu
 
* 1LargeDisplay
 
* 1SmallText1LargeText1Button
 
* 1Text1Button1LargeDisplay
 
* 2LargeDisplay1LinkButton
 
* Redirect
 
* Settings
 
 
 
 
<syntaxhighlight lang="xml">
 
<?xml version="1.0" encoding="UTF-8" ?>
 
<data>
 
<strFunction>settings</function>
 
<intErrorId></intErrorId>
 
<strError></error>
 
<!-- Primary Settings  -->
 
<intInterface_SystemId>2</intInterface_SystemId>
 
<intInterface_UserId>0</intInterface_UserId>
 
<intInterface_Columns>2</intInterface_Columns>
 
<strInterface_RSSTitle>Latest News</strInterface_RSSTitle>
 
<strInterface_RSSFeed>http://ww3.allnone.ie/client/client_allnone/message/rssfeed.asp</strInterface_RSSFeed>
 
<strInterface_StoreSystemAndUsername>true</strInterface_StoreSystemAndUsername>
 
<strInterface_Image_LogoURL>http://ww3.allnone.ie/client/client_allnone/images/Banner.jpg</strInterface_Image_LogoURL>
 
<strInterface_Image_Background>http://ww3.allnone.ie/images/backgrounds/textureBackground002.jpg</strInterface_Image_Background>
 
<strInterface_FontColours>#000000,#000000,#000000</strInterface_FontColours>
 
<strInterface_FontFaces>Calibri,Calibri,Calibri</strInterface_FontFaces>
 
<strInterface_FontSizes>18,12,10</strInterface_FontSizes>
 
<strInterface_SystemKeywords>Login,Back,Get config file,Reset all settings</strInterface_SystemKeywords>
 
<!-- Button 0 Settings  -->
 
<strInterface_Button0_Title>To Do!</strInterface_Button0_Title>
 
<strInterface_Button0_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button0_Styling>
 
<strInterface_Button0_Layout>1Text1Button1LargeDisplay</strInterface_Button0_Layout>
 
<strInterface_Button0_FunctionType>App</strInterface_Button0_FunctionType>
 
<strInterface_Button0_APICall>https://ww3.allnone.ie/client/client_allnone/cti/userApp.asp</strInterface_Button0_APICall>
 
<strInterface_Button0_Config>[[--SEP--]]Insert,Listee[[--SEP--]]List,Listee,All</strInterface_Button0_Config>
 
<strInterface_Button0_URL></strInterface_Button0_URL>
 
<strInterface_Button0_Parameters></strInterface_Button0_Parameters>
 
<!-- Button 1 Settings  -->
 
<strInterface_Button1_Title>Ticket</strInterface_Button1_Title>
 
<strInterface_Button1_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button1_Styling>
 
<strInterface_Button1_Layout>1SmallText1LargeText1Button</strInterface_Button1_Layout>
 
<strInterface_Button1_FunctionType>App</strInterface_Button1_FunctionType>
 
<strInterface_Button1_APICall>https://ww3.allnone.ie/client/client_allnone/cti/userAPP_Main.asp</strInterface_Button1_APICall>
 
<strInterface_Button1_Config>[[--SEP--]][[--SEP--]]Insert,Record,intCampaignId,strFields,strValues</strInterface_Button1_Config>
 
<strInterface_Button1_URL></strInterface_Button1_URL>
 
<strInterface_Button1_Parameters></strInterface_Button1_Parameters>
 
<strInterface_Button2_Title>Today</strInterface_Button2_Title>
 
<strInterface_Button2_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button2_Styling>
 
<strInterface_Button2_Layout>2LargeDisplay1LinkButton</strInterface_Button2_Layout>
 
<strInterface_Button2_FunctionType>App</strInterface_Button2_FunctionType>
 
<strInterface_Button2_APICall>https://ww3.allnone.ie/client/client_allnone/cti/userAPP_Main.asp</strInterface_Button2_APICall>
 
<strInterface_Button2_Config>List,Listee,Today[[--SEP--]]List,Appointment,Today[[--SEP--]]Redir,Button0</strInterface_Button2_Config>
 
<strInterface_Button2_URL></strInterface_Button2_URL>
 
<strInterface_Button2_Parameters></strInterface_Button2_Parameters>
 
<strInterface_Button3_Title>Tomorrow</strInterface_Button3_Title>
 
<strInterface_Button3_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button3_Styling>
 
<strInterface_Button3_Layout>2LargeDisplay1LinkButton</strInterface_Button3_Layout>
 
<strInterface_Button3_FunctionType>App</strInterface_Button3_FunctionType>
 
<strInterface_Button3_APICall>https://ww3.allnone.ie/client/client_allnone/cti/userAPP_Main.asp</strInterface_Button3_APICall>
 
<strInterface_Button3_Config>List,Listee,Tomorrow[[--SEP--]]List,Appointment,Tomorrow[[--SEP--]]Redir,Button0</strInterface_Button3_Config>
 
<strInterface_Button3_URL></strInterface_Button3_URL>
 
<strInterface_Button3_Parameters></strInterface_Button3_Parameters>
 
<strInterface_Button4_Title>Contacts</strInterface_Button4_Title>
 
<strInterface_Button4_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button4_Styling>
 
<strInterface_Button4_Layout>1Text1Button1LargeDisplay</strInterface_Button4_Layout>
 
<strInterface_Button4_FunctionType>App</strInterface_Button4_FunctionType>
 
<strInterface_Button4_APICall>https://ww3.allnone.ie/client/client_allnone/cti/userAPP_Main.asp</strInterface_Button4_APICall>
 
<strInterface_Button4_Config>[[--SEP--]]Lookup,intCampaign_Id,strCDA_X_field_Y_Z-strCDA_X_field_Y_Z[[--SEP--]]</strInterface_Button4_Config>
 
<strInterface_Button4_URL></strInterface_Button4_URL>
 
<strInterface_Button4_Parameters></strInterface_Button4_Parameters>
 
<strInterface_Button5_Title>Critical</strInterface_Button5_Title>
 
<strInterface_Button5_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button5_Styling>
 
<strInterface_Button5_Layout>1LargeDisplay</strInterface_Button5_Layout>
 
<strInterface_Button5_FunctionType>App</strInterface_Button5_FunctionType>
 
<strInterface_Button5_APICall>https://ww3.allnone.ie/client/client_allnone/cti/userAPP_Main.asp</strInterface_Button5_APICall>
 
<strInterface_Button5_Config>List-Hamsters</strInterface_Button5_Config>
 
<strInterface_Button5_URL></strInterface_Button5_URL>
 
<strInterface_Button5_Parameters></strInterface_Button5_Parameters>
 
<strInterface_Button6_Title>Website</strInterface_Button6_Title>
 
<strInterface_Button6_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button6_Styling>
 
<strInterface_Button6_Layout>Redirect</strInterface_Button6_Layout>
 
<strInterface_Button6_FunctionType>Redirect</strInterface_Button6_FunctionType>
 
<strInterface_Button6_APICall></strInterface_Button6_APICall>
 
<strInterface_Button6_Config></strInterface_Button6_Config>
 
<strInterface_Button6_URL>http://www.bxpsoftware.com</strInterface_Button6_URL>
 
<strInterface_Button6_Parameters></strInterface_Button6_Parameters>
 
<strInterface_Button7_Title>Wixi</strInterface_Button7_Title>
 
<strInterface_Button7_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button7_Styling>
 
<strInterface_Button7_Layout>Redirect</strInterface_Button7_Layout>
 
<strInterface_Button7_FunctionType>Redirect</strInterface_Button7_FunctionType>
 
<strInterface_Button7_APICall></strInterface_Button7_APICall>
 
<strInterface_Button7_Config></strInterface_Button7_Config>
 
<strInterface_Button7_URL>http://www.bxpsoftware.com/wixi</strInterface_Button7_URL>
 
<strInterface_Button7_Parameters></strInterface_Button7_Parameters>
 
<strInterface_Button8_Title>System</strInterface_Button8_Title>
 
<strInterface_Button8_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button8_Styling>
 
<strInterface_Button8_Layout>Redirect</strInterface_Button8_Layout>
 
<strInterface_Button8_FunctionType>Redirect</strInterface_Button8_FunctionType>
 
<strInterface_Button8_APICall></strInterface_Button8_APICall>
 
<strInterface_Button8_Config></strInterface_Button8_Config>
 
<strInterface_Button8_URL>https://ww3.allnone.ie/client/client_allnone/main/main.asp</strInterface_Button8_URL>
 
<strInterface_Button8_Parameters>strInterface_LoginId,strInterface_LoginKey</strInterface_Button8_Parameters>
 
<strInterface_Button9_Title>Settings</strInterface_Button9_Title>
 
<strInterface_Button9_Styling>#ff0000,#000000,Calibri,12,URL</strInterface_Button9_Styling>
 
<strInterface_Button9_Layout>Settings</strInterface_Button9_Layout>
 
<strInterface_Button9_FunctionType>App</strInterface_Button9_FunctionType>
 
<strInterface_Button9_APICall>https://ww3.allnone.ie/client/client_allnone/cti/userAPP_Main.asp</strInterface_Button9_APICall>
 
<strInterface_Button9_Config>strInterface_LoginId,strInterface_LoginKey</strInterface_Button9_Config>
 
<strInterface_Button9_URL></strInterface_Button9_URL>
 
<strInterface_Button9_Parameters></strInterface_Button9_Parameters>
 
</data>
 
</syntaxhighlight>
 
 
== Lister Functions ==
 
 
 
Primary Function: Provide listing of incomplete lister items (listees).
 
 
 
Listees are work items which can serve as simple reminders of work to be done. [[Lister]]
 
 
 
These functions only return incomplete items for the person logged in. 
 
 
 
* list_listee_incomplete - Lists all incomplete listees
 
* list_listee_category - Uses strCategory to do a like search.
 
* list_listee_title - Uses strTitle to do a like search on complete and incomplete.
 
* list_listee_due - Uses strWhen to do specific listing
 
 
 
Due keywords
 
* overdue
 
* notime
 
* today
 
* tomorrow
 
* thisweek
 
* nextweek
 
* thismonth
 
* nextmonth
 
 
 
The system will respond with XML.
 
 
 
<syntaxhighlight lang="xml">
 
<?xml version="1.0" encoding="UTF-8"?>
 
<data>
 
<strFunction>list_listee_title</strFunction>
 
<intErrorId>0</intErrorId>
 
<strError></strError>
 
<item>
 
<intLister_Id>1123</intLister_Id>
 
<intLister_ClientId>10</intLister_ClientId>
 
<strLister_Complete>No</strLister_Complete>
 
<strLister_Personal>Yes</strLister_Personal>
 
<dteLister_CompleteDate>2000-01-01 00:00:00</dteLister_CompleteDate>
 
<strLister_Title>APP Demo Lister 3</strLister_Title>
 
<strLister_Description></strLister_Description>
 
<strLister_Deadline></strLister_Deadline>
 
<strLister_Category>Personal</strLister_Category>
 
<intLister_LinkId1>0</intLister_LinkId1>
 
<intLister_LinkId2>0</intLister_LinkId2>
 
<intLister_LinkId3>0</intLister_LinkId3>
 
<intLister_LinkId4>0</intLister_LinkId4>
 
<strLister_eCourseRef></strLister_eCourseRef>
 
<intLister_FromId>0</intLister_FromId>
 
<strLister_FromDate>2015-08-16 11:15:25</strLister_FromDate>
 
<strLister_FromSource>App</strLister_FromSource>
 
<intLister_ProjectId>0</intLister_ProjectId>
 
<intLister_MeetingId>0</intLister_MeetingId>
 
<intLister_MeetingActionPointId>0</intLister_MeetingActionPointId>
 
</item>
 
</data>
 
</syntaxhighlight>
 
 
 
It is also possible to inject a lister item.
 
 
 
* insert_listee
 
 
 
It just requires one field strTitle which will be added with a category which will always be Personal and no date and time for completion.
 
 
 
 
== Diary Function ==
 
 
 
 
Primary Function: Provide listing of diary events
 
 
 
You must post five key pair values. (not including the semi colons)
 
 
* strFunction:diary
 
* strSystem:client_demo
 
* intClient_Id:123
 
* strClient_SessionField:asdfasdfasdf
 
* intDiary:1
 
 
The strFunction setting can have a number of settings.
 
 
* diary - defaults for today
 
* diary_today - explicitly today listing
 
* diary_tomorrow - explicitly tomorrow listing
 
* diary_thisweek - explicitly this week listing
 
* diary_nextweek - explicitly next week listing
 
* diary_thismonth - explicitly this month listing
 
* diary_nextmonth - explicitly next month listing
 
 
 
The intDiary is the specific diary to be queried.
 
 
 
The system will respond with XML.
 
 
 
<syntaxhighlight lang="xml">
 
<?xml version="1.0" encoding="UTF-8" ?>
 
<data>
 
<strFunction>diary_today</strFunction>
 
<intErrorId>0</intErrorId>
 
<strError></strError>
 
<dtePeriodStart>2015-01-01 00:00:00</dtePeriodStart>
 
<dtePeriodEnd>2015-01-02 00:00:00</dtePeriodEnd>
 
<item>
 
<id>2490</id>
 
<title>Demo Item 1</title>
 
<start>2015-01-03T14:30:00</start>
 
<end>2015-01-03T17:30:00</end>
 
<url>../appointment/userTimeEvent_Edit-details.asp?intTime_Event_Id=2490</url>
 
</item>
 
<item>
 
<id>2491</id>
 
<title>Demo Item 2</title>
 
<start>2015-01-06T14:00:00</start>
 
<end>2015-01-06T15:30:00</end>
 
<url>../appointment/userTimeEvent_Edit-details.asp?intTime_Event_Id=2491</url>
 
</item>
 
<item>
 
<id>1171</id>
 
<title>Demo Item 3</title>
 
<start>2015-01-08T10:00:00</start>
 
<end>2015-01-08T14:00:00</end>
 
<url>../appointment/userTimeEvent_Edit-details.asp?intTime_Event_Id=1171</url>
 
</item>
 
</data>
 
 
</syntaxhighlight>
 
 
 
Notes:
 
 
* Each item represents a calendar entry.  Id is unique for each entry.
 
* All titles are HTML encoded.
 
* Time is separated with a T.
 
* The URL represents navigation within the bxp system to be able to edit that item.
 
  
  
Line 421: Line 106:
  
 
More details on the original project spec can be found here.
 
More details on the original project spec can be found here.
 +
 +
 +
 +
[[Category:Topic:bxp_APP_API]]
 +
[[Category:Topic:bxp_API]]

Revision as of 12:20, 16 August 2015

1 Warning!

This document is under construction.


2 Introduction

The bxp API (Application Programming Interface) allows digital interaction with bxp without the need for a human to interact with bxp.


The bxp APP API is a subset of the bxp API designed specifically to work with APPs.


3 How it works

The APP API requires secure posts to be sent to the relevant system. This can be done using a number of DOM (Document Object Technologies)


The primary post is sent to https://ww3.allnone.ie/client/client_demo/cti/userAPP_Main.asp You must replace client_demo with the system you are communicating with.


A number of criteria must be passed for the process to work. The first process is a login process which will provide tokenisation for your app.


After login, all function calls must include the tokens in order for the API to respond correctly.


4 Functions

4.1 Function List

The functions are laid out in terms of usual order of processing

Initial


Lister


Diary


Forms

  • campaignlookup
  • insert_record


System

  • list_hamsters


Future build items

  • reminders (future build)
  • todo (future build)
  • list_reminders (future build)
  • list_appointment (future build)




5 Error Listing

  1. "A function must be provided"
  2. "A system must be provided"
  3. "Cross System Calls Not Possible [your call] [system location] "
  4. "Invalid Account Details"
  5. "Login - No Username"
  6. "Login - No Password"
  7. "Login - System Not Active"
  8. "Login - System Expired"
  9. "Login - Unrecognised username [username]"
  10. "Login - Unrecognised username and or password"
  11. "Login - IP Restriction Failure"
  12. "Unrecognised Function [function]"
  13. "Account Check - No client id"
  14. "Account Check - No session field"
  15. "Account Check - Account not found"
  16. "Diary - No Diary Id passed"
  17. "Diary - No permissions to access this diary [intDiary]"
  18. "Diary - Incorrect parameters"


6 History

This API was developed to further the work of Calvin O'Brien and Adam McGivern who work as interns in All n One developing the bxp APP for iPhone, Android and Microsoft devices.

More details on the original project spec can be found here.