Overview

Welcome to the OrderDynamics OMS APIs portal.

Currently, our REST API's allows you to manage your Custom Field Metadata, Inventory Locations, Orders, Physical Inventory Visibility, Pre-order Visibility and Virtual Inventory Visibility on the OrderDynamics Platform and please note that you'll need an HTTP client in order to send requests to our APIs.

A quick look at our APIs

Custom Field Metadata API

Custom fields are a feature provided for businesses who may require additional information on the standard set of forms that are provided with Commerce Manager. For example, if you are adding a new customer but you want a field that will show them as a "priority customer", you can see the metadata for each custom field that is created.

HTTP Method

Endpoint

GET
Custom Field Meta Data for Specific Custom Fields

/v1/customfieldmetadata/?OwnerType={OwnerType}&SystemNames={SystemNames}

GET
List of Custom Fields Meta Data by Owner Type

/v1/customfieldmetadata/{ownertype}

Inventory Locations API

Inventory Locations are any physical locations containing inventory. For example, an inventory location can be a store, a storage room in a store, a warehouse with a store attached, a free standing warehouse, or locations within a warehouse. Inventory is always connected to inventory locations.

HTTP Method

Endpoint

POST
Create an Inventory Location

/v1/inventorylocations

DEL
Delete an Inventory Location
PUT
Update an Inventory Location

/v1/inventorylocations/?locationInternalName={locationInternalName}

GET
Get Inventory Locations

/v1/inventorylocations/[?locationInternalName][&pageSize][&pageNumber]

GET
Get Inventory Locations Custom Fields

/v1/inventorylocations/customfields?locationInternalNames={locationInternalNames}[&pageSize][&pageNumber]

PUT
Update Inventory Location Custom Fields

/v1/inventorylocations/customfields

Order Orchestration API

An order represents a commitment on the part of the customer to purchase. It contains information about quantities, shipping methods, payment methods, discounts, etc. Orders can be referenced by their ExternalOrderID.

HTTP Method

Endpoint

POST
Cancel an Order

/v1/orders/Cancel[?internalOrderId][&externalOrderId][&cancelReason]

GET
Get an Order

/v1/orders/[?InternalOrderId][&ExternalOrderId]

POST
Search for Orders

/v1/orders/Search[?pageSize][&pageNumber]

GET
Get an Order's Status

/v1/orders/Status[?InternalOrderId][&ExternalOrderId]

PUT
Update Line Item Custom Fields by Order Details, Internal ID, or Order Detail External ID

/v1/orders/LineItems/CustomFields

PUT
Update Order Custom Fields

/v1/orders/CustomFields

PUT
Update Order Payment Custom Fields

/v1/orders/Payments/customfields

POST
Create an Order

/v1/orders

POST
Hold an Order

/v1/orders/Hold[?internalOrderId][&externalOrderId][&holdReason]

POST
Resume an Order

/v1/orders/Resume[?internalOrderId][&externalOrderId]

POST
Import an Order

/v1/orders/Import

GET
Get List of Orders

/v1/orders/List?LastUpdatedDateTimeUtcAfter={LastUpdatedDateTimeUtcAfter}&LastUpdatedDateTimeUtcBefore={LastUpdatedDateTimeUtcBefore}[&ExternalCustomerId][&InternalCustomerId][&OrderStatus][&IsShippedToStore][&PageSize][&PageNumber]

GET
Get History of Customer Orders

/v1/orders/CustomerHistory[?InternalCustomerId][&ExternalCustomerId][&SortByColumn][&Ascending][&PageSize][&PageNumber][&FilterByExternalId][&Filter]

GET
Get Order Canceled Line Items

/v1/orders/CancelledLineItems[?InternalOrderId][&ExternalOrderId][&PageSize]

PUT
Update Shipping Address

/v1/orders/UpdateShippingAddress

GET
Get Order Statistics

/v1/orders/Statistics[?InternalOrderId][&ExternalOrderId]

Physical Inventory Visibility API

There are many different types of inventory counts such as allocated, available, on-hand, reserved, etc. In order to find out the inventory counts, you'll need to provide one or more inventory locations in your request.

HTTP Method

Endpoint

GET
Get Allocated Inventory

/v1/inventory/allocated?locationInternalNames={locationInternalNames}[&skus][&pageSize][&pageNumber]

GET
Get Available Inventory

