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.
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.