Last updated: June 26th, 2023

Introduction

Our API is built around REST which will be secured using Oauth2 (client credential grant type). The general work flow is, we’ll generate a client id and client secret for our API users that they can use to get Authentication token (JWT format) that will expire every seven days. With a valid token they will be able to access our resources as JSON. For expired tokens, any request will yield 401 unauthorized response which should be indication to get a new token on their end. We’ll also have details on WWW-Authenticate header for 401 response like below:

WWW-Authenticate →Bearer error="expired_token",realm="vapi",error_description="JWT expired at 2017-07-19T22:32:56-0400. 
Current time: 2017-07-22T23:00:47-0400"

Useful Tip:

We at Pak Energy love Postman to test APIs before implementing them.

Authentication

Getting Token

Before generating access token, users will have to contact Welltrax and get their client-id and client-secret. Then they can make following request using their credentials on our token end point to generate their access token. (Note grant_type is client_credentials)


POST /ticketAPI/v1/token HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

grant_type=client_credentials&client_id={your-client-id}&client_secret={your-client-secret}
        

Response

A successful request will give the response like following with JWT token (Note expires_in is in milliseconds and token type is Bearer).

{
        "expires_in": 604800000,
        "token_type": "BEARER",
        "access_token": "eyJhbGciOiJINzI1NiJ9.eyJqdGkiOiJwZHMiLCJpYXQiKjE1MDA3ODE3MTcsInN1YiI6IjVlNjM2Y2QwYTU3NzI4MTQyOTEwNGVjYTNlMmY5ZDIzIiwiaXNzIjoidGVzdE9hdXRoMkNsaWVudFNlY3JldFBEUyIsImF1ZCI6IiIsImV4cCI6MTUwMTM4NjUxN30._gTmj3RuVZg_SPAwZ3EgEtnMQzrmkBV9ThqzpsLI1qg"
}

Errors

Token end point will generate 401 unauthorized error if client_id or/and client_secret are wrong. It will generate 400 Bad request if grant_type isn't correctly specified.

Resources

Once users have been authenticated, they can use their access token until it expires to make calls to our resource end point. Currently Welltrax supports read-only access to our Pickup and Drop-off tickets served as list of JSON object.

Getting Tickets

Welltrax has several customers with separate database where tickets are stored. If users have access to those customers they can make following request on our resource end point to get ticket pickup or dropoff data. We have ticket search object that users can post as JSON on request body to get their desired result. The company they are accessing is passed as path param. (Note that Authorization Header has Bearer and space before access token.)


POST /ticketAPI/v1/tickets/{company_name} HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

{
	"dateRangeStart":{"date":"07/27/2017", "time":"17:00"},
	"dateRangeEnd":{"date":"07/27/2017", "time":"18:00"},
        "incompleteLoadDateTime":{"date":"07/27/2017", "time":"18:00"},
	"dateType": "DROP_OFF_COMPLETED"
}
        
We take custom date input on MM/DD/YYYY format as above, so users will have to deal with timezone the requested company is to get tickets between dateRangeStart and dateRangeEnd. We'll eventually implement Pagination, until then users are restricted with max 15 days of tickets on a single request. Permissible values for dateType are LOAD_CREATION, REQUESTED_PICKUP, DISPATCHER_ASSIGNED, DRIVER_ACCEPTED, PICK_UP_ARRIVAL, PICK_UP_SEAL_OFF, PICK_UP_SEAL_ON, PICK_UP_PICKUP, DROP_OFF_ARRIVAL, DROP_OFF_COMPLETED, LAST_AUDITED and LAST_LOAD_OR_TICKET_MODIFIED.

LAST_AUDITED will give only tickets that are updated by dispatch during the specified date/time range.
LAST_LOAD_OR_TICKET_MODIFIED will give tickets that are completed/rejected/cancelled or updated by dispatch during the specified date/time range (combination of DROP_OFF_COMPLETED and LAST_AUDITED and any change to LOAD including creation of load, load-update, load-dropped/assigned/canceled/accepted and completed by driver).

User can always narrow down their search using following if they don't want ONGOING loads that are being modified.
{
    "statusList":["COMPLETE", "REJECT"]
}
Besides usual search with date-range, API also supports specific search using bill of lading number (BOL number), ticket number, and confirmation number sent as list, in cases when users know them. Please specify them individually on body without any date-range as example shown below:
{
	"bolList":["000000065"]
}
{
	"ticketNumberList":["000000033101", "000000037101", "000000044101"]
}
{
	"confirmationNumberList":["CHKJ-6-AS", "CHKJ-38-AS"]
}
{
	"audited":"No"
}
(Default is "ALL" - can send "No" for un-audited/un-reviewed tickets and "Yes" for audited/reviewed tickets. NOTE: isAudited will show on dropoff tickets too but is not relevant.)
{
	"includeTicketRatingLastModDate":true
}
(Default is false - when true, if searching by LAST_LOAD_OR_TICKET_MODIFIED, then the search will also look at the Ticket Rating last modified date too)

{
	"commodityName":"CRUDE"
}

{
	"commodityNameList":["CRUDE","PROPANE"]
}

{
	"accountNameList":["MAIN-123","CAMPUS-321"]
}

{
	"accountHostIdList":["ACCT123","ACCT321"]
}

{
	"operatorNameList":["JOHN123","MARY321"]
}

{
	"operatorHostIdList":["OPER123","OPER321"]
}

The user has also pagination options to organize the information to be displayed. The property "limit" defines the number of loads to be processed. It its an integer number from 1 to 15 000. The property "offset" defines the page of the results to be retrieved. It is an integer number from 1 to 500. If existing loads with tickets are 20 and a limit of 10 and offset of 1 are set, you will see the tickets for the first 10 loads. The following example would display the tickets from loads 11 to 20.
{
    "offset":2, "limit":10
}

Response

A successful request will yeild list of detailed JSON of schedule entries for each load assigned to a driver as below. Each schedule entries object contains load and ticket object among other fields. Ticket object contains one or more ticket pick up (but for API, every ticket will be separate JSON, so list contains a single pick up object) and a single ticket drop object. Our JSON object have predictable and intuitive fields that you can drill-down to get detailed information as per requirement.

Useful Tip:

This is a very handy online JSON viewer to visualize long boring JSONs.

Errors

Resource end point will generate intuitive HTTP error status with detailed error description in event of unsuccessful request. Following are some of them:
● 400 Bad Reqest when JSON cannot be mapped to search object or cannot be processed as it is.

{
    "error": "Couldn't map JSON to ticket search object. Unparseable date: \"05-05-2017 01:00\" (through reference chain: com.vertrax.api.ws.models.TicketSearchCriteria[\"fromDate\"]->com.vertrax.api.ws.models.DateTime[\"sqldate\"])"
}
{
    "error": "Supplied date range exceeds total allowed minutes. Minutes allowed currently: 21600"
}
● 403 Forbidden if Welltrax company isn't granting access to it's resources.
{
    "error": "This database is inaccessible with your credentials."
}
● 503 Service Unavailable if Welltrax company is not avilable for any reason.
{
    "error": "Couldn't get valid response from company {company_name}"
}

Inbound API


Useful Tips!:

1) The following field allows selective values to be sent and means you are in 'Update' mode. In most cases, all that is required is the hostId value. The unsent remaining fields are unaffected:

"isApiPartialUpdate": true

2) For New entries, the Required fields are Red and Bold down below.

Operator

Input JSON (Complete)

POST /WAPI_TMS11/api/v2/client/operator HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "operatorNumber": "Operator Number",
    "hostId":"UniqueID", 
    "operatorName": "OPERATOR NAME", 
    "federalId":"123",
    "operatorGeocode": {
      "latitude": 41.25,
      "longitude": -110.12
    },
    "operatorNotes": "Operator notes.",
    "operatorIsActive": true,
    "operatorCommodity": [
      {
        "name": "CRUDE"
      },
      {
        "name": "SAND"
      }
    ],
    "contact":{
	  "streetLine1":"",
	  "streetLine2":"",
	  "streetLine3":"",
	  "fullName":"A AND C OIL 2",
	  "city":"",
	  "county":"",
	  "state":"",
	  "zip":"",
	  "country":"USA"
	},
    "operatorPhonebook": [
      {
        "name": "JOHNNY WALKER",
        "phone1": 9595959591,
        "phone2": 9595959592,
        "email1": "hello@jt.com",
        "email2": "hell2@kt.com"
      },
      {
        "name": "JOE DOE",
        "phone1": 6415287596,
        "phone2": 6415287596,
        "email1": "hello@jt.com",
        "email2": "hell2@kt.com"
      }
    ]
  }
]
                
  Input JSON (using isApiPartialUpdate)

POST /WAPI_TMS11/api/v2/client/operator HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
    {
        "isApiPartialUpdate": true,
        "hostId": "UniqueID"
    }
]
            
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode? Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
operatorNumber Operator Number String 10 Number as String Format eg. "123".
hostId Unique Identifier String 128 String format.
operatorName Operator Name String 128 Unique as a per operator.
operatorId Operator Internal DB Id Integer 10 Internal DB Id that can be used for lookup
operatorGeocode Operator Geocode String 128 Geocodes of the operator.
operatorGeocode.latitude Map location latitude Double
operatorGeocode.longitude Map location longitude Double
operatorNotes Operator notes String 1024
operatorIsActive Operator Active/Inactive Boolean
federalId Federal Id String 64 Alphanumeric federal Id number.
operatorCommodity List of commodity name
operatorCommodity.name Operator commodity name String 32
contact Operator Contact
contact.streetLine1 Operator Address line 1 String 64
contact.streetLine2 Operator Address line 2 String 64
contact.streetLine3 Operator Address line 3 String 64
contact.city Operator city name String 64
contact.county Operator county String 64
contact.state Operator state name String 2
contact.zip Zip String 5
contact.country Operator country String 3
operatorPhonebook Operator Phonebook String List of phonebook details.
operatorPhonebook.name Operator phonebook person name String 128
operatorPhonebook.phone1 Phone number Long 18
operatorPhonebook.phone2 Phone number Long 18
operatorPhonebook.email1 Email ID String 64 Mail Identifier.
operatorPhonebook.email2 Email ID String 64 Mail Identifier.

Pick Up

Input JSON And Output JSON

POST /WAPI_TMS11/api/v2/client/pickup HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {    
    "accountName": "ACCOUNT NAME",
    "hostId":"Account UniqueID",
    "pickUpList": [
    {
        "commodityName": "CRUDE",
        "hostId":"PU UniqueID",
        "accountDistricthostID": "District uniqueID",
        "federalPickUpName": "50",
        "pickupName": "PICKUP NAME",
        "status": true,
        "operatorHstID": "Operator UniqueID",
        "longitude": -82.467176,
        "latitude": 34.257192,
        "legalDesc": "legalDesc 10.23_1",
        "leaseNumberAlphaNumeric": "56756456567",
        "layoutName": "PICK UP",
        "referenceNo": "PU REF 123",
        "writtenDirections": "ATTN: ONLY ABLE TO LOADS BETWEEN NOON AND 3AM.",
        "sulphur": 111.33,
        "region": "PERMIAN",
        "statePickUpNo": "RRC",
        "h2sHazard": "YES",
        "dryHaul": false,
        "bobTailLoad": false,
        "dayCab": false,
        "receiptImageRequired": false,
        "receiptNumberRequired": false,
        "skipLocationOnTablet": false,
        "hasEntryPoint": true,
        "entryPointLatitude": 90.000, 
        "entryPointLongitude": 90.000,
        "postEntryPointDirections": "GO HERE AND THEN THERE",
        "postEntryPointMiles": 5,
        "roughRoadRoundTripMiles": 2,
        "defaultGaugeType": "TRAILER",
        "lockDefaultGaugeType": true,
        "defaultProductType": "UN1268, PETROLEUM DISTILLATES N.O.S., 3, PG II",
        "pickupDefaultCF": 1.0002,
        "lockCF": true,
        "marketerBuyer": "BRENERGY",
        "marketerBuyerLocked": true,
        "siteInstruction": "GET IT",
        "pickUpCustom1": "custom1",
        "pickUpCustom2": "custom2",
        "pickUpCustom3": "custom3",
        "averageSpeed": 45,
        "averageGravity": 0,
        "averageLoadTime": 60,
        "averageWaitTime": 5,
        "grade": "50",
        "isSuspended": false,
        "suspendedNotes": "PU SUSPENDED NOTES",
        "suspendedEffectiveDate": "12/14/2022",
        "defaultDriverFirstName": "MARK",
        "defaultDriverLastName": "SMITH",
        "defaultDriverHostID": "MSDRIV123",
        "timingList": [
          {
            "timingDay": "MON",
            "timingStartTime": "0800",
            "timingEndTime": "1700"
          },
          {
            "timingDay": "TUE",
            "timingStartTime": "0900",
            "timingEndTime": "1600"
          }
        ],
        "terminalNameList": [
            {
                "hostID" :"UniqueID",
                "terminalName" :"TERMINAL NAME"
            }
        ],
		"subTerminal":[
              
         {
            "subTerminalName":"TESTxy"
          
         },
         {
           "subTerminalName":"TESTS10"
          
		 }
        ],
        "defaultDropOff": [
            {
                "hostID": "Dropoff UniqueID"
            }
        ],                
        "tanksList": [
          {
            "hostID":"Tank UniqueID",
            "tankStrapType": "INCREMENTAL",
            "oilDeckNo": 2,
            "isTankInfoAvailableFeature": false,
            "modelNo": "D",
            "tankNumber": "INCTANK 234",
            "meterId": "SD",
            "minBottomGauge": 34.0,
            "tankIsActive": true,
            "tankSequenceNo": 1,
            "mfdNo": "E",
            "capacity": 34.0,
            "barrelsPerInch": 5,
            "defaultCF": 1.0000,
            "tankIsActive": true,
			"isToBeReviewed": false,
            "tankStrapList": [
              {
                "strapTankStartHeight": 34.257192,
                "strapTankEndHeight": 34.257192,
                "strapTankBPI": 34.26,
                "strapSequenceNo": 5
              },
              {
                "strapTankStartHeight": 35.257192,
                "strapTankEndHeight": 35.257192,
                "strapTankBPI": 35.39,
                "strapSequenceNo": 7
              }
            ]
          },
          {
            "hostId":"Tank UniqueID",
            "tankStrapType": "GENERIC",
            "oilDeckNo": 2,
            "isTankInfoAvailableFeature": false,
            "modelNo": "TA6-D",
            "tankNumber": "GEN 55",
            "meterId": "55SD",
            "minBottomGauge": 40.5,
            "tankIsActive": true,
            "tankSequenceNo": 1,
            "mfdNo": "E2",
            "capacity": 900.0,
			"isToBeReviewed": false
          }
        ],
        "contractsList": [
          {
            "hostId" : "98455",
          },
          {
            "hostId" : "98456",
          }
        ],
        "pickupPhonebook": [
          {
            "name": "joe1",
            "phone1": 7575757575,
            "phone2": 7676767676,
            "email1": "hello@jt.com",
            "email2": "hell2@kt.com"
          }
        ],
        "contact": {
          "streetLine1": "114 WASH AVE.",
          "streetLine2": "SUITE 23",
          "streetLine3": "",
          "city": "NEW HAVEN",
          "county": "Galveston",
          "state": "TX",
          "zip": "06523",
          "country": "USA"	
        }
      }
    ]
  }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode? Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