/v1/inventory/available?locationInternalNames={locationInternalNames}[&skus][&pageSize][&pageNumber]

GET
Get Available Stores Inventory

/v1/inventory/stores/available?storeInternalName={storeInternalName}[&skus][&pageSize][&pageNumber]

GET
Get On-hand Inventory

/v1/inventory/onhand?locationInternalNames={locationInternalNames}[&skus][&pageSize][&pageNumber]

GET
Get Overall Inventory

/v1/inventory/overall?locationInternalNames={locationInternalNames}[&skus][&type][&pageSize][&pageNumber]

GET
Get Reserved Inventory

/v1/inventory/reserved?locationInternalNames={locationInternalNames}[&skus][&pageSize][&pageNumber]

GET
Get Total Item Inventory

/v1/inventory/totals?skus={skus}[&type]

PUT
Update On-hand Inventory

/v1/inventory/onhand

PUT
Update Reserved Inventory
DEL
Delete Reserved Inventory

/v1/inventory/reserved

GET
Get Custom Fields for Item Location Inventories

/v1/inventory/customfields?sku={sku}&locationInternalName={locationInternalName}

PUT
Update Custom Fields for Item Location Inventories

/v1/inventory/customfields

PUT
Bulk Update On-Hand Inventory

/v1/inventory/BulkOnhand

Pre-order Inventory Visibility API

Pre-orders allows customers to place orders for items not yet in stock. Waves are a central component of pre-orders. A pre-order wave describes the planned release of a pre-order item, including the timing and distribution of the item. Using our API, you can see the quantity of items planned for a wave and the quantity of items that have been sequenced (i.e. allocated) for customers.

HTTP Method

Endpoint

GET
Get Pre-Order Inventory by SKU

/v1/preorderinventory/?Sku={Sku}

Virtual Inventory Visibility API

Virtual inventory doesn't exist at a specific location. We use inventory pool groups to view virtual inventory counts. An inventory pool combines the inventory available at a selection of inventory locations and then applies a calculation to that combination of inventory. Inventory pool groups are collections of inventory pools.

HTTP Method

Endpoint

GET
Get Virtual Inventory

/v1/virtualinventory/?inventoryPoolGroupNames={inventoryPoolGroupNames}[&skus][&pageSize][&pageNumber]

Order Fulfillment API

Order fulfillment deals with the shipment(s) of each order. We use the Order Fulfillment API to create shipments for the orders, delete shipments and to view all shipments for a particular order. Shipments can be referenced by their ShipmentID. You can also find orders using the Internal or External OrderId.

HTTP Method

Endpoint

POST
Create all Shipments

/v1/orderfulfillment/shipments/CreateAllShipments

POST
Cancel a Shipment

/v1/orderfulfillment/shipments/Cancel[?Shipment]

GET
Get Shipments

/v1/orderfulfillment/shipments/[?CreateDateTimeUtcAfter][&CreateDateTimeUtcBefore][&ShipmentId][&InternalOrderId][&ExternalOrderId][&ShipmentStatus][&RouteDestinationName][&pageSize][&pageNumber]

POST
Reject a Shipment

/v1/orderfulfillment/shipments/Reject

POST
Reroute a Shipment

/v1/orderfulfillment/shipments/Reroute

POST
Split Shipment by Line Item ID

/v1/orderfulfillment/shipments/SplitShipmentByOrderDetailId

POST
Split Shipment by SKU

/v1/orderfulfillment/shipments/SplitShipmentBySku

PUT
Update Shipment Custom Fields

/v1/orderfulfillment/shipments/CustomFields

PUT
Update Shipment Line Item Custom Fields

/v1/orderfulfillment/shipments/LineItems/CustomFields

PUT
Update Shipment Status

/v1/orderfulfillment/shipments/Status[?ShipmentId]

PUT
Update Shipment Tracking Numbers

/v1/orderfulfillment/shipments/TrackingNumbers?ShipmentId={ShipmentId}

Store Locations API

Store locations are the locations where your physical store is. You can create, update, delete and maintain your store information through the API. Your store location can be accessed through the storeInternalName which is the unique name you want to use for your store.

HTTP Method

Endpoint

POST
Create a Store Location

/v1/storelocations

GET
Get Store Locations

/v1/storelocations/[?storeInternalName][&pageSize][&pageNumber]

PUT
Update a Store Location

DEL
Delete a Store Location

/v1/storelocations/?storeInternalName={storeInternalName}

