GetQuotes
Obtain quotes matching the passed criteria
Request Parameters
Parameter |
Type |
Description |
Required |
action |
string |
“GetQuotes” |
Required |
limitstart |
int |
The offset for the returned quote data (default: 0). |
Optional |
limitnum |
int |
The number of records to return (default: 25). |
Optional |
quoteid |
int |
A specific quote ID to find quotes for. |
Optional |
userid |
int |
A specific client to find quotes for. |
Optional |
subject |
string |
A specific subject to find quotes for. |
Optional |
stage |
string |
A specific stage (‘Draft’,‘Delivered’,‘On Hold’,‘Accepted’,‘Lost’, or ‘Dead’) to find quotes for. |
Optional |
datecreated |
string |
A specific created date to find quotes for. Format: Y-m-d |
Optional |
lastmodified |
string |
A specific last modified date to find quotes for. Format: Y-m-d |
Optional |
validuntil |
string |
A specific valid until date to find quotes for. Format: Y-m-d |
Optional |
Response Parameters
Parameter |
Type |
Description |
result |
string |
The result of the operation: success or error |
totalresults |
int |
The total number of results available. |
startnumber |
int |
The starting number for the returned results. |
numreturned |
int |
The number of results returned. |
quotes |
array |
An array of quotes matching the criteria passed. |
Example Request (CURL)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
http_build_query(
array(
'action' => 'GetQuotes',
// See https://developers.whmcs.com/api/authentication
'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
'password' => 'SECRET_OR_HASHED_PASSWORD',
'responsetype' => 'json',
)
)
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
Example Request (Local API)
$command = 'GetQuotes';
$postData = array(
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later
$results = localAPI($command, $postData, $adminUsername);
print_r($results);
Example Response JSON
{
"result": "success",
"totalresults": 2,
"startnumber": 0,
"numreturned": 2,
"quotes": {
"quote": [
{
"id": 2,
"subject": "",
"stage": "Draft",
"validuntil": "2023-01-30",
"userid": 1,
"client": {
"id": 1,
"firstname": "Richard",
"lastname": "Example",
"companyname": "Example Inc.",
"email": "[email protected]",
"datecreated": "2022-12-30",
"groupid": 0,
"status": "Active"
},
"firstname": "",
"lastname": "",
"companyname": "",
"email": "",
"address1": "",
"address2": "",
"city": "",
"state": "",
"postcode": "",
"country": "US",
"phonenumber": "",
"tax_id": "",
"currency": 1,
"subtotal": "15.86",
"tax1": "0.00",
"tax2": "0.00",
"total": "15.86",
"proposal": "",
"customernotes": "",
"adminnotes": "",
"datecreated": "2022-12-30",
"lastmodified": "2022-12-30",
"datesent": "0000-00-00",
"dateaccepted": "0000-00-00",
"items": {
"item": [
{
"id": 1,
"description": "Apple",
"quantity": "1",
"unitprice": "1.23",
"discount": "0.00",
"taxable": 1
},
{
"id": 2,
"description": "Pear",
"quantity": "3",
"unitprice": "5.00",
"discount": "2.50",
"taxable": 0
}
]
}
},
{
"id": 1,
"subject": "",
"stage": "Draft",
"validuntil": "2023-01-29",
"userid": 0,
"client": null,
"firstname": "William",
"lastname": "Smith",
"companyname": "",
"email": "",
"address1": "",
"address2": "",
"city": "",
"state": "",
"postcode": "",
"country": "US",
"phonenumber": "",
"tax_id": "",
"currency": 1,
"subtotal": "0.00",
"tax1": "0.00",
"tax2": "0.00",
"total": "0.00",
"proposal": "",
"customernotes": "",
"adminnotes": "",
"datecreated": "2022-12-29",
"lastmodified": "2022-12-30",
"datesent": "0000-00-00",
"dateaccepted": "0000-00-00",
"items": {
"item": []
}
}
]
}
}
Version History
Version |
Changelog |
1.0 |
Initial Version |
8.7 |
Add the ‘client’ key to the quote response. If an existing client has been associated to the quote, select client information is returned. |