accountName Account name String 128 Pickup wich below to Account.
hostId Unique Account ID String 128
accountId Account Internal DB Id Integer 10 Internal DB Id that can be used for lookup of Account
pickUpList List of Pick Ups
pickUpList.commodityName Commodity name String 32
pickUpList.hostId Unique ID for PickUp String 128
pickupId PickUp Internal DB Id Integer 10 Internal PickUp DB Id that can be used for lookup of PickUp
pickUpList.leaseNumberAlphaNumeric Pickup Number String 64 PIck Up Number field - alphanumeric
pickUpList.layoutName Tablet Pickup Form String 32 Tablet Pickup Form's Layout Name
pickUpList.referenceNo Reference Number String 64 DropOff Reference Number
pickUpList.accountDistricthostID District Account Host Id String 128
pickUpList.federalPickUpName Federal name String Unique as a per Pickup.
pickUpList.pickupName Pickup name String 128
pickUpList.status Active/Inactive Boolean Pickup operator.
pickUpList.operatorHstID Operator Host Id String 128
pickUpList.longitude Map location longitude Double
pickUpList.latitude Map location latitude Double
pickUpList.legalDesc Description String Legal description.
pickUpList.writtenDirections Written directions String Written directions to the location.
pickUpList.sulphur Sulphur Double Average Sulphur.
pickUpList.region Oil field String Oil field name.
pickUpList.statePickUpNo RRC String RRC number.
pickUpList.h2sHazard H2S Hazard String H2S Hazard Type setting - must exist in system.
pickUpList.dryHaul Dry Haul Boolean Is this a Dry Haul?
pickUpList.bobTailLoad Bob Tail Load Boolean Is this a Bob Tail Load?
pickUpList.dayCab Day Cab Boolean Is this a Day Cab?
pickUpList.receiptImageRequired Require Receipt Photo Boolean Do they require a receipt photo?
pickUpList.receiptNumberRequired Require Receipt Number Boolean Do they require a receipt number?
pickUpList.skipLocationOnTablet Skip Location on Tablet Boolean Skip this Location on the Tablet?
pickUpList.hasEntryPoint Has Entry Point Boolean This Pickup has an Entry Point?
pickUpList.entryPointLatitude Entry Point Latitude Double Entry Point's Latitude
pickUpList.entryPointLongitude Entry Point Longitude Double Entry Point's Longitude
pickUpList.postEntryPointDirections Post Entry Point Directions String Point Entry Point Directions
pickUpList.postEntryPointMiles Post Entry Point Miles Integer Post Entry Point Miles
pickUpList.roughRoadRoundTripMiles Rough Road Round Trip Miles Integer Rough Road Round Trip Miles
pickUpList.defaultGaugeType Default Guage Type String Options are HAND, TRAILER, and LACT
pickUpList.lockDefaultGaugeType Lock Default Guage Type Boolean Lock the Default Guage Type?
pickUpList.defaultProductType Default Product Type String Default Product Type - must exist in the system
pickUpList.pickupDefaultCF Default Correction Factor Double Default Correction Factor
pickUpList.lockCF Lock Default Correction Factor Boolean Lock the Default Correction Factor?
pickUpList.marketerBuyer Marketer Buyer String Marketer Buyer - must exist in the system
pickUpList.marketerBuyerLocked Marketer Buyer Locked Boolean Marketer Buyer is Locked?
pickUpList.siteInstruction Pickup Instructions String Pickup Instruction
pickUpList.pickUpCustom1 Pickup Custom field 1 String Pickup Custom field 1
pickUpList.pickUpCustom2 Pickup Custom field 2 String Pickup Custom field 2
pickUpList.pickUpCustom3 Pickup Custom field 3 String Pickup Custom field 3
pickUpList.averageSpeed Average Speed Integer Average Speed
pickUpList.averageGravity Average Gravity Double Average Gravity
pickUpList.averageLoadTime Average Load Time Integer Average Load Time
pickUpList.averageWaitTime Average Wait Time Integer Average Wait Time
pickUpList.grade Grade String Grade
pickUpList.isSuspended IsSuspended Boolean The Pickup is Suspended
pickUpList.suspendedNotes SuspendedNotes String The Pickup suspended notes.
pickUpList.suspendedEffectiveDate Suspended Effective Date String Date string format: MM/dd/yyyy (Ex. 08/28/2022)
pickUpList.timingList Timing List Object For setting Hours available to Work (needs one entry per day of the week)
pickUpList.timingList.timingDay Timing Day of the Week String 3 Options available are MON,TUE,WED,THU,FRI,SAT, or SUN
pickUpList.timingList.timingStartTime Timing Start Time String 4 Sent in military/24-hour format like: 1600 for 4 pm)
pickUpList.timingList.timingStartTime Timing End Time String 4 Sent in military/24-hour format like: 1600 for 4 pm)
pickUpList.terminalNameList Terminal list Object
pickUpList.terminalNameList.hostID Unique ID for the terminal String 128 Host ID of the terminal.
pickUpList.terminalNameList.terminalName Terminal name String 128
pickUpList.defaultDropOff Default Drop Off Object
pickUpList.defaultDropOff.hostID Drop off unique ID String 128 Host ID of dropoff location.
pickUpList.tanksList Tank List Object List of tanks.
pickUpList.tanksList.hostID Tank unique ID String 128
pickUpList.tanksList.tankStrapType Tank strap type String
pickUpList.tanksList.oilDeckNo Oil deck number Integer
pickUpList.tanksList.isTankInfoAvailableFeature Is tank info available feature Boolean
pickUpList.tanksList.modelNo Model number of tank String Number as String Format eg. "123".
pickUpList.tanksList.tankNumber Tank number String 64 Number as String Format eg. "123".
pickUpList.tanksList.meterId Meter String
pickUpList.tanksList.minBottomGauge Min Bottom Quantity Double
pickUpList.tanksList.tankIsActive Active / Inactive Boolean
pickUpList.tanksList.tankSequenceNo Tank sequence number Integer
pickUpList.tanksList.mfdNo Manufacturer number String 64
pickUpList.tanksList.capacity Tank capacity Double
pickUpList.tanksList.barrelsPerInch Barrels Per Inch Integer Barrels Per Inch
pickUpList.tanksList.defaultCF Tank's Default Correction Factor Double Default Correction Factor
pickUpList.tanksList.isToBeReviewed Reviewed / Need Review Boolean false means Reviewed, true means Needs Review
pickUpList.tanksList.tankStrapList Tank Strap List
pickUpList.tanksList.tankStrapList.strapTankStartHeight Strap start height Double
pickUpList.tanksList.tankStrapList.strapTankEndHeight Strap end height Double
pickUpList.tanksList.tankStrapList.strapTankBPI Strap BPI Double
pickUpList.tanksList.tankStrapList.strapSequenceNo Strap sequence number Integer
pickUpList.contractsList Contract List Object
pickUpList.contractsList.hostId Unique ID for Contract String 128
pickUpList.pickupPhonebook.phone1 Phone number Long 18
pickUpList.pickupPhonebook.phone2 Phone number Long 18
pickUpList.pickupPhonebook.email1 Email ID String 64 Mail Identifier.
pickUpList.pickupPhonebook.email2 Email ID String 64 Mail Identifier.
pickUpList.contact Pickup Contact
pickUpList.contact.streetLine1 Pickup Address String 64
pickUpList.contact.streetLine2 Pickup Address String 64
pickUpList.contact.streetLine3 Pickup Address String 64
pickUpList.contact.city Pickup city name String 64
pickUpList.contact.county Pickup county String 64
pickUpList.contact.state Pickup state name String 2
pickUpList.contact.zip Zip String 5
pickUpList.contact.country Pickup country String 3
pickUpList.defaultDriverFirstName Driver First Name String 64 For setting the Default Driver (Last is required too)
pickUpList.defaultDriverLastName Driver Last Name String 64 For setting the Default Driver (First is required too)
pickUpList.defaultDriverHostID Driver HostID String 64 For setting the Default Driver (can use instead of name)

Account

Input JSON (FULL)

POST /WAPI_TMS11/api/v2/client/account HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "accountName": "ACCOUNT NAME",
    "hostId":"Account UniqueID",
    "isActive": true,
    "districtAccount": [
      {
        "hostID":"District UniqueID",
        "name": "DISTRICT NAME",
        "status": true,
        "zip": "06523",
        "streetLine1": "114 WASH AVE.",
        "streetLine2": "SUITE 23",
        "streetLine3": "END 2",
        "city": "NEW HAVEN",
        "county": "Galveston",
        "state": "TX",
        "country": "USA"
      }
    ],
    "abbreviatedName": "T",
    "accountCommodity": [
      {
        "name": "CRUDE"
      }
    ],
    "address": {
      "streetLine1": "114 WASH AVE.",
      "streetLine2": "SUITE 23",
      "streetLine3": "END 3",
      "city": "NEW HAVEN",
      "county": "Galveston",
      "state": "TX",
      "zip": "06523",
      "country": "USA"
    },
    "accountPhonebook": [
      {
        "name": "TEST PHONE NAME",
        "phone1": 6415287596,
        "phone2": 6415287596,
        "email1": "hello@jt.com",
        "email2": "hell2@kt.com"

      }
    ]
  }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode? Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
accountName Account name String 128
hostId Unique ID for Account String 128
accountId Account Internal DB Id Integer 10 Internal Account DB Id that can be used for lookup of Account
isActive Active/Inactive Boolean
districtAccount Account district Object
districtAccount.hostID Unique ID for Account District String 128
districtAccount.name District account name String 128
districtAccount.status Active/Inactive Boolean
districtAccount.zip District Account zip String 5
districtAccount.streetLine1 District Account address String 64
districtAccount.streetLine2 District Account address String 64
districtAccount.streetLine3 District Account address String 64
districtAccount.city District Account city String 64
districtAccount.county District Account county String 3
districtAccount.state District Account state String 64
districtAccount.country District Account country String 64
abbreviatedName Abbreviated Account name String 64
accountCommodity List List of commodity name.
accountCommodity[].name Commodity name String 32
address Account address Object
address.streetLine1 Account address String 64
address.streetLine2 Account address String 64
address.streetLine3 Account address String 64
address.city Account city String 64
address.county Account county String 3
address.state Account state String 2
address.zip Account address zip String 5
address.country Account country String 3
accountPhonebook List of Phonebooks List
accountPhonebook[].name Account contact person name String 128
accountPhonebook[].phone1 Phone number Long 18
accountPhonebook[].phone2 Phone number Long 18
accountPhonebook[].email1 Email ID String 64 Mail Identifier.
accountPhonebook[].email2 Email ID String 64 Mail Identifier.

Terminal

Input JSON (FULL)