Payment Processing API

The Payment Processing API shows you information on how orders were paid. You can see the payment gateways, payment methods, retry payments, and view invoices through this API.

HTTP Method

Endpoint

GET
Get Payment Gateway Transactions

/v1/paymentprocessing/OrderTransactions[?InternalOrderId][ExternalOrderId][&InvoiceId]

GET
Get Invoices

/v1/paymentprocessing/Invoices[?CreateDateTimeUtcAfter][&CreateDateTimeUtcBefore][&InvoiceId][&InternalOrderId][&ExternalOrderId][&InvoiceStatus][&InvoiceType][&PageSize][&PageNumber]

POST
Auto Invoice

/v1/paymentprocessing/Invoices/AutoInvoice

GET
Get Available Order Amounts

/v1/paymentprocessing/OrderAvailableAmounts[?InternalOrderId][&ExternalOrderId]

PUT
Update Invoice Custom Fields

/v1/paymentprocessing/Invoices/CustomFields

PUT
Update Invoice Line Item Custom Fields

/v1/paymentprocessing/Invoices/LineItems/CustomFields

POST
Create Sales Invoice by Details

/v1/paymentprocessing/Invoices/SalesInvoiceByDetails

GET
Get Credit Cards

/v1/paymentprocessing/CreditCards[?InternalCustomerId][&ExternalCustomerId][&PageSize][&PageNumber]

GET
Get Credit Memos

/v1/paymentprocessing/CreditMemos[?InternalCustomerId][&ExternalCustomerId][&PageSize][&PageNumber]

POST
Invoice Payment Retry

/v1/paymentprocessing/Invoices/PaymentRetry

POST
Credit Invoice

/v1/paymentprocessing/Invoices/CreditInvoice

DEL
Delete Credit Cards

/v1/paymentprocessing/CreditCards[?CardId]

POST
Accept Offline Payment

/v1/paymentprocessing/OfflinePayment/Accept[?InternalOrderId][&ExternalOrderId]

POST
Apply Offline Payment

/v1/paymentprocessing/OfflinePayment/Apply[?InternalOrderId][&ExternalOrderId]

Shipping Centers API

The Shipping Centers API can be used to create, update, and maintain your shipping center information. Your shipping centers' information can be accessed through the shippingCenterInternalName, which is the unique internal name you want to use for the shipping center.

HTTP Method

Endpoint

POST
Create a Shipping Center

/v1/shippingcenters

GET
Get All Shipping Centers

/v1/shippingcenters/[?shippingCenterInternalName][&pageSize][&pageNumber]

DEL
Create a Shipping Center
PUT
Update a Shipping Center

/v1/shippingcenters/?shippingCenterInteralName={shippingCenterInternalName}

Notes API

The Notes API allows you to manage any notes associated with your store. You can create new notes and view any existing notes.

HTTP Method

Endpoint

POST
Create Notes

/v1/notes

GET
Get Notes

/v1/notes/[?NoteID][&TableName][&KeyValue][&SortByColumn][&Ascending][&PageSize][&PageNumber]

GET
Get Note Attachment

/v1/notes/Attachment?AttachmentId={AttachmentId}

PUT
Update Notes

/v1/notes/?NoteId={NoteId}

Customers API

The Customers API gives you an in depth look at the customers associated with your store. You can view all customers and create a new customer with this API.

HTTP Method

Endpoint

POST
Create a Customer

/v1/customers

GET
Get Customers

/v1/customers/[?InternalCustomerId][&ExternalCustomerId]

GET
Search Customers

/v1/customers/Search[?SearchKeyword][&SortByColumn][&Ascending][&PageSize][&PageNumber]

PUT
Link Addresses to a Customer

/v1/customers/Addresses[?InternalCustomerId][&ExternalCustomerId]

PUT
Update a Customer

/v1/customers/[?InternalCustomerId][&ExternalCustomerId]

POST
Export a Customer

/v1/customers/Export

POST
Forget a Customer

/v1/customers/Forget

Products API

The Products API can be used to help you manage products for your store. You can view all existing products and create new one with this API.

HTTP Method

Endpoint

POST
Create a Product
PUT
Update a Product

/v1/products

GET
Get Products

/v1/products/[?ProductName][&pageSize][&pageNumber]

DEL
Delete a Product

/v1/products/[?ProductName][&ProductBackendName]

Returns API

