Contract order APIs
Sterling™ Order Management System provides APIs for contract management. As a developer or system integrator, you can use this information to connect use cases and actions to respective APIs.
Contract orders
The contract order outlines the terms and conditions of the agreement. Such as the products and quantity to deliver, recurring delivery dates, and billing and shipping addresses. You can also see the important actions that are supported by the advanced business-to-business (B2B) capabilities in Sterling Order Management System to understand the APIs that are used to perform those actions. In a B2B scenario, a contract between businesses helps to make sure that both parties fulfill their obligations and commitments. Effective contract management is critical in B2B relationships as it directly impacts revenue, customer satisfaction, and long-term partnerships.
A per-negotiated contract order is used to create sales orders. Sales orders can be either auto-generated based on the contract delivery timeline or manually created by users when needed.
The following Sterling Order Management System use cases show which APIs to use to conduct the described actions that pertain to contract orders. For more information about contract order APIs, see Accessing development-related documentation.
Pricing actions
-
- Create or manage a price list for contract orders
-
Create or manage price lists that include negotiated item prices for contract orders.
managePricelistHeader API
-
- Add or modify price list lines
-
managePricelistLine API
-
- Assign a price list to a buyer
-
managePricelistAssignment API
-
- Assign a price list to a seller
-
managePricelistSellerAssignment API
-
- Retrieve a list of contract price lists
-
Retrieve the contract price lists that can be used to create a contract order for a buyer.
getAssignedPricelistHeaderList API
Contract order actions
-
- Create a contract order
-
createOrder API
-
- Modify a contract order
- changeOrder API
-
- Close a contract order
-
Complete a contract order after sales orders are placed for all order line quantities, or close the contract order early before all sales orders are placed. The contract order lines that are fully ordered are Completed and the contract order lines that are partially ordered are Closed.
closeContractOrder API
-
- Change the status of an unconfirmed contract order
-
Record the negotiation progress by changing the contract order status of an unconfirmed contract order. For example, reject or approve the changes that are made to the contract order.
changeOrderStatus API
-
- Delete an unconfirmed contract order or its contract order lines
-
deleteOrderAPI API
-
- Confirm a draft contract order and its contract order lines
-
During the confirmation process, various validations are conducted, including checks with product details, entitlements, and line pricing.
confirmContractOrder API
-
- Cancel a contract order or its contract order lines
-
Cancel of a confirmed contract order is allowed only if deliveries are not started for any of the line items of the contract order. Use this API to cancel a confirmed contract order or any of its contract order lines.
changeOrder API
-
- Retrieve a list of contract orders that match search criteria
-
Retrieve the list of contract orders that match the search criteria that you specify.
getContractOrderList API
-
- Retrieve contract order details
-
Retrieve contract order details without including the individual contract lines.
getContractOrderDetails API
-
- Modify a contract order to add or revise the price list header information
-
changeOrder API
-
- Pause the deliveries of a confirmed contract order temporarily.
-
Temporarily stop deliveries of a contract order. This is useful when future deliveries need to be temporarily halted without modifying the contract order line schedules configured or deleting the delivery lines that are scheduled already. The contract order must be in Confirmed state for this action.
pauseContractOrderSchedule API
-
- Resume the deliveries of a contract order whose delivery schedules are paused temporarily.
-
Resume the deliveries of a contract order that was temporarily paused. When this API is invoked, the contract order state is changed back to Confirmed, allowing the system to create delivery-scheduled lines based on the contract order line schedules configured on the contract order lines.
resumeContractOrderSchedule API
Contract order line actions
-
- Add or modify contract order lines
-
changeOrder API
-
- Delete contract order lines from an unconfirmed contract order
-
deleteOrder API
-
- Retrieve a list of contract order lines
-
Retrieve the list of contract order lines that match the search criteria that you specify.
getContractOrderLineList API
-
- Retrieve the details of a contract order line
-
getContractOrderLineDetails API
-
- Modify a contract order line to revise the unit price
-
changeOrder API
-
- Add a recurrence schedule for a contract order line
-
createContractOrderLineSchedule API
-
- Retrieve a list of contract order line recurrence schedules
-
Retrieve the list of contract order line recurrence schedules that match the search criteria that you specify.
getContractOrderLineScheduleList API
-
- Modify a recurrence schedule for a contract order line
-
Modify the recurrence schedule of a contract order line for various requirements. For example, change the start or end dates of the schedule, recurrence quantity, shipping location, or recurrence plan. Use this API to also pause the schedule for a brief period.
modifyContractOrderLineSchedule API
-
- Delete a recurrence schedule for a contract order line
-
deleteContractOrderLineSchedule API
-
- Retrieve the details of a recurrence schedule created for a contract order line
-
getContractOrderLineScheduleDetails API
-
- Summarize the contract order line schedules of a contract order
-
Summarize the schedules against the contract order lines, distinct ShipToKeys, distinct RecurrencePlanKeys, or a distinct combination of ShipToKey and RecurrencePlanKey, in a contract order. The count of contract order line schedules for every distinct value of contract order line, ShipToKey, RecurrencePlanKey, or the combination of ShipToKey and RecurrencePlanKey is also displayed.
getContractOrderScheduleSummary API
-
- Retrieve delivery-scheduled lines
-
Retrieve the upcoming delivery-scheduled lines for an account, a contract order, a contract order line, or a contract order line schedule. The Consumed, Closed, or Cancelled delivery-scheduled lines can also be retrieved if they are not purged from the system.
getContractDeliveryScheduledLineList API
-
- Summarize the upcoming deliveries of a contract order
-
Summarize the upcoming deliveries against the contract order lines, distinct ShipToKeys, distinct RecurrencePlanKeys, or a distinct combination of ShipToKey and RecurrencePlanKey in a contract order. The count of deliveries, total quantity and total price for every distinct value of contract order line, ShipToKey, RecurrencePlanKey, or the combination of ShipToKey and RecurrencePlanKey are also displayed.
getContractOrderDeliverySummary API
-
- Manage the delivery-scheduled lines
-
Manage the requested delivery date, quantity, and unit price of delivery-scheduled lines of a contract order. Using this API, you can advance or postpone the requested delivery date of delivery-scheduled lines. The new date must be within the range of the minimum date that the product delivery can be advanced and the contract order line schedule or contract order end date. You can also alter the quantity of delivery-scheduled lines to meet your demand in any immediate deliveries. Use this API to proactively cancel the delivery-scheduled lines if the corresponding products are no longer required, instead of canceling the orders or returning the products later.
manageContractDeliveryScheduledLines API
Item actions
-
- Retrieve items and their unit prices
-
Retrieve a list of items and their unit prices based on the provided price list header key that meets the specified search criteria.
getItemListForOrdering API
-
- Search for items and their unit prices in a catalog index
-
Search for products in a Catalog Index and their unit prices based on the provided price list header key that meets the specified search criteria.
searchCatalogIndex API
Sales order actions
-
- Create a sales order
-
Create a sales order from a confirmed contract order.
createOrderFromContract API
-
- Copy a sales order
Create a new sales order by copying an existing sales order that is created from a contract order.
copyOrder API
-
- Add contract order lines to a sales order
-
Add one or more contract order lines to a sales order created from a contract order.
addContractLinesToOrder API
-
- Modify sales orders created from a contract order
-
In exceptional cases, use this API to change sales orders or order lines that are generated from a contract order.
changeOrder API
-
- Retrieve exceptions for sales orders created from a contract order
-
Use this API to retrieve custom exceptions on sales orders created from contract orders and query with contract‑specific filters. You can pass contract‑specific filters under the ContractOrder element in the API request. The system derives sales orders created from the contract orders, identified by these filter attributes and then retrieves the exceptions linked to those sales orders.
Only user‑raised business or custom exceptions linked to the sales orders through the OrderHeaderKey can be retrieved.
getIExceptionListForOrder API