- DjaBoo REST API
- Available commands & examples of DjaBoo REST API
- Introduction
- API activation
- Create an API token
- Usage of the API
- Sample usage - Example of GET command
- Custom fields
- Customer
- Contact
- Invoice
- Items
- Lead
- Milestone
- Project
- Staff
- Task
- Ticket
- Contracts
- Credit Notes
- Custom Fields
- In this example, we will use the following form data which corresponds to the following custom field types:
- In this example, we will use the following form data which corresponds to the following custom field types:
- Estimates
- Expense category
- Expenses
- List Taxes
- Payment Mode
- Payments
- Proposals
DjaBoo REST API #
Available commands & examples of DjaBoo REST API #
Introduction #
The DjaBoo API functions through HTTPS and employs JSON as its data format. It operates as a RESTful API and incorporates HTTP methods and HTTP status codes to indicate requests and responses.
To access the API, you must obtain an API token that is linked to the entire DjaBoo application. This can be done by activating our module and following the necessary steps to obtain the token.
API activation #
Step 1) Go to your DjaBoo Admin area and select the following menu item: SETUP → MODULES.
Step 2) Find the DjaBoo API module in the list, press ACTIVATE.
Create an API token #
Step 1) Sign in into you DjaBoo backend as an admin, go to API → API Management, and create a new token.
Make sure to copy the token and that you fill all necessary information.
Usage of the API #
Below, we have provided examples of the available commands for the API and their corresponding request-response pairs. If you are not familiar with REST APIs, we recommend hiring a professional to assist you with setting up third-party connections. Please note that understanding the basics of REST APIs is a prerequisite for using this tool, and providing guidance on this topic falls outside the scope of our support plan terms.
Sample usage – Example of GET command #
For this dummy example, we will use a dummy token.
Let’s say your new token is jEheVytlAoFl7F8MqUQ7jAo2hOXAS
and that you need to list all available customers, using the API, through a cURL request.
The command that you will need to execute at your terminal, is the following:
curl -H "authtoken: jEheVytlAoFl7F8MqUQ7jAo2hOXAS" https://myaccount.djaboo.app/api/customers
The response that you are supposed to receive, under a 200 OK status code, will be similar to the following:
[ { "stripe_id" : null, "active" : "1", "vat" : "1234567890", "address" : "Test Address", "billing_country" : "0", "phonenumber" : "1234567890", "registration_confirmed" : "1", "longitude" : null, "billing_city" : "", "state" : "Test State", "shipping_zip" : "", "billing_zip" : "", "city" : "Test City", "shipping_country" : "0", "billing_street" : "", "datecreated" : "2019-11-29 12:34:56", "company" : "Jk Technologies", "shipping_street" : "", "zip" : "123456", "billing_state" : "", "leadid" : null, "addedfrom" : "8", "userid" : "3", "default_language" : "english", "shipping_state" : "", "show_primary_contact" : "0", "country" : "102", "default_currency" : "3", "shipping_city" : "", "latitude" : null, "website" : "https://example.com" }, { "website" : "https://example2.com", "latitude" : null, "default_currency" : "0", "shipping_city" : "London", "country" : "235", "show_primary_contact" : "0", "shipping_state" : "Greater London", "default_language" : "", "addedfrom" : "1", "userid" : "1", "leadid" : null, "billing_state" : "Greater London", "zip" : "WC1 ASW", "shipping_street" : "123 Road Street", "company" : "Sample Company LTD", "datecreated" : "2019-04-02 13:38:28", "billing_street" : "123 Road Street", "shipping_country" : "235", "city" : "London", "billing_zip" : "WC1 ASW", "shipping_zip" : "WC1 ASW", "longitude" : null, "registration_confirmed" : "1", "billing_city" : "London", "state" : "Greater London", "phonenumber" : "+44 210 7298299", "billing_country" : "235", "address" : "123 Road Street", "vat" : "123456789", "active" : "1", "stripe_id" : null } ]
Custom fields #
All commands support custom fields, starting from version 1.0.2 of the module.
Please take a look at the Custom Fields section in order to ensure the correct implementation of each request that includes custom fields
Customer #
Customer – Add New Customer #
POST yourdomain.com/api/customers
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
company | String | Mandatory Customer company. |
vat (optional) | String | Optional Vat. |
phonenumber (optional) | String | Optional Customer Phone. |
website (optional) | String | Optional Customer Website. |
groups_in (optional) | Number[] | Optional Customer groups. |
default_language (optional) | String | Optional Customer Default Language. |
default_currency (optional) | String | Optional default currency. |
address (optional) | String | Optional Customer address. |
city (optional) | String | Optional Customer City. |
state (optional) | String | Optional Customer state. |
zip (optional) | String | Optional Zip Code. |
partnership_type (optional) | String | Optional Customer partnership type. |
country (optional) | String | Optional country. |
billing_street (optional) | String | Optional Billing Address: Street. |
billing_city (optional) | String | Optional Billing Address: City. |
billing_state (optional) | Number | Optional Billing Address: State. |
billing_zip (optional) | String | Optional Billing Address: Zip. |
billing_country (optional) | String | Optional Billing Address: Country. |
shipping_street (optional) | String | Optional Shipping Address: Street. |
shipping_city (optional) | String | Optional Shipping Address: City. |
shipping_state (optional) | String | Optional Shipping Address: State. |
shipping_zip (optional) | String | Optional Shipping Address: Zip. |
shipping_country (optional) | String | Optional Shipping Address: Country. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Customer add successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Customer add fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Customer add successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Customer add fail."
}
Customer – Delete a Customer #
DELETE yourdomain.com/api/delete/customers/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Customer unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Customer Delete Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Customer Delete Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Customer Delete Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Customer Delete Fail."
}
Customer – Request customer information #
GET yourdomain.com/api/customers/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | customer unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
customer | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "28",
"name": "Test1",
"description": null,
"status": "1",
"clientid": "11",
"billing_type": "3",
"start_date": "2019-04-19",
"deadline": "2019-08-30",
"customer_created": "2019-07-16",
"date_finished": null,
"progress": "0",
"progress_from_tasks": "1",
"customer_cost": "0.00",
"customer_rate_per_hour": "0.00",
"estimated_hours": "0.00",
"addedfrom": "5",
"rel_type": "customer",
"potential_revenue": "0.00",
"potential_margin": "0.00",
"external": "E",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Customer – Search Customer Information #
GET yourdomain.com/api/customers/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
customer | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "28",
"name": "Test1",
"description": null,
"status": "1",
"clientid": "11",
"billing_type": "3",
"start_date": "2019-04-19",
"deadline": "2019-08-30",
"customer_created": "2019-07-16",
"date_finished": null,
"progress": "0",
"progress_from_tasks": "1",
"customer_cost": "0.00",
"customer_rate_per_hour": "0.00",
"estimated_hours": "0.00",
"addedfrom": "5",
"rel_type": "customer",
"potential_revenue": "0.00",
"potential_margin": "0.00",
"external": "E",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Customer – Update a Customer #
PUT yourdomain.com/api/customers/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
company | String | Mandatory Customer company. |
vat (optional) | String | Optional Vat. |
phonenumber (optional) | String | Optional Customer Phone. |
website (optional) | String | Optional Customer Website. |
groups_in (optional) | Number[] | Optional Customer groups. |
default_language (optional) | String | Optional Customer Default Language. |
default_currency (optional) | String | Optional default currency. |
address (optional) | String | Optional Customer address. |
city (optional) | String | Optional Customer City. |
state (optional) | String | Optional Customer state. |
zip (optional) | String | Optional Zip Code. |
country (optional) | String | Optional country. |
billing_street (optional) | String | Optional Billing Address: Street. |
billing_city (optional) | String | Optional Billing Address: City. |
billing_state (optional) | Number | Optional Billing Address: State. |
billing_zip (optional) | String | Optional Billing Address: Zip. |
billing_country (optional) | String | Optional Billing Address: Country. |
shipping_street (optional) | String | Optional Shipping Address: Street. |
shipping_city (optional) | String | Optional Shipping Address: City. |
shipping_state (optional) | String | Optional Shipping Address: State. |
shipping_zip (optional) | String | Optional Shipping Address: Zip. |
shipping_country (optional) | String | Optional Shipping Address: Country. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Customer Update Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Customer Update Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Customer Update Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Customer Update Fail."
}
Contact #
Contact – Add New Contact #
POST yourdomain.com/api/contacts/
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token |
Paramètre #
json
Champ | Type | Description |
---|---|---|
customer_id | Number | Mandatory Customer id. |
firstname | String | Mandatory First Name |
lastname | String | Mandatory Last Name |
String | Mandatory E-mail | |
title (optional) | String | Optional Position |
phonenumber (optional) | String | Optional Phone Number |
direction (optional) | String | Optional Direction (rtl or ltr)Valeur par défaut : rtl |
password (optional) | String | Optional password (only required if you pass send_set_password_email parameter) |
is_primary (optional) | String | Optional Primary Contact (set on or don’t pass it)Valeur par défaut : on |
donotsendwelcomeemail (optional) | String | Optional Do Not Send Welcome Email (set on or don’t pass it) |
send_set_password_email (optional) | String | Optional Send Set Password Email (set on or don’t pass it) |
permissions (optional) | Array | Optional Permissions for this contact([“1”, “2”, “3”, “4”, “5”, “6” ]) [ “1”, // Invoices permission “2”, // Estimates permission “3”, // Contracts permission “4”, // Proposals permission “5”, // Support permission “6” // Projects permission ] |
invoice_emails (optional) | String | Optional E-Mail Notification for Invoices (set value same as name or don’t pass it)Valeur par défaut : invoice_emails |
estimate_emails (optional) | String | Optional E-Mail Notification for Estimate (set value same as name or don’t pass it)Valeur par défaut : estimate_emails |
credit_note_emails (optional) | String | Optional E-Mail Notification for Credit Note (set value same as name or don’t pass it)Valeur par défaut : credit_note_emails |
project_emails (optional) | String | Optional E-Mail Notification for Project (set value same as name or don’t pass it)Valeur par défaut : project_emails |
ticket_emails (optional) | String | Optional E-Mail Notification for Tickets (set value same as name or don’t pass it)Valeur par défaut : ticket_emails |
task_emails (optional) | String | Optional E-Mail Notification for Task (set value same as name or don’t pass it)Valeur par défaut : task_emails |
contract_emails (optional) | String | Optional E-Mail Notification for Contract (set value same as name or don’t pass it)Valeur par défaut : contract_emails |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Contact added successfully. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status |
message | String | Contact add fail |
String | This Email is already exists |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contact added successfully"
}
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contact add fail"
}
Contact – Delete Contact #
DELETE yourdomain.com/api/delete/contacts/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token |
Paramètre #
json
Champ | Type | Description |
---|---|---|
customer_id | Number | unique Customer id |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Contact Deleted Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status |
message | String | Contact Delete Fail |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contact Deleted Successfully"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contact Delete Fail"
}
Contact – List all Contacts of a Customer #
GET yourdomain.com/api/contacts/:customer_id/:contact_id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token |
Paramètre #
json
Champ | Type | Description |
---|---|---|
customer_id | Number | Mandatory Customer unique ID |
contact_id | Number | Optional Contact unique ID Note : if you don’t pass Contact id then it will list all contacts of the customer |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Contact | Object | Contact information |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status |
message | String | No data were found |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "6",
"userid": "1",
"company": "xyz",
"vat": "",
"phonenumber": "1234567890",
"country": "0",
"city": "",
"zip": "360005",
"state": "",
"address": "",
"website": "",
"datecreated": "2020-08-19 20:07:49",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "english",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "1"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Contact – Search Contact Information #
GET yourdomain.com/api/contacts/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Contact | Object | Contact information |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status |
message | String | No data were found |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "8",
"userid": "1",
"is_primary": "0",
"firstname": "chirag",
"lastname": "jagani",
"email": "useremail@gmail.com",
"phonenumber": "",
"title": null,
"datecreated": "2020-05-19 20:07:49",
"password": "$2a$08$6DLJFalqvJGVymCwW2ppNe9HOG5YUP04vzthXZjOFFUQknxfG6QHe",
"new_pass_key": null,
"new_pass_key_requested": null,
"email_verified_at": "2020-08-28 21:36:06",
"email_verification_key": null,
"email_verification_sent_at": null,
"last_ip": null,
"last_login": null,
"last_password_change": null,
"active": "1",
"profile_image": null,
"direction": null,
"invoice_emails": "0",
"estimate_emails": "0",
"credit_note_emails": "0",
"contract_emails": "0",
"task_emails": "0",
"project_emails": "0",
"ticket_emails": "0",
"company": "trueline",
"vat": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "english",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "1"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Contact – Update Contact Information #
PUT yourdomain.com/api/contacts/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Mandatory Customer Contact id. |
firstname | String | Mandatory First Name |
lastname | String | Mandatory Last Name |
String | Mandatory E-mail | |
title (optional) | String | Optional Position |
phonenumber (optional) | String | Optional Phone Number |
direction (optional) | String | Optional Direction (rtl or ltr)Valeur par défaut : rtl |
password (optional) | String | Optional password (only required if you pass send_set_password_email parameter) |
is_primary (optional) | String | Optional Primary Contact (set on or don’t pass it)Valeur par défaut : on |
donotsendwelcomeemail (optional) | String | Optional Do Not Send Welcome Email (set on or don’t pass it) |
send_set_password_email (optional) | String | Optional Send Set Password Email (set on or don’t pass it) |
permissions (optional) | Array | Optional Permissions for this contact([“1”, “2”, “3”, “4”, “5”, “6” ]) [ “1”, // Invoices permission “2”, // Estimates permission “3”, // Contracts permission “4”, // Proposals permission “5”, // Support permission “6” // Projects permission ] |
invoice_emails (optional) | String | Optional E-Mail Notification for Invoices (set value same as name or don’t pass it)Valeur par défaut : invoice_emails |
estimate_emails (optional) | String | Optional E-Mail Notification for Estimate (set value same as name or don’t pass it)Valeur par défaut : estimate_emails |
credit_note_emails (optional) | String | Optional E-Mail Notification for Credit Note (set value same as name or don’t pass it)Valeur par défaut : credit_note_emails |
project_emails (optional) | String | Optional E-Mail Notification for Project (set value same as name or don’t pass it)Valeur par défaut : project_emails |
ticket_emails (optional) | String | Optional E-Mail Notification for Tickets (set value same as name or don’t pass it)Valeur par défaut : ticket_emails |
task_emails (optional) | String | Optional E-Mail Notification for Task (set value same as name or don’t pass it)Valeur par défaut : task_emails |
contract_emails (optional) | String | Optional E-Mail Notification for Contract (set value same as name or don’t pass it)Valeur par défaut : contract_emails |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status |
message | String | Contact updated successful |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
String | This Email is already exists | |
status | Boolean | Request status |
message | String | Contact add fail |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contact Updated Successfully"
}
- Error-Response:
- Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"email":"This Email is already exists"
},
"message": "This Email is already exists"
}
Invoice #
Invoice – Add New invoice #
POST yourdomain.com/api/invoices
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
clientid | Number | Mandatory. Customer id |
number | Number | Mandatory. Invoice Number |
date | Date | Mandatory. Invoice Date |
currency | Number | Mandatory. currency field |
newitems | Array | Mandatory. New Items to be added, supporting description, price, qty, long_description, order, taxname |
subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and Adjustment |
billing_street | String | Mandatory. Street Address |
allowed_payment_modes | Array | Mandatory. Payment modes |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
include_shipping (optional) | boolean | Optional. set yes if you want add Shipping AddressValeur par défaut : no |
show_shipping_on_invoice (optional) | boolean | Optional. Shows shipping details in invoice. |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
duedate (optional) | Date | Optional. Due date for Invoice |
cancel_overdue_reminders (optional) | boolean | Optional. Prevent sending overdue remainders for invoice |
tags (optional) | String | Optional. TAGS comma separated |
sale_agent (optional) | Number | Optional. Sale Agent name |
recurring (optional) | String | Optional. recurring 1 to 12 or custom |
discount_type (optional) | String | Optional. before_tax / after_tax discount type |
repeat_every_custom (optional) | Number | Optional. if recurring is custom set number gap |
repeat_type_custom (optional) | String | Optional. if recurring is custom set gap option day/week/month/year |
cycles (optional) | Number | Optional. number of cycles 0 for infinite |
adminnote (optional) | String | Optional. notes by admin |
clientnote (optional) | String | Optional. client notes |
terms (optional) | String | Optional. Terms |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Invoice Added Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Invoice add fail |
newitems[] | String | The Items field is required |
number | String | The Invoice number is already in use |
allowed_payment_modes[] | String | The Allow Payment Mode field is required |
billing_street | String | The Billing Street field is required |
subtotal | String | The Sub Total field is required |
total | String | The Total field is required |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Invoice Added Successfully"
}
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Invoice Add Fail"
}
Invoice – Delete invoice #
DELETE yourdomain.com/api/invoices/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Invoice Deleted Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Invoice Delete Fail |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Invoice Deleted Successfully"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Invoice Delete Fail"
}
Invoice – Request invoice information #
GET yourdomain.com/api/invoices/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Contact unique ID |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Invoice | Object | Invoice information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"number": "2",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2020-05-26 19:53:11",
"date": "2020-05-26",
"duedate": "2020-06-25",
"currency": "1",
"subtotal": "5.00",
"total_tax": "0.00",
"total": "5.00",
"adjustment": "0.00",
"addedfrom": "0",
"hash": "7bfac86da004df5364407574d4d1dbf2",
"status": "1",
"clientnote": null,
"adminnote": null,
"last_overdue_reminder": null,
"cancel_overdue_reminders": "0",
"allowed_payment_modes": "['1']",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": null,
"sale_agent": "0",
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": null,
"shipping_street": null,
"shipping_city": null,
"shipping_state": null,
"shipping_zip": null,
"shipping_country": null,
"include_shipping": "0",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"currencyid": "1",
"currency_name": "USD",
"total_left_to_pay": "5.00",
"items": [
{
"id": "2",
"rel_id": "2",
"rel_type": "invoice",
"description": "12MP Dual Camera with cover",
"long_description": "The JBL Cinema SB110 is a hassle-free soundbar",
"qty": "1.00",
"rate": "5.00",
"unit": "",
"item_order": "1"
}
],
"attachments": [],
"visible_attachments_to_customer_found": false,
"client": {
"userid": "1",
"company": "trueline",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2020-05-19 20:07:49",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "english",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "1"
},
"payments": [],
"scheduled_email": null
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Invoice – Search invoice information #
GET yourdomain.com/api/invoices/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Invoice | Object | Information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "19",
"sent": "0",
"datesend": null,
"clientid": "3",
"deleted_customer_name": null,
"number": "19",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2020-08-18 21:19:51",
"date": "2020-07-04",
"duedate": "2020-08-03",
"currency": "1",
"subtotal": "20.00",
"total_tax": "1.80",
"total": "21.80",
"adjustment": "0.00",
"addedfrom": "1",
"hash": "809c0e4c9efba2a3bedfdb5871dc6240",
"status": "2",
"clientnote": "",
"adminnote": "",
"last_overdue_reminder": null,
"cancel_overdue_reminders": "0",
"allowed_payment_modes": "['1']",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": "",
"sale_agent": "0",
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"include_shipping": "0",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"userid": "3",
"company": "xyz",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"invoiceid": "19"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No Data Were Found"
}
Invoice – Update invoice #
PUT yourdomain.com/api/invoices/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
clientid | Number | Mandatory Customer id. |
number | Number | Mandatory. Invoice Number |
date | Date | Mandatory. Invoice Date |
currency | Number | Mandatory. currency field |
newitems | Array | Mandatory. New Items to be added |
subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and Adjustment |
billing_street | String | Mandatory. Street Address |
allowed_payment_modes | Array | Mandatory. Payment modes |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
include_shipping (optional) | boolean | Optional. set yes if you want add Shipping AddressValeur par défaut : no |
show_shipping_on_invoice (optional) | boolean | Optional. Shows shipping details in invoice. |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
duedate (optional) | Date | Optional. Due date for Invoice |
cancel_overdue_reminders (optional) | boolean | Optional. Prevent sending overdue remainders for invoice |
tags (optional) | String | Optional. TAGS comma separated |
sale_agent (optional) | Number | Optional. Sale Agent name |
recurring (optional) | String | Optional. recurring 1 to 12 or custom |
discount_type (optional) | String | Optional. before_tax / after_tax discount type |
repeat_every_custom (optional) | Number | Optional. if recurring is custom set number gap |
repeat_type_custom (optional) | String | Optional. if recurring is custom set gap option day/week/month/year |
cycles (optional) | Number | Optional. number of cycles 0 for infinite |
adminnote (optional) | String | Optional. notes by admin |
items (optional) | Array | Optional. Existing items with Id |
removed_items (optional) | Array | Optional. Items to be removed |
clientnote (optional) | String | Optional. client notes |
terms (optional) | String | Optional. Terms |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
number | String | The Invoice number is already in use |
- Success-Response:
HTTP/1.1 200 OK
{
"status": false,
"message": "Invoice Updated Successfully"
}
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Invoice Update Fail"
}
Items #
Items – Request items information #
GET yourdomain.com/api/items/items/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Item | Object | item information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"itemid": "1",
"rate": "100.00",
"taxrate": "5.00",
"taxid": "1",
"taxname": "PAYPAL",
"taxrate_2": "9.00",
"taxid_2": "2",
"taxname_2": "CGST",
"description": "JBL Soundbar",
"long_description": "The JBL Cinema SB110 is a hassle-free soundbar",
"group_id": "0",
"group_name": null,
"unit": ""
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Items – Search invoice item information #
GET yourdomain.com/api/items/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Item | Object | Item Information |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status |
message | String | No data were found |
- Success-Response:
HTTP/1.1 200 OK
{
"rate": "100.00",
"id": "1",
"name": "(100.00) JBL Soundbar",
"subtext": "The JBL Cinema SB110 is a hassle-free soundbar..."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Lead #
Lead – Add New Lead #
POST yourdomain.com/api/leads
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
source | String | Mandatory Lead source. |
status | String | Mandatory Lead Status. |
name | String | Mandatory Lead Name. |
assigned (optional) | String | Optional Lead assigned. |
client_id (optional) | String | Optional Lead From Customer. |
tags (optional) | String | Optional Lead tags. |
contact (optional) | String | Optional Lead contact. |
title (optional) | String | Optional Position. |
email (optional) | String | Optional Lead Email Address. |
website (optional) | String | Optional Lead Website. |
phonenumber (optional) | String | Optional Lead Phone. |
company (optional) | String | Optional Lead company. |
address (optional) | String | Optional Lead address. |
city (optional) | String | Optional Lead City. |
state (optional) | String | Optional Lead state. |
country (optional) | String | Optional Lead Country. |
default_language (optional) | String | Optional Lead Default Language. |
description (optional) | String | Optional Lead description. |
custom_contact_date (optional) | String | Optional Lead From Customer. |
contacted_today (optional) | String | Optional Lead Contacted Today. |
is_public (optional) | String | Optional Lead google sheet id. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Lead add successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | add fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Lead add successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Lead add fail."
}
Lead – Delete a Lead #
DELETE yourdomain.com/api/delete/leads/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | lead unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Lead Delete Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Lead Delete Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Lead Delete Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Lead Delete Fail."
}
Lead – Request lead information #
GET yourdomain.com/api/leads/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Lead unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Lead | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "17",
"hash": "c6e938f8b7a40b1bcfd98dc04f6eeee0-60d9c039da373a685fc0f74d4bfae631",
"name": "Lead name",
"contact": "",
"title": "",
"company": "Djaboo app",
"description": "",
"country": "243",
"zip": null,
"city": "London",
"state": "London",
"address": "1a The Alexander Suite Silk Point",
"assigned": "5",
"dateadded": "2019-07-18 08:59:28",
"from_form_id": "0",
"status": "0",
"source": "4",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Lead – Search Lead Information #
GET yourdomain.com/api/leads/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Lead | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "17",
"hash": "c6e938f8b7a40b1bcfd98dc04f6eeee0-60d9c039da373a685fc0f74d4bfae631",
"name": "Lead name",
"contact": "",
"title": "",
"company": "DjaBoo App",
"description": "",
"country": "243",
"zip": null,
"city": "London",
"state": "London",
"address": "1a The Alexander Suite Silk Point",
"assigned": "5",
"dateadded": "2019-07-18 08:59:28",
"from_form_id": "0",
"status": "0",
"source": "4",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Lead – Update a lead #
PUT yourdomain.com/api/leads/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
source | String | Mandatory Lead source. |
status | String | Mandatory Lead Status. |
name | String | Mandatory Lead Name. |
assigned (optional) | String | Optional Lead assigned. |
client_id (optional) | String | Optional Lead From Customer. |
tags (optional) | String | Optional Lead tags. |
contact (optional) | String | Optional Lead contact. |
title (optional) | String | Optional Position. |
email (optional) | String | Optional Lead Email Address. |
website (optional) | String | Optional Lead Website. |
phonenumber (optional) | String | Optional Lead Phone. |
company (optional) | String | Optional Lead company. |
address (optional) | String | Optional Lead address. |
city (optional) | String | Optional Lead City. |
state (optional) | String | Optional Lead state. |
country (optional) | String | Optional Lead Country. |
default_language (optional) | String | Optional Lead Default Language. |
description (optional) | String | Optional Lead description. |
lastcontact (optional) | String | Optional Lead Last Contact. |
is_public (optional) | String | Optional Lead google sheet id. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Lead Update Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Lead Update Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Lead Update Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Lead Update Fail."
}
Milestone #
Milestone – Add New Milestone #
POST yourdomain.com/api/milestones
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
project_id | String | Mandatory project id. |
name | String | Mandatory Milestone Name. |
due_date | Date | Mandatory Milestone Due date. |
description (optional) | String | Optional Milestone Description. |
description_visible_to_customer (optional) | String | Show description to customer. |
milestone_order (optional) | String | Optional Milestone Order. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Milestone add successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Milestone add fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Milestone add successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Milestone add fail."
}
Milestone – Delete a Milestone #
DELETE yourdomain.com/api/delete/milestones/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Milestone unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Milestone Delete Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Milestone Delete Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Milestone Delete Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Milestone Delete Fail."
}
Milestone – Request Milestones information #
GET yourdomain.com/api/milestones/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Milestones unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Milestones | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "5",
"name": "MIlestone A",
"description": "",
"description_visible_to_customer": "0",
"due_date": "2019-09-30",
"project_id": "2",
"color": null,
"milestone_order": "1",
"datecreated": "2019-07-19",
"total_tasks": "0",
"total_finished_tasks": "0"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Milestone – Search Milestones Information #
GET yourdomain.com/api/milestones/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Milestones | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "5",
"name": "MIlestone A",
"description": "",
"description_visible_to_customer": "0",
"due_date": "2019-09-30",
"project_id": "2",
"color": null,
"milestone_order": "1",
"datecreated": "2019-07-19",
"total_tasks": "0",
"total_finished_tasks": "0"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Milestone – Update a Milestone #
PUT yourdomain.com/api/milestones/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
project_id | String | Mandatory project id. |
name | String | Mandatory Milestone Name. |
due_date | Date | Mandatory Milestone Due date. |
description (optional) | String | Optional Milestone Description. |
description_visible_to_customer (optional) | String | Show description to customer. |
milestone_order (optional) | String | Optional Milestone Order. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Milestone Update Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Milestone Update Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Milestone Update Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Milestone Update Fail."
}
Project #
Project – Add New Project #
POST yourdomain.com/api/projects
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
name | String | Mandatory Project Name. |
rel_type | string | Mandatory Project Related.Valeurs autorisées : "lead" , "customer" , "internal" |
clientid | Number | Mandatory Related ID. |
billing_type | Number | Mandatory Billing Type. |
start_date | Date | Mandatory Project Start Date. |
status | Number | Mandatory Project Status. |
progress_from_tasks (optional) | String | Optional on or off progress from tasks. |
project_cost (optional) | String | Optional Project Cost. |
progress (optional) | String | Optional project progress. |
project_rate_per_hour (optional) | String | Optional project rate per hour. |
estimated_hours (optional) | String | Optional Project estimated hours. |
project_members (optional) | Number[] | Optional Project members. |
deadline (optional) | Date | Optional Project deadline. |
tags (optional) | String | Optional Project tags. |
description (optional) | String | Optional Project description. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Project add successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Project add fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Project add successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Project add fail."
}
Project – Delete a Project #
DELETE yourdomain.com/api/delete/projects/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | project unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Project Delete successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Project Delete Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Project Delete Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Project Delete Fail."
}
Project – Request project information #
GET yourdomain.com/api/projects/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | project unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Project | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "28",
"name": "Test1",
"description": null,
"status": "1",
"clientid": "11",
"billing_type": "3",
"start_date": "2019-04-19",
"deadline": "2019-08-30",
"project_created": "2019-07-16",
"date_finished": null,
"progress": "0",
"progress_from_tasks": "1",
"project_cost": "0.00",
"project_rate_per_hour": "0.00",
"estimated_hours": "0.00",
"addedfrom": "5",
"rel_type": "lead",
"potential_revenue": "0.00",
"potential_margin": "0.00",
"external": "E",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Project – Search Project Information #
GET yourdomain.com/api/projects/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Project | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "28",
"name": "Test1",
"description": null,
"status": "1",
"clientid": "11",
"billing_type": "3",
"start_date": "2019-04-19",
"deadline": "2019-08-30",
"project_created": "2019-07-16",
"date_finished": null,
"progress": "0",
"progress_from_tasks": "1",
"project_cost": "0.00",
"project_rate_per_hour": "0.00",
"estimated_hours": "0.00",
"addedfrom": "5",
"rel_type": "lead",
"potential_revenue": "0.00",
"potential_margin": "0.00",
"external": "E",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Project – Update a project #
PUT yourdomain.com/api/projects/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
name | String | Mandatory Project Name. |
rel_type | string | Mandatory Project Related.Valeurs autorisées : "lead" , "customer" , "internal" |
clientid | Number | Mandatory Related ID. |
billing_type | Number | Mandatory Billing Type. |
start_date | Date | Mandatory Project Start Date. |
status | Number | Mandatory Project Status. |
progress_from_tasks (optional) | String | Optional on or off progress from tasks. |
project_cost (optional) | String | Optional Project Cost. |
progress (optional) | String | Optional project progress. |
project_rate_per_hour (optional) | String | Optional project rate per hour. |
estimated_hours (optional) | String | Optional Project estimated hours. |
project_members (optional) | Number[] | Optional Project members. |
deadline (optional) | Date | Optional Project deadline. |
tags (optional) | String | Optional Project tags. |
description (optional) | String | Optional Project description. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Project Update Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Project Update Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Project Update Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Project Update Fail."
}
Staff #
Staff – Add New Staff #
POST yourdomain.com/api/staffs
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
firstname | String | Mandatory Staff Name. |
String | Mandatory Staff Related. | |
password | String | Mandatory Staff password. |
hourly_rate (optional) | Number | Optional hourly rate. |
phonenumber (optional) | String | Optional Staff phonenumber. |
facebook (optional) | String | Optional Staff facebook. |
linkedin (optional) | String | Optional Staff linkedin. |
skype (optional) | String | Optional Staff skype. |
default_language (optional) | String | Optional Staff default language. |
email_signature (optional) | String | Optional Staff email signature. |
direction (optional) | String | Optional Staff direction. |
send_welcome_email (optional) | String | Optional Staff send welcome email. |
departments (optional) | Number[] | Optional Staff departments. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Staff add successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Staff add fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Staff add successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Staff add fail."
}
Staff – Delete a Staff #
DELETE yourdomain.com/api/delete/staffs/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Staff unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Staff registration successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Not register your accout. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Staff Delete."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Staff Not Delete."
}
Staff – Request Staff information #
GET yourdomain.com/api/staffs/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Staff unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Staff | Object | information. |
Error 4xx #
json
Nom | Description |
---|---|
StaffNotFound | The id of the Staff was not found. |
- Success-Response:
HTTP/1.1 200 OK
{
"staffid": "8",
"email": "data1.gsts@gmail.com",
"firstname": "Đào Quang Dân",
"lastname": "",
"facebook": "",
"linkedin": "",
"phonenumber": "",
"skype": "",
"password": "$2a$08$ySLokLAM.AqmW9ZjY2YREO0CIrd5K4Td\/Bpfp8d9QJamWNUfreQuK",
"datecreated": "2019-02-25 09:11:31",
"profile_image": "8.png",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Staff – Search Staff Information #
GET yourdomain.com/api/staffs/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Staff | Object | information. |
Error 4xx #
json
Nom | Description |
---|---|
StaffNotFound | The id of the Staff was not found. |
- Success-Response:
HTTP/1.1 200 OK
{
"staffid": "8",
"email": "data1.gsts@gmail.com",
"firstname": "Đào Quang Dân",
"lastname": "",
"facebook": "",
"linkedin": "",
"phonenumber": "",
"skype": "",
"password": "$2a$08$ySLokLAM.AqmW9ZjY2YREO0CIrd5K4Td\/Bpfp8d9QJamWNUfreQuK",
"datecreated": "2019-02-25 09:11:31",
"profile_image": "8.png",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Staff – Update a Staff #
PUT yourdomain.com/api/staffs/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
firstname | String | Mandatory Staff Name. |
String | Mandatory Staff Related. | |
password | String | Mandatory Staff password. |
hourly_rate (optional) | Number | Optional hourly rate. |
phonenumber (optional) | String | Optional Staff phonenumber. |
facebook (optional) | String | Optional Staff facebook. |
linkedin (optional) | String | Optional Staff linkedin. |
skype (optional) | String | Optional Staff skype. |
default_language (optional) | String | Optional Staff default language. |
email_signature (optional) | String | Optional Staff email signature. |
direction (optional) | String | Optional Staff direction. |
departments (optional) | Number[] | Optional Staff departments. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Staff Update Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Staff Update Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Staff Update Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Staff Update Fail."
}
Task #
Task – Add New Task #
POST yourdomain.com/api/tasks
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
name | String | Mandatory Task Name. |
startdate | Date | Mandatory Task Start Date. |
is_public (optional) | String | Optional Task public. |
billable (optional) | String | Optional Task billable. |
hourly_rate (optional) | String | Optional Task hourly rate. |
milestone (optional) | String | Optional Task milestone. |
duedate (optional) | Date | Optional Task deadline. |
priority (optional) | String | Optional Task priority. |
repeat_every (optional) | String | Optional Task repeat every. |
repeat_every_custom (optional) | Number | Optional Task repeat every custom. |
repeat_type_custom (optional) | String | Optional Task repeat type custom. |
cycles (optional) | Number | Optional cycles. |
rel_type | string | Mandatory Task Related.Valeurs autorisées : "lead" , "customer" , "invoice" , "project" , "quotation" , "contract" , "annex" , "ticket" , "expense" , "proposal" |
rel_id | Number | Optional Related ID. |
tags (optional) | String | Optional Task tags. |
description (optional) | String | Optional Task description. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Task add successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Task add fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Task add successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task add fail."
}
Task – Delete a Task #
DELETE yourdomain.com/api/delete/tasks/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Task unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Task Delete Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Task Delete Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Task Delete Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task Delete Fail."
}
Task – Request Task information #
GET yourdomain.com/api/tasks/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Task unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Tasks | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "10",
"name": "Khảo sát chi tiết hiện trạng",
"description": "",
"priority": "2",
"dateadded": "2019-02-25 12:26:37",
"startdate": "2019-01-02 00:00:00",
"duedate": "2019-01-04 00:00:00",
"datefinished": null,
"addedfrom": "9",
"is_added_from_contact": "0",
"status": "4",
"recurring_type": null,
"repeat_every": "0",
"recurring": "0",
"is_recurring_from": null,
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Task – Search Tasks Information #
GET yourdomain.com/api/tasks/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Tasks | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "10",
"name": "Khảo sát chi tiết hiện trạng",
"description": "",
"priority": "2",
"dateadded": "2019-02-25 12:26:37",
"startdate": "2019-01-02 00:00:00",
"duedate": "2019-01-04 00:00:00",
"datefinished": null,
"addedfrom": "9",
"is_added_from_contact": "0",
"status": "4",
"recurring_type": null,
"repeat_every": "0",
"recurring": "0",
"is_recurring_from": null,
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Task – Update a task #
PUT yourdomain.com/api/tasks/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
name | String | Mandatory Task Name. |
startdate | Date | Mandatory Task Start Date. |
is_public (optional) | String | Optional Task public. |
billable (optional) | String | Optional Task billable. |
hourly_rate (optional) | String | Optional Task hourly rate. |
milestone (optional) | String | Optional Task milestone. |
duedate (optional) | Date | Optional Task deadline. |
priority (optional) | String | Optional Task priority. |
repeat_every (optional) | String | Optional Task repeat every. |
repeat_every_custom (optional) | Number | Optional Task repeat every custom. |
repeat_type_custom (optional) | String | Optional Task repeat type custom. |
cycles (optional) | Number | Optional cycles. |
rel_type | string | Mandatory Task Related.Valeurs autorisées : "lead" , "customer" , "invoice" , "project" , "quotation" , "contract" , "annex" , "ticket" , "expense" , "proposal" |
rel_id | Number | Optional Related ID. |
tags (optional) | String | Optional Task tags. |
description (optional) | String | Optional Task description. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Task Update Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | String | Request status. |
message | String | Task Update Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Task Update Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task Update Fail."
}
Ticket #
Ticket – Add New Ticket #
POST yourdomain.com/api/tickets
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
subject | String | Mandatory Ticket name . |
department | String | Mandatory Ticket Department. |
contactid | String | Mandatory Ticket Contact. |
userid | String | Mandatory Ticket user. |
project_id (optional) | String | Optional Ticket Project. |
message (optional) | String | Optional Ticket message. |
service (optional) | String | Optional Ticket Service. |
assigned (optional) | String | Optional Assign ticket. |
cc (optional) | String | Optional Ticket CC. |
priority (optional) | String | Optional Priority. |
tags (optional) | String | Optional ticket tags. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Ticket add successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Ticket add fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket add successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket add fail."
}
Ticket – Delete a Ticket #
DELETE yourdomain.com/api/delete/tickets/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Ticket unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Ticket Delete Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Ticket Delete Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket Delete Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket Delete Fail."
}
Ticket – Request Ticket information #
GET yourdomain.com/api/tickets/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Ticket unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Ticket | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | The id of the Ticket was not found. |
- Success-Response:
HTTP/1.1 200 OK
{
"ticketid": "7",
"adminreplying": "0",
"userid": "0",
"contactid": "0",
"email": null,
"name": "Trung bình",
"department": "1",
"priority": "2",
"status": "1",
"service": "1",
"ticketkey": "8ef33d61bb0f26cd158d56cc18b71c02",
"subject": "Ticket ER",
"message": "Ticket ER",
"admin": "5",
"date": "2019-04-10 03:08:21",
"project_id": "5",
"lastreply": null,
"clientread": "0",
"adminread": "1",
"assigned": "5",
"line_manager": "8",
"milestone": "27",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Ticket – Search Ticket Information #
GET yourdomain.com/api/tickets/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Ticket | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | The id of the Ticket was not found. |
- Success-Response:
HTTP/1.1 200 OK
{
"ticketid": "7",
"adminreplying": "0",
"userid": "0",
"contactid": "0",
"email": null,
"name": "Trung bình",
"department": "1",
"priority": "2",
"status": "1",
"service": "1",
"ticketkey": "8ef33d61bb0f26cd158d56cc18b71c02",
"subject": "Ticket ER",
"message": "Ticket ER",
"admin": "5",
"date": "2019-04-10 03:08:21",
"project_id": "5",
"lastreply": null,
"clientread": "0",
"adminread": "1",
"assigned": "5",
"line_manager": "8",
"milestone": "27",
...
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Ticket – Update a ticket #
PUT yourdomain.com/api/tickets/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
subject | String | Mandatory Ticket name . |
department | String | Mandatory Ticket Department. |
contactid | String | Mandatory Ticket Contact. |
userid | String | Mandatory Ticket user. |
priority | String | Mandatory Priority. |
project_id (optional) | String | Optional Ticket Project. |
message (optional) | String | Optional Ticket message. |
service (optional) | String | Optional Ticket Service. |
assigned (optional) | String | Optional Assign ticket. |
tags (optional) | String | Optional ticket tags. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Ticket Update Successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Ticket Update Fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket Update Successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket Update Fail."
}
Contracts #
Contracts – Add New Contract #
POST yourdomain.com/api/contracts
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
subject | String | Mandatory. Contract subject |
datestart | Date | Mandatory. Contract start date |
client | Number | Mandatory. Customer ID |
dateend | Date | Optional. Contract end date |
contract_type | Number | Optional. Contract type |
contract_value | Number | Optional. Contract value |
description | String | Optional. Contract description |
content | String | Optional. Contract content |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Contracts Added Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Contract add fail |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contract Added Successfully"
}
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract ID Exists"
}
Contracts – Delete Contract #
DELETE yourdomain.com/api/contracts/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Contract Deleted Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Contract Delete Fail |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contract Deleted Successfully"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract Delete Fail"
}
Contracts – Request Contract information #
GET yourdomain.com/api/contracts/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Contact unique ID |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Contracts | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "1",
"content": "",
"description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.",
"subject": "New Contract",
"client": "9",
"datestart": "2022-11-21",
"dateend": "2027-11-21",
"contract_type": "1",
"project_id": "0",
"addedfrom": "1",
"dateadded": "2022-11-21 12:45:58",
"isexpirynotified": "0",
"contract_value": "13456.00",
"trash": "0",
"not_visible_to_client": "0",
"hash": "31caaa36b9ea1f45a688c7e859d3ae70",
"signed": "0",
"signature": null,
"marked_as_signed": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"short_link": null,
"name": "Development Contracts",
"userid": "9",
"company": "8web",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2022-08-11 14:07:26",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"type_name": "Development Contracts",
"attachments": [],
"customfields": [],
}
Credit Notes #
Credit_Notes – Add New Credit Notes #
POST yourdomain.com/api/credit_notes
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
clientid | Number | Mandatory. Customer id |
date | Date | Mandatory. Credit Note Date |
number | Number | Mandatory. Credit Note Number |
currency | Number | Mandatory. currency field |
newitems | Array | Mandatory. New Items to be added |
billing_street | String | Optional. Street Address |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
discount_type (optional) | String | Optional. before_tax / after_tax discount type |
Admin (optional) | String | Note] Optional. Admin Note |
subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and |
clientnote (optional) | String | Optional. client notes |
terms (optional) | String | Optional. Terms |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Added Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Credit Note add fail |
newitems[] | String | The Items field is required |
number | String | The Credit Note number is already in use |
subtotal | String | The Sub Total field is required |
total | String | The Total field is required |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Credit Note Added Successfully"
}
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Credit Note Add Fail"
}
Credit_Notes – Delete Credit Note #
DELETE yourdomain.com/api/credit_notes/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Deleted Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Delete Fail |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Credit Note Deleted Successfully"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Credit Note Delete Fail"
}
Credit_Notes – Request Credit notes information #
GET yourdomain.com/api/credit_notes/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Credit | Object | notes information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"clientid": "1",
"deleted_customer_name": null,
"number": "2",
"prefix": "CN-",
"number_format": "1",
"datecreated": "2021-07-30 16:29:46",
"date": "2021-08-02",
"adminnote": "adminnote2",
"terms": "",
"clientnote": "",
"currency": "1",
"subtotal": "1200.00",
"total_tax": "0.00",
"total": "1200.00",
"adjustment": "0.00",
"addedfrom": "1",
"status": "1",
"project_id": "0",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"billing_street": "Test",
"billing_city": "Test",
"billing_state": "Test",
"billing_zip": "3000",
"billing_country": "102",
"shipping_street": "Test",
"shipping_city": "Test",
"shipping_state": "Test",
"shipping_zip": "3000",
"shipping_country": "102",
"include_shipping": "1",
"show_shipping_on_credit_note": "1",
"show_quantity_as": "1",
"reference_no": "",
"userid": "1",
"company": "Test",
"vat": "",
"phonenumber": "01324568903",
"country": "102",
"city": "Test",
"zip": "3000",
"state": "Test",
"address": "Test",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"credit_note_id": "2",
"customfields": []
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Credit_Notes – Search credit notes item information #
GET yourdomain.com/api/credit_notes/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords |
Success 200 #
json
Champ | Type | Description |
---|---|---|
credit | Object | notes Information |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"clientid": "1",
"deleted_customer_name": null,
"number": "2",
"prefix": "CN-",
"number_format": "1",
"datecreated": "2021-07-30 16:29:46",
"date": "2021-08-02",
"adminnote": "adminnote2",
"terms": "",
"clientnote": "",
"currency": "1",
"subtotal": "1200.00",
"total_tax": "0.00",
"total": "1200.00",
"adjustment": "0.00",
"addedfrom": "1",
"status": "1",
"project_id": "0",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"billing_street": "Test",
"billing_city": "Test",
"billing_state": "Test",
"billing_zip": "3000",
"billing_country": "102",
"shipping_street": "Test",
"shipping_city": "Test",
"shipping_state": "Test",
"shipping_zip": "3000",
"shipping_country": "102",
"include_shipping": "1",
"show_shipping_on_credit_note": "1",
"show_quantity_as": "1",
"reference_no": "",
"userid": "1",
"company": "test",
"vat": "",
"phonenumber": "01324568903",
"country": "102",
"city": "Test",
"zip": "3000",
"state": "Test",
"address": "Test",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"credit_note_id": "2",
"customfields": []
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Credit_Notes – Update a Credit Note #
PUT yourdomain.com/api/credit_notes
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
clientid | Number | Mandatory. Customer id |
date | Date | Mandatory. Credit Note Date |
number | Number | Mandatory. Credit Note Number |
currency | Number | Mandatory. currency field |
newitems | Array | Mandatory. New Items to be added |
items | Array | Mandatory. Existing items with Id |
removed_items | Array | Optional. Items to be removed |
billing_street | String | Optional. Street Address |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
discount_type (optional) | String | Optional. before_tax / after_tax discount type |
Admin (optional) | String | Note] Optional. Admin Note |
subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and |
clientnote (optional) | String | Optional. client notes |
terms (optional) | String | Optional. Terms |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Updated Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Update Fail |
newitems[] | String | The Items field is required |
number | String | The Credit Note number is already in use |
subtotal | String | The Sub Total field is required |
total | String | The Total field is required |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Credit Note Updated Successfully"
}
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Credit Note Update Fail"
}
Custom Fields #
Custom_Fields – Add Custom Fields #
Submit URL for POST request of the custom fields remains the same for each endpoint (ie api/contacts
for Contacts endpoint, api/invoices
for Invoices endpoint, etc..)
In this example, we will use the following form data which corresponds to the following custom field types: #
custom_fields[invoice][1]
= Input Typecustom_fields[invoice][2]
= Numbercustom_fields[invoice][3]
= Textareacustom_fields[invoice][4]
= Radiocustom_fields[invoice][5]
= Checkboxcustom_fields[invoice][6]
= Multiselectcustom_fields[invoice][7]
= Datecustom_fields[invoice][8]
= Datetimecustom_fields[invoice][9]
= Colorcustom_fields[invoice][10]
= Link
POST yourdomain.com/N/A
Paramètre #
json
Champ | Type | Description |
---|---|---|
custom_fields[customFieldType] | string/array | Custom Field Key should be same as field_name returned from Search custom field values’ information |
- Success-Response:
HTTP/1.1 200 OK
Same as Original request
- Error-Response:
HTTP/1.1 404 Not Found
Same as Original request
Custom_Fields – Delete Custom Fields #
To remove particular custom field value you can use Update action and an empty value in the custom field.
Note: When you delete any record the corresponding custom field data will be automatically deleted.
DELETE yourdomain.com/N/A
Custom_Fields – Request Custom Fields #
Custom fields’ data will be returned combined with other request’s information during the initial GET request of each available endpoint (Contacts, Invoices etc) with their respective label
and value
key
GET yourdomain.com/N/A
- Success-Response:
HTTP/1.1 200 OK
{
"id": "1",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"number": "10",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2021-05-14 00:44:52",
"date": "2021-08-28",
"duedate": "2021-09-27",
"currency": "1",
"subtotal": "110.00",
"total_tax": "0.00",
"total": "110.00",
"adjustment": "0.00",
"addedfrom": "0",
"hash": "4222d2f53404324ea73535d3c0f2c3f0",
"status": "1",
"clientnote": "",
"adminnote": "",
"last_overdue_reminder": null,
"cancel_overdue_reminders": "1",
"allowed_payment_modes": "a:2:{i:0;s:1:\"1\";i:1;s:1:\"2\";}",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": "",
"sale_agent": "0",
"billing_street": "billing address",
"billing_city": "billing city name",
"billing_state": "billing state name",
"billing_zip": "billing zip code",
"billing_country": "0",
"shipping_street": "shipping address",
"shipping_city": "city name",
"shipping_state": "state name",
"shipping_zip": "zip code",
"shipping_country": "0",
"include_shipping": "1",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"short_link": null,
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"currencyid": "1",
"currency_name": "USD",
"total_left_to_pay": "110.00",
"items": [
{
"id": "1",
"rel_id": "1",
"rel_type": "invoice",
"description": "item description",
"long_description": "item long description",
"qty": "1.00",
"rate": "10.00",
"unit": "1",
"item_order": "1",
"customfields": [
{
"label": "Input 1",
"value": "test 12 item 1"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "<a>Link</a>"
}
]
},
{
"id": "2",
"rel_id": "1",
"rel_type": "invoice",
"description": "updated item 2 description",
"long_description": "updated item 2 logn description",
"qty": "1.00",
"rate": "100.00",
"unit": "",
"item_order": "2",
"customfields": [
{
"label": "Input 1",
"value": "test 12 item 2"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "<a>Link</a>"
}
]
}
],
"attachments": [],
"visible_attachments_to_customer_found": false,
"client": {
"userid": "1",
"company": "updated company",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2021-05-14 00:15:06",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "0"
},
"payments": [],
"scheduled_email": null,
"customfields": [
{
"label": "Input 1",
"value": "test 12"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "<a>Link</a>"
}
]
}
- Error-Response:
HTTP/1.1 404 Not Found
Same as Original request
Custom_Fields – Request Values of Custom Fields #
GET yourdomain.com/api/custom_fields/:FieldBelongsto/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
FieldBelongsto | string | Belongs to Mandatory Field Belongs to.Valeurs autorisées : , , , , , , , , , , , , , , ,
|
id (optional) | Number | Optional unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Custom | Object | Custom Fields information with values. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
[
{
"field_name": "custom_fields[invoice][1]",
"custom_field_id": "1",
"label": "Input 1",
"required": "0",
"type": "input",
"value": "input1 data"
},
{
"field_name": "custom_fields[invoice][2]",
"custom_field_id": "2",
"label": "Number 1",
"required": "0",
"type": "number",
"value": "12"
},
{
"field_name": "custom_fields[invoice][3]",
"custom_field_id": "3",
"label": "Textarea 1",
"required": "0",
"type": "textarea",
"value": "textarea content"
},
{
"field_name": "custom_fields[invoice][4]",
"custom_field_id": "4",
"label": "Select 1",
"required": "0",
"type": "select",
"value": "[\"Option 1\"]",
"options": "[\"Option 1\",\"Option 2\",\"Option 3\"]"
},
{
"field_name": "custom_fields[invoice][5]",
"custom_field_id": "5",
"label": "Multiselect 1",
"required": "0",
"type": "multiselect",
"value": "[\"Option 1\",\" Option 2\"]",
"options": "[\"Option 1\",\"Option 2\",\"Option 3\"]"
},
{
"field_name": "custom_fields[invoice][6]",
"custom_field_id": "6",
"label": "Checkbox 1",
"required": "0",
"type": "checkbox",
"value": "[\"Option 1\",\" Option 2\"]",
"options": "[\"Option 1\",\"Option 2\",\"Option 3\"]"
},
{
"field_name": "custom_fields[invoice][7]",
"custom_field_id": "7",
"label": "Datepicker 1",
"required": "0",
"type": "date_picker",
"value": "2021-05-16"
},
{
"field_name": "custom_fields[invoice][8]",
"custom_field_id": "8",
"label": "Datetime Picker 1",
"required": "0",
"type": "date_picker_time",
"value": "2021-05-25 23:06:00"
},
{
"field_name": "custom_fields[invoice][9]",
"custom_field_id": "9",
"label": "Colorpicker 1",
"required": "0",
"type": "colorpicker",
"value": "#8f1b1b"
},
{
"field_name": "custom_fields[invoice][10]",
"custom_field_id": "10",
"label": "Hyperlink 1",
"required": "0",
"type": "link",
"value": "<a href=\"https://google.com\" target=\"_blank\">google</a>"
}
]
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Custom_Fields – Search custom field values’ information #
Custom fields’ data will be returned combined with other request’s information during the initial SEARCH request of each available endpoint (Contacts, Invoices etc) with their respective label
and value
key
GET yourdomain.com/N/A
- Success-Response:
HTTP/1.1 200 OK
[
{
"id": "1",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"number": "10",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2021-05-14 00:15:06",
"date": "2021-08-28",
"duedate": "2021-09-27",
"currency": "1",
"subtotal": "110.00",
"total_tax": "0.00",
"total": "110.00",
"adjustment": "0.00",
"addedfrom": "0",
"hash": "4222d2f53404324ea73535d3c0f2c3f0",
"status": "1",
"clientnote": "",
"adminnote": "",
"last_overdue_reminder": null,
"cancel_overdue_reminders": "1",
"allowed_payment_modes": "a:2:{i:0;s:1:\"1\";i:1;s:1:\"2\";}",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": "",
"sale_agent": "0",
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"include_shipping": "1",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"short_link": null,
"userid": "1",
"company": "updated company",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"invoiceid": "1",
"customfields": [
{
"label": "Input 1",
"value": "test 12"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "<a>Link</a>"
}
]
},
{
"id": "2",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"number": "4",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2021-05-14 00:15:06",
"date": "2021-05-28",
"duedate": "2021-06-27",
"currency": "1",
"subtotal": "110.00",
"total_tax": "0.00",
"total": "110.00",
"adjustment": "0.00",
"addedfrom": "0",
"hash": "630f8cc7ed2e6a70c4113ab24041bdf5",
"status": "6",
"clientnote": "",
"adminnote": "",
"last_overdue_reminder": null,
"cancel_overdue_reminders": "1",
"allowed_payment_modes": "a:2:{i:0;s:1:\"1\";i:1;s:1:\"2\";}",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": "",
"sale_agent": "0",
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"include_shipping": "1",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"short_link": null,
"userid": "1",
"company": "updated company",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"invoiceid": "2",
"customfields": [
{
"label": "Input 1",
"value": "test 12"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "<a>Link</a>"
}
]
}
]
- Error-Response:
HTTP/1.1 404 Not Found
Same as Original request
Custom_Fields – Update Custom Fields #
Submit URL for PUT request of the custom fields remains the same for each endpoint (ie api/contacts
for Contacts endpoint, api/invoices
for Invoices endpoint, etc..)
In this example, we will use the following form data which corresponds to the following custom field types: #
custom_fields[invoice][1]
= Input Typecustom_fields[invoice][2]
= Numbercustom_fields[invoice][3]
= Textareacustom_fields[invoice][4]
= Radiocustom_fields[invoice][5]
= Checkboxcustom_fields[invoice][6]
= Multiselectcustom_fields[invoice][7]
= Datecustom_fields[invoice][8]
= Datetimecustom_fields[invoice][9]
= Colorcustom_fields[invoice][10]
= Link
PUT yourdomain.com/N/A
Paramètre #
json
Champ | Type | Description |
---|---|---|
custom_fields[customFieldType] | string/array | Custom Field JSON should be same as below with field_name and custom_field_id returned from Search custom field values’ information |
- Success-Response:
HTTP/1.1 200 OK
Same as Original request
- Error-Response:
HTTP/1.1 404 Not Found
Same as Original request
Estimates #
Estimates – Add New Estimates #
POST yourdomain.com/api/estimates
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
clientid | Number | Mandatory. Customer id |
number | Number | Mandatory. Estimates Number |
date | Date | Mandatory. Estimates Date |
duedate (optional) | Date | Optional. Expiry Date of Estimates |
currency | Number | Mandatory. currency field |
newitems | Array | Mandatory. New Items to be added |
subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and Adjustment |
billing_street | String | Optional. Street Address |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
tags (optional) | String | Optional. TAGS comma separated |
status (optional) | Number | Optional. Status id (default status is Accepted) |
Reference (optional) | String | Optional. Reference name |
sale_agent (optional) | Number | Optional. Sale Agent name |
adminnote (optional) | String | Optional. notes by admin |
clientnote (optional) | String | Optional. client notes |
terms (optional) | String | Optional. Terms |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Estimates Added Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Estimates add fail |
newitems[] | String | The Items field is required |
number | String | The Estimates number is already in use |
subtotal | String | The Sub Total field is required |
total | String | The Total field is required |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Estimates Added Successfully"
}
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Estimates Add Fail"
}
Estimates – Delete Estimate #
DELETE yourdomain.com/api/estimates/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Estimates Deleted Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Estimate Delete Fail |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Estimate Deleted Successfully"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Estimate Delete Fail"
}
Estimates – Request Estimate information #
GET yourdomain.com/api/estimates/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Contact unique ID |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Estimates | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "1",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"project_id": "0",
"number": "1",
"prefix": "EST-",
"number_format": "1",
"hash": "b12ae9de6471d0cf153d7846f05128af",
"datecreated": "2021-07-31 11:06:49",
"date": "2021-07-31",
"expirydate": "2021-08-07",
"currency": "1",
"subtotal": "1200.00",
"total_tax": "0.00",
"total": "1200.00",
"adjustment": "0.00",
"addedfrom": "1",
"status": "1",
"clientnote": "",
"adminnote": "",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"invoiceid": null,
"invoiced_date": null,
"terms": "",
"reference_no": "",
"sale_agent": "0",
"billing_street": "Thangadh, Gujarat, India<br />\r\nShipping",
"billing_city": "Thangadh",
"billing_state": "Gujarat",
"billing_zip": "363630",
"billing_country": "102",
"shipping_street": "Thangadh, Gujarat, India<br />\r\nShipping",
"shipping_city": "Thangadh",
"shipping_state": "Gujarat",
"shipping_zip": "363630",
"shipping_country": "102",
"include_shipping": "1",
"show_shipping_on_estimate": "1",
"show_quantity_as": "1",
"pipeline_order": "0",
"is_expiry_notified": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"signature": null,
"short_link": null,
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"currencyid": "1",
"currency_name": "USD",
"attachments": [],
"visible_attachments_to_customer_found": false,
"items": [
{
"id": "2",
"rel_id": "1",
"rel_type": "estimate",
"description": "test",
"long_description": "test",
"qty": "1.00",
"rate": "1200.00",
"unit": "1",
"item_order": "1"
}
],
"client": {
"userid": "1",
"company": "test",
"vat": "",
"phonenumber": "01324568903",
"country": "102",
"city": "test",
"zip": "3000",
"state": "Test",
"address": "Test",
"website": "",
"datecreated": "2021-07-30 16:29:46",
"active": "1",
"leadid": null,
"billing_street": "Test",
"billing_city": "Test",
"billing_state": "Test",
"billing_zip": "3000",
"billing_country": "102",
"shipping_street": "Test",
"shipping_city": "Test",
"shipping_state": "Test",
"shipping_zip": "3000",
"shipping_country": "102",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "1"
},
"scheduled_email": null,
"customfields": []
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Estimates – Search Estimate information #
GET yourdomain.com/api/estimates/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Estimate | Object | Information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"project_id": "0",
"number": "2",
"prefix": "EST-",
"number_format": "1",
"hash": "ac754972999f948ade369c70bb44d696",
"datecreated": "2021-07-30 16:29:46",
"date": "2021-08-01",
"expirydate": "2021-08-08",
"currency": "1",
"subtotal": "1200.00",
"total_tax": "0.00",
"total": "1200.00",
"adjustment": "0.00",
"addedfrom": "1",
"status": "1",
"clientnote": "",
"adminnote": "adminnote",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"invoiceid": null,
"invoiced_date": null,
"terms": "",
"reference_no": "",
"sale_agent": "0",
"billing_street": "Test",
"billing_city": "Test",
"billing_state": "Test",
"billing_zip": "3000",
"billing_country": "102",
"shipping_street": "Test",
"shipping_city": "Test",
"shipping_state": "Test",
"shipping_zip": "3000",
"shipping_country": "102",
"include_shipping": "1",
"show_shipping_on_estimate": "1",
"show_quantity_as": "1",
"pipeline_order": "0",
"is_expiry_notified": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"signature": null,
"short_link": null,
"userid": "1",
"company": "test",
"vat": "",
"phonenumber": "01324568903",
"country": "102",
"city": "Test",
"zip": "3000",
"state": "Test",
"address": "Test",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"estimateid": "2",
"customfields": []
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No Data Were Found"
}
Estimates – Update a estimate #
PUT yourdomain.com/api/estimates/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
clientid | String | Mandatory. Customer. |
billing_street | String | Mandatory. Street Address |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
include_shipping (optional) | boolean | Optional. set yes if you want add Shipping AddressValeur par défaut : no |
show_shipping_on_estimate (optional) | boolean | Optional. Shows shipping details in estimate. |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
number | Number | Mandatory. Estimate Number |
date | Date | Mandatory. Estimate Date |
expirydate (optional) | Date | Optional. Expiry Date of Estimate |
tags (optional) | String | Optional. TAGS comma separated |
currency | Number | Mandatory. currency field |
status | Number | Mandatory. Estimate Status(eg. Draft, Sent) |
reference_no (optional) | String | Optional. Reference # |
sale_agent (optional) | Number | Optional. Sale Agent name |
discount_type (optional) | String | Optional. before_tax / after_tax discount type |
adminnote (optional) | String | Optional. notes by admin |
items (optional) | Array | Mandatory. Existing items with Id |
removed_items (optional) | Array | Optional. Items to be removed |
newitems (optional) | Array | Optional. New Items to be added |
subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and Adjustment |
clientnote (optional) | String | Optional. client notes |
terms (optional) | String | Optional. Terms |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
number | String | The Estimate number is already in use |
- Success-Response:
HTTP/1.1 200 OK
{
"status": false,
"message": "Estimate Updated Successfully"
}
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Estimate Update Fail"
}
Expense category #
Expense_category – Request Expense category #
GET yourdomain.com/api/common/expense_category
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Expense | Array | category information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
[
{
"id": "1",
"name": "cloud server",
"description": "AWS server"
},
{
"id": "2",
"name": "website domain",
"description": "domain Managment and configurations"
}
]
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Expenses #
Expenses – Add Expense #
POST yourdomain.com/api/expenses
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
expense_name (optional) | String | Optional. Expanse Name |
note (optional) | String | Optional. Expanse Note |
category | Number | Mandatory. Expense Category |
amount | Decimal | Mandatory. Expense Amount |
date | Date | Mandatory. Expense Date |
clientid | Number | Optional. Customer id |
currency | Number | Mandatory. Currency Field |
tax | Number | Optional. Tax 1 |
tax2 | Number | Optional. Tax 2 |
paymentmode | Number | Optional. Payment mode |
reference_no (optional) | String | Optional. Reference # |
recurring (optional) | String | Optional. recurring 1 to 12 or custom |
repeat_every_custom (optional) | Number | Optional. if recurring is custom set number gap |
repeat_type_custom (optional) | String | Optional. if recurring is custom set gap option day/week/month/year |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Expense Added Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Expense Update Fail |
category | String | The Expense Category is not found. |
date | String | The Expense date field is required. |
amount | String | The Amount field is required. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Expense Added Successfully"
}
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Expense Add Fail"
}
Expenses – Delete Expense #
DELETE yourdomain.com/api/expenses/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Expense Deleted Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Expense Delete Fail |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Expense Deleted Successfully"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Expense Delete Fail"
}
Expenses – Request Expense information #
GET yourdomain.com/api/expenses/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Expense unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Expense | Array | Expense information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
[
{
"id": "1",
"category": "1",
"currency": "1",
"amount": "50.00",
"tax": "0",
"tax2": "0",
"reference_no": "012457893",
"note": "AWS server hosting charges",
"expense_name": "Cloud Hosting",
"clientid": "1",
"project_id": "0",
"billable": "0",
"invoiceid": null,
"paymentmode": "2",
"date": "2021-09-01",
"recurring_type": "month",
"repeat_every": "1",
"recurring": "1",
"cycles": "12",
"total_cycles": "0",
"custom_recurring": "0",
"last_recurring_date": null,
"create_invoice_billable": "0",
"send_invoice_to_customer": "0",
"recurring_from": null,
"dateadded": "2021-09-01 12:26:34",
"addedfrom": "1",
"is_expense_created_in_xero": "0",
"userid": "1",
"company": "Company A",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2020-05-25 22:55:49",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"name": "Hosting Management",
"description": "server space and other settings",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"taxrate": null,
"category_name": "Hosting Management",
"payment_mode_name": "Paypal",
"tax_name": null,
"tax_name2": null,
"taxrate2": null,
"expenseid": "1",
"customfields": []
}
]
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Expenses – Search Expenses information #
GET yourdomain.com/api/expenses/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Expenses | Array | Expenses Information |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status |
message | String | No data were found |
- Success-Response:
[
{
"id": "1",
"category": "1",
"currency": "1",
"amount": "50.00",
"tax": "0",
"tax2": "0",
"reference_no": "012457893",
"note": "AWS server hosting charges",
"expense_name": "Cloud Hosting",
"clientid": "1",
"project_id": "0",
"billable": "0",
"invoiceid": null,
"paymentmode": "2",
"date": "2021-09-01",
"recurring_type": "month",
"repeat_every": "1",
"recurring": "1",
"cycles": "12",
"total_cycles": "0",
"custom_recurring": "0",
"last_recurring_date": null,
"create_invoice_billable": "0",
"send_invoice_to_customer": "0",
"recurring_from": null,
"dateadded": "2021-09-01 12:26:34",
"addedfrom": "1",
"is_expense_created_in_xero": "0",
"userid": "1",
"company": "Company A",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2020-05-25 22:55:49",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"name": "Hosting Management",
"description": "server space and other settings",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"taxrate": null,
"category_name": "Hosting Management",
"payment_mode_name": "Paypal",
"tax_name": null,
"tax_name2": null,
"taxrate2": null,
"expenseid": "1",
"customfields": []
}
]
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Expenses – Update a Expense #
PUT yourdomain.com/api/expenses
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
expense_name (optional) | String | Optional. Name |
note (optional) | String | Optional. Note |
category | Number | Mandatory. Expense Category |
amount | Decimal | Mandatory. Expense Amount |
date | Date | Mandatory. Expense Date |
clientid | Number | Optional. Customer id |
currency | Number | Mandatory. currency field |
tax | Number | Optional. Tax 1 |
tax2 | Number | Optional. Tax 2 |
paymentmode | Number | Optional. Payment mode |
reference_no (optional) | String | Optional. Reference # |
recurring (optional) | String | Optional. recurring 1 to 12 or custom |
repeat_every_custom (optional) | Number | Optional. if recurring is custom set number gap |
repeat_type_custom (optional) | String | Optional. if recurring is custom set gap option day/week/month/year |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Expense Updated Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Expense Update Fail |
category | String | The Expense Category is not found. |
date | String | The Expense date field is required. |
amount | String | The Amount field is required. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Expense Updated Successfully"
}
- Error-Response:
- Error-Response:
- Error-Response:
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Expense Update Fail"
}
List Taxes #
List_Taxes – Request Taxes #
GET yourdomain.com/api/common/tax_data
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Tax | Array | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
[
{
"id": "4",
"name": "PAYPAL",
"taxrate": "5.00"
},
{
"id": "1",
"name": "CGST",
"taxrate": "9.00"
},
{
"id": "2",
"name": "SGST",
"taxrate": "9.00"
},
{
"id": "3",
"name": "GST",
"taxrate": "18.00"
}
]
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Payment Mode #
Payment_Mode – Request Payment Modes #
GET yourdomain.com/api/common/payment_mode
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Payment | Array | Modes. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
[
{
"id": "1",
"name": "Bank",
"description": null,
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "1",
"active": "1"
}
]
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Payments #
Payments – List all Payments #
GET yourdomain.com/api/payments/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
payment_id | Number | Optional payment unique ID Note : if you don’t pass Payment id then it will list all payments records |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Payments | Array | List all Payment Records. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
[
{
"id": "3",
"invoiceid": "7",
"amount": "1000.00",
"paymentmode": "3",
"paymentmethod": "",
"date": "2020-06-08",
"daterecorded": "2020-06-08 20:29:54",
"note": "",
"transactionid": "000355795931",
"name": "UPI",
"description": "",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"active": "1",
"paymentid": "1"
},
{
"id": "4",
"invoiceid": "12",
"amount": "-3.00",
"paymentmode": "4",
"paymentmethod": "",
"date": "2020-07-04",
"daterecorded": "2020-07-04 15:32:59",
"note": "",
"transactionid": "P228210122733439",
"name": "Stripe",
"description": "",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"active": "1",
"paymentid": "2"
},
{
"id": "1",
"invoiceid": "14",
"amount": "8.00",
"paymentmode": "1",
"paymentmethod": "",
"date": "2020-07-04",
"daterecorded": "2020-07-04 15:47:30",
"note": "",
"transactionid": "000360166374",
"name": "Bank",
"description": null,
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "1",
"active": "1",
"paymentid": "3"
},
{
"id": "2",
"invoiceid": "13",
"amount": "3.00",
"paymentmode": "2",
"paymentmethod": "Credit card",
"date": "2020-07-04",
"daterecorded": "2020-07-04 15:49:56",
"note": "",
"transactionid": "0124875873",
"name": "paypal",
"description": "",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"active": "1",
"paymentid": "4"
}
]
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Payments – Search Payments Information #
GET yourdomain.com/api/payments/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Payments | Array | Payments information |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status |
message | String | No data were found |
- Success-Response:
HTTP/1.1 200 OK
[
{
"id": "3",
"invoiceid": "14",
"amount": "8.00",
"paymentmode": "2",
"paymentmethod": "",
"date": "2020-07-04",
"daterecorded": "2020-07-04 15:47:30",
"note": "",
"transactionid": "",
...
}
]
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Proposals #
Proposals – Add New Proposals #
POST yourdomain.com/api/proposals
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
subject | String | Mandatory. Proposal Subject Name. |
Related | string | Mandatory. Proposal Related.Valeurs autorisées : "lead" , "customer" |
rel_id | Number | Mandatory. Related ID. |
proposal_to | string | Mandatory. Lead / Customer name. |
date | Date | Mandatory. Proposal Start Date. |
open_till | Date | Optional. Proposal Open Till Date. |
currency | string | Mandatory. currency id. |
discount_type | string | Optional. Proposal Open Till Date. |
status | string | Optional. status id. |
Assigned | string | Optional. Assignee id. |
string | Mandatory. Email id. | |
newitems | Array | Mandatory. New Items to be added. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Proposal add successful. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Proposal add fail. |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Proposal add successful."
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Proposal add fail."
}
Proposals – Delete Proposal #
DELETE yourdomain.com/api/proposals/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Proposal unique ID. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Proposals Deleted Successfully |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | Proposals Delete Fail |
- Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Proposals Deleted Successfully"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Proposal Delete Fail"
}
Proposals – Request Proposal information #
GET yourdomain.com/api/proposals
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
id | Number | Proposal unique ID |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Proposal | Object | information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "1",
"subject": "Test Proposal",
"content": "{proposal_items}",
"addedfrom": "1",
"datecreated": "2021-08-01 13:38:08",
"total": "10.00",
"subtotal": "10.00",
"total_tax": "0.00",
"adjustment": "0.00",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"show_quantity_as": "1",
"currency": "1",
"open_till": "2021-08-08",
"date": "2021-08-01",
"rel_id": "1",
"rel_type": "customer",
"assigned": "0",
"hash": "9fc38e5ad2f8256b1b8430ee41069f75",
"proposal_to": "test",
"country": "102",
"zip": "30000202",
"state": "Test",
"city": "Test",
"address": "Test",
"email": "test@gmail.com",
"phone": "01324568903",
"allow_comments": "1",
"status": "6",
"estimate_id": null,
"invoice_id": null,
"date_converted": null,
"pipeline_order": "0",
"is_expiry_notified": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"signature": null,
"short_link": null,
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"currencyid": "1",
"currency_name": "USD",
"attachments": [],
"items": [
{
"id": "4",
"rel_id": "1",
"rel_type": "proposal",
"description": "item 1",
"long_description": "item 1 description",
"qty": "1.00",
"rate": "10.00",
"unit": "1",
"item_order": "1"
}
],
"visible_attachments_to_customer_found": false,
"customfields": [
{
"label": "Custom Field",
"value": "Custom Field value"
}
]
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Proposals – Search proposals information #
GET yourdomain.com/api/proposals/search/:keysearch
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
keysearch | String | Search Keywords. |
Success 200 #
json
Champ | Type | Description |
---|---|---|
Proposals | Object | Information. |
Error 4xx #
json
Nom | Type | Description |
---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
- Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"subject": "Test 2",
"content": "{proposal_items}",
"addedfrom": "1",
"datecreated": "2021-08-01 13:43:49",
"total": "10.00",
"subtotal": "10.00",
"total_tax": "0.00",
"adjustment": "0.00",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"show_quantity_as": "1",
"currency": "1",
"open_till": "2021-08-08",
"date": "2021-08-01",
"rel_id": "1",
"rel_type": "customer",
"assigned": "0",
"hash": "6fe6cd0bc66dff03663154660acc1a93",
"proposal_to": "test",
"country": "102",
"zip": "300000",
"state": "test",
"city": "test",
"address": "test",
"email": "test@gmail.com",
"phone": "01324568903",
"allow_comments": "1",
"status": "6",
"estimate_id": null,
"invoice_id": null,
"date_converted": null,
"pipeline_order": "0",
"is_expiry_notified": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"signature": null,
"short_link": null,
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"customfields": [
{
"label": "Custom Field",
"value": "Custom Field value"
}
]
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No Data Were Found"
}
Proposals – Update a proposal #
PUT yourdomain.com/api/proposal/:id
Header #
json
Champ | Type | Description |
---|---|---|
Authorization | String | Basic Access Authentication token. |
Paramètre #
json
Champ | Type | Description |
---|---|---|
subject | String | Mandatory. Proposal Subject Name. |
string | Proposal Related.Valeurs autorisées : "lead" , "customer" | |
rel_id | Number | Mandatory. Related ID. |
proposal_to | string | Mandatory. Lead / Customer name. |
date | Date | Mandatory. Proposal Start Date. |
open_till | Date | Optional. Proposal Open Till Date. |
currency | string | Mandatory. currency id. |
discount_type | string | Optional. Proposal Open Till Date. |
status | string | Optional. status id. |
Assigned | string | Optional. Assignee id. |
string | Mandatory. Email id. | |
newitems | Array | Mandatory. New Items to be added. |
items | Array | Optional. Existing items with Id |
removed_items | Array | Optional. Items to be removed |
- Success-Response:
HTTP/1.1 200 OK
{
"status": false,
"message": "Proposal Updated Successfully"
}
- Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Proposal Update Fail"
}