The Returns API can be used to manage the returns processed through your store. You can view all existing returns and view a customer's return history with this API.

HTTP Method

Endpoint

GET
Get Customer Return History

/v1/returns/CustomerHistory[?CustomerId][&OrderIdFilter][&SortByColumn]

GET
Get Returns

/v1/returns/[?CreateDateTimeUtcAfter][&CreateDateTimeUtcBefore][&ReturnId][&ReturnStatus][&InternalOrderId][&ExternalOrderId][&InternalCustomerId][&ExternalCustomerId][&PageSize][&PageNumber]

POST
Commit a Return

/v1/returns/Commit

POST
Create a Return

/v1/returns/

PUT
Create/Update a Return

/v1/returns/[?InternalReturnId]

PUT
Update Return Custom Fields

/v1/returns/CustomFields

POST
Cancel a Return

/v1/returns/Cancel

PUT
Update Return Line Item Custom Fields

/v1/returns/ReturnItems/CustomFields

GET
Get Returns by ID

/v1/returns/ReturnsById[?ReturnId][&InternalOrderId][&ExternalOrderId][&PageSize][&PageNumber]

Tickets API

The Tickets API shows you the support tickets created by each customer. You can view the entire ticket history for each customer.

HTTP Method

Endpoint

GET
Get Ticket History for a Customer

/v1/tickets/customerHistory?customerId={customerId}[&sortBy][&sortDirection][&pageSize][&pageNumber]

GET
Get Ticket by ID

/v1/tickets/[?TicketId][&SortByColumn][&Ascending][&PageSize][&PageNumber]

POST
Create Ticket

/v1/tickets/

GET
Get Ticket Events

/v1/tickets/Events[?TicketId][&PageSize][&PageNumber][&SortByColumn][&Ascending]

POST
Create Tickets

/v1/tickets/

GET
Ticket Queues

/v1/tickets/Queues

PUT
Update a Ticket

/v1/tickets/[?TicketId]

Addresses API

The Addresses API allows you to update, create, and maintain addresses associated with your customer's billing and shipping address.

HTTP Method

Endpoint

PUT
Update an Address

/v1/addresses/[?InternalAddressId][&ExternalAddressId]

PUT
Create/Update a Customer's Address

/v1/addresses/Customers[?AddressType][&IsDefaultShippingAddress][&InternalShippingAddressId][&ExternalShippingAddressId][&InternalCustomerId][&ExternalCustomerId]

GET
Get Customer Address

/v1/addresses/Customers[?InternalCustomerId][&ExternalCustomerId][&UserId][&InternalAddressId][&ExternalAddressId][&PageSize][&PageNumber]

Items API

The Items API shows you information about the items associated with your store. You can view, update, delete, and create items with this API.

HTTP Method

Endpoint

POST
Create an Item
PUT
Update an Item

/v1/items/

DEL
Delete an Item

/v1/items/[?Sku]

GET
Get Items

/v1/items/[?ProductBackendName][&LoadAttributes][&LoadCategories][&LoadInventory][&Sku][&pageSize][&pageNumber]

GET
Get SKUs

/v1/items/Skus[?LastUpdatedDateTimeUtcAfter][&LastUpdatedDateTimeUtcBefore][&PageSize][&PageNumber]

DEL
Delete an Item Site Pricing

/v1/items/SitePricing?Sku={Sku}[&Channel]

GET
Get an Item Site Pricing

/v1/items/SitePricing?Sku={Sku}[&Channel][&SortByColumn][&Ascending][&PageSize]

PUT
Update an Item Site Pricing

/v1/items/SitePricing

Taxes API

The Taxes API allows you to create, update, and delete any taxes associated with your store.

HTTP Method

Endpoint

GET
Get Taxes

/v1/taxes/[?BackendName][&SortByColumn][&Ascending][&PageSize][&PageNumber]

PUT
Create/Update Taxes
DEL
Delete Taxes

/v1/taxes/[?InternalTaxRateId][&BackendName]

Staff API

The Staff API allows you to view and maintain staff information with their internal staff ID or email.

HTTP Method

Endpoint

GET
Get Staff by Internal ID or Email

/v1/staff/[?InternalStaffId][&Email][&SortByColumn][&Ascending][&PageSize][&PageNumber]

POST
Manage Token

/v1/staff/Token

Emails API

The Emails API lets you view and resend emails using the Internal Customer ID or Storage ID.

HTTP Method

