What it means
Authorization block is missing, incorrect, or using credentials
for the wrong environment.How to fix in OrderDesk
Authorization.UserID, Authorization.Password,
and whether you are calling sandbox or production.A practical setup guide for sending fulfillment orders through Order Desk. Configure the integration, map inventory details, and troubleshoot order metadata in one place.
| Use OrderDesk when | Use Standard API when |
|---|---|
| The customer already imports orders from shopping carts into Order Desk. | The customer is building a direct integration from their own system to Dubow. |
| The customer wants Order Desk rules, folders, metadata, and shipping class matching to control the order flow. | The customer needs full control over the JSON payload and direct endpoint behavior. |
| The customer prefers a guided app connection with Dubow credentials and configurable defaults. | The customer has development resources and wants to submit orders, status requests, invoice requests, and webhook URLs directly. |
The buttons in the header switch the documentation mode. In OrderDesk mode, the API sections are hidden and the navigation changes to OrderDesk setup topics. In Standard API mode, the full Dubow API reference is shown.
Dubow creates and provides the integration credentials. Order Desk support cannot retrieve or reset Dubow credentials.
| Setting | Use | Recommendation |
|---|---|---|
| Default Shipping Class | Fallback shipping method when the order does not specify a Dubow-recognized method. | Set a safe default, then configure shipping class matches for specific methods. |
| Procurement Type | Controls how garment procurement is passed to Dubow. | Use Auto unless Dubow instructs otherwise. Use Inventory or Custom only when all products fit that model. |
| Default Design Type | Default decoration method for items. | Set the most common method. Override per item with design_type_x when needed. |
| Third Party Shipping ID | Third-party shipping account Dubow should use. | Only set this after confirming with the Dubow rep. |
| After Import, Move To | Folder used after Order Desk sends the order to Dubow. | Use a folder that makes successful submission obvious. |
| After Shipment, Move To | Folder used after Dubow sends shipment details back to Order Desk. | Use a completed or shipped workflow folder. |
| Default Shipment Return Address | Fallback return address for shipments. | Set a default address. Use Order Desk rules for order-specific return addresses. |
If shopping cart shipping method names do not match Dubow shipping method names, Dubow will not know which method to use and the default shipping class will be applied. Use Order Desk's shipping class match section to map customer-facing methods to Dubow methods.
| Shopping cart method example | Dubow method target | Result |
|---|---|---|
Standard | UPSG or agreed Dubow method | Orders using Standard are sent to Dubow with the mapped method. |
Expedited | Agreed expedited Dubow method | Prevents expedited orders from falling back to the default class. |
| Unmatched method | Default Shipping Class | Fallback method is used for all unmatched orders. |
OrderDesk sends order-level details through checkout data or order metadata. Item-level details usually come from the matched OrderDesk inventory item metadata and can be supplemented or overridden by variations.
The connected store order must carry a SKU that matches the OrderDesk inventory item Code/SKU. That match is what lets OrderDesk pull in the Dubow production metadata saved on the inventory item.
Customers often expect their connected store to send every production detail to Dubow. In most OrderDesk workflows, the store only sends the item Code/SKU. OrderDesk uses that Code/SKU to find the matching inventory item, then syncs the metadata fields saved on that inventory item into the order item before sending the order to Dubow.
The connected store sends the ordered item with a SKU such as DEEPBLKK240.
The OrderDesk inventory item must use the same value in Code/SKU. If the SKU does not match, the production metadata will not sync to the order item.
The inventory item metadata tells Dubow the garment SKU, mill, design, colorway, print location, procurement type, and services.
OrderDesk sends the matched item and metadata to Dubow as production instructions for the integration order.
The fields on the left side of the OrderDesk inventory screen, such as Current Stock, Price, Cost, Weight, and Location, are not required for Dubow order submission. The critical value on the left is Code/SKU, because it is what links the store item to the saved metadata fields.
| Screen area | What it does | Dubow guidance |
|---|---|---|
| Name | Human-readable inventory item name. | Helpful for the customer, but not used as the Dubow product lookup value. |
| Code/SKU | Inventory matching key used by OrderDesk. | Must match the SKU coming from the connected store. Example: DEEPBLKK240. |
| Metadata Fields | Name/value fields stored on the inventory item. | This is where Dubow production fields belong, such as print_sku, mill, print_design_id_1, colorway_1, print_location_1, and procurement_type. |
| Variations | Optional item-level variants such as color, size, or service-related overrides. | Use when the store does not already provide the color, or when a specific item variation needs additional services. |
Code/SKU = DEEPBLKK240
Metadata Fields:
print_sku = K240
mill = PORT AUTHORITY
print_design_id_1 = 7471923
colorway_1 = 9135939
print_location_1 = Left Chest
procurement_type = Custom
Saving metadata on an OrderDesk inventory item is only the first step. The Dubow fields must also sync into the actual order item before that order is submitted to Dubow.
The connected store sends a SKU on the order item, such as DEEPBLKK240.
OrderDesk stores that SKU on the imported order item.
The order item SKU must match an OrderDesk inventory item Code/SKU.
OrderDesk syncs saved inventory metadata and variations onto the order item.
Dubow receives the synced product, design, colorway, location, procurement, and service fields.
| Scenario | Result | Customer action |
|---|---|---|
Store sends DEEPBLKK240 and inventory Code/SKU is DEEPBLKK240. | Metadata can sync into the order item. | Submit after confirming the synced order item includes Dubow fields. |
Store sends DEEPBLK-K240 but inventory Code/SKU is DEEPBLKK240. | OrderDesk may not find the inventory item. | Fix the store SKU, create a matching inventory item, or use an OrderDesk rule/mapping. |
| Store sends no SKU. | Inventory metadata cannot reliably sync. | Make the store send a SKU or use rules to identify and map the item before submission. |
| SKU changes after launch. | Previously working items can start submitting without Dubow metadata. | Update the OrderDesk inventory item, store SKU, or mapping rule at the same time. |
If an order was already imported before the inventory item was fixed, the corrected metadata may not automatically appear on that order item. Resync or re-save the order item before resubmitting.
The metadata fields on the inventory item are the bridge between the customer's store SKU and the Dubow API fields. Use this table to explain what each field controls.
| OrderDesk field | Maps to Dubow | When to use | Example |
|---|---|---|---|
print_sku | IntegrationProduct.ProductName or customer product lookup. | Required for most decorated item setups. This is the product Dubow should decorate, not necessarily the customer's storefront SKU. | K240 |
mill | IntegrationProduct.Mill | Use when the Dubow product needs a mill/manufacturer to resolve cleanly. Some account-specific setups may use print_mill; use the field name Dubow confirms for the account. | PORT AUTHORITY |
procurement_type | IntegrationProduct.ProcurementType | Required when the item needs to specify how product is sourced. | Custom or Contract |
print_design_id_1 | Designs[0].DesignID | Use for an existing design already in Dubow/DOTS. | 7471923 |
colorway_1 | IntegrationColorway.ColorwayID | Use with an existing design when a colorway is required. | 9135939 |
print_location_1 | IntegrationColorway.GarmentLocationName | Required for every decoration location. | Left Chest |
Code/SKU is the OrderDesk inventory matching key. print_sku is the Dubow production SKU/style to decorate. They can be the same, but they do not have to be.
OrderDesk can receive item details from several places. Customers should understand where a field comes from and which type of setup is best for each value.
| Source | Best for | Notes |
|---|---|---|
| Inventory item metadata | Permanent Dubow setup fields like print_sku, mill, print_design_id_1, colorway_1, print_location_1, and procurement_type. | Best default for repeated products. This is usually where Dubow production setup should live. |
| Inventory item variations | Color fallback, size fallback, service choices, or variant-specific overrides. | Useful when the connected store does not send a clean color/size value or when one variant needs a specific service. |
| Order item metadata | Values imported from the store or synced from inventory into the order. | These values must be present before the order is submitted to Dubow. |
| Manual order item edits | Emergency correction on one order. | Fixes that order only. It does not repair the inventory item for future orders. |
| OrderDesk rules | Conditional routing, metadata cleanup, syncing inventory details, holding bad orders, or adding services. | Useful for advanced customers or stores with inconsistent data. |
Use inventory metadata for stable Dubow setup, variations for values that change by option, and rules for conditional fixes or review workflows.
Variations are useful when the connected store does not already provide enough item detail, or when one item variation needs a different color or service setup than the base inventory item.
If the store does not send a usable color, add a variation such as color = Black so OrderDesk can pass the color to Dubow.
Add Services as a variation when only certain variants need polybagging, inserts, labels, or other services.
Use variations when a size, color, or SKU variant needs a different value than the base inventory item metadata.
| Variation field | Purpose | Example |
|---|---|---|
color | Supplies garment color when the storefront does not provide it or when the storefront color needs to be standardized. | Black |
size | Supplies the item size when the storefront does not provide it cleanly. | XL |
Services | Adds Dubow additional services for this item or variation. | Bag2 - Polybag, Insert |
Variation Fields:
color = Black
Variation Fields:
Services = Bag2 - Polybag, Insert, Label W/Name
Different stores send color, size, and SKU information differently. Decide during setup whether the store SKU already contains everything Dubow needs, or whether OrderDesk should supply missing values through variations, metadata, or rules.
| Store behavior | Common issue | Recommended setup |
|---|---|---|
| SKU includes product, color, and size. | The store SKU may be good for OrderDesk matching but not the same as Dubow's production SKU. | Use Code/SKU for the store match and print_sku for the Dubow product/style. |
| SKU only identifies the product. | Color and size may be missing from the Dubow item. | Add color and size as variations or make sure the store sends them as item options. |
Store sends Colour instead of color. | The field name may not match the expected setup. | Standardize to the agreed field name or use a rule to copy/normalize the value. |
| Store sends customer-facing color names. | Customer color names may not match Dubow or vendor names cleanly. | Use color conversion, variation mapping, or agreed color names from the product setup. |
| Store SKU does not equal Dubow's product code. | Customers may put the storefront SKU into print_sku by mistake. | Use product code matching or metadata mapping so the storefront SKU maps to the correct Dubow print_sku. |
Code/SKU = DEEPBLKK240
Metadata Fields:
print_sku = K240
mill = PORT AUTHORITY
procurement_type = Custom
Variation Fields:
color = Deep Black
size = XL
Updating an OrderDesk inventory item helps future imports, but it may not automatically repair orders that were already imported. Existing failed orders usually need the corrected inventory details synced onto the order item before resubmission.
Open the failed order and confirm the order item itself contains the corrected Dubow fields. If not, resync item details from inventory or re-save the order item so the metadata is applied.
print_sku, mill, print_design_id_1 or print_url_1, print_location_1, and procurement_type.| Customer action | What it affects |
|---|---|
| Edit inventory item metadata | Future orders and any existing orders that are manually resynced. |
| Edit one order item manually | Only that order item. Future imports are unchanged. |
| Run a sync inventory details action | Applies current inventory details to selected existing order items. |
| Fix store SKU | Future imports from the store. Existing imported orders may still need item resync. |
| Field | Purpose | Notes |
|---|---|---|
ShippingAccount | Third-party shipping account number. | Use only when Dubow should ship on a third-party account. |
PackingSlip | URL for the PDF packing slip. | Must be accessible to Dubow. |
DateToShip | Requested ship date. | Use Y-m-d format. |
DateDropDead | Date the order should reach the customer. | Use Y-m-d format when a firm deadline applies. |
First & Last Name | First and last name of recipient. | Name of recipient |
Address1 | Address field sent to Dubow. | e.g. 123 1st Street North |
City | City of recipient | e.g. Saint Cloud |
State | State of recipient. Only needed if within United States. | e.g. MN |
Postal(Zip) | Zipcode of City | e.g. 56303 |
Country | Country of recipient. | e.g. US |
BulkShip | Flags an order for bulk shipping. | Set to 1 for bulk shipping. |
These fields can be stored on the OrderDesk inventory item or added to the order item. For repeated artwork fields, replace x with a number from 1 to 8. Example: print_url_2, print_location_2, design_type_2.
For most customers, set these once on the OrderDesk inventory item. When the store sends a matching Code/SKU, the metadata syncs into the order item and becomes the production data sent to Dubow.
| Field | Purpose | Notes |
|---|---|---|
print_sku | Dubow garment or product style to decorate. | This is not always the same as the storefront SKU or OrderDesk Code/SKU. Order Desk can append color and size. Add * when size and color should not be appended. |
print_sku_override | Pass the print SKU as the complete vendor part number. | Set to 1. |
print_url_x | Artwork file URL. | Values 1 through 8 accepted. Use print_url when only one design is sent. |
print_preview_x | Preview image URL. | Values 1 through 8 accepted. print_preview or image can be used for one preview. |
print_location_x | Decoration location. | Required for each design. |
print_design_id_x | Dubow Design ID. | Use this instead of print_url_x for existing Dubow designs. |
print_design_code_x | Customer design code. | Use when sending a print URL instead of a Design ID. |
colorway_x | Colorway ID. | Used for embroidery thread colorways. |
design_type_x | Decoration method override. | Use when the item differs from the default design type. |
NoDecoration | Flags an undecorated item. | Set to 1. |
product_name_field | Controls product identifier type. | Options: ProductName or CustomerProductName. |
color | Garment color. | Order Desk attempts to match this to Dubow's color abbreviation list. |
size | Garment size. | Used with SKU building and line item sizing. |
mill or print_mill | Mill/manufacturer value. | Use the field name confirmed for the customer account. In many Dubow OrderDesk setups, mill is used directly. |
procurement_type | Item-level procurement override. | Options: Custom, Contract, Inventory. |
Services | Additional services to apply to the item. | Can be saved as item metadata or added as a variation override. Use a comma-separated list when more than one service is needed. Example: Bag2 - Polybag, Insert, Label W/Name. |
retail_price | Retail price of the item. | Optional reporting or commercial value. |
harmonized_code | HS code. | Useful for cross-border shipping workflows. |
Services = Bag2 - Polybag, Insert, Label W/Name
Use these examples when configuring Order Desk item metadata or troubleshooting what Order Desk is sending to Dubow.
Code/SKU: DEEPBLKK240
Metadata Fields:
print_sku: K240
mill: PORT AUTHORITY
print_design_id_1: 7471923
colorway_1: 9135939
print_location_1: Left Chest
procurement_type: Custom
Services: Bag2 - Polybag, Insert, Label W/Name
Code/SKU: STORE-TEE-BLACK-L
Metadata Fields:
print_sku: 2000
mill: Gildan
print_url_1: https://cdn.example.com/art/customer-logo.png
print_design_code_1: CUSTOMER-LOGO-001
print_location_1: Full Back
design_type_1: Direct to Film
procurement_type: Contract
PONumber: OD-10001
SecondaryPO: STORE-ORDER-8891
EndUserPO: CUSTOMER-REF-22
OrderNotes: Rush if possible
OrderStatusNotificationUrl: https://yourdomain.com/webhooks/order-status
Variation Fields:
color: Black
size: XL
Services: Bag2 - Polybag, Insert
Metadata Fields:
print_sku: K240
mill: PORT AUTHORITY
print_design_id_1: 7471923
colorway_1: 9135939
print_location_1: Left Chest
print_design_id_2: 7471924
colorway_2: 9135940
print_location_2: Full Back
procurement_type: Custom
Order Desk sends metadata as name/value fields. Field names should match the labels shown in this section unless Dubow provides account-specific overrides.
Send print_url_x, print_location_x, and optionally print_design_code_x and print_preview_x.
Send print_design_id_x, colorway_x when applicable, and print_location_x.
Use numbered fields from 1 to 8, keeping each design's URL, location, preview, design ID, design code, colorway, and design type aligned by number.
For multi-location or multi-design items, keep each numbered group aligned. Fields ending in _1 describe design slot 1. Fields ending in _2 describe design slot 2.
| Design slot | Fields that should match | Use case |
|---|---|---|
| Existing design 1 | print_design_id_1, colorway_1, print_location_1, design_type_1, print_preview_1 | First existing Dubow/DOTS design. |
| Existing design 2 | print_design_id_2, colorway_2, print_location_2, design_type_2, print_preview_2 | Second existing Dubow/DOTS design. |
| New art 1 | print_url_1, print_design_code_1, print_location_1, design_type_1, print_preview_1 | First new artwork file. |
| New art 2 | print_url_2, print_design_code_2, print_location_2, design_type_2, print_preview_2 | Second new artwork file. |
print_design_id_1 = 7471923
colorway_1 = 9135939
print_location_1 = Left Chest
design_type_1 = Embroidery
print_design_id_2 = 7471924
colorway_2 = 9135940
print_location_2 = Full Back
design_type_2 = Direct to Film
print_url_1 = https://cdn.example.com/art/left-chest.png
print_design_code_1 = LEFT-CHEST-001
print_location_1 = Left Chest
design_type_1 = Embroidery
print_url_2 = https://cdn.example.com/art/full-back.png
print_design_code_2 = FULL-BACK-001
print_location_2 = Full Back
design_type_2 = Direct to Film
Do not send colorway_2 for print_design_id_1. The numbers must stay aligned for Dubow to apply the correct location and colorway to each design.
| Field | Purpose | Format |
|---|---|---|
custom_text_x | Name, number, or other personalized text. | Append 1 through 8 for more than one line. |
custom_text_details | Production details for the custom text. | Comma-separated: Font, Color, Position, Width, Height, Notes. Notes are optional. |
custom_text_location | Placement for the custom text. | Examples: Full Front, Left Chest, Back. |
custom_text_1 = SCHERFENBERG
custom_text_2 = 12
custom_text_details = Block, White, Full Back, 10, 12, Center between shoulders
custom_text_location = Full Back
Rules can prevent bad orders from reaching Dubow and can fill in missing metadata when the store does not send enough information.
| Rule need | Example action | Why it helps |
|---|---|---|
| Sync inventory details after import | Run an action to sync order items with inventory details. | Ensures Dubow fields saved on the inventory item appear on the order item before submission. |
| Add service based on SKU, tag, or product option | Add item metadata Services with values such as Bag2 - Polybag or Insert. | Applies additional services only when needed. |
| Route blank or undecorated items | Add NoDecoration or move the order to a review folder. | Prevents decorated-item validation errors when no artwork is expected. |
| Hold missing metadata | Move to Needs Review when print_sku, print_location_1, or artwork fields are missing. | Stops incomplete orders before they generate Dubow API errors. |
| Move successful submissions | Move to Submitted to Dubow after the Dubow integration action succeeds. | Makes it clear which orders have already been sent. |
Create a Needs Review folder for orders missing SKU matches, artwork, location, procurement, shipping, or service setup. Submit to Dubow only after required metadata is present on the order item.
| Check | Why it matters | |
|---|---|---|
| ☐ | Dubow credentials are connected. | Required before any order can be sent to Dubow. |
| ☐ | Default shipping class is set. | Used when a method is not matched. |
| ☐ | Shipping class matches are configured. | Prevents all orders from falling back to the default method. |
| ☐ | Procurement type is confirmed. | Incorrect procurement values can route products incorrectly. |
| ☐ | Store SKU matches the OrderDesk inventory item Code/SKU. | If the SKU does not match, OrderDesk will not sync the saved Dubow metadata into the order item. |
| ☐ | Required inventory metadata is saved on the inventory item. | Confirm print_sku, mill, print_design_id_1 or print_url_1, colorway_1 when needed, print_location_1, and procurement_type. |
| ☐ | Existing orders were resynced after inventory fixes. | Updating inventory metadata does not automatically fix order items that were imported before the correction. |
| ☐ | Numbered artwork fields are aligned. | print_design_id_1, colorway_1, and print_location_1 must describe the same design slot. |
| ☐ | Color and size are supplied by the store, variation fields, or rules. | Dubow needs a clean product/color/size combination for production and procurement. |
| ☐ | Each decorated item has artwork or design ID and location metadata. | Dubow needs production instructions for each design. |
| ☐ | Custom text includes details and location. | Personalization requires both content and production instructions. |
OrderDesk sends orders into the Dubow API, so many Dubow validation errors can appear in the Order Desk activity log. Use this section to translate those messages into the likely OrderDesk setup or metadata fix.
| Mistake | Symptom | Fix |
|---|---|---|
| Store SKU does not match inventory Code/SKU. | Dubow metadata does not appear on the order item. | Fix the store SKU, create a matching inventory item, or use a mapping rule. |
| Metadata saved on inventory but not synced to the order. | Dubow receives missing print_sku, design, colorway, or location values. | Sync item details into the order item before resubmitting. |
print_sku and art URL are swapped. | Product lookup or artwork lookup fails. | Put the product/style in print_sku and artwork URLs in print_url_x. |
| Field name typo. | Required Dubow value is missing even though the customer thinks it was entered. | Use exact metadata names such as print_sku, print_location_1, and procurement_type. |
colorway_1 without print_design_id_1. | Colorway cannot be tied to the correct design. | Keep numbered fields aligned by design slot. |
print_location_2 with no print_url_2 or print_design_id_2. | Extra location may not apply correctly. | Use matching numbered fields for every design group. |
| Issue | Likely cause | Fix |
|---|---|---|
| Wrong shipping method used | Shopping cart method did not match a Dubow method. | Add or correct the shipping class match. The default shipping class is used when no match exists. |
| Credential connection fails | Credentials are missing, incorrect, or not supplied by Dubow. | Confirm the Dubow username and password supplied for the OrderDesk integration. Do not expose credentials in order metadata. |
| Artwork missing | Item lacks print_url_x or print_design_id_x. | Add artwork URL metadata or an existing Dubow design ID on the item. |
| Decoration location missing | Item lacks print_location_x. | Add a valid location for each design. |
| SKU does not resolve as expected | SKU building appended color and size, or override was not set. | Use print_sku_override, *, or procurement-specific settings as appropriate. |
| Inventory metadata did not sync into the order | The SKU on the incoming store item did not match the OrderDesk inventory item Code/SKU, or the item was edited after import without syncing inventory details. | Correct the store SKU or OrderDesk inventory Code/SKU, then use OrderDesk's sync item details action on the order item before resubmitting. |
| Wrong Dubow product was used | The customer assumed Code/SKU and print_sku are the same value. | Set Code/SKU to the store matching value and print_sku to the Dubow production SKU/style. |
| Color missing or incorrect | The store did not send color, or the color value does not map cleanly. | Add color as a variation field or standardize color values through OrderDesk product settings. |
| Existing failed order still fails after inventory was fixed | The inventory item was corrected, but the already-imported order item still has the old or missing metadata. | Resync inventory details into the existing order item, then resubmit. |
| Wrong design or location on a multi-location item | Numbered artwork fields are mixed, such as colorway_2 being paired with print_design_id_1. | Keep _1 fields together, _2 fields together, and so on. |
| Order submits before setup is complete | No Needs Review workflow exists for missing metadata. | Add rules to hold orders missing SKU, artwork, location, procurement, shipping, or service values. |
| Additional service not applied | The new Services item metadata is missing or the value does not match a supported Dubow service. | Add Services to the item metadata or variation fields and separate multiple services with commas, for example Bag2 - Polybag, Insert, Label W/Name. |
Common API errors from OrderDesk submissions, with likely causes and steps to resolve them.
Showing 66 of 66 errors
Authorization block is missing, incorrect, or using credentials
for the wrong environment.Authorization.UserID, Authorization.Password,
and whether you are calling sandbox or production.UserID. If using a child customer, the
authenticated user must be allowed to submit for that customer.Orders[].Orders array.PoNumber or it is blank.PoNumber for every order.PoNumber already exists for that customer.PoNumber. For resubmits, use a revision value such as
PO12345-REV1.CustomerID.PoNumber for the customer.CustomerID does not exist.ContactID does not exist.ContactID that belongs to the submitted
CustomerID.Manifests[].Content-Type: application/json.DateToShip is today or in the past.DateDropDead is today or in the past.LineItems[].ShipMethodAbbreviation from available
ship methods.ShipToAddress. Keep using the stricter address
requirements documented above.ProductName is ambiguous or not found.ProductName and the supplied VendorName matched more than one internal ProductID. A valid vendor name does not guarantee a unique match.Mill or exact ProductID. For example, a lookup for 2000 under S&S Activewear can match multiple records.VendorProductName and Mill, or use another
supported product lookup path.ProductID does not exist.print_sku to the inventory item metadata and confirm mill or print_mill when required.CustomerProductName,
Description, and Color.VendorName and a unique product reference.VendorName does not match a supplier in Dubow.VendorName.ProductID or an appropriate Mill alongside the product name.LineItemSizes[].LineItemSizes[].Quantity value to a positive integer.SizeAsString or SizeIndex.XL, 2XLT, or
Medium.Designs[].Designs[], set NoDecoration: true, or use the
inventory workflow.DesignID,
CustomerDesignCode, DesignCode, or
FilePath.DesignTypeName.DesignTypeName for new art.CustomerDesignCode or
design URL workflow.DesignID.DesignID, DesignCode,
CustomerDesignCode, or design URL workflow.DesignTypeName in the design block, for example
Embroidery.IntegrationColorway.ColorwayID with the existing
DesignID.ColorwayID belongs to the specified
DesignID.IntegrationColorway.Colors[] ordinals to match the design.Full Front/Full Back.https:// link.CustomerDesignCode or reuse the existing design
reference if intended.TrackingNumber when sending or consuming shipped
updates.print_location_1) or choose a different product, then sync the updated item details before resubmitting.Collect these details before escalating an OrderDesk-to-Dubow issue.
The official Order Desk guide covers the Dubow connection screen, integration settings, product settings, shipping class matching, and the order and item metadata fields used when sending orders to Dubow.
Everything you need to send orders, work with products and designs, and retrieve status updates. Start with a task or jump directly into the technical reference.
Use this section when you need to build, test, or troubleshoot an integration order. The detailed field glossary remains available in the Field Glossary topic, but these tools are designed around the questions customers usually ask during implementation.
Start from minimal, full, inventory, no-decoration, personalization, associated design, status, invoice, or webhook examples.
ExamplesSearch common backend validation messages, likely causes, and fixes.
ErrorsLook up where each field is used, whether it is required, and what customers should send.
Field RulesUse step-by-step recipes for existing designs, design URLs, inventory, personalization, and webhooks.
RecipesStart with a complete request, explore small field-level fragments, or follow a workflow. Every example is illustrative and must be adapted to your customer and design identifiers.
Use this when the design and colorway already exist in Dubow/DOTS.
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO-EXISTING-1001",
"OrderStatusNotificationUrl": "https://yourdomain.com/webhooks/status",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"IsResidential": true,
"ShipToAddress": {
"Address1": "Jane Customer",
"Address3": "123 Main Street",
"City": "Minneapolis",
"State": "MN",
"Zip": "55401",
"Country": "US",
"PhoneNumber": "555-123-4567",
"EmailAddress": "customer@example.com"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract",
"Color": "Black"
},
"LineItemSizes": [
{ "Quantity": 12, "SizeAsString": "M" }
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
}
}
]
}
]
}
]
}
]
}
Use this when the customer is providing new art by URL instead of referencing an existing Dubow design.
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO-URL-1002",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "John Customer",
"Address3": "456 Oak Ave",
"City": "Brooklyn",
"State": "NY",
"Zip": "11201",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract",
"Color": "Navy"
},
"LineItemSizes": [
{ "Quantity": 24, "SizeAsString": "L" }
],
"Designs": [
{
"DesignTypeName": "DigitalPrint",
"FilePath": "https://cdn.example.com/art/customer-logo.png",
"CustomerDesignCode": "CUSTOMER-LOGO-001",
"Urls": [
{
"Url": "https://cdn.example.com/mockups/customer-logo-back.png",
"Description": "Back preview"
}
],
"IntegrationColorway": {
"GarmentLocationName": "Full Back"
}
}
]
}
]
}
]
}
]
}
Inventory product lookup should be clear and inventory line items should contain only one size entry.
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO-INVENTORY-1003",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "Inventory Recipient",
"Address3": "789 Lake Road",
"City": "Chicago",
"State": "IL",
"Zip": "60601",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"CustomerProductName": "INV-SKU-001",
"Description": "Inventory Item",
"ProcurementType": "Custom"
},
"LineItemSizes": [
{ "Quantity": 1, "SizeAsString": "M" }
]
}
]
}
]
}
]
}
Use this for undecorated items. Designs are omitted intentionally.
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO-NODEC-1004",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "Blank Goods Recipient",
"Address3": "100 Market Street",
"City": "Dallas",
"State": "TX",
"Zip": "75201",
"Country": "US"
},
"LineItems": [
{
"NoDecoration": true,
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract",
"Color": "White"
},
"LineItemSizes": [
{ "Quantity": 6, "SizeAsString": "XL" }
]
}
]
}
]
}
]
}
Personalization applies to the full quantity of the line item. Use separate line items for unique names or numbers per unit.
{
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
},
"Customizations": [
{
"DesignTypeName": "Direct to Film",
"Font": "Block",
"Color": "White",
"Position": "Full Back",
"Width": 10,
"Height": 12,
"Notes": "Center between shoulders",
"TextLines": [
{ "LineNumber": 1, "Text": "SCHERFENBERG" },
{ "LineNumber": 2, "Text": "12" }
]
}
]
}
]
}
Use slash-separated locations in the same child-design order used by the associated design.
{
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 7009594,
"IntegrationColorway": {
"ColorwayID": 8598247,
"GarmentLocationName": "Left Chest/Right Chest"
}
}
]
}
Use this when an item needs handling services such as polybag or hangtag.
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{ "Quantity": 12, "SizeAsString": "L" }
],
"Services": [
{ "Name": "polybag" },
{ "Name": "hangtag" }
]
}
Use this to check billing and invoice details for a submitted PO.
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"RequestItems": [
{ "CustomerPo": "PO-EXISTING-1001" }
]
}
Use callback URLs when your system can receive automatic status or shipment updates.
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO-WEBHOOK-1001",
"OrderStatusNotificationUrl": "https://yourdomain.com/webhooks/order-status",
"ShipmentNotificationUrl": "https://yourdomain.com/webhooks/shipment",
"Manifests": []
}
Use this if the customer is polling instead of relying only on automatic webhooks. Look up status by either OrderID or CustomerPo.
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"RequestItems": [
{ "OrderID": 8675309 },
{ "CustomerPo": "PO-EXISTING-1001" }
]
}
This example intentionally shows both lookup styles in one request. Each RequestItems entry only needs one lookup field.
DesignID.DesignID.IntegrationColorway.ColorwayID.GarmentLocationName.DesignTypeName.FilePath for the art file.CustomerDesignCode as the customer's art reference.IntegrationColorway.GarmentLocationName.Customizations[] inside a design.TextLines[].DesignTypeName when needed.These examples show complete, valid orders using different design submission types and multiple manifests.
{
"Authorization": {
"UserID": 1111,
"Password": "abc123"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "ORDER-0001",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "John Smith",
"Address3": "123 Test St",
"City": "Duluth",
"State": "MN",
"Zip": "55802",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Black Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 2,
"SizeAsString": "XL"
}
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
}
}
]
}
]
}
]
}
]
}
{
"Authorization": {
"UserID": 1111,
"Password": "abc123"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "ORDER-0002",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "Jane Doe",
"Address3": "456 Demo Ave",
"City": "Minneapolis",
"State": "MN",
"Zip": "55401",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "White Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 3,
"SizeAsString": "L"
}
],
"Designs": [
{
"DesignTypeName": "DigitalPrint",
"FilePath": "https://cdn.example.com/art/image1.png",
"CustomerDesignCode": "ABC123",
"IntegrationColorway": {
"GarmentLocationName": "Full Back"
}
}
]
}
]
}
]
}
]
}
{
"Authorization": {
"UserID": 1111,
"Password": "abc123"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "ORDER-0003",
"OrderStatusNotificationUrl": "https://yourserver.com/webhook",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"IsResidential": true,
"ShipperReference": "REF-001",
"PackingSlipUrl": "https://files.example.com/slip1.pdf",
"DateToShip": "2024-05-10",
"DateDropDead": "2024-05-15",
"TaxID": "123-45-6789",
"ShipToAddress": {
"Address1": "Jake Smith",
"Address3": "101 Main St",
"Address4": "Suite A",
"City": "Chicago",
"State": "IL",
"Zip": "60601",
"Country": "US",
"PhoneNumber": "555-123-4567",
"EmailAddress": "contact@example.com"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Black Tee",
"ProcurementType": "Contract",
"CustomerProductName": "TEE-BLK",
"VendorProductName": "GLD2000",
"Color": "Black",
"ProductTypeName": "Apparel",
"Notes": "Ship ASAP"
},
"LineItemSizes": [
{ "Quantity": 1, "SizeAsString": "XL" },
{ "Quantity": 2, "SizeAsString": "L" }
],
"Services": [
{ "Name": "BAG2 - POLY BAG" }
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 1111111,
"GarmentLocationName": "Left Chest",
"Urls": [
{
"Url": "https://cdn.example.com/mockup-left.jpg",
"Description": "Left Chest Preview"
}
],
"Customizations": [
{
"Font": "Arial",
"Color": "White",
"Position": "Left Chest",
"Width": 3.5,
"Height": 1.0,
"Notes": "Use bold",
"TextLines": [
{
"LineNumber": 1,
"Text": "Jake"
}
]
}
]
}
}
]
}
]
},
{
"ShipMethodAbbreviation": "USPS1ST",
"ShipToAddress": {
"Address1": "John Doe",
"Address3": "202 Broadway",
"City": "New York",
"State": "NY",
"Zip": "10007",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "5000",
"Mill": "Gildan",
"Description": "Navy Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{ "Quantity": 5, "SizeAsString": "M" }
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 1234567,
"IntegrationColorway": {
"ColorwayID": 1111112,
"GarmentLocationName": "Right Sleeve"
}
}
]
}
]
}
]
}
]
}
{
"Authorization": {
"UserID": 1111,
"Password": "abc123"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "ORDER-0004",
"OrderStatusNotificationUrl": "https://webhook.site/full-test",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "Walter Smith",
"Address3": "789 Sample Blvd",
"City": "Orlando",
"State": "FL",
"Zip": "32801",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Red Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{ "Quantity": 3, "SizeAsString": "2XL" }
],
"Designs": [
{
"DesignTypeName": "DigitalPrint",
"FilePath": "https://cdn.example.com/art/redtee.png",
"CustomerDesignCode": "REDTEE2024",
"Urls": [
{
"Url": "https://cdn.example.com/mockup-red.png",
"Description": "Front Preview"
}
],
"IntegrationColorway": {
"GarmentLocationName": "Full Front"
}
}
]
}
]
},
{
"ShipMethodAbbreviation": "FEDEX2DAY",
"ShipToAddress": {
"Address1": "John Smith",
"Address3": "900 Example Pkwy",
"City": "Seattle",
"State": "WA",
"Zip": "98101",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "64000",
"Mill": "Gildan",
"Description": "Heather Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{ "Quantity": 6, "SizeAsString": "S" }
],
"Designs": [
{
"DesignTypeName": "DigitalPrint",
"FilePath": "https://cdn.example.com/art/heather.png",
"CustomerDesignCode": "HTR2024",
"IntegrationColorway": {
"GarmentLocationName": "Back"
}
}
]
}
]
}
]
}
]
}
Need assistance? Contact Jake Scherfenberg, Dubow IT Manager.
For faster troubleshooting, include the information below. Do not send production passwords by email.
| Item | Why it helps | |
|---|---|---|
| ☐ | Environment used | Sandbox, production, or cloud endpoint. |
| ☐ | CustomerID, ContactID, and PoNumber |
Identifies the account and order attempt. |
| ☐ | Endpoint and timestamp | Helps locate logs and reproduce timing-sensitive issues. |
| ☐ | Full JSON request and response | Shows payload structure and validation output. |
| ☐ | Product lookup values | Include ProductID, ProductName, Mill, or
CustomerProductName. |
| ☐ | Artwork identifiers | Include DesignID, ColorwayID,
CustomerDesignCode, and file URLs if relevant. |
| ☐ | Shipping method and address example | Needed for manifest or shipment problems. |
Questions about integration setup, API access, product mapping, order submissions, or errors? Contact Dubow's IT team directly.
IT Manager · Dubow Textile
jake.scherfenberg@dubowtextile.comInclude the endpoint you were using, your order or PO reference (if relevant), the approximate date and time, and the error message or response. This helps us troubleshoot the request faster.
Do not include API passwords, cloud tokens, or other credentials in your email. Remove unnecessary personal information from examples.
View the full troubleshooting checklistDirect Integration API requests use a valid UserID and Password inside the JSON Authorization block. Credentials are supplied by Dubow IT. Cloud IO Order Creation uses a separate, environment-specific customerToken. See Direct vs Cloud IO before choosing your endpoint.
Use sandbox credentials only in test. Do not embed production credentials client side or in public repos.
| Field | Type | Required | Description |
|---|---|---|---|
UserID |
int | Yes | Your assigned Dubow integration user ID |
Password |
string | Yes | Your Dubow-provided integration password |
{
"Authorization": {
"UserID": 1234,
"Password": "MySecurePassword"
}
}
Unauthorized. Please check UserID and Password.: Happens when credentials
are missing or incorrect.Content-Type is set to application/json.Dubow offers two routes for supported API operations. The Direct Integration API connects to Dubow's systems, while the Cloud IO API provides a cloud entry point. For order submissions, Cloud IO can accept and queue requests when the underlying Integration service is unavailable.
Requests are sent directly to the Integration service.
Order submissions are received through a cloud entry point.
Submit to the supported Direct or Cloud Order Creation URL, using the correct authentication for that service.
A Direct request fails and must be retried. An order accepted by Cloud IO is retained for later forwarding.
Cloud IO automatically forwards queued orders. Confirm that the order was actually created before treating the submission as completed.
Automatic queue and resend behavior is documented for Cloud Order Creation. Do not assume pricing, status checks, design creation, or GET lookups are stored for later replay. Do not submit the same PO through both endpoints simply because a Cloud order has not yet appeared in DMS. Check the eventual order result or contact Dubow before retrying an uncertain submission.
These routes both create orders, but they use different URL structures and Cloud Order Creation has a different authentication requirement.
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/newhttps://io.dubowtextile.com/v1/ordershttps://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/newhttps://test-io.dubowtextile.com/v1/orders| Connection | Order authentication | Notes |
|---|---|---|
| Direct Integration | Authorization.UserID and Authorization.Password in the request body | Uses the standard order JSON generated by the JSON Builder. |
| Cloud IO | Environment-specific customerToken supplied by Dubow IT | Include the token in the JSON body as customerToken. Confirm the full Cloud request format before switching. Never embed credentials in public or client-side code. |
Cloud IO can be used for supported order submissions in normal operation as well as during an Integration service outage. Build and test against the Cloud route and its token requirements before going live. Cloud IO must still be reachable for a submission to be accepted.
Cloud URLs are available for Order Creation, Decoration Pricing, Hard Goods Pricing, Create Design, Products, Locations, and Ship Methods. Accepted Cloud Order Creation requests are queued and automatically forwarded when connectivity returns.
Use this checklist before submitting an order. These checks reflect common backend validation rules and the most frequent causes of rejected payloads.
Orders contains at least one order.CustomerID, ContactID, and PoNumber are
present.PoNumber is unique for the customer.UserID matches the customer or parent customer.
ContactID exists, belongs to the customer, and is active.DateToShip, when provided, is after the order date.IntegrationProduct.LineItemSize.ProductName with Mill or, if unique, VendorName. A supplier may carry several matching product records; in that case, use Mill or the exact ProductID.Designs.DesignID and colorway data.FilePath and/or
CustomerDesignCode.Some submitted values are validated, normalized, or used to drive internal DMS behavior after the request is received.
| Area | Behavior | Customer impact |
|---|---|---|
PoNumber |
Trimmed before use. Values longer than the supported storage length are shortened. | Keep PO values concise and unique. Avoid relying on characters near the end of very long PO strings. |
SecondaryPo |
Trimmed and length-limited. | Use this for alternate references, not long notes. |
EndUserPo |
Trimmed and stored as a short end-user reference. | Use a compact value rather than a long freeform string. |
OrderStatusNotificationUrl |
Stored as the callback for order status events. | Use a stable, public HTTPS endpoint that can accept POST requests. |
ShipmentNotificationUrl |
Stored separately from the order status callback when supplied. | Use this when shipment-specific notification routing differs from general order status routing. |
| Customer profile | Some behavior is customer-profile driven, including turn time, auto integration approval, dynamic part creation, and customer-specific charges. | Your Dubow onboarding team can confirm which customer-profile rules apply to your integration. |
Requested dates are treated as scheduling inputs. Dubow may adjust dates to satisfy business-day and customer-profile rules.
| Field | Behavior | Recommendation |
|---|---|---|
Manifests[].DateToShip |
Parsed as a date. Time-of-day is ignored. The final ship date may be moved to the next business day and may be pushed out by the customer turn-time rule. | Submit the desired ship date, then use order status or webhooks to read the final scheduled date. |
Manifests[].DateDropDead |
Parsed as a date. It cannot be earlier than the order date, ship date, or scheduled date. | Use this only when there is a true deadline later than or equal to the requested ship date. |
| Business days | Dates can be normalized to the next business day. | Avoid sending weekend or same-day ship dates unless explicitly approved. |
The default production turn-time rule may be overridden by customer profile. Confirm your customer profile settings with Dubow during onboarding.
Use this endpoint to submit one or more orders to Dubow. Each order requires authentication and must contain at least one manifest with one or more valid decorated line items.
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new
Content-Type: application/json| Field | Type | Required | Description |
|---|---|---|---|
Authorization |
object | Yes | Contains UserID and Password. |
Authorization.UserID |
integer | Yes | Provided by Dubow. This is your API user ID. |
Authorization.Password |
string | Yes | Provided by Dubow. API user password. |
Orders |
array<IntegrationOrder> | Yes | One or more orders to create. |
Orders[].CustomerID |
integer | Yes | Provided by Dubow. This is the CompanyID in DMS. |
Orders[].ContactID |
integer | Yes | Provided by Dubow. This is the Customer/ContactID in DMS. |
Orders[].PoNumber |
string | Yes | Customer-provided Purchase Order Number. |
Orders[].Manifests |
array<Manifest> | Yes | At least one manifest is required and each must contain at least one
LineItem. |
Orders[].ReturnAddress |
object | No | Optional return address for the order. |
Orders[].OrderStatusNotificationUrl |
string (URL) | No | Optional webhook callback URL for order status updates. See Webhook section. |
Orders[].ShipmentNotificationUrl | string | No | HTTPS callback URL for shipment notifications. See Webhooks. |
Orders[].SecondaryPo |
string | No | Secondary purchase order reference. |
Orders[].EndUserPo |
string | No | End user PO reference if applicable. |
Orders[].Platform | string | No | Optional identifier of the platform from which the order originated. |
Orders[].CustomerStore | string | No | Optional customer store or program reference. |
Orders[].BulkShip |
boolean | No | Enable Bulk shipping to ship multiple orders together. |
Orders[].Notes |
string | No | Order-level notes. |
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO10001",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "John Smith",
"Address3": "123 Main St",
"City": "Minneapolis",
"State": "MN",
"Zip": "55401",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 1,
"SizeAsString": "M"
}
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest",
"Urls": [
{
"Url": "https://www.abcxyz.com/preview.jpg",
"Description": "Left Chest Preview"
}
]
}
}
]
}
]
}
]
}
]
}
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO10002",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "Jane Doe",
"Address3": "456 Oak Ave",
"City": "Brooklyn",
"State": "NY",
"Zip": "11201",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 2,
"SizeAsString": "L"
}
],
"Designs": [
{
"DesignTypeName": "DigitalPrint",
"FilePath": "https://azbycx.com/images/686388.png",
"CustomerDesignCode": "686388",
"Urls": [
{
"Url": "https://azbycx.com/images/686388-5250-black-back.png",
"Description": "Back Preview"
}
],
"IntegrationColorway": {
"GarmentLocationName": "FULL Back"
}
}
]
}
]
}
]
}
]
}
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO20001",
"ReturnAddress": {
"Address1": "Returns Dept",
"Address3": "123 Circle Court",
"City": "Minneapolis",
"State": "MN",
"Zip": "55401",
"Country": "US",
"PhoneNumber": "555-123-4567",
"EmailAddress": "returns@example.com"
},
"OrderStatusNotificationUrl": "https://example.com/status-hook",
"CommitLater": true,
"IsTestOrder": true,
"SecondaryPo": "PO-ALT-002",
"EndUserPo": "ENDUSER-202",
"Notes": "Urgent rush order - notify on any delays.",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"IsResidential": true,
"ShipToAddress": {
"Address1": "ATTN John Smith",
"Address3": "852 1st Ave",
"City": "Brooklyn",
"State": "NY",
"Zip": "11201",
"Country": "US",
"PhoneNumber": "555-999-8888",
"EmailAddress": "john@example.com"
},
"LineItems": [
{
"Name": "SKU-ABC",
"RetailPrice": 22.50,
"HarmonizedCode": "610910",
"NoDecoration": false,
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 3,
"SizeAsString": "XL"
}
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest",
"Urls": [
{
"Url": "https://www.abcxyz.com/preview.jpg",
"Description": "Left Chest Preview"
}
]
}
}
]
}
]
}
]
}
]
}
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO20002",
"OrderStatusNotificationUrl": "https://example.com/status-hook",
"IsTestOrder": false,
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "John Doe",
"Address3": "512 Elm Street",
"City": "Chicago",
"State": "IL",
"Zip": "60601",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 5,
"SizeAsString": "S"
}
],
"Designs": [
{
"DesignTypeName": "DigitalPrint",
"FilePath": "https://azbycx.com/images/686388.png",
"CustomerDesignCode": "686388",
"Urls": [
{
"Url": "https://azbycx.com/images/686388-5250-black-back.png",
"Description": "Back Preview"
}
],
"IntegrationColorway": {
"GarmentLocationName": "FULL Back"
}
}
]
}
]
}
]
}
]
}
Use this Webhook/Endpoint to retrieve the current status of orders submitted to Dubow. Status updates can also be received via webhook if configured.
If you include OrderStatusNotificationUrl in the Order Creation request, you
will receive automatic status updates via webhook and do not need to poll the status
endpoint.
Include OrderStatusNotificationUrl in your Order Creation request and we will
POST status updates to that URL.
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/status
Content-Type: application/json| Field | Type | Required | Description |
|---|---|---|---|
Authorization |
object | Yes | Container for UserID and Password. |
Authorization.UserID |
integer | Yes | API user identifier. |
Authorization.Password |
string | Yes | API user password. |
RequestItems |
array | Yes | One or more request objects used to look up order status. |
RequestItems[].OrderID | integer | Conditional | Dubow Order Number. Required when CustomerPo is not provided. |
RequestItems[].CustomerPo | string | Conditional | Customer Purchase Order Number. Required when OrderID is not provided. |
Each RequestItems[] entry must contain either OrderID or CustomerPo. You do not need to provide both. Use one lookup value per request item for the clearest result.
| Field | Type | Required | Description |
|---|---|---|---|
ResponseSummary |
object | Always | Includes IsSuccess, Errors, and
Authorization result for the call. |
ResponseSummary.Authorization.TransactionID |
string|null | No | Transaction identifier, may be null. |
ResponseSummary.Authorization.UserID |
integer | No | Authenticated user ID. |
ResponseSummary.Authorization.Password |
null | No | Redacted in responses. |
ResponseSummary.Authorization.IsAuthenticated |
boolean | Always | Authentication success flag. |
Orders |
array | When IsSuccess is true |
Collection of order summaries. |
Orders[].CustomerPo |
string | No | Customer PO number. |
Orders[].OrderID |
integer | No | Internal Dubow order identifier. |
Orders[].CustomerID |
integer | No | Customer identifier. |
Orders[].ReceivingStatus |
string | No | Receiving state, for example No. |
Orders[].ShippingStatus |
string | No | Shipping state, for example No. |
Orders[].IsInvoiced |
boolean | No | Whether the order has been invoiced. |
Orders[].IsCanceled |
boolean | No | Whether the order has been canceled. |
Orders[].ShippingCost |
number | No | Order-level shipping cost returned as a JSON number, for example 0. |
Orders[].HandlingCost |
number | No | Order-level handling cost returned as a JSON number, for example 2.22. |
Orders[].OrderStatus |
string | No | Current stage of the order. See OrderStatus values. |
Orders[].UniqueTrackingNumbers |
array<UniqueTrackingNumber> | No | Distinct tracking numbers for the order. See “UniqueTrackingNumbers item fields”. |
Orders[].LineItems |
array<LineItem> | No | Per-line item progress details. See “Line item fields returned.” |
ShippingCost and HandlingCost are numeric amounts returned on each Orders[] object. A value of 0 is valid.
Date fields in this response use the Microsoft JSON date format, for example
/Date(1757566800000-0500)/.
| Value | Description |
|---|---|
Entered |
Order has been entered into our system. |
Partially Received |
Product has been received but not for the entire order. |
Received |
All product for the order has been received. |
Order in Production |
Order has entered production. |
Produced |
Order has been fully produced. |
QA |
Order has passed Quality Assurance. |
Partially QA'd |
Some of the product on the order has passed Quality Assurance. |
Partially Shipped |
Some of the product on the order has been shipped. |
Shipped |
The entire order has been shipped. |
Invoiced |
Order has been invoiced and may be awaiting payment. |
Canceled |
Order was canceled. |
| Field | Type | Required | Description |
|---|---|---|---|
Orders[].LineItems[].LineItemName |
string | No | Display name of the item. |
Orders[].LineItems[].Requested |
integer | No | Quantity requested. |
Orders[].LineItems[].Received |
integer | No | Quantity received. |
Orders[].LineItems[].BackOrdered |
integer | No | Quantity on back order. |
Orders[].LineItems[].Shipped |
integer | No | Quantity shipped. |
Orders[].LineItems[].Damaged |
integer | No | Quantity damaged. |
Orders[].LineItems[].ArtNotReceived |
boolean | No | Artwork has not been received. |
Orders[].LineItems[].ArtBeingProcessed |
boolean | No | Artwork is in processing. |
Orders[].LineItems[].WaitingForApproval |
boolean | No | Awaiting approval. |
Orders[].LineItems[].OnHold |
boolean | No | On hold status. |
Orders[].LineItems[].DateToShip_Orig |
string | No | Original ship date in Microsoft JSON format. |
Orders[].LineItems[].DateToShip |
string | No | Current ship date in Microsoft JSON format. |
Orders[].LineItems[].DateArtCompleted |
string | No | Artwork completion date in Microsoft JSON format. |
Orders[].LineItems[].ReceivingHistory |
array|null | No | Receiving events for the line item, null when none. |
Orders[].LineItems[].IsShippable |
boolean | No | True if the line item can be shipped. |
Orders[].LineItems[].LineItemID |
integer | No | Line item identifier. |
Orders[].LineItems[].IsScheduled |
boolean | No | True if the line is scheduled in production. |
| Field | Type | Required | Description |
|---|---|---|---|
Orders[].UniqueTrackingNumbers[].TrackingNumber |
string | Yes | The carrier’s tracking number. |
Orders[].UniqueTrackingNumbers[].DateShipped |
string (ISO 8601) | No | Shipment timestamp, for example 2025-08-04T12:51:00. |
Orders[].UniqueTrackingNumbers[].ShipMethodName |
string | No | Readable service name, for example FedEx 2 day or
UPS Ground. |
Orders[].UniqueTrackingNumbers[].ShipperReference |
string | No | Reference provided by the shipper, useful for label or shipment lookup. |
If you include OrderStatusNotificationUrl in your order request, Dubow will
push order status updates automatically to that endpoint.
{
"Authorization": {
"UserID": 1234,
"Password": "ABCDEFG"
},
"RequestItems": [
{
"OrderID": 8675309
}
]
}
{
"Authorization": {
"UserID": 1234,
"Password": "ABCDEFG"
},
"RequestItems": [
{
"CustomerPo": "PO-100245"
}
]
}{
"ResponseSummary": {
"IsSuccess": true,
"Errors": [],
"Authorization": {
"TransactionID": null,
"UserID": 1234,
"Password": null,
"IsAuthenticated": true,
"EmployeeID": null
}
},
"Orders": [
{
"CustomerPo": "PO-100245",
"OrderID": 8675309,
"ReceivingStatus": "No",
"ShippingStatus": "No",
"IsInvoiced": false,
"IsCanceled": false,
"LineItems": [
{
"LineItemName": "2000 - Basic Tee | NoSize",
"Requested": 4,
"Received": 0,
"BackOrdered": 4,
"Shipped": 0,
"Damaged": 0,
"ArtNotReceived": false,
"ArtBeingProcessed": false,
"WaitingForApproval": false,
"OnHold": false,
"DateToShip_Orig": "/Date(1793077200000-0500)/",
"DateToShip": "/Date(1796623200000-0600)/",
"DateArtCompleted": "/Date(1759336500000-0500)/",
"ReceivingHistory": null,
"IsShippable": false,
"LineItemID": 11111111,
"IsScheduled": false
}
],
"UniqueTrackingNumbers": [],
"CustomerID": 1234,
"OrderStatus": "Entered",
"ShippingCost": 0,
"HandlingCost": 2.22
}
]
}
Use this endpoint to retrieve invoicing and billing status for your submitted orders. This is useful for reconciliation, accounts payable, and reporting workflows.
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/invoice
Content-Type: application/json| Field | Type | Required | Description |
|---|---|---|---|
Authorization |
object | Yes | Contains UserID and Password. |
Authorization.UserID |
integer | Yes | API user identifier. |
Authorization.Password |
string | Yes | API user password. |
RequestItems |
array | Yes | One or more request objects for invoice lookup. |
RequestItems[].CustomerPo |
string | Yes | Purchase Order Number. |
| Field | Type | Required | Description |
|---|---|---|---|
OrderID |
integer | No | Internal Dubow order identifier. |
CustomerID |
integer | No | Customer identifier. |
IsInvoiced |
boolean | No | Whether the order has been invoiced. |
IsCanceled |
boolean | No | Whether the order has been canceled. |
ShippingTotal |
number | No | Total shipping charges. |
DecorationTotal |
number | No | Total decoration charges. |
GarmentTotal |
number | No | Total garment charges. |
Services |
number | No | Total for services. |
Total |
number | No | Grand total for the invoice. |
AmountDue |
number | No | Outstanding balance. |
AmountPaid |
number | No | Amount already paid. |
AmountCredited |
number | No | Credits applied. |
AmountDebited |
number | No | Debits applied. |
DateInvoiced |
string (ISO 8601) | No | Date and time the invoice was created. |
LineItems |
array | No | Collection of invoiced line items. |
{
"ResponseSummary": {
"IsSuccess": true,
"Errors": [],
"Authorization": {
"TransactionID": null,
"UserID": 12345,
"Password": null,
"IsAuthenticated": true
}
},
"Invoices": [
{
"OrderID": 8675309,
"CustomerPO": "111111",
"IsInvoiced": false,
"IsCanceled": false,
"ShippingTotal": 0,
"DecorationTotal": 0.00,
"GarmentTotal": 0.00,
"Services": 0.00,
"Total": 0.0000,
"AmountDue": 0.0000,
"AmountPaid": 0.0000,
"AmountCredited": 0.0000,
"AmountDebited": 0.0000,
"LineItems": [
{
"LineItemName": null,
"PartName": "LK8000 ",
"GarmentLocationName": "LEFT CHEST",
"CustomerDesignCode": null,
"DesignID": "55555",
"IsService": false,
"DecorationTotal": 0.00,
"GarmentTotal": 0.00,
"Services": 0,
"Total": 0.00
},
{
"LineItemName": null,
"PartName": "LK8000 ",
"GarmentLocationName": "LEFT CHEST",
"CustomerDesignCode": null,
"DesignID": "55555",
"IsService": false,
"DecorationTotal": 0.00,
"GarmentTotal": 0.00,
"Services": 0,
"Total": 0.00
}
],
"DateInvoiced": null
}
]
}
Use this GET endpoint to retrieve active product records and the exact values needed for order submission. Do not guess a product name, mill, size, or color. Call this endpoint first, then use the returned values in the order payload.
This is a read-only product lookup. Use returned product details to build an IntegrationProduct block in an order request.
All query parameters are optional. Omit every parameter to return the full available product list. Supply one or more parameters to narrow the results. When combining parameters, all supplied filters are applied to the request.
| Environment | Complete URL |
|---|---|
| Cloud Production | https://io.dubowtextile.com/v1/products |
| Cloud Test | https://test-io.dubowtextile.com/v1/products |
| Integration Production | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products |
| Integration Test | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products |
| Parameter | Type | Required | Fillable value | Example |
|---|---|---|---|---|
productName | string | No | The product style or part name to search for. Use the value returned in the response Name field when an exact match is required. | G500 |
productId | integer | No | The numeric product identifier returned in the response Id field. | 5001 |
mill | string | No | The manufacturer or mill name. Use the spelling returned in the response Mill field. | Gildan |
Query values containing spaces or special characters must be URL encoded. For example, Port Authority becomes Port%20Authority.
GET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/productsGET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products?productName=G500GET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products?productId=5001GET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products?mill=GildanGET https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products?productName=K240&mill=Port%20Authority| Field | Type | Meaning and reuse |
|---|---|---|
Id | integer | Unique product identifier. May be sent back as productId in later lookup requests. |
Name | string | Exact product style or part name. Use this value for product matching in integration payloads. |
Description | string | Human-readable product description. |
Mill | string | Exact manufacturer or mill name. Use this spelling when a mill is required to disambiguate the product. |
ProductType | string | Product classification, such as T-Shirt. |
IsActive | boolean | Indicates whether the product is currently active. Submit active products only. |
RequiresMill | boolean | When true, the product style may require disambiguation. Prefer the returned Mill or exact ProductID; VendorName can also be used if it resolves to exactly one product. |
Sizes | array<string> | Accepted size names for the product. Use these exact values in LineItemSizes[].SizeAsString. |
Colors | array<string> | Available product colors. Use the returned spelling when supplying a product color. |
[
{
"Id": 5001,
"Name": "G500",
"Description": "Gildan Heavy Cotton Tee",
"Mill": "Gildan",
"ProductType": "T-Shirt",
"IsActive": true,
"RequiresMill": true,
"Sizes": ["S", "M", "L", "XL", "2XL"],
"Colors": ["White", "Black", "Navy", "Red"]
}
]Returns valid garment and print locations. Use the returned Name in design creation and order payload location fields.
| Environment | Base URL |
|---|---|
| Cloud Production | https://io.dubowtextile.com/v1/locations |
| Cloud Test | https://test-io.dubowtextile.com/v1/locations |
| Integration Production | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations |
| Integration Test | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations |
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
name | string | No | Filters by location name or matching text. | Left%20Chest |
id | integer | No | Filters by the Dubow location ID. | 3 |
Replace placeholder values such as {name} with your filter value, URL-encode spaces as %20, and omit unused filters.
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locationshttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations?name=Left%20Chesthttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations?id=3| Field | Type | Use |
|---|---|---|
ID | integer | Dubow location identifier. Can be used with the id filter. |
Name | string | Canonical location name to submit in design and order payloads. |
Description | string | Readable explanation of the placement. |
Aliases | array of strings | Other recognized names or abbreviations for the location. |
[
{
"ID": 3,
"Name": "Left Chest",
"Description": "Standard left chest placement",
"Aliases": ["LC", "Left Breast"]
}
]Creates one or more standalone designs before they are used on an order. Each design identifies the artwork, decoration method, finished dimensions, location, and one or more colorways.
Use this endpoint to create a new design. To reference an existing design while placing an order, use the Designs[] order fields instead.
| Environment | Complete URL |
|---|---|
| Cloud Production | https://io.dubowtextile.com/v1/designs/new |
| Cloud Test | https://test-io.dubowtextile.com/v1/designs/new |
| Integration Production | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/designs/new |
| Integration Test | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/designs/new |
| Field | Type | Required | Description and example |
|---|---|---|---|
Designs[].DesignName | string | Yes | Readable design title, for example Acme Left Chest Logo. |
Designs[].DesignTypeName | string | Yes | Decoration method for the design. See Available Decoration Method Names below. |
Designs[].Width | decimal | Yes | Requested finished width in inches. |
Designs[].Height | decimal | Yes | Requested finished height in inches. |
Designs[].FileUrl | string URL | Yes | Direct HTTPS URL to the source artwork file. The URL must be accessible to Dubow without an interactive login. |
Designs[].Location | string | Yes | Garment or imprint location. Use a value returned by the Locations endpoint. |
Designs[].Colorways | array | Yes | At least one colorway describing garment color and colorway-specific artwork instructions. |
Designs[].ContactID | integer | Account-dependent | Dubow contact receiving or owning the design. |
Designs[].ProgramID | integer | No | Program to associate with the design when applicable. |
Designs[].AdditionalNotes | string | No | Production or art instructions. |
Designs[].IsHat | boolean | No | Indicates that the design is intended for headwear. |
Designs[].ProportionalBy | string | No | Dimension used to preserve proportions, for example Width. |
Designs[].ChargePONumber | string | No | PO reference used for applicable design charges. |
Designs[].AdditionalServices | array of strings | No | Requested design services, for example Digitizing. |
Use one of these method names in Designs[].DesignTypeName.
AppliqueDigital PrintDirect to FilmDye SublimationEmbroideryScreen PrintHG FlatHG CylindricalHG Dye SublimationHeat TransferLaser EtchPad PrintUltra PrintMagnetPinback ButtonStickerPoster| Field | Type | Required | Description |
|---|---|---|---|
Colorways[].GarmentColor | string | Yes | Garment color this colorway is intended for. |
Colorways[].Notes | string | No | Colorway-specific instructions. |
Colorways[].CustomerColorwayCode | string | No | Customer's identifier for the colorway. |
Colorways[].ColorwayFileUrl | string URL | No | Direct URL to a colorway-specific preview or artwork file. |
Colorways[].Breaks | array | Conditional | Thread, ink, or production break details for this colorway. |
When your design requires thread, ink, or production breaks, contact Dubow for the accepted values to include in Colorways[].Breaks. The example below uses an empty array.
{
"Authorization": {
"TransactionID": "design-create-001",
"UserID": 1234,
"Password": "your-integration-password",
"IsAuthenticated": false
},
"Designs": [
{
"DesignName": "Acme Left Chest Logo",
"ContactID": 9001,
"ProgramID": 5678,
"DesignTypeName": "Embroidery",
"Width": 3.5,
"Height": 2.0,
"FileUrl": "https://files.example.com/art/acme-logo.ai",
"Location": "Left Chest",
"AdditionalNotes": "Match approved brand colors",
"IsHat": false,
"ProportionalBy": "Width",
"ChargePONumber": "PO-55123",
"AdditionalServices": ["Digitizing"],
"Colorways": [
{
"GarmentColor": "Navy",
"Notes": "Use white thread for the primary logo",
"CustomerColorwayCode": "CW-NAVY-01",
"ColorwayFileUrl": "https://files.example.com/art/acme-navy.png",
"Breaks": []
},
{
"GarmentColor": "White",
"Notes": "Use navy thread for the primary logo",
"CustomerColorwayCode": "CW-WHITE-01",
"ColorwayFileUrl": "https://files.example.com/art/acme-white.png",
"Breaks": []
}
]
}
]
}| Field | Type | Returned | Description |
|---|---|---|---|
ResponseSummary | object | Always | Call-level success, errors, and authorization result. See ResponseSummary. |
Results | array | Successful result | One result object for each design processed by the request. |
Results[].IsCreated | boolean | Per result | Indicates whether the design was created. |
Results[].DesignID | integer | Per result | Dubow design identifier assigned to the created design. Save this value for later order submissions. |
Results[].OrderID | integer or null | Per result | Order identifier when the creation workflow is associated with an order. The supplied standalone design example returns null. |
Results[].PoNumber | string or null | Per result | PO reference returned for the design result. In the supplied example it reflects ChargePONumber. |
Results[].Colorways | array | Per result | Colorways created for the design. |
Results[].Colorways[].Number | integer | Per colorway | Dubow colorway number assigned to the created colorway. |
Results[].Colorways[].Name | string | Per colorway | Returned colorway name. The supplied example uses the garment color. |
Results[].MessagesOnDesign | value or null | Per result | Design-level messages when returned. The supplied successful example returns null. |
After creation, retain DesignID and the returned colorway Number values. They identify the newly created design and colorways for subsequent integration workflows.
{
"ResponseSummary": {
"IsSuccess": true,
"Errors": [],
"Authorization": {
"TransactionID": "design-create-001",
"UserID": 1234,
"Password": null,
"IsAuthenticated": true
}
},
"Results": [
{
"IsCreated": true,
"DesignID": 44210,
"OrderID": null,
"PoNumber": "PO-55123",
"Colorways": [
{ "Number": 88101, "Name": "Navy" },
{ "Number": 88102, "Name": "White" }
],
"MessagesOnDesign": null
}
]
}Use the pricing endpoints to retrieve decoration price grids or hard goods pricing. Choose the endpoint based on whether the request is for a decoration method or a hard goods part.
Returns quantity and production-measure price ranges for screen print, pad print, embroidery, applique, and other decoration methods.
Returns matching hard goods part records and their available pricing ranges.
Returns the applicable decoration price grid for a pricing type, decoration method, quantity, and the measurement required by that method.
| Environment | Complete URL |
|---|---|
| Cloud Production | https://io.dubowtextile.com/v1/pricing/decoration |
| Cloud Test | https://test-io.dubowtextile.com/v1/pricing/decoration |
| Integration Production | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/decoration |
| Integration Test | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/decoration |
Fields that do not apply to the selected decoration method may be omitted from PricingRequest or included with a value of null. The examples below omit unused fields to keep requests concise.
| Value | When to use | ProgramID |
|---|---|---|
Program | Retrieves pricing assigned to a specific Dubow program. | Required. Supply the numeric program ID provided by Dubow. |
Integrated | Retrieves integration-specific pricing available to the authenticated customer. | Omit or set to null unless Dubow instructs otherwise. |
Default | Retrieves the default pricing grid. | Omit or set to null. |
Use the exact supported method name. See Available Decoration Method Names for the complete business-facing list. The pricing specification explicitly confirms the API values shown below.
| DecorationMethod value | Required pricing fields | Fields to omit or set to null |
|---|---|---|
ScreenPrint | Quantity, Colors | StitchCount, Height, Width |
PadPrint | Quantity, Colors | StitchCount, Height, Width |
Applique | Quantity, StitchCount | Colors, Height, Width |
Embroidery | Quantity, StitchCount | Colors, Height, Width |
| Other enabled methods | Quantity, Height, Width | Colors, StitchCount |
Use the exact documented name in PricingRequest.DecorationMethod, design creation, or order payload fields where a decoration method is required.
Applique
Digital Print
Direct to Film
Dye Sublimation
Embroidery
Screen Print
HG Flat
HG Cylindrical
HG Dye Sublimation
Heat Transfer
Laser Etch
Pad Print
Ultra Print
Magnet
Pinback Button
Sticker
Poster
Direct to Film may be referred to as DTFx, and Ultra Print may be referred to as UVTx. Submit the formal decoration method name shown above unless Dubow has approved another account-specific value.
The available-method list uses readable names such as Digital Print and Direct to Film. Confirm the exact API value with Dubow before sending a method that is not one of the four explicitly defined above.
| Field | Type | Required | Accepted value |
|---|---|---|---|
Authorization | object | Yes | Standard Dubow authorization block. |
PricingRequest.PricingType | string | Yes | Program, Integrated, or Default. |
PricingRequest.ProgramID | integer or null | Conditional | Required only when PricingType is Program. |
PricingRequest.DecorationMethod | string | Yes | Exact supported API method value. |
PricingRequest.Quantity | integer | Yes | Total quantity being priced. |
PricingRequest.Colors | integer or null | Conditional | Required for Screen Print and Pad Print. |
PricingRequest.StitchCount | integer or null | Conditional | Required for Embroidery and Applique. |
PricingRequest.Height | decimal or null | Conditional | Required with Width for dimension-based methods. |
PricingRequest.Width | decimal or null | Conditional | Required with Height for dimension-based methods. |
{
"Authorization": {
"TransactionID": "price-sp-001",
"UserID": 1234,
"Password": "your-integration-password",
"IsAuthenticated": false
},
"PricingRequest": {
"PricingType": "Program",
"ProgramID": 5678,
"DecorationMethod": "ScreenPrint",
"Quantity": 48,
"Colors": 3
}
}{
"Authorization": {
"TransactionID": "price-emb-001",
"UserID": 1234,
"Password": "your-integration-password",
"IsAuthenticated": false
},
"PricingRequest": {
"PricingType": "Integrated",
"DecorationMethod": "Embroidery",
"Quantity": 24,
"StitchCount": 8500
}
}{
"Authorization": {
"TransactionID": "price-size-001",
"UserID": 1234,
"Password": "your-integration-password",
"IsAuthenticated": false
},
"PricingRequest": {
"PricingType": "Default",
"ProgramID": null,
"DecorationMethod": "CONFIRMED_METHOD_VALUE",
"Quantity": 12,
"StitchCount": null,
"Colors": null,
"Height": 4.0,
"Width": 6.0
}
}The pricing response contains the shared ResponseSummary plus a PriceGrid object. Each object in PriceGrid.Prices[] is a returned pricing tier.
| Field | Type | Returned | Meaning |
|---|---|---|---|
ResponseSummary | object | Always | Call-level success, errors, and authorization result. See ResponseSummary. |
PriceGrid | object | Successful result | The resolved pricing grid and its pricing tiers. |
PriceGrid.PricingType | string | Successful result | Pricing type resolved for the result, such as Program, Integrated, or Default. |
PriceGrid.ProgramID | integer or null | Successful result | Program identifier associated with the returned grid when applicable. |
PriceGrid.DecorationMethod | string | Successful result | Decoration method represented by the returned grid. |
PriceGrid.PriceGridName | string | Successful result | Readable name of the pricing grid that was selected. |
PriceGrid.Currency | string | Successful result | Currency used by the returned prices. The supplied example returns USD. |
PriceGrid.PricingModel | string | Successful result | Pricing model for the grid. The supplied example returns Matrix. |
PriceGrid.Prices | array | Successful result | Pricing tiers returned for the resolved grid. |
PriceGrid.Prices[].Colors | integer | Method-dependent | Color count represented by this tier for color-based methods such as Screen Print or Pad Print. |
PriceGrid.Prices[].MinimumQuantity | integer | Tier field | Lowest quantity included in the returned tier. |
PriceGrid.Prices[].MaximumQuantity | integer | Tier field | Highest quantity included in the returned tier. |
PriceGrid.Prices[].UnitPrice | decimal | Tier field | Per-unit decoration price for that returned tier. |
Match the order quantity to the tier whose MinimumQuantity and MaximumQuantity contain that quantity. UnitPrice is the price returned for that tier. Method-specific measurement fields can differ by decoration method.
{
"ResponseSummary": {
"IsSuccess": true,
"Errors": [],
"Authorization": {
"TransactionID": "price-sp-001",
"UserID": 1234,
"Password": null,
"IsAuthenticated": true
}
},
"PriceGrid": {
"PricingType": "Program",
"ProgramID": 5678,
"DecorationMethod": "ScreenPrint",
"PriceGridName": "Screen Print - Standard",
"Currency": "USD",
"PricingModel": "Matrix",
"Prices": [
{ "Colors": 3, "MinimumQuantity": 24, "MaximumQuantity": 47, "UnitPrice": 2.75 },
{ "Colors": 3, "MinimumQuantity": 48, "MaximumQuantity": 71, "UnitPrice": 2.25 }
]
}
}Returns hard goods price records matching the supplied PartName search value.
| Environment | Complete URL |
|---|---|
| Cloud Production | https://io.dubowtextile.com/v1/pricing/hardgoods |
| Cloud Test | https://test-io.dubowtextile.com/v1/pricing/hardgoods |
| Integration Production | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/hardgoods |
| Integration Test | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/hardgoods |
Use the values below rather than the complete internal PR- PartName or a color-specific suffix. Group values such as Sticker, Mug, and Poster return the matching products in that family.
| Field | Type | Required | Description |
|---|---|---|---|
Authorization | object | Yes | Standard Dubow authorization block. |
PartName | string | Yes | Use one supported search value from the table below. |
| PartName search value | Description |
|---|---|
Mug | Ceramic and stainless mugs in available sizes and colors. |
Button | Pinback buttons in available round and square sizes. |
Poster | Printed posters in available dimensions. |
Sticker | Printed stickers in available sizes. |
CanCooler | Classic and skinny can coolers in available finishes. |
Coaster | Available coaster products. |
15798 | BIC notebook with matching pen. |
16OZSTEIN | 16 oz ceramic stein. |
20VIKTMB | 20 oz Viking stainless steel tumbler. |
CCLM007 | 24 oz Coleman FreeFlow hydration bottle. |
CDKW005 | Peristyle bottle. |
CDKW024 | Wine tumbler. |
CDKW039 | 30 oz Viking tumbler. |
CDKW044 | Iconic tumbler. |
CDKW056 | 20 oz Rainbow Nova tumbler. |
CDKW058 | 20 oz Nova metallic tumbler. |
LG9221 | Tuscany journal. |
LG9346 | Tuscany Bluetooth speaker. |
METALMAGNET_2X2 | 2 x 2 metal magnet. |
MG404 | 16.9 oz bottle with duo lid. |
PICTUREFRAME | 4 x 6 brushed aluminum picture frame. |
PINTGLASS | 16 oz pint glass. |
PL-4197 | 28 oz water bottle. |
SKINNYTUMB | 20 oz skinny tumbler. |
STAINLESSPINTGLASS | Stainless steel pint glass. |
{
"Authorization": {
"TransactionID": "pricing-sticker-001",
"UserID": 1234,
"Password": "your-integration-password",
"IsAuthenticated": false
},
"PartName": "Sticker"
}{
"Authorization": {
"TransactionID": "pricing-mug-001",
"UserID": 1234,
"Password": "your-integration-password",
"IsAuthenticated": false
},
"PartName": "Mug"
}{
"Authorization": {
"TransactionID": "pricing-button-001",
"UserID": 1234,
"Password": "your-integration-password",
"IsAuthenticated": false
},
"PartName": "Button"
}| Field | Type | Returned | Description |
|---|---|---|---|
ResponseSummary | object | Always | Call-level success, errors, and authorization result. See ResponseSummary. |
Prices | array | Successful result | Matching hard goods price records. |
Prices[].PartID | integer | Per result | Dubow internal identifier for the matching hard good. |
Prices[].PartName | string | Per result | Complete matching internal PartName. |
Prices[].Range1 | decimal | Per result | First configured price value. |
Prices[].Range2 | decimal | Per result | Second configured price value. |
For the quantities represented by Range1 and Range2, confirm the applicable pricing tiers with Dubow.
{
"ResponseSummary": {
"IsSuccess": true,
"Errors": [],
"Authorization": {
"TransactionID": "pricing-sticker-001",
"UserID": 1234,
"Password": null,
"IsAuthenticated": true
}
},
"Prices": [
{ "PartID": 101, "PartName": "PR-STICKERSML-WHITE", "Range1": 0.85, "Range2": 0.45 },
{ "PartID": 102, "PartName": "PR-STICKERMED-WHITE", "Range1": 1.10, "Range2": 0.60 }
]
}Returns valid shipping methods. Use the returned Abbreviation as ShipMethodAbbreviation in an order manifest.
| Environment | Base URL |
|---|---|
| Cloud Production | https://io.dubowtextile.com/v1/shipmethods |
| Cloud Test | https://test-io.dubowtextile.com/v1/shipmethods |
| Integration Production | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods |
| Integration Test | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods |
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
name | string | No | Filters by the readable ship method name. | UPS%20Ground |
id | integer | No | Filters by the Dubow ship method ID. | 12 |
vendorName | string | No | Filters by carrier or shipping vendor. | UPS |
Enter actual values, URL-encode spaces, and omit unused query parameters. Combine multiple filters with &.
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethodshttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods?name=UPS%20Groundhttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods?vendorName=UPShttps://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods?vendorName=UPS&id=12| Field | Type | Use |
|---|---|---|
Id | integer | Dubow ship method identifier. Can be used with the id filter. |
Name | string | Readable shipping method name. |
Abbreviation | string | Value to send as ShipMethodAbbreviation in Orders[].Manifests[]. |
VendorName | string | Carrier or shipping vendor name. |
[
{ "Id": 12, "Name": "UPS Ground", "Abbreviation": "UPSG", "VendorName": "UPS" },
{ "Id": 15, "Name": "UPS 2nd Day Air", "Abbreviation": "UPS2", "VendorName": "UPS" }
]{
"ShipMethodAbbreviation": "UPSG"
}See Order Status section for more information.
Webhooks allow you to receive real-time updates about your orders without polling the API. Simply include a webhook URL in your order submission to be notified when key events occur.
Include callback URLs in the order request when you want Dubow to push updates instead of relying only on polling.
{
"OrderStatusNotificationUrl": "https://yourdomain.com/webhooks/order-status",
"ShipmentNotificationUrl": "https://yourdomain.com/webhooks/shipment"
}
{
"received": true,
"message": "Webhook accepted"
}
OrderStatusNotificationUrl or
ShipmentNotificationUrl in your IntegrationOrderA manifest groups one or more line items being shipped to the same address with a shared shipping method. Each order must contain at least one manifest.
| Field | Type | Required | Description |
|---|---|---|---|
ShipMethodAbbreviation |
string | Yes | Carrier and method code. See available ship methods |
ShipToAddress |
object | Yes | Complete destination address for the shipment. |
LineItems |
array<LineItem> | Yes | One or more decorated items included in the shipment. |
IsResidential |
boolean | No | Residential address flag. |
ThirdPartyAccountNumber |
string | No | Account number for third‑party shipping billing. |
PackingSlipUrl |
string (URL) | No | Link to a PDF packing slip to include in the carton. |
Notes |
string | No | Manifest‑level instructions or notes. |
{
"ShipMethodAbbreviation": "UPSG",
"IsResidential": true,
"ThirdPartyAccountNumber": "123456789",
"PackingSlipUrl": "https://files.example.com/slips/po1001.pdf",
"Notes": "Pack with extra padding",
"ShipToAddress": {
"Address1": "ATTN John Smith",
"Address3": "123 1st ST",
"City": "Austin",
"State": "TX",
"Zip": "73301",
"Country": "US",
"PhoneNumber": "555-222-3333",
"EmailAddress": "john@example.com"
}
}
An order contains manifests. Each manifest contains shipping details and line items. Each line item contains product data, quantities, artwork designs, and optional services. Follow this structure when building the Orders[] JSON.
AuthorizationAuthentication credentialsOrders[]Order-level information (PO, CustomerID, ContactID)Manifests[]Shipping groups and requested datesShipToAddressDestination for each manifestShipMethodAbbreviationMethod for each manifestLineItems[]Items within this manifestIntegrationProductProduct matching and procurementLineItemSizes[]Sizes and quantitiesDesigns[]Artwork and colorway for a line itemIntegrationColorwayPlacement and colorway detailsCustomizations[]Optional personalizationServices[]Optional charges or workNot all fields shown are mandatory for every request. A ReturnAddress, when used, is an order-level field, not part of ShipToAddress. Check each reference page for conditional fields and valid identifiers.
This is a syntactically valid example request with placeholder account, product, and design identifiers. Replace those values before testing.
{
"Authorization": {
"UserID": 1234,
"Password": "your-password"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO-SAMPLE-001",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "Recipient",
"Address3": "123 Main St",
"City": "St. Cloud",
"State": "MN",
"Zip": "56304",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"ProcurementType": "Contract",
"Description": "Basic Tee"
},
"LineItemSizes": [
{
"Quantity": 4,
"SizeAsString": "M"
}
],
"Designs": [
{
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "LEFT CHEST"
}
}
]
}
]
}
]
}
]
}Every order needs CustomerID, ContactID, PoNumber,
and at least one manifest.
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO10001",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "Jane Customer",
"Address3": "123 Main Street",
"City": "Minneapolis",
"State": "MN",
"Zip": "55401",
"Country": "US"
},
"LineItems": []
}
]
}
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO10002",
"SecondaryPo": "STORE-ORDER-4455",
"EndUserPo": "ENDUSER-7788",
"OrderStatusNotificationUrl": "https://yourdomain.com/webhooks/order-status",
"ShipmentNotificationUrl": "https://yourdomain.com/webhooks/shipment",
"Manifests": []
}
Transactional Data provides critical order-level details that ensure accurate processing and tracking.
A unique identifier for the customer associated with the order. This is required for customer-specific data mapping.
12345The primary purchase order number for the transaction. Used to reference orders within the system.
PO123456Additional purchase order numbers for reference. Useful for orders linked to multiple POs.
PO654321A purchase order number provided by the end user, if applicable. This is often used for drop shipping scenarios.
ENDUSER123An identifier for the main contact associated with the order. Ensures direct communication for order issues or clarifications.
4544Freeform text for any special instructions or notes related to the order.
Full Front needs to be 4 inches down from collar.A line item represents a product being decorated and shipped. Each manifest must contain at least one valid line item.
| Field | Type | Required | Description |
|---|---|---|---|
IntegrationProduct |
object | Yes | Product details for the decorated item. |
LineItemSizes |
array<LineItemSize> | Yes | One or more sizes and quantities for this item. |
Designs |
array<Design> | Yes | One or more decoration designs applied to this item. |
Name |
string | No | SKU or unique identifier. |
NoDecoration |
boolean | No | Set to true if this item does not require decoration. |
Notes |
string | No | Per-line-item notes shown to production. |
RetailPrice |
number | No | MSRP or end-customer visible price. |
HarmonizedCode |
string | No | International customs classification. |
CountryOfOrigin | string | No | Country-of-origin value for the line item when applicable. Confirm the required format with Dubow IT. |
Services |
array<string> | No | Additional service codes to apply (for example folding). |
Designs |
array<Design> | Conditional | Required unless NoDecoration is true. |
Use one clear product lookup method. Avoid mixing identifiers that could resolve to different products.
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract",
"Color": "Black"
}
}
{
"IntegrationProduct": {
"CustomerProductName": "CUSTOM-HOODIE-001",
"Description": "Customer supplied fleece hoodie",
"ProcurementType": "Custom",
"Color": "Heather Gray"
}
}
{
"IntegrationProduct": {
"ProductName": "K240",
"VendorName": "Sanmar",
"Description": "Polo",
"ProcurementType": "Custom",
"Color": "Navy"
}
}
VendorName is a supplier filter, not the manufacturer's Mill and not a unique identifier. For example, ProductName 2000 with VendorName S&S Activewear can return several product records. In that case, provide the correct Mill or use the exact ProductID. The sample above is illustrative and must resolve to one product to succeed.
This object identifies which product is being decorated and how it is sourced.
| Field | Type | Required | Description |
|---|---|---|---|
ProductName |
string | Yes* | Product identifier (e.g. 2000) |
Mill |
string | Conditional | Garment manufacturer or brand, for example Gildan. Use when the ProductName is ambiguous, including when a supplier lookup using VendorName produces multiple matches. |
VendorName |
string | No | Supplier name, for example Sanmar or S&S Activewear. Can be used with ProductName as an alternative to Mill when the combination identifies one product. Multiple products may share the same name and vendor, so use Mill or ProductID if the lookup remains ambiguous. |
Description |
string | Yes | Text description of the product |
ProcurementType |
string | Yes | Contract, or Custom |
CustomerProductName |
string | Conditional | Used only if customer is enabled for part creation. Unlike
ProductName, which errors if missing, this field allows dynamic
part creation. |
VendorProductName |
string | No | Vendor style number |
ProductTypeName |
string | No | Category name (e.g. Apparel, Tote) |
Color |
string | No | Color description |
ProductID |
int | No | Internal Dubow ID |
Notes |
string | No | Internal product notes |
Urls |
array | No | Array of preview or mockup images |
Dubow resolves the product to a single internal part before the order can be created. Use the most specific identifier available and avoid sending conflicting identifiers.
| Recommended order | Field pattern | Best use |
|---|---|---|
| 1 | ProductID |
Use when Dubow has provided the internal product ID. |
| 2 | ProductName + Mill |
Use for catalog products where the same style number may exist under multiple mills. |
| 3 | ProductName + VendorName |
Use when the supplier, such as Sanmar or S&S Activewear, is known but the Mill is not. This succeeds only when the combination resolves to one product; otherwise add the correct Mill or use ProductID. |
| 4 | CustomerProductName |
Use when Dubow has mapped your SKU to a Dubow product or when dynamic part creation is enabled. |
| 5 | VendorProductName + Mill |
Use when the vendor style is the known lookup value. |
If multiple product identifiers are provided and they resolve to different internal products, the request can fail because the product is ambiguous.
Some customers are configured for automatic part creation through integration. This is customer-profile controlled and is not enabled for every customer.
| Requirement | Description |
|---|---|
CustomerProductName |
Required. Used to create or look up the customer-specific product. |
Description |
Required. Used as the new product description. |
Color |
Required. Used as the product color. |
| Customer profile setting | Dynamic part creation must be enabled by Dubow for the customer. |
When dynamic creation is enabled, Dubow creates the internal product using a
DYN- prefix followed by the submitted CustomerProductName.
| Value | Description |
|---|---|
Contract |
You supply the garments and Dubow decorates and ships per your manifests. |
Custom |
Dubow procures product from your specified vendor; include detailed
Description in IntegrationProduct.
|
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 3,
"SizeAsString": "M"
},
{
"Quantity": 2,
"SizeAsString": "L"
}
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
}
}
]
}
{
"IntegrationProduct": {
"CustomerProductName": "INV-HAT-BLK",
"Description": "Black Hat",
"Color": "Black",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 1,
"SizeAsString": "OSFA"
}
],
"NoDecoration": true
}
This is an array defining how many of each size are being ordered.
| Field | Type | Required | Description |
|---|---|---|---|
Quantity |
integer | Yes | Number of units for the given size. |
SizeAsString |
string | Conditional | Size label such as XL. |
SizeIndex | integer | Conditional | Numeric size enumeration supported by the API. Provide SizeAsString instead when possible; the numeric value must be valid. |
Sizes are case-insensitive and format-flexible. Common formats like 3XL,
3X-LARGE, and 3X-LARGE TALL will all be normalized internally.
| Scenario | Are Designs required? |
Notes |
|---|---|---|
| Decorated contract or custom item | Yes | Send one or more design blocks with placement details. |
NoDecoration is true |
No | Use only for undecorated items. |
Decorated item with missing Designs |
Invalid | The request can fail unless NoDecoration is true or the inventory
workflow applies. |
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 1,
"SizeAsString": "M"
}
]
}
{
"Name": "SKU-ABC",
"RetailPrice": 19.99,
"HarmonizedCode": "610910",
"NoDecoration": false,
"Notes": "This is a test item.",
"IntegrationProduct": {
"ProductName": "2000",
"CustomerProductName": "ALT-2000",
"VendorProductName": "G5000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract",
"ProductTypeName": "Apparel",
"Color": "Black",
"ProductID": 123456,
"Notes": "Custom branded variant",
"Urls": [
{
"Url": "https://example.com/product.jpg",
"Description": "Mockup"
}
]
},
"LineItemSizes": [
{
"Quantity": 3,
"SizeAsString": "XL"
},
{
"Quantity": 2,
"SizeAsString": "L"
}
],
"Services": [
{ "Name": "BAG2 - POLY BAG" }
]
}
A design object defines what decoration to apply to a product. Each line item
should include one or more designs unless NoDecoration is set to true.
This section describes Designs[] inside an order creation payload. To create a reusable design independently, use the Create Design endpoint.
Screen print designs require a minimum quantity of 24 units per colorway. Orders below this minimum may be rejected during validation.
Existing design: DesignTypeName, DesignID, and
IntegrationColorway are required.
Design via URL: DesignTypeName, FilePath
and/or CustomerDesignCode, and IntegrationColorway are
required. Keep examples exactly as shown.
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 1,
"SizeAsString": "M"
}
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
}
}
]
}
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 2,
"SizeAsString": "L"
}
],
"Designs": [
{
"DesignTypeName": "Direct to Film",
"FilePath": "https://cdn.example.com/art/logo.png",
"CustomerDesignCode": "LOGO-001",
"IntegrationColorway": {
"GarmentLocationName": "Full Front"
}
}
]
}
| Field | Type | Required | Description |
|---|---|---|---|
DesignTypeName |
string | Yes (Design via URL) | Decoration method name, for example Embroidery. See Available Decoration Method Names below. |
DesignID |
integer | Yes (Existing Design) | Internal design identifier when referencing an existing design. |
FilePath |
string (URL or path) | Yes (Design via URL) | Location of the artwork file when submitting via URL. |
CustomerDesignCode |
string | Yes (Design via URL) | Your reference code for the artwork when submitting via URL. |
IntegrationColorway |
object | Yes | Placement and preview information for the decoration. |
Urls |
array<UrlRef> | No | Optional previews or mockups that accompany the design. |
Customizations |
array<Customization> | No | Name and number personalizations for this placement. See Customizations. |
Use one of these method names in DesignTypeName.
AppliqueDigital PrintDirect to FilmDye SublimationEmbroideryScreen PrintHG FlatHG CylindricalHG Dye SublimationHeat TransferLaser EtchPad PrintUltra PrintMagnetPinback ButtonStickerPosterDesignID may reference an associated design (a design that contains multiple
child design numbers).
When you send a DesignID for an associated design, you must provide
GarmentLocationName as a single string with one
location per child design, in the same order, separated by a forward slash “/”.
Tip: Find the correct associated DesignID and ColorwayID in DOTS (search by title, code, or keyword) and
paste them into your
payload to avoid mismatches.
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 7009594,
"IntegrationColorway": {
"ColorwayID": 8598247,
"GarmentLocationName": "Left Chest/Right Chest"
}
}
]
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 24,
"SizeAsString": "M"
}
],
"Designs": [
{
"DesignTypeName": "Screen Print",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Full Front",
"Colors": [
{
"Ordinal": 1,
"Color": "Super White",
"Map": "Text"
},
{
"Ordinal": 2,
"Color": "Black",
"Map": "Icon"
}
]
}
}
]
}
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 1,
"SizeAsString": "XL"
}
],
"Designs": [
{
"DesignTypeName": "Direct to Film",
"FilePath": "https://cdn.example.com/art/back-logo.png",
"CustomerDesignCode": "BACK-LOGO-001",
"IntegrationColorway": {
"GarmentLocationName": "Full Back",
"Urls": [
{
"Url": "https://cdn.example.com/mockups/back-logo-preview.png",
"Description": "Full back placement preview"
}
]
}
}
]
}
This object defines where and how the design will be applied. It is always required, even when submitting art via URL.
| Field | Type | Required | Description |
|---|---|---|---|
ColorwayID |
integer | Yes/No | Only Required when using Designs[].DesignID. |
CustomerColorwayCode |
integer | Yes/No | Only Required when using Designs[].CustomerDesignCode. |
Colors |
array<Colors> | Conditional | Thread or ink colors for this placement. Required for Embroidery and Screen Print when you need to specify thread/ink colors. Omit for methods that do not use thread/ink color assignments. |
GarmentLocationName |
string | Yes | Placement such as Left Chest or FULL Back. |
Urls |
array<UrlRef> | No | Preview images or references shown in examples. |
Use this array inside IntegrationColorway to define specific thread or ink
colors.
| Field | Type | Required | Description |
|---|---|---|---|
Color |
string | Yes | Thread or ink color name, for example Super White. |
Ordinal |
integer | Yes | Position or needle index for the color. Start at 1 and keep unique
within the placement. |
Map |
string | Yes | Short description of what is in specified ordinal. (eg "Icon", "Text", "Trim") |
Use this array inside Designs to define individual name/number customizations.
Personalization will be used on the full quantity of the current integration
product object.
For example, if the line item quantity is 5, and there is 1 customization defined, that
same customization will be applied to all 5 items.
To have different customizations for each item, you must create separate integration
products for each unique customization.
| Field | Type | Required | Description |
|---|---|---|---|
DesignTypeName |
string | No | Decoration method requested for personalization. See Available Decoration Method Names. |
Font |
string | No | Preferred font name for the personalization. |
Color |
string | No | Requested thread or ink color. |
Position |
string | No | Placement reference on the product, for example Left Chest. |
Width |
number | No | Suggested maximum width in inches. |
Height |
number | No | Suggested maximum height in inches. |
Notes |
string | No | Special handling instructions. |
Urls |
array<UrlRef> | No | Preview images or mockups related to the customization. |
TextLines |
array<TextLine> | Required for name/number | Lines of text to render for player names or numbers. |
| Field | Type | Required | Description |
|---|---|---|---|
LineNumber |
integer | Yes | Sequence number of the text line, for example 1, 2
|
Text |
string | Yes | Text to be rendered on the product. |
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 7009594,
"IntegrationColorway": {
"ColorwayID": 8598247,
"GarmentLocationName": "Left Chest"
},
"Customizations": [
{
"Font": "Script",
"Color": "WHITE",
"Position": "RIGHT CHEST",
"DesignTypeName": "Direct to Film",
"Width": 0,
"Height": 0,
"Urls": [
{
"Url": "https://www.abcxyz.com/designfile.png"
}
],
"TextLines": [
{
"LineNumber": 1,
"Text": "John Doe, CPA"
},
{
"LineNumber": 2,
"Text": "North Region Manager"
}
]
},
{
"Font": "Script",
"Color": "WHITE",
"Position": "FULL BACK",
"DesignTypeName": "Direct to Film",
"Width": 0,
"Height": 12,
"Urls": [
{
"Url": "https://www.abcxyz.com/designfile.png"
}
],
"TextLines": [
{
"LineNumber": 1,
"Text": "88"
}
]
}
]
}
]
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
}
}
]
"Designs": [
{
"DesignTypeName": "DigitalPrint",
"FilePath": "https://cdn.example.com/art/abc123.png",
"CustomerDesignCode": "ABC123",
"IntegrationColorway": {
"GarmentLocationName": "Full Back"
}
}
]
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest",
"Urls": [
{
"Url": "https://example.com/leftchest-preview.jpg",
"Description": "Preview for Left Chest"
}
]
},
"Urls": [
{
"Url": "https://example.com/mockup.jpg",
"Description": "Full mockup"
}
]
}
]
"Designs": [
{
"DesignTypeName": "Embroidery",
"FilePath": "https://cdn.example.com/art/logo456.DST",
"CustomerDesignCode": "LOGO456",
"Urls": [
{
"Url": "https://cdn.example.com/mockup-logo456.jpg",
"Description": "Front and back view"
}
],
"IntegrationColorway": {
"GarmentLocationName": "Full Front",
"Urls": [
{
"Url": "https://cdn.example.com/front-location-preview.jpg",
"Description": "Preview for Front"
}
],
"Colors": [
{
"Color": "Super White",
"Pantone": "1001",
"Ordinal": 1
},
{
"Color": "Black",
"Pantone": "1800",
"Ordinal": 2
}
]
}
}
]
Shipping details are defined within the Manifests array of each
order. Each order must include at least one manifest, and each manifest must include a
complete ShipToAddress and at least one line item.
A manifest groups the destination, ship method, and line items being shipped together.
{
"ShipMethodAbbreviation": "UPSG",
"IsResidential": true,
"ShipToAddress": {
"Address1": "Jane Customer",
"Address3": "123 Main Street",
"City": "Minneapolis",
"State": "MN",
"Zip": "55401",
"Country": "US",
"PhoneNumber": "555-123-4567",
"EmailAddress": "customer@example.com"
},
"LineItems": []
}
{
"ShipMethodAbbreviation": "FEDEXG",
"ThirdPartyAccountNumber": "123456789",
"PackingSlipUrl": "https://files.example.com/packing-slip.pdf",
"Notes": "Include packing slip in carton",
"ShipToAddress": {
"Address1": "Receiving Department",
"Address3": "500 Warehouse Blvd",
"City": "Austin",
"State": "TX",
"Zip": "73301",
"Country": "US"
},
"LineItems": []
}
| Field | Type | Required | Description |
|---|---|---|---|
ShipMethodAbbreviation |
string | Yes | Carrier and method code. See available ship methods |
ShipToAddress |
object | Yes | Complete destination address for the shipment. |
LineItems |
array | Yes | One or more decorated items included in the shipment. |
IsResidential |
boolean | No | Residential address flag. |
ThirdPartyAccountNumber |
string | No | Account number for third-party shipping billing. |
PackingSlipUrl |
string (URL) | No | Link to a PDF packing slip to include in the carton. |
Notes |
string | No | Manifest-level instructions or notes. |
This is a nested object required inside each manifest. The more complete the address, the more accurate the label and delivery rate.
| Field | Type | Required | Description |
|---|---|---|---|
Address1 |
string | Yes | Recipient or attention line (for example the person or department). |
Address3 |
string | Yes | Street address line as used in examples. |
City |
string | Yes | City. |
State |
string | Yes | State or province 2-letter code. **Only Required when Country is "US"** |
Zip |
string | Yes | Postal code. |
Country |
string | Yes | 2-letter country code, for example US. |
Address2 |
string | No | Optional Additional Recipient or attention line (for example the person or department) |
Address4 |
string | No | Optional delivery information such as apartment, suite, unit, floor, or building name. Also used for “Care Of” or company names if Address1 is a personal name. |
Address5 |
string | No | Optional Extra locality details that don’t fit in City/State/ZIP, such as districts, suburbs, villages, or neighborhoods (often needed for non-U.S. addresses) |
PhoneNumber |
string | No | Contact number for delivery |
EmailAddress |
string | No | Contact email |
Select the carrier/service for each manifest using ShipMethodAbbreviation. Use
the Ship Methods JSON endpoint to retrieve the exact abbreviations supported.
| Field | Type | Required | Description |
|---|---|---|---|
ShipMethodAbbreviation |
string | Yes | Carrier/service code from the Shipping Methods feed. Use the exact abbreviation shown there. |
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods
Use this feed to look up valid abbreviations before setting
ShipMethodAbbreviation.
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"IsResidential": true,
"PackingSlipUrl": "https://files.example.com/slip.pdf",
"ThirdPartyAccountNumber": "123456789",
"Notes": "Pack with air pillows and label clearly",
"ShipToAddress": {
"Address1": "ATTN JOHN DOE",
"Address2": "IT Dept",
"Address3": "123 1st Street N",
"City": "Duluth",
"State": "MN",
"Zip": "55802",
"Country": "US",
"PhoneNumber": "555-123-4567",
"EmailAddress": "John@example.com"
},
"LineItems": [
{
"Name": "Tee-Black-XL",
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Black Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 1,
"SizeAsString": "XL"
}
],
"Designs": [ ... ]
}
]
}
]
You can request optional add-on services at the line item level using the
Services array. These services support finishing, packaging, and branding
enhancements.
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 12,
"SizeAsString": "M"
}
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
}
}
],
"Services": [
{
"Name": "polybag"
},
{
"Name": "hangtag"
}
]
}
{
"Authorization": {
"UserID": 1234,
"Password": "abcd"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "PO-SERVICES-1001",
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "Jane Customer",
"Address3": "123 Main Street",
"City": "Minneapolis",
"State": "MN",
"Zip": "55401",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 12,
"SizeAsString": "M"
}
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
}
}
],
"Services": [
{
"Name": "polybag"
},
{
"Name": "hangtag"
}
]
}
]
}
]
}
]
}
Services array| Field | Description |
|---|---|
BAG2 - POLY BAG |
Fold garment and polybag it |
LABEL W/NAME |
Label polybags with sizes or names |
HANGTAG |
Attach hang tag to garment |
INSERT |
Insert custom flyer or packing slip |
PICNPAC |
Special sorting before shipping |
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Black Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 2,
"SizeAsString": "XL"
}
],
"Services": [
{ "Name": "BAG2 - Poly Bag" },
{ "Name": "INSERT" }
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
}
}
]
}
If your request contains invalid or incomplete data, Dubow’s API will return a structured response containing helpful error messages to aid troubleshooting.
All error responses follow this format:
{
"ResponseSummary": {
"IsSuccess": false,
"Errors": [
{
"Message": "Description of the problem."
}
]
}
}
Search for an error message or select a category to find the cause and recommended fix. Decoration restrictions identify product and imprint combinations that cannot be used.
Showing 66 of 66 errors
Authorization block is missing, incorrect, or using credentials
for the wrong environment.Authorization.UserID, Authorization.Password,
and whether you are calling sandbox or production.UserID. If using a child customer, the
authenticated user must be allowed to submit for that customer.Orders[].Orders array.PoNumber or it is blank.PoNumber for every order.PoNumber already exists for that customer.PoNumber. For resubmits, use a revision value such as
PO12345-REV1.CustomerID.PoNumber for the customer.CustomerID does not exist.ContactID does not exist.ContactID that belongs to the submitted
CustomerID.Manifests[].Content-Type: application/json.DateToShip is today or in the past.DateDropDead is today or in the past.LineItems[].ShipMethodAbbreviation from available
ship methods.ShipToAddress. Keep using the stricter address
requirements documented above.ProductName is ambiguous or not found.ProductName and the supplied VendorName matched more than one internal ProductID. A valid vendor name does not guarantee a unique match.Mill or exact ProductID. For example, a lookup for 2000 under S&S Activewear can match multiple records.VendorProductName and Mill, or use another
supported product lookup path.ProductID does not exist.print_sku to the inventory item metadata and confirm mill or print_mill when required.CustomerProductName,
Description, and Color.VendorName and resolve the product to a single match.VendorName does not match a supplier in Dubow.Sanmar or S&S Activewear.Mill or exact ProductID to select a single product.LineItemSizes[].LineItemSizes[].Quantity value to a positive integer.SizeAsString or SizeIndex.XL, 2XLT, or
Medium.Designs[].Designs[], set NoDecoration: true, or use the
inventory workflow.DesignID,
CustomerDesignCode, DesignCode, or
FilePath.DesignTypeName.DesignTypeName for new art.CustomerDesignCode or
design URL workflow.DesignID.DesignID, DesignCode,
CustomerDesignCode, or design URL workflow.DesignTypeName in the design block, for example
Embroidery.IntegrationColorway.ColorwayID with the existing
DesignID.ColorwayID belongs to the specified
DesignID.IntegrationColorway.Colors[] ordinals to match the design.Full Front/Full Back.https:// link.CustomerDesignCode or reuse the existing design
reference if intended.TrackingNumber when sending or consuming shipped
updates.| Status | Meaning | When it happens |
|---|---|---|
200 |
OK | Successful request with IsSuccess true. |
400 |
Bad Request | Malformed JSON or missing required fields. |
401 |
Unauthorized | Invalid Authorization credentials. |
404 |
Not Found | Endpoint or resource not found. |
429 |
Too Many Requests | Rate limit exceeded. |
500 |
Server Error | An unexpected error occurred. |
ResponseSummary.IsSuccess before processingResponseSummary.Errors[].Message{
"ResponseSummary": {
"IsSuccess": false,
"Errors": [
{
"Message": "A ProductName was given without a Mill and no match or multiple was found: 'PR-10000-Black-M'"
},
{
"Message": "Each IntegrationProduct must unambiguously specify a Product: PR-10000-Black-M."
},
{
"Message": "No IntegrationDesigns included with Lineitem PR-10000-Black-M but NoDecoration does not equal true."
},
{
"Message": "TEST URL! This error will only appear on test requests."
}
]
}
}
Use unique PO values for every test. Keep customer, contact, product, and design values aligned with the test account setup.
{
"Authorization": {
"UserID": 1234,
"Password": "test-password"
},
"Orders": [
{
"CustomerID": 1234,
"ContactID": 5678,
"PoNumber": "SANDBOX-SMOKE-1001",
"IsTestOrder": true,
"Manifests": [
{
"ShipMethodAbbreviation": "UPSG",
"ShipToAddress": {
"Address1": "Sandbox Test",
"Address3": "123 Test Street",
"City": "Minneapolis",
"State": "MN",
"Zip": "55401",
"Country": "US"
},
"LineItems": [
{
"IntegrationProduct": {
"ProductName": "2000",
"Mill": "Gildan",
"Description": "Basic Tee",
"ProcurementType": "Contract"
},
"LineItemSizes": [
{
"Quantity": 1,
"SizeAsString": "M"
}
],
"Designs": [
{
"DesignTypeName": "Embroidery",
"DesignID": 8675309,
"IntegrationColorway": {
"ColorwayID": 111111111,
"GarmentLocationName": "Left Chest"
}
}
]
}
]
}
]
}
]
}
Dubow’s integration environment supports full-featured testing without affecting live orders or production. You can validate payloads, test error handling, and preview responses using all the exact same information in this documentation.
TEST URL! This error will only appear on test requests.TEST- or similar) to avoid conflicts
OrderStatusNotificationUrl pointing to a test endpoint to verify
webhook behaviorPaste a request or response to verify JSON syntax and check its top-level structure. Validation runs entirely in this browser. No API request is sent. This does not validate product IDs, customer permissions, inventory, or business rules.
Search the fields documented throughout the API, including requests, responses, pricing, product lookups, and OrderDesk metadata. Choose a result to jump to its definition.
| Field name / path | API area | Used in | Requirement | Details |
|---|
This index includes every named field in the supplied reference tables, plus fields visible in JSON examples. Example-only fields are identified separately and do not establish backend support. Some requirements vary by request type or customer configuration.
This glossary consolidates all request and response objects. Use the bracket notation to
understand where arrays occur, for example Orders[].Manifests[].LineItems[].
Path: Authorization (top-level in request bodies)
| Field | Type | Required | Description |
|---|---|---|---|
UserID |
integer | Yes | API user identifier issued by Dubow. |
Password |
string | Yes | API user password for the given UserID. |
Path: Orders[]
| Field | Type | Required | Description |
|---|---|---|---|
CustomerID |
integer | Yes | Company identifier in DMS. Provided by Dubow. |
ContactID |
integer | Yes | Customer/contact identifier in DMS. Provided by Dubow. |
PoNumber |
string | Yes | Customer purchase order number. |
Manifests |
array<Manifest> | Yes | One or more shipping manifests, each with at least one LineItem.
|
ReturnAddress |
object | Conditional | Include to override the default return address for the order. See ReturnAddress. |
OrderStatusNotificationUrl |
string (URL) | No | Webhook endpoint for status updates. If present, payload mirrors Order Status response. |
ShipmentNotificationUrl | string | No | HTTPS URL for automatic shipment notifications. See Webhooks. |
SecondaryPo |
string | No | Secondary purchase order reference. |
EndUserPo |
string | No | End-customer PO reference. |
Platform | string | No | Source platform identifier, if applicable. |
CustomerStore | string | No | Customer program or store code, if applicable. |
Notes |
string | No | Order-level notes for production or customer service. |
Path: Orders[].Manifests[]
| Field | Type | Required | Description |
|---|---|---|---|
ShipMethodAbbreviation |
string | Yes | Carrier/service code from the Shipping Methods feed. See Ship Methods. |
ShipToAddress |
object | Yes | Complete destination address. See ShipToAddress. |
LineItems |
array<LineItem> | Yes | One or more decorated items included in the shipment. |
IsResidential |
boolean | No | True when the destination is a residence. |
ThirdPartyAccountNumber |
string | No | Account to bill third-party freight charges. |
PackingSlipUrl |
string (URL) | No | URL to a PDF packing slip to include. |
Notes |
string | No | Manifest-level special instructions. |
Path: Orders[].Manifests[].LineItems[]
| Field | Type | Required | Description |
|---|---|---|---|
IntegrationProduct |
object | Yes | Decorated product definition. See IntegrationProduct. |
LineItemSizes |
array<LineItemSize> | Yes | Size and quantity breakdown. See LineItemSize. |
Designs |
array<Design> | Conditional | Required unless NoDecoration is true. See Design. |
Name |
string | No | SKU or unique identifier displayed in status. |
NoDecoration |
boolean | No | Send product without decoration when true. |
Notes |
string | No | Line-level notes for production. |
RetailPrice |
number | No | End-customer visible price. |
HarmonizedCode |
string | No | Customs classification code. |
CountryOfOrigin | string | No | Line-item country of origin when provided; confirm format with Dubow IT. |
Services |
array<Service> or array<string> | No | Additional service codes to apply, for example folding or bagging. See Service. |
Path: Orders[].Manifests[].LineItems[].LineItemSizes[]
| Field | Type | Required | Description |
|---|---|---|---|
Quantity |
integer | Yes | Units for this size. |
SizeAsString |
string | Conditional | Size label, for example XL. |
SizeIndex | integer | Conditional | Alternative numeric size index from the supported SizeIndices enumeration. Use SizeAsString for most requests. |
Path: Orders[].Manifests[].LineItems[].IntegrationProduct
| Field | Type | Required | Description |
|---|---|---|---|
ProcurementType |
string | Yes | Contract or Custom. See ProcurementType values. |
Description |
string | Yes | Product description shown on order and status. |
ProductName |
string | Conditional | Used with all ProcurementType's; SKU or style, for example
2000. |
Mill |
string | Conditional | Manufacturer or brand used to disambiguate ProductName, including when a vendor filter yields multiple products. |
VendorName |
string | No | Optional supplier name, for example Sanmar or S&S Activewear. Can be used with ProductName instead of Mill when it identifies exactly one product. If more than one record matches, supply Mill or the specific ProductID. |
CustomerProductName |
string | Conditional | Used for Contract and Custom procurement; used only if
customer is enabled for part creation. If value is not found, system creates a
new dynamic part as DYN-[value], e.g. PC099 →
DYN-PC099. Unlike ProductName, which errors if
missing, this field allows dynamic part creation. |
VendorProductName |
string | No | Vendor style number. |
ProductTypeName |
string | No | Category name, for example Apparel or Tote. |
Color |
string | No | Color description. |
ProductID |
integer | No | Internal Dubow product id if applicable. |
Notes |
string | No | Internal notes related to the product. |
Urls |
array<UrlRef> | No | Preview or mockup images. See UrlRef. |
| Value | Notes |
|---|---|
Contract |
You supply the garments. Dubow decorates and ships per your manifests. |
Custom |
Special sourcing with your vendor. Provide detailed Description.
|
Path: Orders[].Manifests[].LineItems[].Services[]
| Field | Type | Required | Description |
|---|---|---|---|
Name |
string | Yes | Service code, for example BAG2 (poly bag) or INSERT.
See Services. |
Path: Orders[].Manifests[].LineItems[].Designs[]
| Field | Type | Required | Description |
|---|---|---|---|
DesignTypeName |
string | Yes | Decoration method name, for example Embroidery. See Available Decoration Method Names. |
IntegrationColorway |
object | Yes | Placement and preview information. See IntegrationColorway. |
DesignID |
integer | Conditional | Required when referencing an existing design. |
FilePath |
string (URL or path) | Conditional | Required when submitting a design via URL. |
CustomerDesignCode |
string | Conditional | Required with design via URL to reference your artwork. |
Urls |
array<UrlRef> | No | Optional previews or mockups. See UrlRef. |
Customizations |
array<Customization> | No | Name and number personalizations for this placement. See Customizations. |
Path: Designs[].IntegrationColorway
| Field | Type | Required | Description |
|---|---|---|---|
GarmentLocationName |
string | Yes | Placement such as Left Chest or FULL Back. |
ColorwayID |
integer | Yes/No | Only Required when using Designs[].DesignID. |
CustomerColorwayCode |
integer | Yes/No | Only Required when using Designs[].CustomerDesignCode. |
Urls |
array<UrlRef> | No | Preview images of the placement. |
Path: Designs[].IntegrationColorway.Colors[]
| Field | Type | Required | Description |
|---|---|---|---|
Color |
string | Yes | Thread or ink color name, for example Super White. |
Pantone |
string | No | Pantone or thread system reference, for example 1001. See Dubow Thread List for
specific thread codes when using embroidery. |
Ordinal |
integer | No | Position or needle index for the color. Start at 1 and keep unique
within the placement. |
Map |
string | Yes | Short description of what is in specified ordinal. (eg "Icon", "Text", "Trim") |
Path: Designs[].Customizations[]
| Field | Type | Required | Description |
|---|---|---|---|
TextLines |
array<TextLine> | Conditional | Required for name or number decorations. See TextLine. |
Font |
string | No | Preferred font name. |
Color |
string | No | Requested thread or ink color. |
Position |
string | No | Location on garment, for example Left Chest. |
Width |
number | No | Suggested maximum width in inches. |
Height |
number | No | Suggested maximum height in inches. |
Notes |
string | No | Special handling instructions. |
Urls |
array<UrlRef> | No | Preview images or mockups for the customization. |
Path: Customizations[].TextLines[]
| Field | Type | Required | Description |
|---|---|---|---|
LineNumber |
integer | Yes | Sequence number, for example 1, 2. |
Text |
string | Yes | Text to render for this line. |
Path: Designs[].Urls[], IntegrationColorway.Urls[],
Customizations.Urls[], IntegrationProduct.Urls[]
| Field | Type | Required | Description |
|---|---|---|---|
Url |
string (URL) | Yes | Link to an image or preview file. |
Description |
string | No | Short label for the referenced image. |
Path: Orders[].Manifests[].ShipToAddress
| Field | Type | Required | Description |
|---|---|---|---|
Address1 |
string | Yes | Recipient or attention line. |
Address3 |
string | Yes | Street address line. |
City |
string | Yes | City. |
State |
string | Yes | State or province code. **Only Required when Country is "US"** |
Zip |
string | Yes | Postal code. |
Country |
string | Yes | 2-letter country code, for example US. |
Address2 |
string | No | Optional Additional Recipient or attention line (for example the person or department). |
Address4 |
string | No | Optional delivery information such as apartment, suite, unit, floor, or building name. Also used for “Care Of” or company names if Address1 is a personal name. |
Address5 |
string | No | Optional Extra locality details that don’t fit in City/State/ZIP, such as districts, suburbs, villages, or neighborhoods (often needed for non-U.S. addresses). |
PhoneNumber |
string | No | Contact number for delivery. |
EmailAddress |
string | No | Contact email for delivery updates. |
Path: Orders[].ReturnAddress
| Field | Type | Required | Description |
|---|---|---|---|
Address1 |
string | Yes | Recipient or Attention line. |
Address3 |
string | Yes | Street address line. |
City |
string | Yes | City. |
State |
string | Yes | State or province code. **Only Required when Country is "US"** |
Zip |
string | Yes | Postal code. |
Country |
string | Yes | Country name or code. |
Address2 |
string | No | Optional Additional delivery information such as apartment, suite, unit, floor, or building name. Also used for “Care Of” or company names if Address1 is a personal name. |
Address4 |
string | No | Optional Extra locality details that don’t fit in City/State/ZIP, such as districts, suburbs, villages, or neighborhoods (often needed for non-U.S. addresses) |
Address5 |
string | No | Optional field for secondary administrative areas, international province codes, or other special delivery notes that must be part of the mailing label |
PhoneNumber |
string | No | Contact phone. |
EmailAddress |
string | No | Contact email. |
Path: RequestItems[] in Order Status request
| Field | Type | Required | Description |
|---|---|---|---|
OrderID | integer | Conditional | Dubow Order Number. Required when CustomerPo is not provided. |
CustomerPo | string | Conditional | Customer Purchase Order Number. Required when OrderID is not provided. |
At least one lookup field is required per RequestItems entry: OrderID or CustomerPo. Both are not required.
Path: RequestItems[] in Invoice Status request
| Field | Type | Required | Description |
|---|---|---|---|
CustomerPo |
string | Yes | PO number to query. |
Path: ResponseSummary in responses
| Field | Type | Required | Description |
|---|---|---|---|
IsSuccess |
boolean | Yes | True when the request succeeded. |
Authorization |
object | Yes | Authentication result details. See below. |
Errors |
array<Error> | Varies | Contains error entries when a request fails and may be an empty array ([]) when successful. Each entry has a Message field. |
| Field | Type | Required | Description |
|---|---|---|---|
IsAuthenticated |
boolean | Yes | True when the provided credentials are valid. |
TransactionID |
string|null | No | Transaction identifier for troubleshooting; may be null. |
UserID |
integer | No | Authenticated user id. |
Password |
null | No | Redacted in responses. |
Path: ResponseSummary.Errors[]
| Field | Type | Required | Description |
|---|---|---|---|
Message |
string | Yes (per error entry) | Human-readable explanation of the error. The Errors array can be empty when a request succeeds. |
Path: Orders[] in Order Status response
| Field | Type | Required | Description |
|---|---|---|---|
CustomerPo |
string | No | PO number returned for reference. |
OrderID |
integer | No | Internal Dubow order identifier. |
CustomerID |
integer | No | Customer identifier. |
ReceivingStatus |
string | No | Receiving state, for example No. |
ShippingStatus |
string | No | Shipping state, for example No. |
IsInvoiced |
boolean | No | Whether the order has been invoiced. |
IsCanceled |
boolean | No | Whether the order has been canceled. |
ShippingCost |
number | No | Order-level shipping cost returned as a JSON number, for example 0. |
HandlingCost |
number | No | Order-level handling cost returned as a JSON number, for example 2.22. |
OrderStatus |
string | No | Current stage of the order, for example Entered. See OrderStatus
value list in the Order Status section. |
UniqueTrackingNumbers |
array<UniqueTrackingNumber> | No | Distinct tracking objects for the order. See below. |
LineItems |
array<LineItem> | No | Per-line progress details. See LineItem (status). |
Path: Orders[].UniqueTrackingNumbers[]
| Field | Type | Required | Description |
|---|---|---|---|
TrackingNumber |
string | Yes | Carrier tracking number. |
DateShipped |
string (ISO 8601) | No | Shipment timestamp, for example 2025-08-04T12:51:00. |
ShipMethodName |
string | No | Readable carrier service name. |
ShipperReference |
string | No | Reference from the shipper, useful for label or shipment lookup. |
Path: Orders[].LineItems[]
| Field | Type | Required | Description |
|---|---|---|---|
LineItemName |
string | No | Display name of the item. |
Requested |
integer | No | Quantity requested. |
Received |
integer | No | Quantity received. |
BackOrdered |
integer | No | Quantity on back order. |
Shipped |
integer | No | Quantity shipped. |
Damaged |
integer | No | Quantity damaged. |
ArtNotReceived |
boolean | No | Artwork not received. |
ArtBeingProcessed |
boolean | No | Artwork is in processing. |
WaitingForApproval |
boolean | No | Awaiting approval. |
OnHold |
boolean | No | On hold status. |
DateToShip_Orig |
string | No | Original ship date (Microsoft JSON format). |
DateToShip |
string | No | Current ship date (Microsoft JSON format). |
DateArtCompleted |
string | No | Artwork completion date (Microsoft JSON format). |
ReceivingHistory |
array|null | No | Receiving events for the line item, null when none. |
IsShippable |
boolean | No | True if the line item can be shipped. |
LineItemID |
integer | No | Line item identifier. |
IsScheduled |
boolean | No | True if the line is scheduled in production. |
Path: top-level invoice status fields
| Field | Type | Required | Description |
|---|---|---|---|
OrderID |
integer | No | Internal order identifier. |
CustomerID |
integer | No | Customer identifier. |
IsInvoiced |
boolean | No | Whether the order has been invoiced. |
IsCanceled |
boolean | No | Whether the order has been canceled. |
ShippingTotal |
number | No | Total shipping charges. |
DecorationTotal |
number | No | Total decoration charges. |
GarmentTotal |
number | No | Total garment charges. |
Services |
number | No | Service charges subtotal. |
Total |
number | No | Grand total for the invoice. |
AmountDue |
number | No | Outstanding balance. |
AmountPaid |
number | No | Amount already paid. |
AmountCredited |
number | No | Credits applied. |
AmountDebited |
number | No | Debits applied. |
DateInvoiced |
string (ISO 8601) | No | Invoice creation timestamp. |
LineItems |
array | No | Collection of invoiced line items. |
Note: Required status may vary based on usage context. See full documentation sections for detailed rules.
These response models cover the Version 2.0 pricing, design creation, and lookup endpoints. For POST endpoints, ResponseSummary uses the shared model documented above.
| Field | Type | Required | Description |
|---|---|---|---|
ResponseSummary | object | Always | Shared call result. See ResponseSummary. |
PriceGrid.PricingType | string | On success | Resolved pricing type. |
PriceGrid.ProgramID | integer or null | On success | Associated program identifier when applicable. |
PriceGrid.DecorationMethod | string | On success | Decoration method represented by the grid. |
PriceGrid.PriceGridName | string | On success | Readable grid name. |
PriceGrid.Currency | string | On success | Returned pricing currency. |
PriceGrid.PricingModel | string | On success | Returned pricing model. |
PriceGrid.Prices[] | array | On success | Returned price tiers. |
PriceGrid.Prices[].Colors | integer | Method-dependent | Color count for color-based tiers. |
PriceGrid.Prices[].MinimumQuantity | integer | Tier field | Minimum quantity in the tier. |
PriceGrid.Prices[].MaximumQuantity | integer | Tier field | Maximum quantity in the tier. |
PriceGrid.Prices[].UnitPrice | decimal | Tier field | Per-unit price for the tier. |
| Field | Type | Required | Description |
|---|---|---|---|
ResponseSummary | object | Always | Shared call result. |
Prices[] | array | On success | Matching hard goods price records. |
Prices[].PartID | integer | Per result | Internal hard goods identifier. |
Prices[].PartName | string | Per result | Complete internal part name. |
Prices[].Range1 | decimal | Per result | First configured price value. |
Prices[].Range2 | decimal | Per result | Second configured price value. |
| Field | Type | Required | Description |
|---|---|---|---|
ResponseSummary | object | Always | Shared call result. |
Results[] | array | On success | Design creation results. |
Results[].IsCreated | boolean | Per result | Design creation outcome. |
Results[].DesignID | integer | Per result | Assigned Dubow design ID. |
Results[].OrderID | integer or null | Per result | Associated order ID when applicable. |
Results[].PoNumber | string or null | Per result | Returned PO reference. |
Results[].Colorways[].Number | integer | Per colorway | Assigned Dubow colorway number. |
Results[].Colorways[].Name | string | Per colorway | Returned colorway name. |
Results[].MessagesOnDesign | value or null | Per result | Design-level messages when present. |
| Field | Type | Required | Description |
|---|---|---|---|
Id | integer | Per result | Product identifier. |
Name | string | Per result | Product name/style. |
Description | string | Per result | Readable product description. |
Mill | string | Per result | Manufacturer or mill. |
ProductType | string | Per result | Product classification. |
IsActive | boolean | Per result | Product active flag. |
RequiresMill | boolean | Per result | Whether the product style needs additional disambiguation. Prefer the returned Mill or exact ProductID; use VendorName only if the match is unique. |
Sizes[] | array<string> | Per result | Available sizes. |
Colors[] | array<string> | Per result | Available colors. |
| Field | Type | Required | Description |
|---|---|---|---|
ID | integer | Per result | Location identifier. |
Name | string | Per result | Canonical location name. |
Description | string | Per result | Readable location description. |
Aliases[] | array<string> | Per result | Recognized aliases. |
| Field | Type | Required | Description |
|---|---|---|---|
Id | integer | Per result | Ship method identifier. |
Name | string | Per result | Readable ship method name. |
Abbreviation | string | Per result | Value used as ShipMethodAbbreviation. |
VendorName | string | Per result | Carrier or vendor name. |
For supported operations, choose the matching URL and authentication. Cloud IO can queue accepted Order Creation requests during a Dubow Integration outage.
Use this section as the master endpoint index. Every supported JSON operation is listed with its HTTP method, complete Production or Test URL, and a link to its detailed field documentation.
Do not submit only a route such as /v1/products or json/products. Select the correct environment and use the complete URL shown below. Production and Test credentials and data are isolated.
| Operation | Method | Complete Production URL | Documentation |
|---|---|---|---|
| Order Creation | POST | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new | Order Creation |
| Order Status | POST | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/status | Order Status |
| Invoice Status | POST | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/invoice | Invoice Status |
| Decoration Pricing | POST | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/decoration | Decoration Pricing |
| Hard Goods Pricing | POST | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/hardgoods | Hard Goods Pricing |
| Create Design | POST | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/designs/new | Create Design |
| Ship Methods | GET | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods | Ship Methods |
| Locations | GET | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations | Locations |
| Products | GET | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products | Products |
| Operation | Method | Complete Test URL | Documentation |
|---|---|---|---|
| Order Creation | POST | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new | Order Creation |
| Order Status | POST | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/status | Order Status |
| Invoice Status | POST | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/invoice | Invoice Status |
| Decoration Pricing | POST | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/decoration | Decoration Pricing |
| Hard Goods Pricing | POST | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/pricing/hardgoods | Hard Goods Pricing |
| Create Design | POST | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/designs/new | Create Design |
| Ship Methods | GET | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods | Ship Methods |
| Locations | GET | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations | Locations |
| Products | GET | https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products | Products |
Test and Production use different data and credentials. Never mix a Test URL with Production credentials or Production callback URLs.
Cloud IO uses /v1/ routes. Accepted Cloud Order Creation requests are queued during an Integration service outage and automatically forwarded when connectivity returns. See Direct vs Cloud IO for authentication and retry guidance.
| Operation | Method | Production Cloud URL | Test Cloud URL |
|---|---|---|---|
| Order Creation | POST | https://io.dubowtextile.com/v1/orders | https://test-io.dubowtextile.com/v1/orders |
| Decoration Pricing | POST | https://io.dubowtextile.com/v1/pricing/decoration | https://test-io.dubowtextile.com/v1/pricing/decoration |
| Hard Goods Pricing | POST | https://io.dubowtextile.com/v1/pricing/hardgoods | https://test-io.dubowtextile.com/v1/pricing/hardgoods |
| Create Design | POST | https://io.dubowtextile.com/v1/designs/new | https://test-io.dubowtextile.com/v1/designs/new |
| Ship Methods | GET | https://io.dubowtextile.com/v1/shipmethods | https://test-io.dubowtextile.com/v1/shipmethods |
| Locations | GET | https://io.dubowtextile.com/v1/locations | https://test-io.dubowtextile.com/v1/locations |
| Products | GET | https://io.dubowtextile.com/v1/products | https://test-io.dubowtextile.com/v1/products |
Cloud Order Creation requires the environment-specific customerToken supplied by Dubow IT. Follow the detailed endpoint section for the request body expected by each additional Cloud operation.
Use these JSON lookup endpoints to retrieve available products, locations, and shipping methods. Add supported query parameters to narrow the results.
| Lookup | Method | Production URL | Accepted filters and reference |
|---|---|---|---|
| Products | GET | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/products | productName, productId, mill. See Products. |
| Locations | GET | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/locations | name, id. See Locations. |
| Ship Methods | GET | https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/shipmethods | name, id, vendorName. See Ship Methods. |
| Decoration Methods | Reference | Documented list | See Available Decoration Method Names. |
| Hard Goods Pricing SKUs | Reference | Documented list | See Supported Hard Goods Search Values. |
Quick answers to common questions about requests, order status, artwork, shipping, and error handling.
Direct Integration uses Authorization.UserID and Authorization.Password in the JSON body. Cloud IO Order Creation requires a customerToken provided by Dubow IT. See Authentication and Direct vs Cloud IO.
Use the full URLs under Environments & Endpoints. Copy buttons are provided next to each URL.
[] mean in field names like
Orders[].OrderID?It indicates “each array item.” See the global Notation note near the top of the API Reference for details.
/Date(1757566800000-0500)/ and others ISO
8601?Line-item dates use Microsoft JSON format, while tracking timestamps use ISO 8601. See the Date formats note and UniqueTrackingNumbers.
UniqueTrackingNumbers empty. Is that
normal?Yes, until parcels are created. Check Orders[].ShippingStatus and
Orders[].OrderStatus. When shipments exist, UniqueTrackingNumbers[] will include
objects with TrackingNumber, DateShipped,
ShipMethodName, and ShipperReference.
Look up abbreviations using the Ship Methods JSON endpoint, then set
ShipMethodAbbreviation on each Manifest. See Ship Methods for the full URL, filters, and response fields.
Yes, if NoDecoration is true. Otherwise provide
Designs[] with IntegrationColorway. See Designs for required/conditional fields.
Use Customizations[] inside Designs, including
TextLines[]. See Customizations for
the exact fields.
Requests to the standard API during an outage return errors and are not queued. Use
the Cloud IO Order Creation endpoint for resilient submission. A valid customerToken from the
Dubow IT team is required, included in the JSON body as customerToken.
See Direct vs Cloud IO.
Business-rule errors may be returned with HTTP 200 but with
ResponseSummary.IsSuccess = false and entries in Errors[].
See Error reference and HTTP status codes.
Use the filterable JSON endpoints under JSON Lookup Lists. Each detailed endpoint section includes complete Production and Test URLs, accepted query fields, and response examples.
Yes, when you include OrderStatusNotificationUrl during Order Creation,
the webhook payload mirrors the Order Status response for the same PO. See the Order Status tables.
Customer-facing API documentation updates, including new endpoints, request fields, and integration tools.
Invoice Status requests use json/orders/invoice. Expanded the error guide with decoration method, imprint location, product, and shipping guidance. Improved the JSON Builder layout, including a more compact order form, a clearer preview, and easier access to endpoint URLs.
Added a clearer Direct vs Cloud IO guide, made the order submission URLs easier to find, added direct contact information for API support, and expanded the searchable Field Finder across the documentation.
Reorganized the guide into separate topics, improved mobile navigation, and expanded the JSON Builder. Added examples for using VendorName to identify a product, and documented ShippingCost and HandlingCost in Order Status responses.
Added documentation for Decoration Pricing, Hard Goods Pricing, Create Design, Products, Locations, and Ship Methods. Expanded Order Status lookup guidance to cover requests using an Order ID or customer PO number.
Added a dedicated OrderDesk setup guide with inventory and product mapping, artwork fields, shipping rules, and common troubleshooting steps.
Introduced the JSON Builder, clearer request examples, a preflight checklist, and improved error guidance to help customers prepare and troubleshoot integrations.
2025: Introduced the online API guide and expanded documentation for webhooks, Cloud authentication, order status, tracking, shipping methods, and full order examples.