POST /WAPI_TMS11/api/v2/client/terminal HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "hierarchyName": "PAISAN LOGISTICS",
    "terminalName": "TERMINAL NAME",
    "hostId": "UniqueID",
    "status": true,
    "speed": 3,
    "barrelsPerLoad": 3,
    "actualPerLoad": 4,
    "address": {
        "streetLine1": "114 WASH AVE.",
        "streetLine2": "SUITE 23",
        "streetLine3": "END",
        "city": "NEW HAVEN",
        "county": "Galveston",
        "state": "TX",
        "zip": "06523",
        "country": "USA",
        "timeZone": 2,
        "longitude": -82.467176,
        "latitude": 34.257192
    },
    "terminalPhonebook": [
      {
        "name": "TEST PHONE NAME",
        "phone1": 6415287596,
        "phone2": 6415287596,
        "email1": "hello@jt.com",
        "email2": "hell2@kt.com"
      }
    ],
	 "subTerminal":[
        {
            "subTerminalName":"TS510",
            "subTerminalHostId":"TS510",
            "address": {
            "streetLine1":"10s",
            "streetLine2":"20s",
            "longitude": -81.467176,
            "latitude": 31.257192
            }
        }
	],
    "terminalCommodity": [
      {
        "name": "CRUDE"
      }
    ]
  }
]
                
  Input JSON (using isApiPartialUpdate)

POST /WAPI_TMS11/api/v2/client/terminal HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
    {
        "isApiPartialUpdate": true,
        "hierarchyName": "PAISAN LOGISTICS",
        "terminalName": "Test Terminal2",
        "hostId": "UniqueID",
        "status": true,
        "terminalCommodity": [
            {
                "name": "CRUDE"
            },
            {
                "name": "SAND"
            }
        ]
    }
]
                
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode? Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
terminalName Terminal name String 128
hierarchyName Hierarchy name String 128
hostId Unique ID String 128 Unique as a per Terminal.
status Active/Inactive Boolean
speed Speed Integer Average Speed.
barrelsPerLoad Barrels per load Integer Average Barrels Per Load.
actualPerLoad Actual barrel per load Integer Actual barrels per Load.
address Address Object Terminal address
address.streetLine1 Terminal address String 64
address.streetLine2 Terminal address String 64
address.streetLine3 Terminal address String 64
address.city City name String 64
address.county County name String 16
address.state Terminal state String 2 2 digit state code.
address.zip Terminal address zip String 5
address.country Country name String 64
address.timeZone Time zone Integer
address.longitude Map longitude Double
address.latitude Map latitude Double
terminalPhonebook List Contact Phonebook list.
terminalPhonebook[].name Contact person name String 128 Contact list.
terminalPhonebook[].phone1 Phone number Long 18
terminalPhonebook[].phone2 Phone number Long 18
terminalPhonebook[].email1 Email ID String 64 Mail Identifier.
terminalPhonebook[].email2 Email ID String 64 Mail Identifier.
terminalCommodity List Terminal commodity list.
terminalCommodity[].name Commodity name String 32
subTerminal[].subTerminalName SubTerminal Name String 64
subTerminal[].subTerminalHostId SubTerminal Name String 64
subTerminal[].address.streetLine1 SubTerminal Address streetLine1 String 64
subTerminal[].address.streetLine2 SubTerminal Address streetLine2 String 64
subTerminal[].address.latitude SubTerminal latitude Double
subTerminal[].address.longitude SubTerminal longitude Double

Scenario

Input JSON And Output JSON

POST /WAPI_TMS11/api/v1/client/scenario HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "hostId": "Scenario UniqueID",
    "averageSpeed": 2022,
    "loadedMiles": 777,
    "isActive": true,
    "notes": "Test notes",
    "pickUp": {
      "pickUpAccountName": "PICKUP ACCOUNT NAME",
      "pickupAcctHostID":"Pickup Account UniqueID",
      "pickUpName": "PICKUP NAME",
      "pickuphostId":"PICKUP UniqueID"
    },
    "dropOff": {
      "dropOffAccountName": "DROP OFF ACCOUNT NAME",
      "dropaccthostId": "Drop Off Account UniqueID",
      "dropOffName": "DROPOFF NAME",
    },
    "contractsList": [
      {
        "hostId" : "98455",
      },
      {
        "hostId" : "98456",
      }
    ]
 }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode? Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
hostId Unique ID String 128
scenarioId Scenario Internal DB Id Integer 10 Internal Scenario DB Id that can be used for lookup of Scenario
isActive Active Status Boolean Active status?
averageSpeed Average Speed Integer
loadedMiles Loaded miles Integer
notes Journey Management Notes String 1024 Notes
effectiveDate Effective Date String Date string format: MM/dd/yyyy (Ex. 08/28/2022) - If this is set, then all loads on or after this date will be updated with these values.
pickUp Pickup for Scenario Object
pickUp.pickUpAccountName Pickup Account name String 128
pickUp.pickupAcctHostID Pickup Account host unique ID String 128
pickUpAccountId Account Internal DB Id Integer 10 Internal Account DB Id that can be used for lookup of PickUp's Account
pickUp.pickUpName Pickup name String 128
pickUp.pickUpNumber Pickup Number String 128
pickUp.pickUpHostID Pickup unique host ID String 128
pickUpId PickUp Internal DB Id Integer 10 Internal PickUp DB Id that can be used for lookup of PickUp
dropOff Drop Off for Scenario Object
dropOff.dropOffAccountName DropOff Account name String 128
dropOffAccountId Account Internal DB Id Integer 10 Internal Account DB Id that can be used for lookup of DropOff's Account
dropOff.dropaccthostId DropOff Account host unique ID String 128
dropOff.dropOffName drop off name String 128
dropOff.dropOffNumber drop off number String 128
dropOff.dropHostId Dropoff unique host ID String 128
dropOffId DropOff Internal DB Id Integer 10 Internal DropOff DB Id that can be used for lookup of DropOff
contractsList Contract List Object
contractsList[].hostId Unique ID for Contract String 128

DropOff

Input JSON And Output JSON

POST /WAPI_TMS11/api/v2/client/dropoff HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "accountName": "ACCOUNT NAME",
    "hostId":"Account UniqueID",
    "dropOffList": [
      {
        "commodityName": "CRUDE",
        "hostId":"Drop Off UniqueID",
        "accountDistricthostID": "District UniqueID",
        "dropOffNumber": "456789",
        "dropOffName": "DROP OFF NAME",
        "dropOffType": "test",
        "operatorHstID": "Operator UniqueID",
        "status": true,
        "latitude": 34.257192,
        "longitude": -82.467176,
        "legalDesc": "legalDesc",
        "writtenDirections": "DO NOT GO INSIDE THE 270 LOOP AROUND COLUMBUS",
        "layoutName":"DROP OFF",
        "referenceNo":"DOREF123",
        "lockCombination":"82-53-63",
        "receiptImageRequired": true,
        "receiptNumberRequired": true,
        "siteInstruction": "GET IT NOW",
        "skipLocationOnTablet": true,
        "hasEntryPoint": true,
        "entryPointLatitude": 90.000, 
        "entryPointLongitude": 90.000,
        "postEntryPointDirections": "GO HERE AND THEN THERE",
        "postEntryPointMiles": 5,
        "dropOffCustom1": "cust1",
        "dropOffCustom2": "cust2",
        "dropOffCustom3": "cust3",
        "averageUnLoadTime": 45,
        "averageWaitTime": 5,
        "timingList": [
          {
           "timingDay": "MON",
           "timingStartTime": "0800",
           "timingEndTime": "1700"
          },
          {
           "timingDay": "TUE",
           "timingStartTime": "0900",
           "timingEndTime": "1600"
          }
        ],
        "contact": {
          "streetLine1": "114 WASH AVE.",
          "streetLine2": "SUITE 23",
          "streetLine3": "",
          "city": "NEW HAVEN",
          "county": "Galveston",
          "state": "TX",
          "zip": "06523",
          "country": "USA",
          "timeZone": 2
        },
        "terminalNameList": [
          {
            "hostID": "UniqueID"
          }
        ],
		"subTerminal":[
              
         {
            "subTerminalName":"TESTxy"
          
        },
         {
           "subTerminalName":"TESTS10"
          
        }
         ],
        "tanksList": [
          {
            "hostID":"Tank UniqueID",
            "tankStrapType": "INCREMENTAL",
            "oilDeckNo": 2,
            "isTankInfoAvailableFeature": false,
            "modelNo": "D",
            "tankNumber": "INCTANK 234",
            "meterId": "SD",
            "minBottomGauge": 34.0,
            "defaultCF": 1.000,
            "tankIsActive": true,
            "tankSequenceNo": 1,
            "mfdNo": "E",
            "capacity": 34.0,
			"isToBeReviewed": false,
            "tankStrapList": [
              {
                "strapTankStartHeight": 34.257192,
                "strapTankEndHeight": 34.257192,
                "strapTankBPI": 34.26,
                "strapSequenceNo": 5
              },
              {
                "strapTankStartHeight": 35.257192,
                "strapTankEndHeight": 35.257192,
                "strapTankBPI": 35.39,
                "strapSequenceNo": 7
              }
            ]
          }
        ],
        "contractsList": [
          {
            "hostId" : "98455",
          },
          {
            "hostId" : "98456",
          }
        ],
        "dropOffPhonebook": [
          {
            "name": "joe1",
            "phone1": 7575757575,
            "phone2": 7676767676,
            "email1": "hello@jt.com",
            "email2": "hell2@kt.com"
          }
        ]
      }
    ]
  }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode? Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
accountName Account Name String 128 Account for Drop off.
accountId Account Internal DB Id Integer 10 Internal Account DB Id that can be used for lookup of Account
hostId Unique ID Alphanumeric 128 Drop off Account host ID.
dropOffList DropOff List List
dropOffList[].commodityName Drop off Commodity name String 32
dropOffList[].hostID Drop off host unique ID Alphanumeric 32
dropOffId DropOff Internal DB Id Integer 10 Internal DropOff DB Id that can be used for lookup of DropOff
dropOffList[].accountDistrictName Account District name String 128
dropOffList[].dropOffNumber Drop off number String 64 Number as String Format eg. "123".
dropOffList[].dropOffName Drop off name String 128 Number as String Format eg. "123".
dropOffList[].dropOffType Drop off type String
dropOffList[].operatorName Drop off Operator name String 128
dropOffList[].status Active/Inactive Boolean Drop off Active Or Inactive.
dropOffList[].latitude Map location latitude Double
dropOffList[].longitude Map location longitude Double
dropOffList[].legalDesc Description String Legal description.
dropOffList[].writtenDirections Written directions String Written directions to the location.
dropOffList.layoutName Tablet DropOff Form String 32 Tablet DropOff Form's Layout Name
pickUpList.referenceNo Reference Number String 64 DropOff Reference Number
dropOffList.receiptImageRequired Require Receipt Photo Boolean Do they require a receipt photo?
dropOffList.receiptNumberRequired Require Receipt Number Boolean Do they require a receipt number?
dropOffList.skipLocationOnTablet Skip Location on Tablet Boolean Skip this Location on the Tablet?
dropOffList.hasEntryPoint Has Entry Point Boolean This DropOff has an Entry Point?
dropOffList.entryPointLatitude Entry Point Latitude Double Entry Point's Latitude
dropOffList.entryPointLongitude Entry Point Longitude Double Entry Point's Longitude
dropOffList.postEntryPointDirections Post Entry Point Directions String Point Entry Point Directions
dropOffList.postEntryPointMiles Post Entry Point Miles Integer Post Entry Point Miles
dropOffList.siteInstruction DropOff Instructions String DropOff Instruction
dropOffList.dropOffCustom1 DropOff Custom field 1 String DropOff Custom field 1
dropOffList.dropOffCustom2 DropOff Custom field 2 String DropOff Custom field 2
dropOffList.dropOffCustom3 DropOff Custom field 3 String DropOff Custom field 3
dropOffList.averageUnLoadTime Average UnLoad Time Integer Average UnLoad Time
dropOffList.averageWaitTime Average Wait Time Integer Average Wait Time
dropOffList.timingList Timing List Object For setting Hours available to Work (needs one entry per day of the week)
dropOffList.timingList.timingDay Timing Day of the Week String 3 Options available are MON,TUE,WED,THU,FRI,SAT, or SUN
dropOffList.timingList.timingStartTime Timing Start Time String 4 Sent in military/24-hour format like: 1600 for 4 pm)
dropOffList.timingList.timingStartTime Timing End Time String 4 Sent in military/24-hour format like: 1600 for 4 pm)
dropOffList[].contact Drop Off Contact Object
dropOffList[].contact.streetLine1 Drop off location address String 64
dropOffList[].contact.streetLine2 Drop off location address String 64
dropOffList[].contact.streetLine3 Drop off location address String 64
dropOffList[].contact.city City name String 64
dropOffList[].contact.county County name String 64
dropOffList[].contact.state State name String 2
dropOffList[].contact.zip Zip String 5
dropOffList[].contact.country Country name String 3
dropOffList[].contact.timeZone Time zone number Integer
dropOffList[].terminalNameList Terminal List List List of terminal names.
dropOffList[].terminalNameList.terminalHostId Terminal Host Id String 128
subTerminal[].subTerminalName SubTerminal Name String
subTerminal[].subTerminalHostId SubTerminal HostId String
dropOffList[].tanksList Tank List Object List of tanks.
dropOffList[].tanksList[].hostID Tank unique ID String 128
dropOffList[].tanksList[].tankStrapType Tank strap type String
dropOffList[].tanksList[].oilDeckNo Oil deck number Integer
dropOffList[].tanksList[].isTankInfoAvailableFeature Is tank info available feature Boolean
dropOffList[].tanksList[].modelNo Model number of tank String Number as String Format eg. "123".
dropOffList[].tanksList[].tankNumber Tank number String 64 Number as String Format eg. "123".
dropOffList[].tanksList[].meterId Meter String
dropOffList[].tanksList[].minBottomGauge Min Bottom Quantity Double
dropOffList[].tanksList[].defaultCF Default Correction Factor Double Default Correction Factor
dropOffList[].tanksList[].tankIsActive Active / Inactive Boolean
dropOffList[].tanksList[].tankSequenceNo Tank sequence number Integer
dropOffList[].tanksList[].mfdNo Manufacturer number String 64
dropOffList[].tanksList[].capacity Tank capacity Double
dropOffList[].tanksList[].isToBeReviewed Reviewed / Need Review Boolean false means Reviewed, true means Needs Review
dropOffList[].tanksList[].tankStrapList Tank Strap List
dropOffList[].tanksList[].tankStrapList[].strapTankStartHeight Strap start height Double
dropOffList[].tanksList[].tankStrapList[].strapTankEndHeight Strap end height Double
dropOffList[].tanksList[].tankStrapList[].strapTankBPI Strap BPI Double
dropOffList[].tanksList[].tankStrapList[].strapSequenceNo Strap sequence number Integer
dropOffList[].contractsList[] Contract List Object
dropOffList[].contractsList[].hostId Unique ID for Contract String 128
dropOffList[].dropOffPhonebook Drop off phonebook List List of contacts.
dropOffList[].dropOffPhonebook[].name Contact person name String 128
dropOffList[].dropOffPhonebook[].phone1 Phone number Long 18
dropOffList[].dropOffPhonebook[].phone2 Phone number Long 18
dropOffList[].dropOffPhonebook[].email1 Email ID String 64 Mail Identifier.
dropOffList[].dropOffPhonebook[].email2 Email ID String 64 Mail Identifier.

