# Quotes
The quotes endpoint url is:
https://skhokho.io/api/v1.0/quotes
# Quote GET Request
Quotes GET request will fetch a list of quotes associated with the company of the user who is currently authenticated. The structure of the list will be:
[
{
"id": 273,
"title": "New Quote",
"description": "A cool description about the quote you are creating.",
"notes": null,
"status": "CREATED",
"taxPercentage": "15%",
"totalBeforeTax": "33402.00",
"taxAmount": "5010.30",
"totalAfterTax": "38412.30",
"client": {
"id": 339,
"companyName": "New Postman Client",
"companyEmail": "digital@gmail.com",
"companyPhone": "011 432 5543",
"companyTaxNumber": "554764576578",
"companyWebsite": "https://skhokho.io",
"companySize": "Medium Sized",
"companyIndustry": "Construction",
"addressLine1": "12 Church Streeet",
"city": "Sandton",
"state": "Gauteng",
"country": "South Africa",
"postalCode": "2196",
"twitter": "https://twitter.com",
"facebook": "",
"linkedIn": "",
"uniqueId": "xxxxxxxxx"
},
"items": [
{
"id": 1048,
"title": "Weekly Meeting Costs",
"price": "3567",
"quantity": 4,
"total": "14268.00",
"uniqueId": "xxxxxxxxxx"
},
{
"id": 1049,
"title": "Monthly Meeting Costs",
"price": "9567",
"quantity": 2,
"total": "19134.00",
"uniqueId": "xxxxxxxxx"
}
],
"uniqueId": "xxxxxxxxxx"
},
. . . . . // Other Results
]
When you request quote records, you also get the client record associated with that quote and the line items which build up the quote.
# Quotes POST Request
When you want to create a new quote record, you can send a POST request to the quotes end-point.
When creating a quote, you will also need to specify the client associated with that quote. There are two options for adding a client to the quote:
- Specify a name of an existing client
- Supply enough information to create a new client record
# Quote Payload Example with existing Client Record:
{
"title": "New Quote",
"description": "A cool description about the quote you are creating.",
"notes": null,
"status": "CREATED",
"taxPercentage": "15%",
"client": {
"companyName": "Existing Client Name",
}
}
Field | Required/Optional | Json Key | Data Type | Format |
---|---|---|---|---|
Tile of Quote | Required | title | string | |
Description of Quote | Optional | description | string | |
Quote Notes | Optional | notes | string | |
Tax Percentage | Required | taxPercentage | string | 10% |
Status | Required | type | string/**fixed_options | |
Client | Required | client | json object | See Client API |
** Quote type fixed options
[
'CREATED',
'EMAILED',
'DECLINED',
'ACCEPTED',
]
# Quote Payload Example with New Client Record:
{
"title": "New Quote",
"description": "A cool description about the quote you are creating.",
"notes": null,
"status": "CREATED",
"taxPercentage": "15%",
"client": {
"companyName": "Construction Lorem",
"companyEmail": "aryastark70@gmail.com",
"companyPhone": "+27 67 221 8834",
"companyTaxNumber": "128373747",
"companyWebsite": "https://skhokho.io",
"companySize": "Medium Sized",
"companyIndustry": "Construction",
"addressLine1": "1 Church Streeet",
"city": "Johannesburg",
"state": "Gauteng",
"country": "South Africa",
"postalCode": "2122",
"twitter": "https://twitter.com",
"facebook": "https://facebook.com",
"linkedIn": "https://linkedin.com"
}
}
TIP
See Client API to get the full data structure of the Client Object. Some of the fields are Fixed Options fields with set options to choose from like a drop-down menu.
# Quote Line Items
The Quote line items are specified in a separate POST request. A valid quote must be created before adding line items. Note - new line items can be added to existing quotes.
TIP
To add a quote line item, the uniqueID of the quote is required. That can be obtained from the GET request results.
To add line items, the following end-point should be used:
https://skhokho.io/api/v1.0/quote-items
This end-point only accepts POST requests. POST request Payload:
{
"uniqueId": "xxxxxxxxx",
"items": [
{
"title": "Weekly Meeting Costs",
"price": "3567.12",
"quantity": 4
},
{
"title": "Monthly Meeting Costs",
"price": "9567.12",
"quantity": 2
}
]
}
The Payload must contain:
- The uniqueId of the Quote
- A list of items. The list can include just one item if required.
The ITEM object structure is:
Field | Required/Optional | Json Key | Data Type | Format |
---|---|---|---|---|
Tile of Item | Required | title | string | |
Price of Item | Required | price | string | 345.12 |
Quantity of Items | Required | quantity | integer |