webBooks APIs
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
Contents
[hide]- 1 Login and Logout
- 2 Common Calls
- 2.1 Loading a contact
- 2.2 Creating a contact
- 2.3 Deleting a contact
- 2.4 Updating a contact
- 2.5 Loading a freight account
- 2.6 Creating a freight account
- 2.7 Deleting a freight account
- 2.8 Updating a freight account
- 2.9 Loading a bank account
- 2.10 Creating a bank account
- 2.11 Deleting a bank account
- 2.12 Updating a bank account
- 2.13 Saving a note
- 2.14 Update a data field
- 2.15 Submit a search
- 3 Modules
- 4 Accounting
- 5 Asset Management
- 6 Customer Accounts
- 7 Inventory
- 8 Quotes & Invoices
- 9 Work Orders
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.