Driver

Input JSON And Output JSON

POST /WAPI_TMS11/api/v2/client/driver HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "hostId":"UniqueID",
    "driverFirstName": "NAME",
    "driverLastName": "LASTNAME",
    "driverStatus": true,
    "driverNumber": "147258",
    "startLocationType": "TERMINAL",
    "driverUserName": "driverusername",
    "driverPassword": "driverpassword",
    "isPending": true,
    "isDriverHold": true,
    "driverHoldNotes": "HOLDING",
    "blockDispatch": false,
    "workShift": "ANY",
    "workStartTimeHour": "11",
    "workStartTimeMinute": "30",
    "workStartTimeZone": "US/Central",
    "driverGroupList": [
      {
         name: "DG123"
      }
    ],
    "driverAddress": {
      "streetLine1": "114 WASH AVE.",
      "streetLine2": "SUITE 23",
      "streetLine3": "",
      "city": "NEW HAVEN",
      "county": "Galveston",
      "state": "TX",
      "zip": "06523",
      "country": "USA"
    },
    "contractor": {
      "contractorCompanyName": "CONTRACTOR COMPANY NAME",
      "contractorFirstName": "CONTRACTOR FIRST NAME",
      "contractorLastName": "CONTRACTOR LAST NAME",
      "contractorStatus": true,
      "contractorAddress": {
        "zip": "zip1",
        "streetLine1": "streetLine1",
        "streetLine2": "streetLine2",
        "streetLine3": "streetLine3",
        "city": "city1",
        "county": "Galveston",
        "state": "TX",
        "country": "USA"
      },
      "contractorPhonebook": [
        {
            "name": "TEST CONTRACTOR",
            "phone1": 4561234856,
            "phone2": 4561234857,
            "email1": "hello@jtf.com",
            "email2": "hell2@ktb.com"
        }
      ]
    },
    "homeLocation": {
      "longitude": -82.467176,
      "latitude": 34.257192
    },
    "driverCommodity": [
      {
        "name": "CRUDE"
      }
    ],
    "isAllTruckAssigned" : false,
    "isAllTrailerAssigned" : false,
    "driverTruckList": [
      {
        "hostId": "226"
      },
      {
        "truckNumber" : "0328"
      }
     ],
    "driverTrailerList": [
      {
        "hostId": "521"
      },
      {
        "trailerNumber" : "06728"
      }
     ],
    "driverPhonebook": [
      {
        "name": "TEST DRIVER",
        "phone1": 4561234856,
        "phone2": 4561234857,
        "email1": "joe1@jt.com",
        "email2": "joe2@kt.com"
      }
    ]
	"terminalList": [
	  {
	   "name": "Test Terminal2"
	  },
	  {
	   "hostID": "UniqueID"
	  }
	],
	"subTerminalHostId":"10
  }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode? Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
hostId Unique ID Alphanumeric 128
driverId Driver Internal DB Id Integer 10 Internal Driver DB Id that can be used for lookup of Driver
driverFirstName Driver first name String 64
driverLastName Driver last name String 64
driverStatus Driver Active/Inactive Boolean 64
driverNumber Driver number String 64 Number as String Format eg. "123".
startLocationType Start location type String
terminalHostID Terminal host unique ID (deprecated - use List now instead) String 128
terminalName Terminal name (deprecated - use List now instead) String 128
subTerminalName SubTerminal name (Start location type has to be set to SubTerminal) String 128
subTerminalHostId SubTerminal HostId (Start location type has to be set to SubTerminal) String 128
driverUserName Driver user name String 32
driverPassword Driver password String 64
isPending Is the Driver Pending? Boolean
isDriverHold Is the Driver on Hold? Boolean
driverHoldNotes Notes for this Driver being on Hold String 1024
blockDispatch Block Dispatch for the Driver? Boolean
workShift Valid work shift String 5 Valid values are DAY, NIGHT, or ANY (any invalid entry will be treated as ANY)
workStartTimeHour Work Start Time - Hour Integer 2 Valid range is 00 to 23 (24 hour format)
workStartTimeMinute Work Start Time - Minute Integer 2 Valid range is 00 to 59
workStartTimeZone Valid Time Zone String 64 Valid timezone like US/Central
driverGroupList Driver Group List List/Object List of Driver Groups this Driver is associated with
driverGroupList[].name Driver Group List's Name String 128
driverAddress Driver address Object
driverAddress.streetLine1 Driver address String 64
driverAddress.streetLine2 Driver address String 64
driverAddress.streetLine3 Driver address String 64
driverAddress.city City name String 64
driverAddress.county County name String 64
driverAddress.state State name String 2
driverAddress.zip Zip address String 5
driverAddress.country Country name String 3
contractor Driver Contractor Object Contractor informations.
contractor.contractorCompanyName Company name String 128 Contractor company.
contractor.contractorFirstName Contractor first name String 64
contractor.contractorLastName Contractor last name String 64
contractor.contractorStatus Contractor Active/Inactive Boolean 64
contractor.contractorAddress Contractor address Object
contractor.contractorAddress.zip Zip address String 64
contractor.contractorAddress.streetLine1 Contractor address String 64
contractor.contractorAddress.streetLine2 Contractor address String 64
contractor.contractorAddress.streetLine3 Contractor address String 64
contractor.contractorAddress.city City name String 64
contractor.contractorAddress.county Contractor county String 64
contractor.contractorAddress.state State name String 5
contractor.contractorAddress.country Country name 3
contractor.contractorPhonebook Contractor Phonebook List Contractor contacts info.
contractor.contractorPhonebook[].name Contractor contact person name String 128
contractor.contractorPhonebook[].phone1 Phone number Long 18
contractor.contractorPhonebook[].phone2 Phone number Long 18
contractor.contractorPhonebook[].email1 Email ID String 64 Mail Identifier.
contractor.contractorPhonebook[].email2 Email ID String 64 Mail Identifier.
homeLocation Home Geocode Object Driver map location info.
homeLocation.latitude Map location latitude Double
homeLocation.longitude Map location longitude Double
driverCommodity List of Commodities for Driver List Driver commodity name list.
driverCommodity[].name Commodity name String 32
isAllTruckAssigned Driver is all truck assigned Boolean Assign all terminal trucks to the driver
isAllTrailerAssigned Driver is all trailer assigned Boolean Assign all terminal trailers to the driver
licenseNumber Driver's License Number String 24
licenseIssueState Driver's License Issued State/Provence code (must be one of the defined ones for this customer) String 2
driverTruckList List of Trucks for Driver List Driver trucks list.
driverTruckList[].hostId Truck hostID String 128 Host ID of the Truck. It is optional.
driverTruckList[].truckNumber Truck Number String 64 Truck Number. It is optional.
driverTrailerList List of Trailer for Driver List Driver trailers list.
driverTrailerList[].hostId Trailer hostID String 128 Host ID of the Trailer. It is optional.
driverTrailerList[].trailerNumber Trailer Number String 64 Trailer Number. It is optional.
driverPhonebook Phonebook for Driver List Driver contact list
driverPhonebook[].name Driver contact person name String 128
driverPhonebook[].phone1 Phone number Long 18
driverPhonebook[].phone2 Phone number Long 18
driverPhonebook[].email1 Email ID String 64 Mail Identifier.
driverPhonebook[].email2 Email ID String 64 Mail Identifier.
terminalList List of Terminals for Driver List Terminal list.
terminalList[].hostID Terminal hostID String 128 Host ID of the Terminal - use instead of name. It is optional.
terminalList[].name Driver Name String 128 Driver's Name - can use instead of hostID not sent. It is optional.
GEO Tab / Samsara Related Information
eldUsername Geotab or Samsara Username String 64
eldPassword Geotab or Samsara Password String 64
hosRulesetCode HOS Ruleset (can be code or description) String 64
isOilfieldTransportAllowed 24-hour restart setting (on screen) Boolean
isOilWellServiceAllowed Oil well wait time and 24-hour restart (on screen) Boolean
isYardMoveAllowed Allow Yard Move (on screen) Boolean
isPersonalConveyanceAllowed Allow Personal Use (on screen) Boolean
groupSecurityId Security clearance (on screen) String 64
companyGroups Data Access options (on screen) List CompanyGroup/Data Access list.
companyGroups[].name Data Access name (on screen) String 32
samsaraTags List of SamsaraTags for Driver List SamsaraTag list.
samsaraTags[].name name String 32
vehicleSelectionTagId A valid SamsaraTag name String 255
eldSync Send this as true to force this Driver to resync with Geotab or Samsara if all is configured correctly Boolean

TruckTrailer

Input JSON And Output JSON

POST /WAPI_TMS11/api/v2/client/trucktrailer HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "isActive": true,
    "type": "TRUCK",
    "hostId": "UniqueID",
    "truckNumber": "TRUCK OR TRAILER NUMBER",
    "operatorHostId":"1236545",
    "terminalHostId":"1",
    "contractorHostId":"CON123",
    "isSpare": false,
    "isAvailableToContractor": false,
    "remarks": "Testing remarks to test.",
    "name": "TRUCK NAME",
    "brand": "KENWORTH",
    "year": 2021,
    "vin": "vin",
    "plate": "PLP1234A",
    "plateState": "AR",
    "mileage": 25,
    "meterTypesetId": 0,
    "vehicleId": "50",
    "barrelCapacity": 10,
    "tireSize": 0.0,
    "cabCardIssueDate": "2020-11-20",
    "cabCardExpirationDate": "2025-11-23",
    "titleIssueDate": "2020-11-23",
    "bobtailInsuranceIssueDate": "2020-11-23",
    "bobtailInsuranceExpirationDate": "2025-12-31",
    "physicalDamageInsuranceIssueDate": "2020-11-23",
    "physicalDamageInsuranceExpirationDate": "2025-11-23",
    "liabilityInsuranceIssueDate": "2020-11-23",
    "liabilityInsuranceExpirationDate": "2025-11-23",
    "issueDate2290": "2020-11-23",
    "expirationDate2290": "2025-12-31",
    "dotInspectionIssueDate": "2020-11-23",
    "dotInspectionExpirationDate": "2025-12-31",
    "visualExternalIssueDate": "2020-11-23",
    "visualExternalExpirationDate": "2025-12-31",
    "visualInternalIssueDate": "2020-11-23",
    "visualInternalExpirationDate": "2025-12-31",
    "liningIssueDate": "2020-11-23",
    "liningExpirationDate": "2025-11-23",
    "pressureIssueDate": "2020-11-23",
    "pressureExpirationDate": "2025-11-23",
    "kLeakageIssueDate": "2020-11-23",
    "kLeakageExpirationDate": "2025-11-23",
    "thicknessIssueDate": "2020-11-23",
    "thicknessExpirationDate": "2025-11-23",
    "upperCouplerIssueDate": "2020-11-23",
    "upperCouplerExpirationDate": "2025-11-23",
    "fireExtinguisherTestDate": "2021-11-23",
    "fireExtinguisherExpirationDate": "2025-11-23",
    "requiresInspectionReportId": 10,
    "eldDeviceId": "",
    "eldId": "",
    "eldLastStatusTripDatetime": "2021-11-23",
    "eldLastRetrieveDatetime": "2021-11-23",
    "isAssetHold": true,
    "assetHoldNotes": "hold notes",
    "commodityList": [
      {
          "name": "CRUDE"
      }
    ]
  }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode? Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
