Global API
...
Request
Purchase Order
Create
1min
Here is the below example on how to to create a PO using Breadwinners Global API.
Request
Response
// Create a Map to store all the data of a Purchase Order List<Object> purchaseOrderList = new List<Object>(); Map<String, Object> purchaseOrderMap = new Map<String, Object>(); purchaseOrderMap.put('DateString', '2021-11-11T00:00:00'); purchaseOrderMap.put('DeliveryDate', '2021-12-06T00:00:00'); purchaseOrderMap.put('Status', 'DRAFT'); // Initializing the Contact Map<String, Object> contactMap = new Map<String, Object>(); contactMap.put('ContactID', 'c84ebb15-0a8d-4145-933f-203e68d014a0'); purchaseOrderMap.put('Contact', contactMap); // Initializing the Purchase Order Line Items List<Object> lineItemList = new List<Object>(); Map<String, Object> lineItemMap = new Map<String, Object>(); lineItemMap.put('Description', 'Line Item Description'); lineItemMap.put('UnitAmount', 100); lineItemMap.put('Quantity', 10); lineItemMap.put('AccountCode', '310'); lineItemList.add(lineItemMap); // Adding the Line Items to Purchase Order purchaseOrderMap.put('LineItems', lineItemList); purchaseOrderList.add(purchaseOrderMap); // Initializing the RequestJSON Data to be passed. Map<String, Object> reqJSONMap = new Map<String, Object>(); reqJSONMap.put('purchaseOrders', purchaseOrderList); String reqJSON = JSON.serialize(reqJSONMap); Map<String, Object> finalReqMap = new Map<String, Object>(); Map<String, Object> reqOptions = new Map<String, Object>(); finalReqMap.put('queryParameters', reqOptions); finalReqMap.put('version', '1.0'); finalReqMap.put('action', 'createPurchaseOrder'); finalReqMap.put('RequestJSON', reqJSON); finalReqMap.put('skipDML', false); //Required, if Xero Multi-Org is enabled in Breadwinner. finalReqMap.put('xeroOrgId', '!aa00TM'); System.debug('Request ::: ' + finalReqMap); // Placing a request to Breadwinner Global API Map<String, Object> respMap = bread_winner.BreadwinnerXeroAPI.call(finalReqMap); System.debug('Response ::: ' + respMap);