DTNA API Summary 

DTNA's API is a SOAP service, using certificate authentication with an HTTPS endpoint to transfer XML payloads.

Connection

  • Endpoint/DTNA URL: the Http connector endpoint.
  • Certificate: Certificate file (pfx).
  • Certificate Password: Password of the Certificate file.

Credentials
The HTTP call is made with certificate authentication, with the certificate being password protected, but each XML payload also includes a username and password.


Request data:

  • UserID: Username that including in XML Request data to access to server.
  • Password: Password that including in XML Request data to access to server.
  • Request Template:
    <?xml version="1.0" encoding="UTF-8?><ns0:MT_IF72_ASN_REQ xmlns:ns0="http://dcx.com.xi/paragon/services/IF72/Inbound_ASN">
    <Login>
    <UserID>{0}</UserID>
    <Password>{1}</Password>
    </Login>
    <Shipment>
    <ShipmentID>{2}</ShipmentID>
    <ShipmentDateTime>
    <ShipmentDate>{yyyyMMdd}</ShipmentDate>
    <ShipmentTime>{HHmmss}</ShipmentTime>
    <ShipmentTimeZone>{Match shipment date/time time zone. I use UTC since all my syncs standardize to UTC.}</ShipmentTimeZone>
    </ShipmentDateTime>
    <BillOfLading>{6}</BillOfLading>
    <TrailerID>{7}</TrailerID>
    <SCAC>{8}</SCAC>
    <ProNumber>{9}</ProNumber>
    <RouteDescription>{10}</RouteDescription>
    <CountOfPackages>{11}</CountOfPackages>
    <PackingListNumber>{12}</PackingListNumber>
    <ShipFromID>{13}</ShipFromID>
    <ShipFromName>Horton</ShipFromName>
    <ShipToID>{14}</ShipToID>
    <ShipToName>{15}</ShipToName>
    <Item>
    <LineNumber>{i0}</LineNumber>
    <OrderNumber>{i1}</OrderNumber>
    <PartNumber>{i2}</PartNumber>
    <Quantity>{i3}</Quantity>
    <CountryOfOrigin>{i4}</CountryOfOrigin>
    <Package>
    <PackageID>{p0}</PackageID>
    <Quantity>{p1}</Quantity>
    </Package>
    </Item>
    </Shipment>
    </ns0:MT_IF72_ASN_REQ>

***Note: Certificate is good until 2025-10-29.


HTTP Call

The attached "Supplier ASN webservice definitions and requirements" PDF is the most recent specification I have from DTNA. There were some changes to the format after the fact, so refer to the sample payload for the actual format. The spec document is still useful for concepts and loose formats.


Some failures, like a bad certificate, will use the HTTP status code (e.g. 401 Unauthorized), but it's best to always check if there is body content and parse it if available. For example, they might return "200 OK" with the response body including a "DUP<Text>{ShipmentId} is a duplicate shipment ID</Text>".