isActive Truck/Trailer is Active/Inactive Boolean
hostId Host unique ID String 128
truckTrailerId TruckTrailer Internal DB Id Integer 10 Internal TruckTrailer DB Id that can be used for lookup of TruckTrailer
type Truck Trailer Type | Required String 64
truckNumber Unique | Required String 64
terminalHostId Terminal Host Id | Unique | Required String 128
operatorHostId Operator Host ID String 128
contractorHostId Contractor Host ID String 128
isSpare Is spare Boolean 1
isAvailableToContractor Is available to Contractor Boolean 1
remarks Remarks String 2048
name Name String 64
brand Brand String 64
year Year Integer 11
vin Vin String 64
plate Plate String 64
plateState Plate State String 2
mileage Mileage Integer 11
meterTypesetId Meter Typeset ID Integer 11
vehicleId Vehicle ID String 64
barrelCapacity Barrel Capacity Integer 11
tireSize Tire Size Double (3,1)
cabCardIssueDate Cab Card Issue Date Date Format : yyyy-MM-dd.
cabCardExpirationDate Cab Card Expiration Date Date Format : yyyy-MM-dd.
titleIssueDate Title Issue Date Date Format : yyyy-MM-dd.
bobtailInsuranceIssueDate Bobtail Insurance Issue Date Date Format : yyyy-MM-dd.
bobtailInsuranceExpirationDate Bobtail Insurance Expiration Date Date Format : yyyy-MM-dd.
physicalDamageInsuranceIssueDate Physical Damage Insurance Issue Date Date Format : yyyy-MM-dd.
physicalDamageInsuranceExpirationDate Physical Damage Insurance Expiration Date Date Format : yyyy-MM-dd.
liabilityInsuranceIssueDate Liability Insurance Issue Date Date Format : yyyy-MM-dd.
liabilityInsuranceExpirationDate Liability Insurance Expiration Date Date Format : yyyy-MM-dd.
issueDate2290 Issue Date 2290 Date Format : yyyy-MM-dd.
expirationDate2290 Expiration Date 2290 Date Format : yyyy-MM-dd.
dotInspectionIssueDate Dot Inspection Issue Date Date Format : yyyy-MM-dd.
dotInspectionExpirationDate Dot Inspection Expiration Date Date Format : yyyy-MM-dd.
visualExternalIssueDate Visual External Issue Date Date Format : yyyy-MM-dd.
visualExternalExpirationDate Visual External Expiration Date Date Format : yyyy-MM-dd.
visualInternalIssueDate Visual Internal Issue Date Date Format : yyyy-MM-dd.
visualInternalExpirationDate Visual Internal Expiration Date Date Format : yyyy-MM-dd.
liningIssueDate Lining Issue Date Date Format : yyyy-MM-dd.
liningExpirationDate Lining Expiration Date Date Format : yyyy-MM-dd.
pressureIssueDate Pressure Issue Date Date Format : yyyy-MM-dd.
pressureExpirationDate Pressure Expiration Date Date Format : yyyy-MM-dd.
kLeakageIssueDate KLeakage Issue Date Date Format : yyyy-MM-dd.
kLeakageExpirationDate KLeakage Expiration Date Date Format : yyyy-MM-dd.
thicknessIssueDate Thickness Issue Date Date Format : yyyy-MM-dd.
thicknessExpirationDate Thickness Expiration Date Date Format : yyyy-MM-dd.
upperCouplerIssueDate Upper Coupler Issue Date Date Format : yyyy-MM-dd.
upperCouplerExpirationDate Upper Coupler Expiration Date Date Format : yyyy-MM-dd.
fireExtinguisherTestDate Fire Extinguisher Test Date Date Format : yyyy-MM-dd.
fireExtinguisherExpirationDate Fire Extinguisher Expiration Date Date Format : yyyy-MM-dd.
requiresInspectionReportId Requires Inspection ReportId Integer 11
eldDeviceId Eld DeviceId String 64
eldId Eld Id String 32
eldLastStatusTripDatetime Eld Last Status Trip Datetime Datetime Format : yyyy-MM-dd h:mm.
eldLastRetrieveDatetime Eld Last Retrieve Datetime Datetime Format : yyyy-MM-dd h:mm.
isAssetHold Is Asset Hold Boolean 1
assetHoldNotes Asset Hold Notes String 1024
commodityList List/Object
commodityList.name Commodity Name String 64

Dynamic Field

Input JSON And Output JSON

POST /WAPI_TMS11/api/v1/client/dynamicField HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {      
    "isActive": true,
    "type": "DROP_DOWN",
    "name": "FIEL NAME",
    "commodityId":4,
    "internalTagName": "part_type",       
    "optionList": [
      {
        "name": "OPTION 1 LABEL",
        "hostId":"PT1",
        "isActive": true,
        "orderIndex":0                
      },
      {
        "name": "OPTION 2 LABEL",
        "hostId":"PT2",
        "isActive": true,
        "orderIndex":0
      },
      {
        "name": "OPTION 3 LABEL",
        "hostId":"PT3",
        "isActive": true,
        "orderIndex":2
      },
      {
        "name": "OPTION 4 LABEL",
        "hostId":"PT4",
        "isActive":true,
        "orderIndex":3
      }
    ]
  }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isActive Active/Inactive Boolean 1
type Dynamic Field Type | Required String 64
name Unique | Required String 64
commodityId Unique | Required Integer 11
internalTagName Host ID | Unique | Required String 64
optionList Array of Name and Host ID Array

Interaction

Input JSON And Output JSON

POST /WAPI_TMS11/api/v1/client/interaction HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {      
    "layoutId": 27,       
    "internalTagName": "internal_tag_name_of_cause_field",       
    "params": [
      {
        "dynamicFieldType": "DROP_DOWN",
        "hostId":"YRVADD3"
      }
    ],
    "effects" : [
      {
        "internalTagName": "internal_tag_name_of_affected_field",      
        "type": "SET_VALUE",
        "params": [
          {
            "dynamicFieldType": "DROP_DOWN",
            "hostId":"YRDD2B"                
          }
        ]
      }
    ]
  },
  {
    "layoutId": 27,       
    "internalTagName": "internal_tag_name_of_cause_field",       
    "params": [
      {
        "dynamicFieldType": "DROP_DOWN",
        "hostId":"YRVADD1"
      }
    ],
    "effects" : [
      {
        "internalTagName": "internal_tag_name_of_affected_field",      
        "type": "SET_OPTIONS",
        "params": [
          {
            "dynamicFieldType": "DROP_DOWN",
            "optionList": [
              {
                "hostId":"YRDD2A"                          
              },
              {
                "hostId":"YRDD2C"                          
              }
            ]                 
          }
        ]
      }
    ]
  }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
layoutId Layout ID for which interactions need to be set Integer 64
internalTagName Host ID of the field String 64
params Cause of the Interaction Array Array of dynamic field type and host ID.
effects Effect of the interaction Array Array of internal tag name,params,type,etc.

Commodity

Input JSON And Output JSON

POST /WAPI_TMS11/api/v1/client/commodity HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "name": "NEW COMMODITY",
    "permName": "NEW COMMODITY",
    "isSplitPickUp": true,
    "isSplitDropOff": true,
    "customTicketHeader": "Test Custom ticket header for new commodity",
    "isIgnoreCapacity": true
  }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
name Commodity Name | Required String 64
permName Commodity Perm Name |Unique|Required String 64
isSplitPickUp Boolean
isSplitDropOff Boolean
customTicketHeader String 64
isIgnoreCapacity Boolean

Contractor

Input JSON And Output JSON

POST /WAPI_TMS11/api/v2/client/contractor HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "isActive": true,
    "hostId": "787878",
    "contractor": "CONTRACTOR NAME",
    "contractorFirstName": "JOHN",
    "contractorLastName": "MARKUS",
    "address": {
      "streetLine1": "114 WASH AVE.",
      "streetLine2": "SUITE 23",
      "streetLine3": "",
      "city": "NEW HAVEN",
      "county": "Galveston",
      "state": "TX",
      "zip": "06523",
      "country": "USA"
    },
    "terminalList": [
      {
        "hostId": "UniqueID"
      }
    ],
    "phonebook": [
      {
        "name": "JOHNNY OPERATOR",
        "phone1": 9598675309,
        "phone2": 9598675310,
        "email1": "hello@oper.com",
        "email2": "hell2@oper.com"
      }
    ]
  }
]
    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode? Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
isActive Contractor is active Boolean
hostId Unique ID String 128
contractor Contractor name String 64
contractorFirstName Contractor First name String 64
contractorLastName Contractor Last name String 64
address Contractor Address Object
address.zip Zip String 5
address.streetLine1 Contractor address location String 64
address.streetLine2 Contractor address location String 64
address.streetLine3 Contractor address location String 64
address.city Contractor city name String 64
address.county Contractor county String 64
address.state Contractor state name String 2
address.country Contractor country String 3
terminalList Contractor Terminal List List List of terminal Host Ids
terminalList.hostId Unique ID String 128
phonebook Phonebook for Driver List Contractor phonebook list
phonebook[].name Driver contact person name String 128
phonebook[].phone1 Phone number Long 18
phonebook[].phone2 Phone number Long 18
phonebook[].email1 Email ID String 64 Mail Identifier.
phonebook[].email2 Email ID String 64 Mail Identifier.

Contract

Input JSON And Output JSON

POST /WAPI_TMS11/api/v2/client/contract HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
    {
        "isApiPartialUpdate": false,
        "contractName": "ContractName 8",
        "contractNumber": "09220923450",
        "hostId": "15",
        "startDate": "12/15/2020",
        "endDate": "12/20/2020",
        "isFuelSurchargeCurrent": false,
        "loadTime": 60,
        "unLoadTime": 60,
        "commodityList": [
            {
                "name": "CRUDE"
            },
            {
                "name": "SAND"
            }
        ],
        "accountList": [
            {
                "hostId": "26"
            },
            {
                "hostId": "30"
            }
        ],
        "accountDistrictList": [
            {
                "hostId": "56"
            },
            {
                "hostId": "59"
            }
        ],
        "operatorList": [
            {
                "hostId": "4"
            },
            {
                "hostId": "6"
            }
        ],
        "productTypeList": [
            {
                "hostId": "2341"
            },
            {
                "hostId": "3332"
            }
        ],
        "truckList": [
            {
                "hostId": "535"
            },
            {
                "hostId": "620"
            }
        ],
        "truckGroupList": [
            {
                "hostId": "234"
            },
            {
                "hostId": "333"
            }
        ],
        "pickUpList": [
            {
                "hostId": "13308"
            },
            {
                "hostId": "12589"
            }
        ],
        "dropOffList": [
            {
                "hostId": "33308"
            },
            {
                "hostId": "33305"
            }
        ],
        "scenarioList": [
            {
                "hostId": "53308"
            },
            {
                "hostId": "53323"
            }
        ],
        "accountOperatorChange": {
            "accountHostId": "45",
            "accountDistrictHostId": "22",
            "accountGroupHostId": "678",
            "operatorHostId": "897",
            "operatorGroupHostId": "2344"
        }
    }
]

    
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
contractName Contract Name String 128 The contract name. Required when creating.
contractNumber Contract Number String 128 The contract number. Required when creating.
hostId Unique ID for Account. String 128 Required when creating and updating.
startDate Contract Start Date. String Required when creating. Format: MM/DD/YYYY
endDate Contract End Date String Format: MM/DD/YYYY
loadTime Load Time Integer
unLoadTime Unload Time Integer
commodityList List of Commodity's names. Required when creating.
commodityList[].name Unique name for Commodity String 128 Commodity's Name.
accountList List of Accounts
accountList[].hostId Unique ID for Account String 128 Host ID of the Account.
accountDistrictList List of Account Districts
accountDistrictList[].hostId Unique ID for Account District String 128 Host ID of the Account District.
operatorList List of Operator
operatorList[].hostId Unique ID for Operators String 128 Host ID of the Operator.
productTypeList List of Product Types
productTypeList[].hostId Unique ID for Product Types String 128 Host ID of the Product Types.
truckList List of Trucks
truckList[].hostId Unique ID for Truck String 128 Host ID of the Truck.
truckGroupList List of Truck Groups
truckGroupList[].hostId Unique ID for Truck Group String 128 Host ID of the Truck Group.
pickUpList List of Pick Ups
pickUpList[].hostId Unique ID for PickUp String 128 Host ID of the PickUp.
dropOffList List of DropOff
dropOffList[].hostID Unique ID for DropOff String 128 Host ID of the DropOff.
scenarioList List of Scenarios
scenarioList[].hostId Unique ID for Scenario String 128 Host ID of the Scenario.
accountOperatorChange The Account and Operator details If this block of information is in the JSON and isApiPartialUpdate flag is false, the section is ignored . If isApiPartialUpdate is true, the mapping of entities involved is done using this block of info only.
accountOperatorChange.accountHostId Unique ID for Account. Overrides accountList section String 128 Host ID of the Account.
accountOperatorChange.accountDistrictHostId Unique ID for Account District. Overrides accountDistrictList section String 128 Host ID of the Account District.
accountOperatorChange.accountGroupHostId Unique ID for Account's Group String 128 Host ID of the Account Group.
accountOperatorChange.operatorHostId Unique ID for Operator. Overrides operatorList section String 128 Host ID of the Operator.
accountOperatorChange.operatorGroupHostId Unique Id for Operator Group String 128 Host ID of the Operator Group.

Inbound Ticket

Input JSON (Complete)

