Purchase Order API
Overview
The WMS Purchase Orders API is a Business Central API page designed to manage purchase order data. This API allows external systems to interact with purchase order records, providing functionality for creating, reading, and updating purchase order information.
API Details
- Publisher: smart
- API Group: wms
- API Version: v2.0
- Entity Name: purchaseOrder
- Entity Set Name: purchaseOrders
- Source Table: Purchase Header
- ODataKeyFields: Document Type, No
Fields
The following fields are exposed in the API:
| Field Name | Source Field | Required | Description |
|---|---|---|---|
DocumentType | Purchase Header."Document Type" | Yes | Type of the document (e.g., Order). |
No | Purchase Header."No." | Yes | Unique identifier for the purchase order. |
VendorNo | Purchase Header."Buy-from Vendor No." | Yes | Vendor number associated with the order. |
VendorName | Purchase Header."Buy-from Vendor Name" | No | Name of the vendor. |
LocationCode | Purchase Header."Location Code" | No | Code of the location. |
DocumentDate | Purchase Header."SMA API Document Date" | Yes | Date of the document. |
PostingDate | Purchase Header."Posting Date" | Yes | Posting date of the purchase order. |
DueDate | Purchase Header."Due Date" | Yes | Due date of the purchase order. |
OrderDate | Purchase Header."SMA API Order Date" | Yes | Order date of the purchase order. |
VendorInvoiceNo | Purchase Header."Vendor Invoice No." | No | Vendor invoice number. |
Status | Purchase Header.Status | No | Status of the purchase order. |
PromisedReceiptDate | Purchase Header."Promised Receipt Date" | No | Promised receipt date of the order. |
Notes
- The
ReleaseAllMarkedandReleaseprocedures are service-enabled and can be used to release purchase orders. All records created via API are marked for release by default. You need just call 'ReleaseAllMarked' procedure to release all of them.
Example Usage
Create a New Purchase Order
POST host/instance/api/smart/wms/v2.0/companies(companyId)/purchaseOrders
Content-Type: application/json
{
"DocumentType": "Order",
"No": "PO001",
"VendorNo": "VEND001",
"DocumentDate": "2023-01-01",
"PostingDate": "2023-01-01",
"DueDate": "2023-01-15",
"OrderDate": "2023-01-01"
}
Retrieve a Purchase Order
GET host/instance/api/smart/wms/v2.0/companies(companyId)/purchaseOrders('PO001')
Update a Purchase Order
PATCH host/instance/api/smart/wms/v2.0/companies(companyId)/purchaseOrders('PO001')
Content-Type: application/json
{
"VendorName": "Updated Vendor Name"
}
Release a specific Purchase Order
POST host/instance/api/smart/wms/v2.0/companies(companyId)/purchaseOrders('PO001')/Microsoft.NAV.release
Release All Marked Purchase Orders
POST host/instance/api/smart/wms/v2.0/companies(companyId)/purchaseOrders/Microsoft.NAV.releaseAllMarked