UNIS Client
The UNIS Client node integrates with the UNIS warehouse management EDI API. UNIS is a third-party logistics (3PL) provider; this node lets a workflow push outbound orders (DN) and inbound receipts (RN) into a UNIS warehouse, and query the resulting shipment confirmations (DC) and receipt confirmations (RC). Use it to feed fulfillment and receiving data into UNIS from upstream systems and to poll UNIS for processing results.
Overview
The UNIS Client node is essential when you need to:
- Import orders (DN) - Send a delivery/outbound order to UNIS for fulfillment, including addresses, shipping info, and line items
- Import receipts (RN) - Send an inbound receipt / ASN to UNIS for receiving
- Search shipment confirmations (DC) - Page through outbound order confirmations to retrieve shipped quantities, cartons, and tracking
- Search receipt confirmations (RC) - Page through receipt confirmations to retrieve received quantities and lot/serial detail
Configuration
Action
The operation to perform (default DN Import). The action drives both the endpoint called and which parameters are shown.
| Action | Value | Endpoint | Description |
|---|---|---|---|
| DN Import (default) | edi940 | POST /edi/outbound/order | Import (update / cancel) an outbound order to UNIS |
| DC Search By Paging | 945-search | POST /edi/outbound/order/dc/search-by-paging | Search outbound order confirmations (DC) |
| RN Import | edi943 | POST /edi/inbound/receipt | Import (update / cancel) an inbound receipt to UNIS |
| RC Search By Paging | 944-search | POST /edi/inbound/receipt/rc/search-by-paging | Search receipt confirmations (RC) |
Common identifiers
Shown for all actions and all required:
| Field | Name | Description |
|---|---|---|
| Company ID (required) | CompanyID | Hard-coded value assigned by the UNIS system admin. |
| Customer ID (required) | CustomerID | Hard-coded value assigned by the UNIS accounting department. |
| Facility ID (required) | FacilityID | Indicates which warehouse UNIS ships from; assigned by the UNIS CSR. |
Title ID (TitleID, optional, set up under the customer) is shown only for DN Import and RN Import.
All identifiers and content fields support expressions.
DN Import — PO Content (Action = DN Import)
DN Import requires a PO Content (POContent) group describing the order. Within it:
Top-level order fields: Reference No (required), PO No, Customer SO No, Batch No, BOL No, Reference No 01–05, Ordered Date, Scheduled Date, Canceled Date, Ship Not Before, Ship No Later, MABD, Routed Date, Reference Date 01–02, Inco Term, Retailer Name, Retailer Authorization Number, Sub Order Type, Pack Note, Is Rush (boolean), Data Channel Account, and Status (required, default Imported).
Business Type (BusinessType, optional):
| Option | Value |
|---|---|
| B2B | B2B |
| B2C | B2C |
| Small Parcel | Small Parcel |
Address (optional group): Sold-To, Ship-To, Store, and Bill-To name/address/contact fields. Ship-To Name, Address1, City, State, Zip Code, and Country are required when the Address group is provided.
Shipping Info (required group):
| Field | Name | Type | Notes |
|---|---|---|---|
| Freight Term | FreightTerm | options | CC (Collect), PP (Prepaid by Seller, default), TP (Third Party Pay) |
| Ship Method | ShipMethod | options | M (Truckload), L (LTL), U (Small Parcel, default), W (Will Call), NA (Unknown) |
| Delivery Service | DeliveryService | string | |
| SCAC Code | SCACCode | string | |
| Carrier Name | CarrierName | string | Defaults to UNKN if not provided |
| Shipping Account No | ShippingAccountNo | string | Required by UNIS when Freight Term is TP |
| Container Size | ContainerSize | string | |
| Signature Type | SignatureType | string |
Order Total (optional group): Total Weight (TotalWeight), Total Cubic Ft (TotalCbft) — numeric.
Order Notes (optional group): Note, BOLNote, LabelNote, MISC01–MISC10, Order Type, Label Code, Shipping Instructions, Delivery Instructions.
Items (required, repeatable): each line supports Line No, Supplier ID, Item ID (required), Buyer Item ID, Lot No, Ordered Qty, Unit Price, Pre-Pack Qty, Pre-Pack Description, Pound Per Package, Length, Width, Height, Customer Pallets, Pallet Weight, Item Note, UPC Code, Package Configure, UOM, Original Item Product Number, Return Label, DTLMISC01–DTLMISC20, Unit Price Currency, and Goods Type.
CTN (optional group): Carton No (CartonNo), Pound Per Carton (PoundPerCarton).
RN Import — ASN Content (Action = RN Import)
RN Import requires an ASN Content (ASNContent) group describing the receipt:
Header fields: Receipt Type, Supplier ID (required), Title, Purchase Order Number (PONo, required), Reference Number, Bill of Lading Number, Container Number, Seals, Carrier Name, SCAC Code, Scheduled Date, Shipping Instruction, Customized Field 01–20 (DynTxtPropertyValue01–20), Action Code, ETD, and Status (required).
Items (required, repeatable): each receipt line supports Purchase Order Line No (POLineNo), Item Number, Expected Quantity, Lot Number, Pallets, Item Notes, UOM, Customized Field 01–20, Receiving Priority, Goods Type, and Title ID.
Cartons (required group): Carton Number (CartonNo), Pounds Per Carton (PoundPerCarton).
Search parameters (Action = DC Search By Paging or RC Search By Paging)
| Field | Name | Description |
|---|---|---|
| PO No | PONo | Inbound purchase order number (uniquely identifies a PO, generally defined by the buyer). |
| Reference No | ReferenceNo | Unique identifier for an order. |
| Created From | CreatedWhenFrom | Range start, e.g. 2020-02-24T00:11:11.892. |
| Created To | CreatedWhenTo | Range end, e.g. 2020-02-24T00:11:11.892. |
| Page Number | PageNo | Page to retrieve (sent as Paging.PageNo). |
Credential
The UNIS Client node requires a UNIS Client credential (unisclientAuth):
| Field | Required | Description |
|---|---|---|
| Username | Yes | UNIS API username. |
| Password | Yes | UNIS API password. |
The node authenticates per request: it POSTs { username, password } to /user/login, reads the oAuthToken from the response, and then sends the operation with that token in the Authorization header. The UNIS API base URL is configured at the service level (deployment environment, default https://wise.logisticsteam.com/v2/shared/bam/v1/public), not on the node. If no token is returned, the node fails with Failed to obtain auth token.
Output
The node returns the raw UNIS API response for the selected action.
DN Import
{
"Orders": [
{
"CustomerId": "AUKINT0001",
"PONo": "",
"ReferenceNo": "1209129",
"ControlID": "CONTROL-8899000",
"WISEPOID": "DN-890123",
"Status": "Success",
"Error": "...."
}
]
}
If any entry in Orders contains an Error, the node throws that error message rather than returning the body.
RN Import
{
"Receipt": {
"CustomerID": "AUKINT0001",
"PONo": "1187494_2",
"ReferenceNo": [],
"Status": "Success",
"Error": []
}
}
DC Search By Paging
Returns an array of shipment confirmations; each entry carries FacilityID, CustomerID, ReferenceNo, PONo, a DC object (order header, Items, Cartons, tracking, etc.), and CreatedWhen:
[
{
"FacilityID": "889",
"CustomerID": "AUKINT0001",
"ReferenceNo": "Roy022501-3",
"PONo": "8957515451-3",
"DC": {
"OrderNo": "DN-94800",
"ShippedDate": "2020-06-18T02:09:01.083",
"Items": [ /* ... */ ],
"Cartons": [ /* ... */ ]
},
"CreatedWhen": "2020-06-18T02:10:02.37"
}
]
RC Search By Paging
Returns an array of receipt confirmations; each entry carries FacilityID, CustomerID, ReferenceNo, PONo, an RC object (receipt header, Items, lot/serial detail, etc.), and CreatedWhen:
[
{
"FacilityID": "889",
"CustomerID": "AUKINT0001",
"ReferenceNo": "1186074",
"PONo": "1030024158",
"RC": {
"WISEPOID": "RN-6250",
"ReceivedDate": "2020-05-22T12:21:11.799",
"Items": [ /* ... */ ]
},
"CreatedWhen": "2020-05-22T09:22:11.996"
}
]
Example Usage & Common Use Cases
Import an Outbound Order (DN)
[Build order] → [UNIS Client]
UNIS Client:
Action: DN Import
Company ID: {{ $json.companyId }}
Customer ID: {{ $json.customerId }}
Facility ID: {{ $json.facilityId }}
PO Content:
Reference No: {{ $json.referenceNo }}
Shipping Info: { Freight Term: PP, Ship Method: U }
Items:
- Item ID: {{ $json.sku }} Ordered Qty: {{ $json.qty }}
Status: Imported
Output: { Orders: [ { Status: "Success", WISEPOID: "DN-..." } ] }
Import an Inbound Receipt (RN)
UNIS Client:
Action: RN Import
Company ID / Customer ID / Facility ID: ...
ASN Content:
Supplier ID: {{ $json.supplierId }}
Purchase Order Number: {{ $json.po }}
Items:
- Item Number: {{ $json.item }} Expected Quantity: {{ $json.qty }} UOM: EA
Status: Imported
Output: { Receipt: { Status: "Success" } }
Poll for Shipment Confirmations (DC)
UNIS Client:
Action: DC Search By Paging
Company ID / Customer ID / Facility ID: ...
Reference No: {{ $json.referenceNo }}
Page Number: 1
Output: [ { DC: { OrderNo, Items, Cartons, ... } } ]
Poll for Receipt Confirmations (RC)
UNIS Client:
Action: RC Search By Paging
Company ID / Customer ID / Facility ID: ...
Created From: 2024-01-01T00:00:00
Created To: 2024-01-31T23:59:59
Page Number: 1
Output: [ { RC: { WISEPOID, ReceivedDate, Items, ... } } ]
How It Works
- Read parameters - The node reads the event parameters; if none are present it fails with
Error: No parameters found. - Load the credential - Looks up the attached
unisclientAuthcredential; if not found it fails withCredential [<id>] not found. - Authenticate - For every request it POSTs
{ username, password }to/user/loginand takesoAuthTokenfrom the response; a missing token fails withFailed to obtain auth token. - Build the body for the action:
- DN Import - Normalizes Freight Term and Ship Method (accepts code or label, case-insensitive; defaults to
CC/Uwhen unrecognized), defaults Carrier Name toUNKN, processes line items, removes empty fields, and forcesStatus: Imported. The body is validated against a JTD schema before sending; on failure it throwsValidation Error. <details>. - RN Import - Processes receipt items and cartons and assembles the ASN body.
- DC / RC Search - Builds a search body from the identifiers, PO/Reference filters, the created-date range, and wraps the page number as
Paging.PageNo.
- DN Import - Normalizes Freight Term and Ship Method (accepts code or label, case-insensitive; defaults to
- Send - POSTs the body to the action's endpoint with the auth token.
- Check for errors - For order responses, if any entry in
Orderscontains anError, the node throws that message; otherwise it returns the raw response data.
Best Practices
- Store the assigned IDs once - Company ID, Customer ID, and Facility ID are UNIS-assigned constants; keep them in a single upstream source (or environment) and reference them by expression.
- Use UNIS option codes - For Freight Term and Ship Method, prefer the documented codes; the node will coerce common labels but falls back to
CC/Uif a value is not recognized. - Supply Shipping Account No for Third Party Pay - When Freight Term is
TP, UNIS requires a shipping account number. - Page through search results - DC/RC searches are paged; increment Page Number until no more confirmations are returned.
- Inspect Status / Error in the response - Even on a successful HTTP call, confirm each order/receipt
StatusisSuccess; the node throws when an entry reports anError.
Troubleshooting
Common Issues
- "Error: No parameters found" - The node was invoked without parameters; ensure an action and its required fields are configured.
Credential [<id>] not found- The attached UNIS Client credential could not be loaded; reattach a valid credential.- "Failed to obtain auth token" - Login to
/user/logindid not return anoAuthToken; verify the username and password. - "Validation Error. ..." (DN Import) - The assembled order body failed schema validation (e.g. missing Item ID, Ordered Qty, Reference No, or Ship To required fields). The message lists the offending fields.
- Order/Receipt reports an Error - The UNIS API accepted the request but rejected the order; the node throws the
Errortext returned in theOrdersarray.
Debugging Tips
- Start with a search - A DC or RC search confirms credentials and the assigned IDs are correct before attempting an import.
- Validate required line fields - For DN Import, ensure each item has an Item ID and the Ship To required address fields are present, since these are schema-validated locally.
Related
- HTTP Request - For UNIS endpoints not covered by this node
- Set - Shape order/receipt fields before an import