Getting Started with Dubow Integration API
Introduction
Welcome to the Dubow Integration API documentation. This API enables seamless order processing and management through automated systems.
- Key Benefits:
- Submit orders in bulk or individually.
- Minimize manual data entry, saving time and reducing errors.
- Streamline order tracking and status updates.
- Methods Supported:
- Push Method Send order data directly to Dubow’s system.
- Version: 1.3
- Author: Renato Cordeiro & Jake Scherfenberg
- Created: April 8, 2016
- Update: August 14, 2025
If you have any questions that are beyond the scope of this help file, Please feel free to email via Contact Support Page.
Authentication
All requests to the Dubow API must include a valid UserID
and Password
inside the Authorization
block. This is required in JSON format. The Authentication credentials can be received from Dubow by contacting the IT Department.
Warning
Use sandbox credentials only in test. Do not embed production credentials client side or in public repos.
Fields
Field | Type | Required | Description |
---|---|---|---|
UserID |
int | Yes | Your assigned Dubow integration user ID |
Password |
string | Yes | Your Dubow-provided integration password |
JSON Authentication Block
Common Authentication Errors
Unauthorized. Please check UserID and Password.
– Happens when credentials are missing or incorrect.- Make sure
Content-Type
is set toapplication/json
. - Use test credentials only in sandbox environments; live credentials should be kept secure.
Order Creation
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.
Endpoint
- URL:
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new
- Method: POST
- Headers:
Content-Type: application/json
Fields
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[].Platform |
string | No | Source platform identifier. |
Orders[].CustomerStore |
string | No | Program or store code. |
Orders[].SecondaryPo |
string | No | Secondary purchase order reference. |
Orders[].EndUserPo |
string | No | End user PO reference if applicable. |
Orders[].BulkShip |
boolean | No | Enable Bulk shipping to ship multiple orders together. |
Orders[].Notes |
string | No | Order-level notes. |
Minimal — Existing Design
Minimal — Design via URL
Full — Existing Design
Full — Design via URL
Order Status
Use this Webhook/Endpoint to retrieve the current status of orders submitted to Dubow. Status updates can also be received via webhook if configured.
Tip
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.
Webhook Endpoint (Automatic)
Include OrderStatusNotificationUrl
in your Order Creation request and we will POST status updates to that URL.
Status Check Endpoint (Manual)
- URL:
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/status
- Method: POST
- Headers:
Content-Type: application/json
Call Fields
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[].CustomerPo |
string | Yes | Purchase Order Number. |
Response Fields
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[].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.” |
Date format
Date fields in this response use the Microsoft JSON date format, for example /Date(1757566800000-0500)/
.
OrderStatus values
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. |
Line item fields returned
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. |
UniqueTrackingNumbers item fields
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. |
Webhook Alternative
If you include OrderStatusNotificationUrl
in your order request, Dubow will push order status updates automatically to that endpoint.
Sample Order Status Call
Sample Order Status Response
Invoice Status
Use this endpoint to retrieve invoicing and billing status for your submitted orders. This is useful for reconciliation, accounts payable, and reporting workflows.
Endpoint
- URL:
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/invoice
- Method: POST
- Headers:
Content-Type: application/json
Fields
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. (Spelling matches current field label in this section.) |
RequestItems |
array | Yes | One or more request objects for invoice lookup. |
RequestItems[].CustomerPo |
string | Yes | Purchase Order Number. |
Response Fields
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. |
Sample Invoice Status Response
Manifests
A 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.
Fields
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. |
Sample Manifest
Transactional Data
Transactional Data provides critical order-level details that ensure accurate processing and tracking.
CustomerID
A unique identifier for the customer associated with the order. This is required for customer-specific data mapping.
- Type: Integer
- Example:
12345
PONumber
The primary purchase order number for the transaction. Used to reference orders within the system.
- Type: String
- Example:
PO123456
SecondaryPO
Additional purchase order numbers for reference. Useful for orders linked to multiple POs.
- Type: String (optional)
- Example:
PO654321
EndUserPO
A purchase order number provided by the end user, if applicable. This is often used for drop shipping scenarios.
- Type: String
- Example:
ENDUSER123
ContactID
An identifier for the main contact associated with the order. Ensures direct communication for order issues or clarifications.
- Type: Integer
- Example:
4544
CustomerStore
A code used to assign a program or store to the order. This code is defined in the program.
- Type: String
- Example:
Store123
Platform
The platform from which the order originated, such as OrderDesk or RubikX.
- Type: String
- Example:
OrderDesk
Order Notes
Freeform text for any special instructions or notes related to the order.
- Type: String (optional)
- Example:
Full Front needs to be 4 inches down from collar.
Line Items
A line item represents a product being decorated and shipped. Each manifest must contain at least one valid line item.
Fields
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. |
Services |
array<string> | No | Additional service codes to apply (for example folding). |
Designs |
array<Design> | Conditional | Required unless NoDecoration is true. |
IntegrationProduct
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 | Required if duplicate ProductName exist from multiple manufacturers; Garment manufacturer |
Description |
string | Yes | Text description of the product |
ProcurementType |
string | Yes | Contract , Inventory , 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 |
ProcurementType Values
Value | Description |
---|---|
Contract |
You supply the garments and Dubow decorates and ships per your manifests. |
Inventory |
Items are fulfilled from Dubow in‑house inventory when available. |
Custom |
Dubow procures product from your specified vendor; include detailed Description in IntegrationProduct .
|
LineItemSizes
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 | Yes | Size label such as XL . |
Tip
Sizes are case-insensitive and format-flexible. Common formats like 3XL
, 3X-LARGE
, and 3X-LARGE TALL
will all be normalized internally.
Minimal Line Item Example
Full Line Item Example
Designs
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.
Requirements
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.
Fields
Field | Type | Required | Description |
---|---|---|---|
DesignTypeName |
string | Yes | Decoration method name used in examples, for example Embroidery . |
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. |
IntegrationColorway
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. |
IntegrationColor |
array<IntegrationColor> | 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. |
IntegrationColor (ThreadBreaks/Ink Colors)
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 . |
Pantone | string | Yes | Pantone or thread system reference, for example 1001 . See Dubow Thread List for specific thread codes when using embroidery. |
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") |
Customizations (Personalizations)
Use this array inside Designs
to define individual name/number customizations.
Field | Type | Required | Description |
---|---|---|---|
DesignTypeName |
string | No | Decoration method requested for personalization. See Decoration method List. |
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. |
TextLines Format:
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. |
Personalization Example – Existing Design
Minimal Design Example – Existing Design
Minimal Design Example – Using FilePath
Full Design Example – Existing Design
Full Design Example – Using FilePath
Manifests/Shipping Information
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.
Fields
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. |
ShipToAddress Fields
This is a nested object required inside each manifest. The more complete the address, the more accurate the label and delivery rate.
Required Fields
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 code. |
Zip |
string | Yes | Postal 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 |
Country |
string | No | 3-letter country code, for example USA . |
PhoneNumber |
string | No | Contact number for delivery |
EmailAddress |
string | No | Contact email |
Ship Methods
Select the carrier/service for each manifest using ShipMethodAbbreviation
. Use the Shipping Methods XML feed to get 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. |
Shipping Methods feed (XML)
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/xml/shipmethods
Use this feed to look up valid abbreviations before setting ShipMethodAbbreviation
.
Sample Shipping Block (Manifest + Address)
Webhooks
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.
How to Use
- Include
OrderStatusNotificationUrl
orShipmentNotificationUrl
in yourIntegrationOrder
- These fields function identically—Dubow will send the same JSON payload to either
- Must be a valid HTTPS URL that can accept JSON POST payloads
Best Practices
- Return HTTP 200 OK to acknowledge receipt
- Log payloads and timestamps for reconciliation
- Implement retry logic in case of delivery failure or timeout
Optional Services
You can request optional add-on services at the line item level using the Services
array. These services support finishing, packaging, and branding enhancements.
How to Apply Services
- Services are applied per line item using the
Services
array - Each entry should be a recognized Dubow service code
- Multiple services can be combined where compatible
Available Service Codes
Field | Description |
---|---|
BAG2 - POLY BAG |
Fold garment and polybag it |
HANGTAG |
Attach hang tag to garment |
INSERT |
Insert custom flyer or packing slip |
NAME1 |
Personalization on order |
PICNPAC |
Special sorting before shipping |
Sample Line Item with Services
Error Handling
If your request contains invalid or incomplete data, Dubow’s API will return a structured response containing helpful error messages to aid troubleshooting.
Response Structure
All error responses follow this format:
{
"ResponseSummary": {
"IsSuccess": false,
"Errors": [
{
"Message": "Description of the problem."
},
...
]
}
}
Common Error Messages and How to Fix Them
Error Message | How to Fix |
---|---|
ProductName was given without a Mill and no match or multiple was found |
Include the Mill value or use a unique ProductName that Dubow can match directly. In some cases, multiple products share the same name but come from different vendors. For example, BG300 is used by both Port Authority and Rally Totes. To resolve ambiguity, use a trailing asterisk like BG300* and also include the correct Mill value (e.g., "Port Authority" ). You can find valid product and mill combinations in the Available Products link in Web Service URLs. |
Each IntegrationProduct must unambiguously specify a Product |
Ensure ProductName is provided with required context (e.g., Mill). If a product name exists across multiple vendors, append an asterisk to the part (e.g., BG300* ) and provide the correct Mill name. |
Duplicate order. This PONumber already exists. |
Each submitted order must have a unique PoNumber . If you are resubmitting an order, modify the PO value (e.g. PO12345-REV1 or PO12345-A ) to avoid duplicate errors. |
[PartNumber] is an inactive part. |
The referenced product exists in our system but has been deactivated. Please remove this item from the order or contact your Dubow representative to verify its availability. |
No IntegrationDesigns included with LineItem X but NoDecoration does not equal true |
Include a Designs array or set NoDecoration to true. |
There are multiple colorways for this design, but no colorway was provided. Please provide a colorway. |
A DesignID was referenced but the design has multiple options for colorways that needs to be specified via IntegrationColorway[].ColorwayID |
Each LineItem must have at least one LineItemSize to define size and quantity. |
A LineItemSize was not defined. Missing Size and Quantity from LineItemSizes[].Quantity & LineItemSizes[].SizeAsString |
DesignTypeName is required |
Set DesignTypeName in every design block (e.g., "Embroidery"). |
ColorwayID not found or not associated with DesignID |
Verify the ColorwayID exists and belongs to the specified DesignID . |
DesignID not found or not valid for account |
Use a valid, assigned DesignID that your account has access to. |
FilePath is not a valid URL |
Use a properly formatted and publicly accessible https:// link. |
CustomerDesignCode already used on another design |
Ensure uniqueness of CustomerDesignCode per customer. |
ShipMethodAbbreviation is required |
Include a valid ShipMethodAbbreviation such as UPSG or USPS1ST found in our available ship methods |
Missing Address1 or Zip on ShipToAddress |
Verify Address1 and Zip are provided and valid. |
SizeAsString value is not recognized |
Use a supported size format such as "XL", "2XLT", or "Medium". |
Quantity must be greater than 0 |
Ensure all LineItemSizes[].Quantity values are positive integers. |
Unauthorized. Please check UserID and Password. |
Check your Authorization block credentials. |
Unable to parse payload |
Ensure your JSON is valid and Content-Type is application/json . |
One or more required fields are missing or invalid |
Check all required fields are present and spelled correctly. |
A service code was provided that is not supported |
Use only valid service codes listed in the Services section. |
Design FilePath and DesignID cannot be used together |
Choose either to use an existing design by ID or submit new art via FilePath, not both. |
TEST URL! This error will only appear on test requests. |
Ignore this in test mode; it confirms you're not hitting production. |
TrackingNumber cannot be blank when OrderStatus is Shipped |
Provide a valid TrackingNumber when sending a Shipped update. |
Duplicate PONumber for CustomerID |
Use a unique PoNumber or contact Dubow if resending is intentional. |
HTTP Status Codes
Status | Meaning | When it happens | Notes |
---|---|---|---|
200 |
OK | Successful request with IsSuccess true. |
|
400 |
Bad Request | Malformed JSON or missing required fields. | |
401 |
Unauthorized | Invalid Authorization credentials. |
|
403 |
Forbidden | Credentials valid but not permitted for the resource. | |
404 |
Not Found | Endpoint or resource not found. | |
409 |
Conflict | Duplicate PO or other conflict. | |
422 |
Unprocessable Entity | Validation failed, for example an invalid field value. | |
429 |
Too Many Requests | Rate limit exceeded. | Add retry-after guidance if applicable. |
500 |
Server Error | An unexpected error occurred. | Include a reference ID if you return one. |
Best Practices
- Always inspect
ResponseSummary.IsSuccess
before processing - Log errors with
ResponseSummary.Errors[].Message
- Validate your payload against field requirements before submission
- Use test mode with realistic payloads before sending live orders
Sample Error Response
Sandbox & Test Mode
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.
How to Use Test Mode
- Contact your CSR to request Test Credentials
- Use the test environment endpoint noted in the Web Service URLs
- Test orders are accepted and validated but are never routed to the production environment
- Some responses will contain the message:
TEST URL! This error will only appear on test requests.
- You can simulate real orders with full data, including designs and manifests
What You Can Test
- Validation errors for missing fields
- Design handling (FilePath and DesignID logic)
- Webhook callbacks (with your own test URL)
- OrderStatus API behavior and responses
Best Practices
- Use unique PoNumbers (prefixed with
TEST-
or similar) to avoid conflicts - Do not mix test orders with live artwork or production POs as they will not be processed
- Use
OrderStatusNotificationUrl
pointing to a test endpoint to verify webhook behavior
Full Order Examples
These examples show complete, valid orders using different design submission types and multiple manifests.
Minimal – Existing Design
Minimal – New Art via URL
Full – Existing Design with 2 Manifests, 2 Products
Full – URL Design with 2 Manifests, 2 Products
Field Glossary / Schema Index
This glossary consolidates all request and response objects. Use the bracket notation to understand where arrays occur, for example Orders[].Manifests[].LineItems[]
.
Authorization (request)
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 . |
IntegrationOrder (creation)
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. |
Platform |
string | No | Source platform identifier for your tracking. |
CustomerStore |
string | No | Program or store code. |
SecondaryPo |
string | No | Secondary purchase order reference. |
EndUserPo |
string | No | End-customer PO reference. |
Notes |
string | No | Order-level notes for production or customer service. |
Manifest
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. |
LineItem (creation)
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. |
Services |
array<Service> or array<string> | No | Additional service codes to apply, for example folding or bagging. See Service. |
LineItemSize
Path: Orders[].Manifests[].LineItems[].LineItemSizes[]
Field | Type | Required | Description |
---|---|---|---|
Quantity |
integer | Yes | Units for this size. |
SizeAsString |
string | Yes | Size label, for example XL . |
IntegrationProduct
Path: Orders[].Manifests[].LineItems[].IntegrationProduct
Field | Type | Required | Description |
---|---|---|---|
ProcurementType |
string | Yes | Contract , Inventory , 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 | Used for Contract and Custom procurement; manufacturer name. |
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. |
ProcurementType values
Value | Notes |
---|---|
Contract |
You supply the garments. Dubow decorates and ships per your manifests. |
Inventory |
Items are fulfilled from Dubow in-house inventory when available. |
Custom |
Special sourcing with your vendor. Provide detailed Description . |
Design
Path: Orders[].Manifests[].LineItems[].Designs[]
Field | Type | Required | Description |
---|---|---|---|
DesignTypeName |
string | Yes | Decoration method name in your examples, for example Embroidery . |
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. |
IntegrationColorway
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. |
IntegrationColor
Path: Designs[].IntegrationColorway.IntegrationColor[]
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") |
Customizations (Personalizations)
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. |
TextLine
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. |
UrlRef
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. |
ShipToAddress
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. |
Zip |
string | Yes | Postal code. |
Country |
string | No | 3-letter country code, for example USA . |
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 number for delivery. |
EmailAddress |
string | No | Contact email for delivery updates. |
ReturnAddress
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. |
Zip |
string | Yes | Postal code. |
Country |
string | No | 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. |
Service
Path: Orders[].Manifests[].LineItems[].Services[]
Field | Type | Required | Description |
---|---|---|---|
Name |
string | Yes | Service code, for example BAG2 (poly bag) or INSERT . See Additional Services. |
RequestItems (Order Status)
Path: RequestItems[]
in Order Status request
Field | Type | Required | Description |
---|---|---|---|
CustomerPo |
string | Yes | PO number to query. |
RequestItems (Invoice Status)
Path: RequestItems[]
in Invoice Status request
Field | Type | Required | Description |
---|---|---|---|
CustomerPo |
string | Yes | PO number to query. |
ResponseSummary
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> | Conditional | Present when IsSuccess is false . |
ResponseSummary.Authorization
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. |
Error
Path: ResponseSummary.Errors[]
Field | Type | Required | Description |
---|---|---|---|
Code |
string | Yes | Stable error code for programmatic handling. |
Message |
string | Yes | Human-readable description of the problem. |
Field |
string | No | Offending field name when applicable, for example Orders[].PoNumber . |
Order (status response)
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. |
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). |
UniqueTrackingNumbers item
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. |
LineItem (status response)
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. |
Invoice Status (response)
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.
Web Service URLs
This section lists the available web service endpoints for test and production environments. Ensure you use the correct environment and JSON format for your integration.
Production Environment Endpoint
- Order Creation
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new
- Order Status
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/status
- Invoice Status
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/json/invoices/status
Test Environment (Sandbox) Endpoint
- Order Creation
https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/new
- Order Status
https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/orders/status
- Invoice Status
https://test-integration.dubowtextile.com/integration/orderintegrationservice.svc/json/invoices/status
Note
Test and Production environments are isolated. Make sure your API base URL, credentials, and any callback URLs all point to the same environment.
Cloud Integration
Use the Cloud JSON endpoint to ensure orders are accepted even if the primary API is down. Requests sent to the standard API during an outage will return errors and are not queued, you must resubmit them after the service is back online.
Environment | Endpoint | Auth | Notes |
---|---|---|---|
Production | https://io.dubowtextile.com/v1/orders
|
customerToken |
Include your token as a request key named customerToken . |
Test | https://test-io.dubowtextile.com/v1/orders
|
customerToken |
Use your test token; data is isolated from production. |
Token required
A valid customerToken
from the Dubow IT team is required for all Cloud submissions. Include it in the JSON body as customerToken
. Tokens are environment-specific (use your Test token in Test and Production token in Production). Do not embed tokens in client-side code.
Catalog Feeds XML
Use the XML feeds for quick lookups.
XML Download
Right click the "Download XML" link and select "Save Link As" to download the file.
- Available Products
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/xml/products
- Decoration Method List
- Garment Locations
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/xml/garmentlocations
- Shipping Methods
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/xml/shipmethods
- Invoice Status (XML)
https://integration.dubowtextile.com/integration/orderintegrationservice.svc/xml/orders/invoice
Frequently Asked Questions
How do I authenticate?
Include Authorization.UserID
and Authorization.Password
in the JSON body, not in headers. See the Order Status → Required Fields or Endpoints for the relevant operation.
Where do I send requests?
Use the full URLs under Environments & Endpoints. Copy buttons are provided next to each URL.
What does []
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.
Why are some dates like /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.
My Order Status response has 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
.
How do I choose a ship method?
Look up abbreviations in the Shipping Methods XML feed, then set ShipMethodAbbreviation
on each Manifest. See Ship Methods and the feed URL shown there.
Can I submit a line item without designs?
Yes, if NoDecoration
is true
. Otherwise provide Designs[]
with IntegrationColorway
. See Designs for required/conditional fields.
How do I add name or number personalizations?
Use Customizations[]
inside Designs
, including TextLines[]
. See Customizations for the exact fields.
Do you queue requests during downtime?
Requests to the standard API during an outage return errors and are not queued. Use the Cloud JSON endpoint as a fallback. A valid customerToken
from the Dubow IT team is required, included in the JSON body as customerToken
. See Backup Cloud Integration.
How are errors returned?
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.
Where can I download product, locations, and ship method references?
Use the XML feeds under Catalog Feeds & API. The page includes Copy buttons and “Download XML” actions.
Will my webhook payload match the Order Status response?
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.
Changelog
See what's new added, changed, fixed, improved or updated in the latest versions.
Version 1.3 (August 14, 2025)
- Updated Web Service URLs layout. Production and Test are now shown as readable lists with full URLs and Copy buttons.
- Removed Legacy sections and samples that caused duplication: “Supporting Resources,” “Order Tracking,” legacy unified webhook examples, and older status example blocks.
- Added 4-column field tables across the docs. Total tables increased from 13 to 33, covering Order Creation, Manifests, Line Items, LineItemSize, Designs, IntegrationColorway, UrlRef, Addresses, and Order Status.
- Added Order Status details for line items at
#order_status_lineitem_fields
that match the live response fields. - Added Tracking object documentation at
#unique_tracking_numbers_fields
forOrders[].UniqueTrackingNumbers[]
withTrackingNumber
,DateShipped
,ShipMethodName
, andShipperReference
. - Added ProcurementType values table with notes at
#procurementtype_values
. - Added HTTP status code reference at
#http_status_codes
. - Added Ship Methods block at
#dubow_ship_methods
that ties directly into Manifests viaShipMethodAbbreviation
. - Added Copy buttons to all endpoint lists and resource links. Copy target count increased from 0 to 20.
- Added Download friendly filenames for XML feeds via the
download
attribute (Products, Garment Locations, Shipping Methods, Invoice Status). - Added Catalog Feeds section at
#catalogfeed
that cleanly separates XML feeds from JSON POST endpoints. - Updated Endpoint coverage.
- Added Cloud Integration guidance with token requirements. Fallback flow notes explain that standard API requests during downtime are not queued and must be resubmitted.
- Security Cloud submissions require a
customerToken
issued by the Dubow IT team. The token must be included in the request body ascustomerToken
and is environment specific. - Updated Webhook endpoint language. Clear instruction to include
OrderStatusNotificationUrl
during Order Creation, plus alignment note that payload mirrors the Order Status response. - Updated OrderStatus values list and the date-format note. Mixed Microsoft JSON date values and ISO 8601 stamps are explicitly documented.
- Fixed Address tables. ShipTo and ReturnAddress fields render cleanly and consistently, with optional lines and common contact fields separated.
- Fixed Typo in Invoice Status required fields.
Authorization.Passsword
corrected toAuthorization.Password
. - Added FAQ section with toggles for authentication, date formats, tracking, ship methods, personalizations, webhooks, and fallback behavior.
Version 1.21 (August 1, 2025)
- Updated Personalization Fields.
- Updated Status/Invoice Call Requirements and examples.
- Updated New webhook field for ShipReference and OrderStatus
Version 1.20 (July 14, 2025)
- Updated Webhook usage.
Version 1.2 (May 23, 2025)
- Added Webhook Field Reference guide.
- Added Cloud API Token Reference.
- Updated Webhooks for ShipmentNotificaitonURL and OrderStatusNotificationURL
- Updated Additional error handling codes and fixes.
- Updated Usage of Webhooks.
- Updated Clearer language.
Version 1.1 (May 2, 2025)
- Added Full Order Examples section including minimal and full payloads for both existing and URL-based designs.
- Added Sandbox/Test Mode section for validating payloads and simulating responses.
- Added Web Service URLs section with internal anchor links and endpoint breakdown.
- Added Field Glossary/Schema Index covering all major models and fields.
- Added Webhook payload documentation with example POST and response format.
- Added Error message table with explanations and recommended resolutions.
- Added Integration Services list with all valid service codes and formats.
- Updated All example payloads to use
"Name"
for services instead of plain strings orServiceCode
. - Updated Design payloads to include required fields for both existing and URL-based uploads.
- Updated IntegrationColorway structure to include full field listing and formatting examples.
- Updated Clarified required vs optional fields throughout Field Glossary section.
- Updated Linked all service function names in the Web Service URLs table to relevant documentation sections.
Version 1.01 (Mar 24, 2025)
- Added Scheduled ship date API info.
Version 1.0 (Jan 1, 2025)
- Added Web based API documentation.