POST /WAPI_TMS11/api/inbound/tickets HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache
[
 {
    "isApiPartialUpdate": false,
    "loadId": 3456,
    "billOfLadingNumber": "000178912",
    "confirmationNo": "CIM-8924",
    "driverShiftDate": {
        "date": "06/24/2022",
        "time": "20:00"
    },
    "dispatcherLoadAssignedDateTime": {
        "date": "12/14/2022",
        "time": "18:58"
    },
    "driverAcceptedDate": {
        "date": "06/26/2022",
        "time": "08:17"
    },
    "driverAcceptedGeoCode": {
        "latitude": 35.505743,
        "longitude": -97.934804
    },
    "puTicketList": [
        {
            "ticketNumber": "0001789122007",
            "confirmationNo": "99999",
            "isReviewed ": false,
            "reviewedNotes": "REVIEWED NOTES",
            "pickUpId": 16823,
            "pickUpHostId": "LT-2456",
            "pickUpName": "ANDERSON 1-29H (317-040)",
            "pickUpNumber": "214541",
            "tankId": 45788,
            "tankHostId": "45788",
            "tankNumber": "TANK 1",
            "accountId": 26,
            "accountHostId": "37",
            "accountFullName": "CIMAREX ENERGY CO.",
            "accountDistrictId" : 56,
            "accountDistrictHostId": null,
            "accountDistrictFullName": "MIDCON",
            "terminalId": 1,
            "terminalHostId": "1",
            "terminalName": "MIDCON",
            "driverId": 486,
            "driverHostId": "892",
            "driverFullName": "NOGEOTAB, YUNELDIS",
            "truckId": 720,
            "truckHostId": "222",
            "truckNumber": "YRVPATRU",
            "trailerId": 721,
            "trailerHostId": "111",
            "trailerNumber": "COX478OP",
            "puDriverArrivalGeoCode": {
                "latitude": 35.666643,
                "longitude": -98.169957
            },
            "puDriverDepartureGeoCode": {
                "latitude": 35.666643,
                "longitude": -98.169957
            },
            "arrivalDateTime": {
                "date": "06/27/2022",
                "time": "08:49"
            },
            "departureDateTime": {
                "date": "06/26/2022",
                "time": "10:03"
            },

            "loadTimeMinutes": 10,
            "loadedMiles": 22,
            "isAccepted": true,
            "rejectReasonId": 2,
            "rejectReasonNotes": "REJECT NOTES.",
            "productType" : {
                "id": 458,
                "name": "NEW SAND"
            },
            "isOmitted": false,
            "receiptNumber": "CIM-YUV1",
            "isChainUp": false,
            "waitTimeMinutes": 25,
            "waitTimeNotes": "DO WAIT NOTES.",
            "reRoutedMiles": 15,
            "reRoutedNotes": "DO REROUTED NOTES",
            "otherNotes": "DO OTHER NOTES TO INCLUDE.",
            "dynamicValues": [
              {
                "internalTagName": "gaugeType",
                "optionName": "LACT"
              }
              {
                "id": 88,
                "fieldName": "ODOMETER",
                "internalTagName": "odometer",
                "stringValue": "28"
              },
              {
                "id": 5,
                "fieldName": "CF",
                "internalTagName": "CF",
                "stringValue": "0.500000"
              },
              {
                "id": 105,
                "fieldName": "CH - CHECKBOX VALUES",
                "internalTagName": "CH_CheckBox",
                "options": [
                    {
                        "optionId": 53,
                        "optionHostId": "CHA",
                        "optionName": "A"
                    },
                    {
                        "optionId": 54,
                        "optionHostId": "CHC",
                        "optionName": "C"
                    }
                ]
              },
              {
                "id": 171,
                "fieldName": "RB - RADIOB",
                "internalTagName": "rbRadioB",
                "optionId": 69,
                "optionHostId": "RBF2",
                "optionName": "RB 2"
              },
            ],
            "dependencyFormValues": [
                [
                  {
                    "id": 172,
                    "name": "SAND DF - DD - SERVICE",
                    "internalTagName": "sandDfService",
                    "value": "DO MERGING",
                    "index": 1,
                    "dependencyFormParentId": 175
                  },
                  {
                    "id": 173,
                    "name": "SAND DF - DD - UOM",
                    "internalTagName": "sandDfUom",
                    "value": "RACKS",
                    "index": 1,
                    "dependencyFormParentId": 175
                  },
                  {
                    "id": 174,
                    "name": "SAND DF - NUM - QUANTITY",
                    "internalTagName": "sandQuality",
                    "value": "25",
                    "index": 1,
                    "dependencyFormParentId": 175
                  }
                ]
            ],
            "thirdPartyBOL": "2508",
            "thirdPartyTicketNo": "2508101",
            "thirdPartySplitTicketNo": "2508202",
            "thirdPartyDriverName": "GALLAWAY, ERIC",
            "thirdPartyTruckNo": "TRUCK125",
            "thirdPartyTrailerNo": "TRAILER26"
        }
    ],
    "doTicketList": [
        {
            "ticketNumber": "00016573600D1",
            "dropOffId": 252,
            "dropOffHostId": "LB-308",
            "dropOffName": "NES-CALUMET-CONDENSATE",
            "dropOffNumber": "215571",
            "accountId": 26,
            "accountHostId": "5886",
            "accountFullName": "CIMAREX ENERGY CO.",
            "accountDistrictId": 56,
            "accountDistrictHostId": null,
            "accountDistrictFullName": "MIDCON",
            "driverId": 558,
            "driverHostId": "893",
            "driverFullName": "GIOMETTI 61 DAY",
            "truckId": 612,
            "truckHostId": "FDA939301",
            "truckNumber": "092",
            "trailerId": 91,
            "trailerHostId": "95B78",
            "trailerNumber": "0D1744",
            "doDriverArrivalGeoCode": {
                "latitude": 39.966283,
                "longitude": -82.935983
            },
            doDriverCompletionGeoCode": {
                "latitude": 39.966283,
                "longitude": -82.935983
            },
            "arrivalDateTime": {
                "date": "03/14/2022",
                "time": "14:35"
            },
            "departureDateTime": {
                "date": "03/14/2022",
                "time": "14:36"
            },
            "unLoadTimeMinutes": 10,
            "productType" : {
                "id": 459,
                "name": "SAND TYPE"
            },
            "receiptNumber": "RECDO-YRV1",
            "waitTimeMinutes": 44,
            "waitTimeNotes": "Notes for the DO wait.",
            "reRoutedMiles": 15,
            "reRoutedNotes": "Rerouted notes",
            "otherNotes": "Other notes",
            "dynamicValues": [
              {
                "id": 88,
                "fieldName": "ODOMETER",
                "internalTagName": "odometer",
                "stringValue": "28"
              },
              {
                "id": 171,
                "fieldName": "RB - RADIOB",
                "internalTagName": "rbRadioXB",
                "optionId": 77,
                "optionHostId": "RBF3",
                "optionName": "RB 3"
              },
              {
                "id": 99,
                "fieldName": "DD - # OF EMPTY BOXES",
                "internalTagName": "ddEmptyBox",
                "optionId": 40,
                "optionHostId": "DDF2",
                "optionName": "2"
              }
            ],
            "dependencyFormValues": [
             [
                {
                    "id": 172,
                    "name": "SAND DF - DD - SERVICE",
                    "internalTagName": "sandDFService",
                    "value": "DO MERGING",
                    "index": 1,
                    "dependencyFormParentId": 175
                },
                {
                    "id": 173,
                    "name": "SAND DF - DD - UOM",
                    "internalTagName": "sandDFUxM",
                    "value": "RACKS",
                    "index": 1,
                    "dependencyFormParentId": 175
                },
                {
                    "id": 174,
                    "name": "SAND DF - NUM - QUANTITY",
                    "internalTagName": "sandNumQuality",
                    "value": "25",
                    "index": 1,
                    "dependencyFormParentId": 175
                }
              ]
            ]
         }
      ]
   }
]
                
  Input JSON (using isApiPartialUpdate)

POST /WAPI_TMS11/api/v2/client/terminal HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
    {
        "isApiPartialUpdate": true,
        "puTicketList": [
            {
              "ticketNumber": "000178819105",
              "dynamicValues": [
                {
                   "fieldName": "GAUGE TYPE",
                   "optionName": "HAND"
                },
                {
                   "fieldName": "TOP GAUGE",
                   "stringValue": "65.5"
                },
                {
                   "internalTagName" :"sealOnTime",
                   "stringValue": "05/15/2022 15:55"
                }
              ]
            }
        ]
    }
]
        
