webBooks APIs

From Cliquesoft
Jump to: navigation, search

Below you will see a list of each official module produced by Cliquesoft. Clicking on a module name from the list will take you to the appropriate section that outlines the various API's used by the modules' graphical frontend. Any questions, comments, or concerns should be directed to our staff. For any modifications to the API's, please use the 'Issues' link on our website so that our users can participate in that process.


The below key elaborates on the requested values:

  • {...|...|...} - specifies that the value can be one of the items in the list
  • (...........) - specifies a description for the what the value needs to be
  • [...........] - specifies that the value is optional
  • /.........../ - specifies the use of a variable value



Login and Logout

To login and out of the software, the below two calls can be made.


Logging into the software

To log into the software, the below parameters will need to be passed via a GET request to the 'modules/webbooks/_login.php' file. It is important to note that there is not a request to load the screen content so you must create it.

action=login
target=username
username=(the username for the account)
password=(the password for the account)
txtCaptcha=[the captcha if they are enabled]

This will return all the information in the following XML:

   <s><msg>...</msg><data SID="STRING" username="STRING" decrypt="STRING" name="STRING"></data></s>

   OR

   <f><msg>...</msg></f>


Logging out of the software

To log out of the software, the below parameters will need to be passed via a GET request to the 'modules/webbooks/_logout.php' file:

action=logout
target=username
username=(the username for the account)
SID=(the security identifier for the account)

This will return all the information in the following XML:

   <s></s>

   OR

   <f><msg>...</msg></f>



Common Calls

The below calls are common in various modules within the program.


Loading a contact

To load a contact within the module, the below parameters will need to be passed via a GET request. It is important to note that the server-side script to call needs to be the one for the module.

action=load
target=contact
username=(the username for the account)
SID=(the security identifier for the account)
acctID=(the integer ID of the contact)

This will return all the information in the following XML:

   <contacts>
      <contact id="INTEGER" type="{vendor|provider|employee}" rowID="INTEGER" OPoID="STRING" name="STRING" email="STRING" phone="INTEGER" ext="INTEGER" mobile="INTEGER" sms="{0|1}" mail="{0|1}" title="STRING" />

      ...repeat for each associated contact...
   </contacts>


Creating a contact

To create a contact within the module, the below parameters will need to be passed via a POST request. It is important to note that the server-side script to call needs to be the one for the module.

action=new
target=contact
username=(the username for the account)
SID=(the security identifier for the account)
type={vendor|provider|employee}
id=(the ID of the contact)
s{Location|Vendor|Provider|Customer}ContactOPoID_/module name/=[for future use, can be null]
s{Location|Vendor|Provider|Customer}Contact_/module name/=(the name of the contact)
s{Location|Vendor|Provider|Customer}ContactEmail_/module name/=[the email address of the contact]
n{Location|Vendor|Provider|Customer}ContactPhone_/module name/=[the work phone number of the contact]
n{Location|Vendor|Provider|Customer}ContactExt_/module name/=[the work phone extension of the contact]
n{Location|Vendor|Provider|Customer}ContactMobile_/module name/=[the mobile phone number of the contact]
b{Location|Vendor|Provider|Customer}ContactMobileSMS_/module name/=(the mobile phone SMS capabilities of the contact)
b{Location|Vendor|Provider|Customer}ContactMobileEmail_/module name/=(the mobile phone email capabilities of the contact)
s{Location|Vendor|Provider|Customer}ContactTitle_/module name/=[the job title of the contact]

This will return all the information in the following XML:

   <s><msg>The contact has been created successfully!</msg><data id="INTEGER"></data></s>

   OR

   <f><msg>...</msg></f>


Deleting a contact

To delete a contact within the module, the below parameters will need to be passed via a GET request. It is important to note that the server-side script to call needs to be the one for the module.

action=delete
target=contact
username=(the username for the account)
SID=(the security identifier for the account)
acctID=(the ID of the contact being deleted)

This will return all the information in the following XML:

   <s><msg>The contact has been deleted successfully!</msg></s>

   OR

   <f><msg>...</msg></f>


Updating a contact

