oTMS-openapi en
  1. oTMS API
oTMS-openapi en
  • oTMS API
    • Order Import
      PUT
    • orderOutbound
      POST
    • shipPointImport
      PUT
    • Delete delivery point
      DELETE
    • Order Assignment to Driver
      POST
    • TruckAndDriverImport
      PUT
    • Assign Driver to Order
      POST
    • Job Sheet Import
      PUT
    • Delete Job Sheet
      PUT
    • Order Recall
      POST
    • Share Link
      PUT
    • Carrier Export
      POST
    • Order Update
      PUT
    • Order Dispatch
      POST
    • Order Revoke
      PUT
    • Order Rating
      POST
    • Order Handover Creation
      PUT
    • Oorder Custom Update
      POST
    • Price File Matching
      POST
    • Order cost update
      POST
    • Shipper/Receiver export
      POST
    • Job Sheet Outbound
      POST
    • Job Sheet Recall
      PUT
    • TruckPosition
      POST
    • GPS Device
      POST
    • Jobsheet To Driver
      PUT
    • TrackandTrace
      POST
    • H5 Link
      PUT
  1. oTMS API

Oorder Custom Update

POST
/ws/orderCustomUpdate
Order Custom Text Field Update

Custom Text Field Update Interface for Orders#

Through the Custom Text Field Update Interface for Orders, large volumes of orders from different external systems, such as ERP systems and WMS systems, can be updated in bulk with custom text fields.

Configuration Instructions#

oTMS provides Web Service interfaces in both production and testing environments, where the testing environment is primarily used for integration testing. In both environments, API account credentials must be assigned by the oTMS system administrator before they can be used.

Important Notes#

Please use the public interfaces reasonably. If abnormal calls or any issues affecting system performance are detected, we will impose restrictions on the API account calls, or even deactivate them.

Call Limitations#

Currently, the call limit for this interface is set to a maximum of 20 requests per second per company.

Request

Header Params
Authorization
string 
optional
Basic Authorization. If not empty, this value will be used for authentication. Otherwise, the username and password in the request body will be used.
Default:
Body Params application/xml
version
string 
required
Version number of the request. Current version number is 0.1
login
string 
optional
Username. Used for API caller authentication. If the Authorization header is not empty, this value will be ignored.
password
string 
optional
Password. Used for API caller authentication. If the Authorization header is not empty, this value will be ignored.
orders
array[object (UpdatedOrderCustomField) {6}] 
required
List of orders to be updated. A single request can update up to 100 orders.
sequence
integer <int32>
required
Sequence number
clientCode
string 
optional
oTMS offline customer company code (applicable for carrier accounts)
clientReferenceNumber
string 
optional
Identifier of the order in the calling system
erpNumber
string 
optional
Unique order number in the external system
orderNumber
string 
optional
oTMS order number. If an erpNumber is provided, the oTMS order number is considered invalid.
customFields
object (UpdatedCustomFields) 
optional
Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<orderCustomUpdateRequest version="0.1" login="login" password="password">
    <orders>
        <order sequence="1">
            <erpNumber>241108001</erpNumber>
            <customFields>
                <customText3>customText3</customText3>
                <customText4>customText4</customText4>
                <customText5>customText5</customText5>
                <customText6>customText6</customText6>
                <customNum3>333.33</customNum3>
                <customEnum1>Cat 1</customEnum1>
                <customEnum2>12</customEnum2>
            </customFields>
        </order>
    </orders>
</orderCustomUpdateRequest>

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://login.otms.com/ws/orderCustomUpdate' \
--header 'Authorization;' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<orderCustomUpdateRequest version="0.1" login="login" password="password">
    <orders>
        <order sequence="1">
            <erpNumber>241108001</erpNumber>
            <customFields>
                <customText3>customText3</customText3>
                <customText4>customText4</customText4>
                <customText5>customText5</customText5>
                <customText6>customText6</customText6>
                <customNum3>333.33</customNum3>
                <customEnum1>Cat 1</customEnum1>
                <customEnum2>12</customEnum2>
            </customFields>
        </order>
    </orders>
</orderCustomUpdateRequest>'

Responses

🟢200成功
application/xml
Successful operation
Body
version
string 
required
Response version number
responseCode
string 
optional
Global feedback code
processedOrders
string 
optional
Number of orders processed
orders
array[object (UpdateResult) {7}] 
optional
List of processed orders
sequence
integer <int32>
optional
Sequence number
erpNumber
string 
optional
ERP order number
orderNumber
string 
optional
oTMS order number
updateStatus
string 
optional
DRAFT - Order is in draft status after update
UPDATED - Order updated successfully
FAILED - Order update failed
NOT UPDATED - Order was not updated
strResponseCodes
array[string]
optional
errorColumnName
string 
optional
Corresponding field name
strErrorMsgs
array[string]
optional
Error code prompt
object 
optional
Single request feedback code
7000
string 
optional
customer code not found.
7001
string 
optional
is an invalid data type.
7003
string 
optional
The matching result for order is not unique.
7004
string 
optional
user's regional permissions do not match.
7006
string 
optional
Order does not belong to the company.
7008
string 
optional
Orders with received receipts are not allowed to be updated.
7009
string 
optional
Order does not exist.
7043
string 
optional
custom fields cannot be recognized - it is possible that the company has already cancelled the custom fields. The order cannot be updated.
7044
string 
optional
Undefined custom field enumeration values. The order cannot be updated.
7045
string 
optional
Custom fields not enabled, will ignore updating custom fields in orders.
7046
string 
optional
Order is missing mandatory custom fields. The order cannot be updated.
7051
string 
optional
When updating orders through erpNumber, carrier account must provide a client code.
7054
string 
optional
order optimization in progress, update rejected.
7100
string 
optional
other errors.
Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<orderUpdateResponse version="0.1">
    <responseCode></responseCode>
    <processedOrders>1</processedOrders>
    <orders>
        <order sequence="1">
            <erpNumber>241108001</erpNumber>
            <orderNumber>AXDHBMAV009887</orderNumber>
            <updateStatus>UPDATED</updateStatus>
            <responseCodes/>
        </order>
    </orders>
</orderUpdateResponse>
Previous
Order Handover Creation
Next
Price File Matching
Built with