Following are the field descriptions(For dropdowns options they can be specified by optionId, optionName or optionHostId):
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
isApiPartialUpdate In "Update" Mode Boolean Are we in update mode where only minimal fields (hostId) are required? Default is false.
loadId Load Id Long This field is not always mandatory, but for the feature to work, at least Load ID, Billing of landing, ConfirmationNo or Ticket Number is needed.
billOfLadingNumber Bill of lading identifier. String 64 This field is not always mandatory, but for the feature to work, at least ConfirmationNo, Load ID or Ticket Number is needed.
driverShiftDate Driver shift date Object It is only needed when the load is being added a ticket for the fist time.
driverShiftDate.date Shift date String 64 Driver Shift date.
driverShiftDate.time Shift time String 64 Driver Shift time.
dispatcherLoadAssignedDateTime dispatcher Load Assigned DateTime Object It is only needed when the load is being added a ticket for the fist time.
dispatcherLoadAssignedDateTime.date Dispatcher load date String 64 Dispatcher Load Date.
dispatcherLoadAssignedDateTime.time Dispatcher load time String 64 Dispatcher load time.
driverAcceptedDate Driver accepted date Object It is only needed when the load is being added a ticket for the fist time.
driverAcceptedDate.date Driver accepted date String 64 the driver accepted date.
driverAccepted.time Driver accepted time String 64 The driver accepted time.
driverAcceptedGeoCode Driver accepted GeoCode Object
driverAcceptedGeoCode.latitude Map location latitude Double Driver Map location latitude.
driverAcceptedGeoCode.longitude Map location longitude Double Driver Map location longitude.
puTicketList List of Pick Ups List List of pickup tickets.
puTicketList[].ticketNumber Ticket Number String 128 This field is not always mandatory, but for the feature to work, at least ConfirmationNo, Load ID or Ticket Number is needed.
puTicketList[].confirmationNo Confirmation number String 64 PickUp confirmation number.
puTicketList[].isReviewed Reviewed Boolean Pickup Ticket reviewed?
puTicketList[].reviewedNotes Reviewed notes String PickUp ticket reviewed notes.
puTicketList[].pickUpId PickUp Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].pickUpHostId PickUp HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].pickUpName PickUp Name String 128 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].pickUpNumber PickUp Number String 128 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].tankId Tank Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].tankHostId Tank hostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].tankNumber The number of the tank String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].accountId Account Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].accountHostId Account HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].accountFullName Account fullName String At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].accountDistrictId Account Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].accountHostId Account HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].accountFullName Account fullName String At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].terminalId Terminal Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].terminalHostId Terminal HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].terminalName Terminal FullName String At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].driverId Driver Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].driverHostId Driver HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].driverFullName Driver FullName String At least one of the attributes to identify the entity is required to be included on the JSON. (Ex.: GALLAWAY, ERIC)
puTicketList[].truckId Truck Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].truckHostId Truck HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].truckNumber Truck number String At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].trailerId Trailer Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].trailerHostId Trailer HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].trailerNumber Trailer number String At least one of the attributes to identify the entity is required to be included on the JSON.
puTicketList[].puDriverDepartureGeoCode GeoCode Object
puTicketList[].puDriverDepartureGeoCode.latitude Map location latitude Double The Map location latitude
puTicketList[].puDriverDepartureGeoCode.longitude Map location longitude Double The Map location longitude
puTicketList[].puDriverArrivalGeoCode GeoCode Object
puTicketList[].puDriverArrivalGeoCode.latitude Map location latitude Double The Map location latitude
puTicketList[].puDriverArrivalGeoCode.longitude Map location longitude Double The Map location longitude
puTicketList[].arrivalDateTime Driver accepted date Object
puTicketList[].arrivalDateTime.date Arrival date String 64 the driver arrival date.
puTicketList[].arrivalDateTime.time Arrival time String 64 The driver arrival time.
puTicketList[].departureDateTime.date Departure date String 64 the driver departure date.
puTicketList[].departureDateTime.time Departure time String 64 The driver departure time.
puTicketList[].loadTimeMinutes Load time minutes Long Load times minutes.
puTicketList[].loadedMiles Loaded miles Long Loaded miles.
puTicketList[].isAccepted IsAccepted Boolean Is accepted?
puTicketList[].rejectReasonId Reject reason Id Long Rejected reason Id.
puTicketList[].rejectReasonNotes Reject reason notes String Rejected reason notes.
puTicketList[].productType Object
puTicketList[].productType.id The product type Id Long
puTicketList[].productType.name the product name String
puTicketList[].isOmitted Is Omitted? Boolean
puTicketList[].receiptNumber Ticket receipt number String 64 The receipt number of the ticket.
puTicketList[].isChainUp Is ChainUp? Boolean
puTicketList[].waitTimeMinutes Wait time minutes Long Wait times minutes.
puTicketList[].waitTimeNotes Wait time notes String Wait time notes for pickup ticket.
puTicketList[].reRoutedMiles Re-route miles Long Re-route miles.
puTicketList[].reRoutedNotes reRouted notes String ReRouted Notes for pickup ticket.
puTicketList[].otherNotes Other notes String Other Notes for pickup ticket.
puTicketList[].dynamicValues List List of dynamic values.
puTicketList[].dynamicValues[].id Id Long The Id of the dynamic value.
puTicketList[].dynamicValues[].fieldName Field Name String The fieldName of the Dynamic value.
puTicketList[].dynamicValues[].internalTagName Internal tag name identifier String The internalTagName of the Dynamic value.
puTicketList[].dynamicValues[].stringValue String value String String value for a Dynamic field.
puTicketList[].dynamicValues[].optionId Option Id Long
puTicketList[].dynamicValues[].optionHostId Option Host Id String
puTicketList[].dynamicValues[].optionName Option Name String
puTicketList[].dynamicValues[].options List of Option for multiple selection component List
puTicketList[].dynamicValues[].options[].optionId Option Id Long
puTicketList[].dynamicValues[].options[].optionHostId Option Host Id String
puTicketList[].dynamicValues[].options[].optionName Option Name String
puTicketList[].dependencyFormValues List of list List of dependency forms.
puTicketList[].dependencyFormValues[][].id The unique identifier of the dynamic form Long Dependency forms Id.
puTicketList[].dependencyFormValues[][].name Name String Dependency forms name.
puTicketList[].dependencyFormValues[][].internalTagName Internal Tag name identified String Dependency forms internal tag name.
puTicketList[].dependencyFormValues[][].value Value String Dependency forms value.
puTicketList[].dependencyFormValues[][].index Index Long Dependency forms index.
puTicketList[].dependencyFormValues[][].dependencyFormParentId Dependency parent Id Long The dependency form parent Id.
puTicketList[].thirdPartyBOL ThirdParty ticket BOL String The third party ticket BOL.
puTicketList[].thirdPartyTicketNo ThirdParty ticket number String The third party ticket number.
puTicketList[].thirdPartySplitTicketNo ThirdParty split ticket number String The third party split ticket number.
puTicketList[].thirdPartyDriverName ThirdParty driver fullName String The third party driver fullName.
puTicketList[].thirdPartyTruckNo ThirdParty truck number String The third party truck number.
puTicketList[].thirdPartyTrailerNo ThirdParty trailer number String The third party trailer number.
doTicketList List of Drop Offs List List of dropOff tickets.
doTicketList[].ticketNumber Ticket Number String 128 This field is not always mandatory, but for the feature to work, at least ConfirmationNo, Load ID or Ticket Number is needed.
doTicketList[].dropOffId DropOff Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].dropOffHostId DropOff HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].dropOffName DropOff Name String At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].dropOffNumber DropOff Number String At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].tankId Tank Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].tankHostId Tank hostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].tankNumber The number of the tank String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].accountId Account Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].accountHostId Account HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].accountFullName Account fullName String At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].accountDistrictId Account district Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].accountDistrictHostId Account district HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].accountDistrictFullName Account district fullName String At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].driverId Driver Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].driverHostId Driver HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].driverFullName Driver FullName String At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].truckId Truck Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].truckHostId Truck HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].truckNumber Truck number String At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].trailerId Trailer Id Long At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].trailerHostId Trailer HostId String 64 At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].trailerNumber Trailer number String At least one of the attributes to identify the entity is required to be included on the JSON.
doTicketList[].odometer Odometer Double The odometer value.
doTicketList[].doDriverCompletionGeoCode GeoCode Object
doTicketList[].doDriverCompletionGeoCode.latitude Map location latitude Double The Map location latitude
doTicketList[].doDriverCompletionGeoCode.longitude Map location longitude Double The Map location longitude
doTicketList[].doDriverArrivalGeoCode GeoCode Object
doTicketList[].doDriverArrivalGeoCode.latitude Map location latitude Double The Map location latitude
doTicketList[].doDriverArrivalGeoCode.longitude Map location longitude Double The Map location longitude
doTicketList[].arrivalDateTime Driver accepted date Object
doTicketList[].arrivalDateTime.date Arrival date String 64 The driver arrival date.
doTicketList[].arrivalDateTime.time Arrival time String 64 The driver arrival time.
doTicketList[].departureDateTime.date Departure date String 64 The driver departure date.
doTicketList[].departureDateTime.time Departure time String 64 The driver departure time.
doTicketList[].unLoadTimeMinutes UnLoad time minutes Long UnLoad times minutes.
doTicketList[].loadedMiles Loaded miles Long Loaded miles.
doTicketList[].productType Object
doTicketList[].productType.id The product type Id Long
doTicketList[].productType.name The product name String
doTicketList[].receiptNumber Ticket receipt number String 64 The receipt number of the ticket.
puTicketList[].waitTimeMinutes Wait time minutes Long Wait times minutes.
doTicketList[].waitTimeNotes Wait time notes String Wait time notes for dropOff ticket.
doTicketList[].roughRoadMiles Rough road miles Long Rough road miles.
doTicketList[].reRoutedNotes reRouted notes String ReRouted Notes for dropOff ticket.
doTicketList[].otherNotes Other notes String Other Notes for pickup ticket.
doTicketList[].dynamicValues List List of DropOff dynamic values.
doTicketList[].dynamicValues[].id Id Long The Id of the dynamic value.
doTicketList[].dynamicValues[].fieldName Field Name String The fieldName of the Dynamic value.
doTicketList[].dynamicValues[].stringValue String value String Dynamic value String value.
doTicketList[].dynamicValues[].optionHostId Option Host Id String
doTicketList[].dynamicValues[].optionName Option Name String
doTicketList[].dynamicValues[].options List of Option for multiple selection component List
doTicketList[].dynamicValues[].options[].optionId Option Id Long
doTicketList[].dynamicValues[].options[].optionHostId Option Host Id String
doTicketList[].dynamicValues[].options[].optionName Option Name String
doTicketList[].dependencyFormValues List of List List of dependency forms.
doTicketList[].dependencyFormValues[][].id The unique identifier of the dynamic form Long Dependency forms Id.
doTicketList[].dependencyFormValues[][].name Name String Dependency forms name.
doTicketList[].dependencyFormValues[][].value Value String Dependency forms value.
doTicketList[].dependencyFormValues[][].index Index Long Dependency forms index.
doTicketList[].dependencyFormValues[][].dependencyFormParentId Dependency parent Id Long The dependency form parent Id.

Load

Input JSON And Output JSON

POST /WAPI_TMS11/api/inbound/loads HTTP/1.1
Host: https://welltrax-api.vertrax.com:8443
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

 [
    {
        "pickUpAccountName": "CIMAREX ENERGY CO.",
        "pickUpAccountHostId": "CIM-67s",
        "pickUpName": "SIMS 1H-2017X (350016-871)",
        "pickUpHostId": "P89D",
        "pickUpTankNumber": "SIMS 1H-2017X (350016-871) 318080",
        "pickUpTankHostId": "12D56",
        "billOfLadingNumber": "000178954101",
        "confirmationNumber": "2022YRV01",
        "dropOffAccountName": "SOUTHWEST EN",
        "dropOffAccountHostId": "YU34DY6",
        "dropOffName": "HILCORP WELLSVILLE",
        "dropOffHostId": "80356XI",
        "createLoadWithFirstDefaultDropOff": "true",
        "contactName": "Robert Turney",
        "contactPhoneNumber": "4056380298",
        "isUrgent": true,
        "isBackhaul": false,
        "loadedMiles": 56,
        "averageSpeed": 95,
        "requestedPickUpTimeType": "SPECIFIC",
        "requestedPickUpDate": "02/16/2021",
        "requestedPickUpRangeOrSpecific": "DAY",
        "assignedPickUpDate": "02/13/2021",
        "requestedDropOffTimeType": "SPECIFIC",
        "requestedDropOffDate": "02/16/2021",
        "requestedDropOffRangeOrSpecific": "REQUESED DROPOFF RANGE",
        "loadInstructions": "InboundAPI load 1.",
        "receiverId": "234",
        "senderId": "cimarex",
        "defaultDriverFirstName": "Debruyne",
        "defaultDriverLastName": "Kevin",
        "defaultDriverHostID": "03302023",
        "pickUpDynamicValues": [
          {
            "id": 1,
            "fieldName": "TOP GAUGE",
            "internalTagName": "topGauge",
            "stringValue": "137.5"
          }
          {
            "fieldName": "NET BARRELS",
            "stringValue": "197.66"
          },
          {
            "id": 105,
            "fieldName": "CH - CHECKBOX VALUES",
            "internalTagName": "CH_CheckBox",
            "options": [
                {
                    "optionId": 53,
                    "optionHostId": "CHA",
                    "optionName": "A"
                },
                {
                    "optionId": 54,
                    "optionHostId": "CHC",
                    "optionName": "C"
                }
            ]
          },
          {
            "id": 171,
            "fieldName": "RB - RADIOB",
            "internalTagName": "rbRadioB",
            "optionId": 69,
            "optionHostId": "RBF2",
            "optionName": "RB 2"
          }
        ],
        "pickUpDependencyFormValues": [
            [
              {
                "id": 172,
                "name": "SAND DF - DD - SERVICE",
                "internalTagName": "sandDfService",
                "value": "DO MERGING",
                "index": 1,
                "dependencyFormParentId": 175
              },
              {
                "id": 173,
                "name": "SAND DF - DD - UOM",
                "internalTagName": "sandDfUom",
                "value": "RACKS",
                "index": 1,
                "dependencyFormParentId": 175
              },
              {
                "id": 174,
                "name": "SAND DF - NUM - QUANTITY",
                "internalTagName": "sandQuality",
                "value": "25",
                "index": 1,
                "dependencyFormParentId": 175
              }
            ]
        ],
        "dropOffDynamicValues": [
          {
            "id": 548,
            "fieldName": "BOTTOM TEMP",
            "internalTagName": "bottomTemp",
            "stringValue": "45"
          }
        ],
        "dropOffDependencyFormValues": [
            [
              {
                "id": 172,
                "name": "SAND DF - DD - SERVICE",
                "internalTagName": "sandDfService",
                "value": "DO MERGING",
                "index": 1,
                "dependencyFormParentId": 175
              },
              {
                "id": 173,
                "name": "SAND DF - DD - UOM",
                "internalTagName": "sandDfUom",
                "value": "RACKS",
                "index": 1,
                "dependencyFormParentId": 175
              }
            ]
        ]
    },
    {
        "pickUpAccountName": "CIMAREX ENERGY CO.",
        "pickUpAccountHostId": "XPD783",
        "pickUpName": "TAR BO-2017X (440016-82)",
        "pickUpHostId": "U89DBV",
        "pickUpTankNumber": "TAR 1H-2237X (350016-871)",
        "pickUpTankHostId": "89OY34",
        "billOfLadingNumber": "000188954101",
        "confirmationNumber": "2022YRV01",
        "dropOffAccountName": "SOUTHWEST EN",
        "dropOffAccountHostId": "YU34DY6",
        "dropOffName": "HILCORP WELLSVILLE",
        "dropOffHostId": "80356XI",
        "createLoadWithFirstDefaultDropOff": "true",
        "contactName": "Robert Turney",
        "contactPhoneNumber": "4056380298",
        "isUrgent": true,
        "isBackhaul": false,
        "loadedMiles": 56,
        "averageSpeed": 95,
        "requestedPickUpTimeType": "SPECIFIC",
        "requestedPickUpDate": "02/16/2021",
        "requestedPickUpRangeOrSpecific": "DAY",
        "assignedPickUpDate": "02/13/2021",
        "requestedDropOffTimeType": "SPECIFIC",
        "requestedDropOffDate": "02/16/2021",
        "requestedDropOffRangeOrSpecific": "REQUESED DROPOFF RANGE",
        "loadInstructions": "InboundAPI load 1.",
        "receiverId": "234",
        "senderId": "cimarex",
        "defaultDriverFirstName": "Walker",
        "defaultDriverLastName": "Kyle",
        "defaultDriverHostID": "13323",
        "pickUpDynamicValues": [
          {
            "internalTagName": "netBarrels",
            "stringValue": "62.3"
          }
        ],
        "pickUpDependencyFormValues": [
            [
              {
                "id": 172,
                "name": "SAND DF - DD - SERVICE",
                "internalTagName": "sandDfService",
                "value": "DO MERGING",
                "index": 1,
                "dependencyFormParentId": 175
              },
              {
                "id": 173,
                "name": "SAND DF - DD - UOM",
                "internalTagName": "sandDfUom",
                "value": "RACKS",
                "index": 1,
                "dependencyFormParentId": 175
              }
            ]
        ],
        "dropOffDynamicValues": [
          {
            "fieldName": "CF",
            "stringValue": "0.999800"
          }
        ],
        "dropOffDependencyFormValues": [
            [
              {
                "id": 172,
                "name": "SAND DF - DD - SERVICE",
                "internalTagName": "sandDfService",
                "value": "DO MERGING",
                "index": 1,
                "dependencyFormParentId": 175
              },
              {
                "id": 173,
                "name": "SAND DF - DD - UOM",
                "internalTagName": "sandDfUom",
                "value": "RACKS",
                "index": 1,
                "dependencyFormParentId": 175
              }
            ]
        ]
    }
]
        
        
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
pickUpAccountName Account Name String 128 The account name of the pickup.
pickUpAccountHostId Account HostId String 128 The account hostId of the pickup.
pickUpName PickUp name String 128 The pickup name.
pickUpHostId PickUp hostId String The pickUp hostId.
pickUpTankNumber Tank number String The tank number of the pickup.
pickUpTankHostId Tank hostId String The tank hostId of the pickup.
billOfLadingNumber Bill of landing number String The billing of landing number.
confirmationNumber Confirmation number String The confirmation number.
dropOffAccountName Account name String 128 The account name of the dropOff.
dropOffAccountHostId Account hostId String The account hostId of the dropOff.
dropOffName DropOff name String The dropOff name.
dropOffHostId DropOff hostId String The hostId of the dropOff.
createLoadWithFirstDefaultDropOff Boolean Is create load with first default dropOff?
contactName Contact fullName String The fullName of the Contact.
contactPhoneNumber Contact hostId String The hostId of the Contact.
isUrgent Urgent Boolean Is urgent?
isBackhaul Backhaul Boolean Is Backhaul?
loadedMiles Loaded miles Integer The loaded miles.
averageSpeed Average Speed Integer The average speed.
requestedPickUpTimeType Requested pickUp time type String
requestedPickUpDate Requested pickUp Date String The requested date of the pickUp.
requestedPickUpRangeOrSpecific Requested pickUp range or specific String The requested range or specific of the pickUp.
assignedPickUpDate Assigned pickUp Date String The assigned date of the pickUp.
requestedDropOffTimeType Requested dropOff time type String The requested time type of the dropOff.
requestedDropOffDate Requested dropOff date String The requested date of the dropOff.
requestedDropOffRangeOrSpecific Requested dropOff range or specific String The requested range or specific of the dropOff.
loadInstructions Load instructions String The load instructions.
receiverId Receiver Id String The receiver Identifier(ID).
defaultDriverFirstName Default Driver First Name String The first name of driver for load assignment.
defaultDriverLastName Default Driver Last Name String The lastname of driver for load assignment.
defaultDriverHostID Default Driver Host ID String Driver host (ID).
pickUpDynamicValues List List of pickUp dynamic values. Take into account that DYNAMIC FIELDS section does NOT include the CUSTOM type fields available for load creation layouts.
pickUpDynamicValues[].id Id Long The Id of the dynamic value.
pickUpDynamicValues[].fieldName Field Name String The fieldName of the Dynamic value.
pickUpDynamicValues[].internalTagName Internal tag name identifier String The internalTagName of the Dynamic value.
pickUpDynamicValues[].stringValue String value String String value for a Dynamic field.
pickUpDynamicValues[].optionId Option Id Long
pickUpDynamicValues[].optionHostId Option Host Id String
pickUpDynamicValues[].optionName Option Name String
pickUpDynamicValues[].options List of Option for multiple selection component List
pickUpDynamicValues[].options[].optionId Option Id Long
pickUpDynamicValues[].options[].optionHostId Option Host Id String
pickUpDynamicValues[].options[].optionName Option Name String
pickUpDependencyFormValues[] List of list List of pickUp dependency forms.
pickUpDependencyFormValues[][].id The unique identifier of the dynamic form Long Dependency forms Id.
pickUpDependencyFormValues[][].name Name String Dependency forms name.
pickUpDependencyFormValues[][].internalTagName Internal Tag name identified String Dependency forms internal tag name.
pickUpDependencyFormValues[][].value Value String Dependency forms value.
pickUpDependencyFormValues[][].index Index Long Dependency forms index.
pickUpDependencyFormValues[][].dependencyFormParentId Dependency parent Id Long The dependency form parent Id.
dropOffDynamicValues List List of dropOff dynamic values. Take into account that DYNAMIC FIELDS section does NOT include the CUSTOM type fields available for load creation layouts.
dropOffDynamicValues[].id Id Long The Id of the dynamic value.
dropOffDynamicValues[].fieldName Field Name String The fieldName of the Dynamic value.
dropOffDynamicValues[].internalTagName Internal tag name identifier String The internalTagName of the Dynamic value.
dropOffDynamicValues[].stringValue String value String String value for a Dynamic field.
dropOffDynamicValues[].optionId Option Id Long
dropOffDynamicValues[].optionHostId Option Host Id String
dropOffDynamicValues[].optionName Option Name String
dropOffDynamicValues[].options List of Option for multiple selection component List
dropOffDynamicValues[].options[].optionId Option Id Long
dropOffDynamicValues[].options[].optionHostId Option Host Id String
dropOffDynamicValues[].options[].optionName Option Name String
dropOffDependencyFormValues[] List of list List of dropOff dependency forms.
dropOffDependencyFormValues[][].id The unique identifier of the dynamic form Long Dependency forms Id.
dropOffDependencyFormValues[][].name Name String Dependency forms name.
dropOffDependencyFormValues[][].internalTagName Internal Tag name identified String Dependency forms internal tag name.
dropOffDependencyFormValues[][].value Value String Dependency forms value.
dropOffDependencyFormValues[][].index Index Long Dependency forms index.
dropOffDependencyFormValues[][].dependencyFormParentId Dependency parent Id Long The dependency form parent Id.