To update a contact within the module, the below parameters will need to be passed via a POST request. It is important to note that the server-side script to call needs to be the one for the module.

action=update
target=contact
username=(the username for the account)
SID=(the security identifier for the account)
type={vendor|provider|employee}
n{Location|Vendor|Provider|Customer}ContactList_/module name/=(the ID of the contact)
s{Location|Vendor|Provider|Customer}ContactOPoID_/module name/=[for future use, can be null]
s{Location|Vendor|Provider|Customer}Contact_/module name/=(the name of the contact)
s{Location|Vendor|Provider|Customer}ContactEmail_/module name/=[the email address of the contact]
n{Location|Vendor|Provider|Customer}ContactPhone_/module name/=[the work phone number of the contact]
n{Location|Vendor|Provider|Customer}ContactExt_/module name/=[the work phone extension of the contact]
n{Location|Vendor|Provider|Customer}ContactMobile_/module name/=[the mobile phone number of the contact]
b{Location|Vendor|Provider|Customer}ContactMobileSMS_/module name/=(the mobile phone SMS capabilities of the contact)
b{Location|Vendor|Provider|Customer}ContactMobileEmail_/module name/=(the mobile phone email capabilities of the contact)
s{Location|Vendor|Provider|Customer}ContactTitle_/module name/=[the job title of the contact]

This will return all the information in the following XML:

   <s><msg>The contact has been updated successfully!</msg></s>

   OR

   <f><msg>...</msg></f>


Loading a freight account

To load a freight account within the module, the below parameters will need to be passed via a GET request. It is important to note that the server-side script to call needs to be the one for the module.

action=load
target=freight
username=(the username for the account)
SID=(the security identifier for the account)
decrypt=(the decryption string for the account)
id=(the integer ID of the freight account)

This will return all the information in the following XML:

   <freights>
      <freight id="INTEGER" name="STRING" account="STRING" />

      ...repeat for each freight account...
   </freights>


Creating a freight account

To create a freight account within the module, the below parameters will need to be passed via a POST request. It is important to note that the server-side script to call needs to be the one for the module.

action=new
target=freight
username=(the username for the account)
SID=(the security identifier for the account)
decrypt=(the decryption string for the account)
type={customer|business}
id=(the ID of the freight account)
s{Customer|Business}ShipName_/module name/=(the name of the freight company)
s{Customer|Business}ShipAccount_/module name/=(the account number of the freight company)

This will return all the information in the following XML:

   <s><msg>The freight account has been created successfully!</msg><data id="INTEGER"></data></s>

   OR

   <f><msg>...</msg></f>


Deleting a freight account

To delete a freight account within the module, the below parameters will need to be passed via a GET request. It is important to note that the server-side script to call needs to be the one for the module.

action=delete
target=freight
username=(the username for the account)
SID=(the security identifier for the account)
id=(the ID of the freight account)

This will return all the information in the following XML:

   <s><msg>The freight account has been deleted successfully!</msg></s>

   OR

   <f><msg>...</msg></f>


Updating a freight account

To update a freight account within the module, the below parameters will need to be passed via a POST request. It is important to note that the server-side script to call needs to be the one for the module.

action=update
target=freight
username=(the username for the account)
SID=(the security identifier for the account)
decrypt=(the decryption string for the account)
type={customer|business}
n{Customer|Business}ShipList_/module name/=(the ID of the freight account)
s{Customer|Business}ShipName_/module name/=(the name of the freight company)
s{Customer|Business}ShipAccount_/module name/=(the account number of the freight company)

This will return all the information in the following XML:

   <s><msg>The freight account has been updated successfully!</msg></s>

   OR

   <f><msg>...</msg></f>


Loading a bank account

To load a bank account within the module, the below parameters will need to be passed via a GET request. It is important to note that the server-side script to call needs to be the one for the module.

action=load
target=bank
username=(the username for the account)
SID=(the security identifier for the account)
decrypt=(the decryption string for the account)
id=(the integer ID of the bank account)

This will return all the information in the following XML:

   <banks>
      <bank id="INTEGER" name="STRING" routing="INTEGER" account="INTEGER" type="STRING" check="INTEGER" />

      ...repeat for each bank account...
   </banks>


