skip to content

API - Add New Quote

URL: GenerateNewQuote.php

JSON Option (recommended):

to use as JSON, append ?apiformat=json to the URL, then send through all variables as a JSON encoded string.

Required Fields:

username
password
data (array containing items) - should be in this format:

data[$i][0] - prod_code
data[$i][1] - qty
data[$i][2] - description
data[$i][3] - amount
data[$i][4] - currency
data[$i][5] - vat_applies //1 or 0
data[$i][6] - vat_percentage //decimal(20,2)
data[$i][7] - amount_includes_vat //1 or 0

ClientID or these client related fields:

client_invoice_name (255 characters max)
client_email (255 characters max)

Optional Client Related Fields (If no ClientID is supplied):

client_vat_nr (255 characters max)
client_phone_nr (20 characters max)
client_phone_nr2 (20 characters max)
client_fax_nr (20 characters max)
client_postal_address1 (255 characters max)
client_postal_address2 (255 characters max)
client_postal_address3 (255 characters max)
client_postal_address4 (255 characters max)

Optional Fields:

OrderNr (10 characters max)
AdditionalValue1 (32 characters max) //These are custom fields as specified under Settings -> Documents -> Quotes -> Custom Fields. Note that the amount you can use is limited by your account type.
AdditionalValue2 (32 characters max)
AdditionalValue3 (32 characters max)
AdditionalValue4 (32 characters max)
AdditionalValue5 (32 characters max)
AdditionalValue6 (32 characters max)
AdditionalValue7 (32 characters max)
AdditionalValue8 (32 characters max)
AdditionalValue9 (32 characters max)
AdditionalValue10 (32 characters max)
DiscountAmount (decimal(20,2))
DiscountPercentage (decimal(20,2))
prepend_nr (9 characters max)
append_nr (9 characters max)
EmailToClient (true or false)
data[$i][8] - custom_line_item_1 //as defined under Settings -> Documents -> Quotes -> Custom Line Items
data[$i][9] - custom_line_item_2
data[$i][10] - custom_line_item_3
data[$i][11] - cost_price //only used if applicable
data[$i][12] - //not implemented
data[$i][13] - discount_percentage //Discount percentage only applicable for this line item. Ignored if Document has a discount percentage specified.
data[$i][14] - custom_line_item_4
data[$i][15] - custom_line_item_5

Returns:

JSON array containing:

$array[url] - the url where the document can be downloaded
$array[invoice_nr] - the quote number
$array[document_nr] - the quote number
$array[document_id] - the global document id
$array[email_url] - url to open to have the document emailed to the client

Example PHP code with JSON

$param['username'] = '';
$param['password'] = '';
$param['ClientID'] = '';
$param['data'][0][0] = ''; //first product
$param['data'][0][1] = ''; 
$param['data'][0][2] = '';
$param['data'][0][3] = '';
$param['data'][0][4] = '';
$param['data'][0][5] = '';
$param['data'][0][6] = '';
$param['data'][0][7] = '';
$param['data'][1][0] = ''; //second product
$param['data'][1][1] = '';
$param['data'][1][2] = '';
$param['data'][1][3] = '';
$param['data'][1][4] = '';
$param['data'][1][5] = '';
$param['data'][1][6] = '';
$param['data'][1][7] = '';

	
$url = 'https://www.jobcardsonline.co.za/api/GenerateNewQuote.php?apiformat=json';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); //set the url
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //return as a variable
curl_setopt($ch, CURLOPT_POST, 1); //set POST method
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param)); //set the POST variables
$response = curl_exec($ch); //run the whole process and return the response

 

Updated: Sat, 30 May 2020