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

Job Sheet Import

PUT
/ws/jobSheetImport
Job Sheet Import

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 10 requests per second per company.

Request

Header Params
Authorization
string 
optional
Basic Authorization. If not empty, this value will be used for authentication first. Otherwise, the username and password in the request message 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 for API caller authentication. This value will be ignored if the Authorization header is not empty.
password
string 
optional
Password for API caller authentication. This value will be ignored if the Authorization header is not empty.
jobSheets
array[object (ImportedJobSheet) {15}] 
required
List of job sheets to be imported. Up to 100 job sheets can be imported in a single request
sequence
integer <int32>
required
Sequence number
clientCode
string 
optional
Client company code for offline oTMS customers (applicable to carrier accounts)
clientReferenceNumber
string 
optional
System order identifier of the calling system
branch
string 
optional
Region name in region settings
externalShipmentID
string 
optional
External shipment ID of the job sheet, globally unique
cargoDetails
object (ImportedCargoDetails) 
required
transportMode
object (ImportedTransportMode) 
required
jobSheetOrders
array[object (ImportedJobSheetOrder) {5}] 
required
List of orders to be imported in the job sheet
>= 0 items<= 200 items
vendorCode
string 
optional
Carrier company code (automatic allocation)
cost
number 
optional
Total cost of the job sheet (automatic allocation)
>= 0
autoDispatch
boolean 
required
Whether to automatically dispatch the job sheet
Default:
false
applyTariffType
enum<string> 
optional
Method for matching job sheet tariff files
Allowed values:
DEFAULTORIGIN_DESTINATIONEVERY_DESTINATION
customFields
object (ImportedCustomFields) 
optional
container
object (ImportedContainer) 
optional
transportDistance
number 
optional
Transport distance
Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jobSheetImportRequest version="0.1" login="login" password="password">
    <jobSheets>
        <importedJobSheet sequence="1122">
            <externalShipmentID></externalShipmentID>
            <branch></branch>
            <applyTariffType>ORIGIN_DESTINATION</applyTariffType>
            <cargoDetails>
                <cargoType>1</cargoType>
                <packageType>A</packageType>
            </cargoDetails>
            <transportMode>
                <transportType>LTL</transportType>
                <truckType>2</truckType>
                <truckLength></truckLength>
                <truckCbmCapacity></truckCbmCapacity>
                <truckMtCapacity></truckMtCapacity>
            </transportMode>
            <autoDispatch></autoDispatch>
            <vendorCode></vendorCode>
            <cost></cost>
            <jobSheetOrders>
                <jobSheetOrder>
                    <clientCode>AXDHBMAV</clientCode>
                    <orderNumber/>
                    <erpNumber>241107002</erpNumber>
                    <sequence>1</sequence>
                </jobSheetOrder>
                <jobSheetOrder>
                    <clientCode>AXDHBMAV</clientCode>
                    <orderNumber>AXDHBMAV009881</orderNumber>
                    <erpNumber/>
                    <sequence>2</sequence>
                </jobSheetOrder>
            </jobSheetOrders>
        </importedJobSheet>
    </jobSheets>
</jobSheetImportRequest>

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 PUT 'https://login.otms.com/ws/jobSheetImport' \
--header 'Authorization;' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jobSheetImportRequest version="0.1" login="login" password="password">
    <jobSheets>
        <importedJobSheet sequence="1122">
            <externalShipmentID></externalShipmentID>
            <branch></branch>
            <applyTariffType>ORIGIN_DESTINATION</applyTariffType>
            <cargoDetails>
                <cargoType>1</cargoType>
                <packageType>A</packageType>
            </cargoDetails>
            <transportMode>
                <transportType>LTL</transportType>
                <truckType>2</truckType>
                <truckLength></truckLength>
                <truckCbmCapacity></truckCbmCapacity>
                <truckMtCapacity></truckMtCapacity>
            </transportMode>
            <autoDispatch></autoDispatch>
            <vendorCode></vendorCode>
            <cost></cost>
            <jobSheetOrders>
                <jobSheetOrder>
                    <clientCode>AXDHBMAV</clientCode>
                    <orderNumber/>
                    <erpNumber>241107002</erpNumber>
                    <sequence>1</sequence>
                </jobSheetOrder>
                <jobSheetOrder>
                    <clientCode>AXDHBMAV</clientCode>
                    <orderNumber>AXDHBMAV009881</orderNumber>
                    <erpNumber/>
                    <sequence>2</sequence>
                </jobSheetOrder>
            </jobSheetOrders>
        </importedJobSheet>
    </jobSheets>
</jobSheetImportRequest>'

Responses

🟢200成功
application/xml
successful operation
Body
version
string 
required
Response version number
responseCode
string 
optional
Global response code
jobSheets
array [object {5}] 
optional
List of processed job sheets
externalShipmentID
string 
optional
External shipment ID of the job sheet
importStatus
string 
optional
Import/dispatch status, possible values:
IMPORTED
NOT IMPORTED
DISPATCHED
NOT DISPATCHED
jobSheetOrdersResponse
array [object {3}] 
optional
Responses for each order in the job sheet
responseCodes
array [object {22}] 
optional
List of response codes, detailed explanation of the import result, may be empty
sequence
integer <int32>
optional
Sequence number of the job sheet
Example
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <version>string</version>
  <responseCode>string</responseCode>
  <jobSheet>
    <jobSheets>
      <externalShipmentID>string</externalShipmentID>
      <importStatus>string</importStatus>
      <jobSheetOrders>
        <jobSheetOrdersResponse>
          <orderNumber>string</orderNumber>
          <erpNumber>string</erpNumber>
          <responseCode>
            <responseCodes>
              <code>string</code>
            </responseCodes>
          </responseCode>
        </jobSheetOrdersResponse>
      </jobSheetOrders>
      <responseCode>
        <responseCodes>
          <1001>string</1001>
          <1035>string</1035>
          <1040>string</1040>
          <1093>string</1093>
          <1100>string</1100>
          <1102>string</1102>
          <1103>string</1103>
          <1104>string</1104>
          <1105>string</1105>
          <1106>string</1106>
          <1107>string</1107>
          <1108>string</1108>
          <1109>string</1109>
          <1110>string</1110>
          <1111>string</1111>
          <1112>string</1112>
          <1113>string</1113>
          <1114>string</1114>
          <1121>string</1121>
          <1122>string</1122>
          <1125>string</1125>
          <1126>string</1126>
        </responseCodes>
      </responseCode>
      <sequence>
        <_content>0</_content>
      </sequence>
    </jobSheets>
  </jobSheet>
</root>
Modified at 2025-06-06 02:46:48
Previous
Assign Driver to Order
Next
Delete Job Sheet
Built with