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