Outbound API

Setup Info

Input JSON And Output JSON

POST /WAPI_TMS11/api/v1/client/setupinfo HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "target": "ACCOUNT",
    "isExists": "false",
    "searchCriteria": {
      "dateRange": {
        "from": "10/28/2018",
        "to": "10/29/2018 23:10:00.0"
      },
      "offset": "0",
      "limit": "20",
      "sortBy": "name",
      "sortOrder": "ASC"
    }
  }
]
        
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE MORE INFO
target target name of entity String It can be:
  • ACCOUNT
  • ACCOUNT_DISTRICT
  • COMMODITY
  • CONTRACT
  • CONTRACTOR
  • DYNAMIC_FIELD
  • DROP_OFF
  • HIERARCHY
  • INTERACTION
  • PICK_UP
  • SCENARIO
  • TERMINAL
  • TRAILER
  • TRUCK
  • TRUCK_TRAILER
isExists to check if it exists Boolean It is for finding whether the entities exists or not
isDriverIncludePhoneBook Include Driver's Phonebook data? String Optional argument (true or false) ONLY for use on target DRIVER for including Driver phonebook data
driverShiftDate Include Driver's shift data for the specified date? String Optional date (MM/DD/YYYY) ONLY for use on target DRIVER for including Driver shift data
searchCriteria Object Search Object
searchCriteria.dateRange Object date range (not valid for INTERACTION)
searchCriteria.dateRange.from From Date of creation/modified String MM/DD/YYYY Format - time can also be specified in 24 HR format (HH:mm:ss) like: 23:10:00.0
searchCriteria.dateRange.to To Date of creation/modified String MM/DD/YYYY Format - time can also be specified in 24 HR format (HH:mm:ss) like: 23:10:00.0
searchCriteria.dateRange.dateType Date type when searching by Date String Default is LAST_MODIFIED_DATE but can pass CREATION_DATE too
searchCriteria.offset Filter criteria to start from Integer
searchCriteria.limit Filter criteria maximum results Integer
searchCriteria.sortBy Sort parameter String
searchCriteria.sortOrder Sort order String
searchCriteria.internalTagName InternalTagName used to get dynamicField String Used to get Dynamic Field Data based on internal tag name stored in welltrax db,also used in interaction api as the host id for dynamic field(Cause Dynamic Field)
searchCriteria.hostId HostId(s) of the Dynamic Layout or other results (Strings) Array Used to get Interactions data based on the host ids of the dynamic layout (or other object) for which interactions are being retrieved
searchCriteria.condition Option host id used as condition in the interaction String Optional parameter to filter interactions based on condition used
searchCriteria.effectType Effect Type of Interactions String Optional parameter to filter interactions based on effect type passed,SET_OPTIONS and SET_VALUE
searchCriteria.affectedFieldInternalTagName InternalTagName of affected field in interactions String Optional parameter to filter interactions based on affected field(Effect Dynamic Field)
Here are extra optional search criteria that are specific certain target types:
TARGET FIELD CODE FIELD DETAILS DATA TYPE MORE INFO
ACCOUNT searchCriteria.isActive Show only Active entries? Boolean Only show active Accounts
searchCriteria.accountName Account's Name String Get only a specific Account
searchCriteria.commodityName Account's Commodity Name String Get only Accounts for a certain Commodity
ACCOUNT_DISTRICT searchCriteria.accountDistrictName Account's District's Name String Get only a specific Account District
COMMODITY searchCriteria.commodityName Commodity Name String Get only a certain Commodity
CONTRACT searchCriteria.isActive Show only Active entries? Boolean Only show active Contract?
searchCriteria.contractName Contract's Name String Get only Contracts with a certain name
searchCriteria.contractNumber Contract's Number String Get only Contracts with a certain number
CONTRACTOR searchCriteria.isActive Show only Active entries? Boolean Only show active Contractors
DRIVER searchCriteria.isActive Show only Active entries? Boolean Only show active Drivers
searchCriteria.driverFirstName Driver's First Name String Get only a specific Driver (need Last Name too)
searchCriteria.driverLastName Driver's Last Name String Get only a specific Driver (need First Name too)
DROP_OFF searchCriteria.isActive Show only Active entries? Boolean Only show active DropOffs
searchCriteria.accountHostId Account's Host Id String Get only DropOffs for the specified Account
searchCriteria.accountName Account's Name String Get only DropOffs for the specified Account
searchCriteria.commodityName Commodity Name String Get DropOffs for only a certain Commodity
searchCriteria.accountDistrictHostId Account District's Host Id String Get only DropOffs for the specified Account District
searchCriteria.accountDistrictName Account District's Name String Get only DropOffs for the specified Account District
searchCriteria.dropOffName DropOff Name String Get only a specific DropOff
searchCriteria.dropOffNumber DropOff Number String Get only a specific DropOff
searchCriteria.operatorName Operator's Name String Find by Operator's Name
searchCriteria.operatorHostId Operator's Host Id String Find by Operator's Host Id
OPERATOR searchCriteria.isActive Show only Active entries? Boolean Only show active Operators
searchCriteria.operatorName Operator's Name String Get only a specific Operator
PICK_UP searchCriteria.isActive Show only Active entries? Boolean Only show active PickUps
searchCriteria.accountHostId Account's Host Id String Get only PickUps for the specified Account
searchCriteria.accountName Account's Name String Get only PickUps for the specified Account
searchCriteria.commodityName Commodity Name String Get PickUps for only a certain Commodity
searchCriteria.accountDistrictHostId Account District's Host Id String Get only PickUps for the specified Account District
searchCriteria.accountDistrictName Account District's Name String Get only PickUps for the specified Account District
searchCriteria.pickUpName PickUp Name String Get only a specific PickUp
searchCriteria.pickUpNumber PickUp Number String Get only a specific PickUp
searchCriteria.operatorName Operator's Name String Find by Operator's Name
searchCriteria.operatorHostId Operator's Host Id String Find by Operator's Host Id
SCENARIO searchCriteria.isActive Show only Active entries? Boolean Only show active Scenarios
searchCriteria.pickUpAccountHostId PickUp Account's Host Id String Get only Scenarios whose PickUps are for the specified Account
searchCriteria.pickUpAccountName PickUp Account's Name String Get only Scenarios whose PickUps are for the specified Account
searchCriteria.pickUpHostId PickUp HostId String Get Scenarios for a certain PickUp
searchCriteria.pickUpName PickUp Name String Get Scenarios for a certain PickUp
searchCriteria.pickUpNumber PickUp Number String Get Scenarios for a certain PickUp
searchCriteria.dropOffAccountHostId DropOff Account's Host Id String Get only Scenarios whose DropOffs are for the specified Account
searchCriteria.dropOffAccountName DropOff Account's Name String Get only Scenarios whose DropOffs are for the specified Account
searchCriteria.dropOffHostId DropOff HostId String Get Scenarios for a certain DropOff
searchCriteria.dropOffName DropOff Name String Get Scenarios for a certain DropOff
searchCriteria.dropOffNumber DropOff Number String Get Scenarios for a certain DropOff
TERMINAL searchCriteria.isActive Show only Active entries? Boolean Only show active Terminals
searchCriteria.terminalName Terminal's Name String Get only a specific Terminal
TRAILER searchCriteria.isActive Show only Active entries? Boolean Only show active Trailers
searchCriteria.trailerNumber Trailer's Number String Get only a specific Trailer
TRUCK searchCriteria.isActive Show only Active entries? Boolean Only show active Trucks
searchCriteria.truckNumber Truck's Number String Get only a specific Truck
TRUCK_TRAILER searchCriteria.isActive Show only Active entries? Boolean Only show active Trucks or Trailers
searchCriteria.trailerNumber Trailer's Number String Get only a specific Trailer
searchCriteria.truckNumber Truck's Number String Get only a specific Truck

INACTIVE API

Inactive API

Users can always inactive entities by sending active/inactive flag on the API entities, but they can leverage Inactive API by sending list of hostIds to inactive them for ease. Input JSON And Output JSON

POST /ticketAPI/v1/tickets/{company_name} HTTP/1.1
Host: https://welltrax-api.wolfepakcloud.com
Content-Type: application/json
Authorization: Bearer {your_access_token}
Cache-Control: no-cache

[
  {
    "entity": "ACCOUNT",
    "hostId": [
          "ACCT123",
         "ACCT234"
    ]
  }
]
        
Following are the field descriptions:
FIELD CODE FIELD DETAILS DATA TYPE LENGTH MORE INFO
entity Entity Name String 128 values are - Account, Account_District, Pick_up, drop_off, operator, terminal
hostId Array of hostIDs String List