Endpoint

GET
Get Email Logs for Customer by Internal Customer ID

/v1/emails/[?InternalCustomerId][&SortByColumn][&Ascending][&PageSize][&PageNumber]

POST
Resend an Email

/v1/emails/ResendEmails

Images API

The Images API allows you to upload, delete, and maintain images for your products or items.

HTTP Method

Endpoint

POST
Create Images for Entities

/v1/images/

DEL
Delete all Images Associated with Owner ID

/v1/images/?OwnerName={OwnerName}&OwnerID={OwnerID}

Logging API

The Logging API allows you to view different metadata about different objects. Now, you can view the flexible events for each event or owner.

HTTP Method

Endpoint

GET
Get Flexible Events by Event Initiator ID and Owner ID

/v1/logging/FlexibleEvents?EventInitiatorType={EventInitiatorType}&OwnerId={OwnerId}

Configuration API

This API allows you to view different configuration settings.

HTTP Method

Endpoint

GET
Get all Parameter Settings

/v1[?keys][&PageSize][&PageNumber]

Allocation Strategies API

This API allows you to view different inventory allocation strategies.

HTTP Method

Endpoint

GET
Get Allocation Strategy by ID

/v1?OwnerType={OwnerType}[&InternalOrderId][&ExternalOrderId][&ShipmentId]

POST
Regenerate Order Allocation Strategy

/Regenerate/v1[?InternalOrderId][&ExternalOrderId]

Bulk Status API

This API allows you to view the status of Bulk API operations.

HTTP Method

Endpoint

GET
Get Bulk Job Details

/v1/StatusManagement/{JobId}?DateSubmittedUTC={DateSubmittedUTC}[&PageSize][&pageNumber][&JobStatus]

GET
Get Bulk Job Operation Details

/StatusManagement/{JobId}/{OperationId}/v1?DateSubmittedUTC={DateSubmittedUTC}

GET
Get List of Bulk Jobs

/StatusManagement/v1[?PageSize][&PageNumber]

Pre-order API

This APL allows you to manage your pre-order waves, schedules, inventory, and releases.

HTTP Method

Endpoint

POST
Create a Release Schedule

/preorder/releaseschedules/v1/

POST
Create a Wave

/preorder/waves/v1/

DEL
Delete a Release Schedule

/preorder/releaseschedules/v1/?releaseScheduleId={releaseScheduleId}[&fallbackMode]

DEL
Delete a Wave

/preorder/waves/v1/{waveId}

GET
Get a Release Schedule

/preorder/releaseschedules/v1/{releaseScheduleId}

GET
Get a Wave

/preorder/waves/v1/{waveId}

GET
Get Release Dates by OrderDetailId

/preorder/releasedates/v1/{orderDetailId}

GET
Get Release Schedules

/preorder/releaseschedules/v1/[?itemId][&countryId]

GET
Get Waves

/preorder/waves/v1/[?externalId][&itemId][&inventoryLocationId]

POST
Release an Item in Pre-Orders

/preorder/sequences/releaseiteminpreorders/v1/

POST
Release an Item in Pre-Orders, Bypass Inventory Requirement

/preorder/sequences/releaseiteminpreordersbypassinventoryrequirement/v1/

POST
Release Pre-Orders

/preorder/sequences/releasepreorders/v1/

POST
Release Pre-Orders, Bypass Inventory Requirement

/preorder/sequences/releasepreordersbypassinventoryrequirement/v1/

PUT
Update a Release Schedule

/preorder/releaseschedules/v1/{releaseScheduleId}[?recalculate]

PUT
Update a Wave

/preorder/waves/v1/{waveId}

PUT
Update Delivery Override Date

/preorder/sequences/updatedeliverydateoverride/v1/?orderDetailId={orderDetailId}[&deliveryDateOverride]

Shipping Rates API

You can use the Shipping Rates API to view any shipping rates available and any rates associated with an order.

HTTP Method

Endpoint

GET
Get Shipping Rates

/v1/shippingrates/[?PageSize][&PageNumber][&BackendName]

GET
Get Shipping Rate for an Order

/v1/shippingrates/order[?InternalOrderId][&ExternalOrderId][&PageSize]

Contact Us

To suggest new features, visit Aha! and go to the API Webservices category.

For engagement and partner questions, email omnioms.apiproduct@tecsys.com.

Next Steps

If you're ready to start using our API's, head over to Getting Started.