Creating a bank account

To create a bank account within the module, the below parameters will need to be passed via a POST request. It is important to note that the server-side script to call needs to be the one for the module.

action=new
target=bank
username=(the username for the account)
SID=(the security identifier for the account)
decrypt=(the decryption string for the account)
type={business|vendor|provider|employee}
id=(the ID of the bank account)
s{business|vendor|provider|employee}BankDesc_/module name/=(the name of the bank)
n{business|vendor|provider|employee}BankRouting_/module name/=(the routing number of the bank account)
n{business|vendor|provider|employee}BankAccount_/module name/=(the account number of the bank account)

This will return all the information in the following XML:

   <s><msg>The bank account has been created successfully!</msg><data id="INTEGER"></data></s>

   OR

   <f><msg>...</msg></f>


Deleting a bank account

To delete a bank account within the module, the below parameters will need to be passed via a GET request. It is important to note that the server-side script to call needs to be the one for the module.

action=delete
target=bank
username=(the username for the account)
SID=(the security identifier for the account)
id=(the ID of the bank account)

This will return all the information in the following XML:

   <s><msg>The bank account has been deleted successfully!</msg></s>

   OR

   <f><msg>...</msg></f>


Updating a bank account

To update a bank account within the module, the below parameters will need to be passed via a POST request. It is important to note that the server-side script to call needs to be the one for the module.

action=update
target=bank
username=(the username for the account)
SID=(the security identifier for the account)
decrypt=(the decryption string for the account)
type={business|vendor|provider|employee}
s{business|vendor|provider|employee}BankDesc_/module name/=(the name of the bank)
n{business|vendor|provider|employee}BankRouting_/module name/=(the routing number of the bank account)
n{business|vendor|provider|employee}BankAccount_/module name/=(the account number of the bank account)
n{business|vendor|provider|employee}BankList_/module name/=(the account number of the bank account)

This will return all the information in the following XML:

   <s><msg>The bank account has been updated successfully!</msg></s>

   OR

   <f><msg>...</msg></f>


Saving a note

To save a note within the module, the below parameters will need to be passed via a POST request. It is important to note that the server-side script to call needs to be the one for the module.

action=save
target=note
username=(the username for the account)
SID=(the security identifier for the account)
id=(the ID of the record that the note belongs to)
sNoteAccess_/module name/=(the personel/department to restrict the note to)
sNote_/module name/=(the note itself)

This will return all the information in the following XML:

   <s><msg>The note has been saved successfully!</msg><data date="DATE" creator="STRING">STRING</data></s>

   OR

   <f><msg>...</msg></f>


Update a data field

To update an upload value associated with a data field, the below parameters will need to be passed via a GET request. It is important to note that the server-side script to call needs to be the one for the module.

action=update
target=upload
username=(the username for the account)
SID=(the security identifier for the account)
module=(the case-sensative name of the module containing the data field)
title=(the title associated with the data field)
filename=(the filename associated with the data field)
record=(the ID that corresponds with the module record associated with the data field)
id=(the ID in the 'Upload' table that corresponds with the data field -OR- 0 for a new entry)

This will return all the information in the following XML:

   <s><msg>The uploaded file has been updated successfully!</msg></s>

   OR

   <f><msg>...</msg></f>


Submit a search

To submit a search for a field, the below parameters will need to be passed via a GET request. It is important to note that the server-side script to call needs to be the one for the module.

action=search
target=(the value to pass to the server-side script to identify what to search for)
username=(the username for the account)
SID=(the security identifier for the account)
decrypt=(the decryption string for the account)
value=(the value to match in the database)

This will return all the information in the following XML:

   <match id="INTEGER" ...variety of fields...>STRING</match>
   ...repeat for each match found...

   OR

   <f><msg>...</msg></f>



Modules










Accounting

Asset Management

Customer Accounts

Inventory

Quotes & Invoices

Work Orders

In order to process any of these API's, all requests should be directed to the 'modules/webbooks/system_configuration.php' file. The type of request will be specified per section below.