Hoping someone can help with a "Limit Exceeded: URLFetch URL Length" error message ?
Creating a sales order via the api using Javascript which has only one line item works perfectly fine but adding any more line items to the array creates this error ?
Would I need to create the Sales order first & then update it with the line items afterwards perhaps ?
The code to create the array is as below ...
var array = [];
try {
for (var y = 0; y < lineItems.length; y++){
if (lineItems[y][3] < 0.01) continue;
array.push({
"item_id": lineItems[y][8],
"description": lineItems[y][1],
"quantity": lineItems[y][3],
"vat_treatment": lineItems[y][7],
"item_custom_fields": [
{
"label": "Area",
"value": lineItems[y][1]
},
{
"label": "Bay",
"value": lineItems[y][9]
}
]
}
)
}
if (parseFloat(discount) != 0) {
array.push({
"item_id": discounter,
"quantity": '1',
"rate": discount
})
}
var JString={
"customer_id": custId,
"date": date,
"notes": custNotes,
"status": "open", // this doesn't work ?
"is_inclusive_tax": vat,
"reference_number": reference,
"salesperson_name": salesMan,
"delivery_method": Jobber,
"shipment_date": delDate,
"template_id": "################",
"custom_fields": [
{
"label": "Class",
"value": zohoClass
},
{
"label": "Jobber",
"value": team },
{
"label": "Delivery Type",
"value": jobType
}
],
"line_items": array
}
var salesOrder = sendSalesOrder(
stringify(JString)
);
if (convert) {
inv = convertSoToInvoice(result[1]);
var id = inv[1];
if (payment > 0) payment = doZohoPayment(payment,method,custId,reference,inv,id,payment);
}
return salesOrder[0] + inv[0] + payment;
} catch (e) {log_("Error in salesOrder : " + e.message + " - " + e.lineNumber)}
function sendSalesOrder(salesOrder){
var options = zOptions('post');
var url = zUrl + 'salesorders/?organization_id=' + zOrgId + "&" + zToken + '&JSONString=' + encodeURIComponent(salesOrder);
var result = UrlFetchApp.fetch(url, options);
var response = JSON.parse(result.getContentText());
var code = result.getResponseCode();
if (code == 201) {return ["Created in Zoho : " + response.salesorder.salesorder_number,response.salesorder.salesorder_id]}
else {log_("Error : " + response.message);return "Error: " + response.message;}
}