DOT

DOT Integration

Verdict has an integration with Sencillo’s DOT service. This will use your own ruleset against the data from a carrier, and make a decision for you.

The ruleset has predefined rules such as: allowed operations, allowed cargo, allowed census types, etc.

Getting A Decision

To get a decision on a carrier, simply call the decision endpoint with the DOT number

curl -X GET -H "Authorization: Bearer <token>" https://dot.sencillo.dev/api/v1/dot/decision/12345

This will return a decision based on your ruleset.

Rulesets

Your rules can be versioned. For example, lets say on Jan 1, 2025 you only accept a census type of “CARRIER”. Your ruleset would have this definition.

...
  "census_types": {
    "enabled": true,
    "type": "denial",
    "values": {
      "2025-01-01": ["CARRIER"]
    }
  },
...

And in Februrary you want to add “BROKER”. Now your ruleset would contain this:

...
  "census_types": {
    "enabled": true,
    "type": "denial",
    "values": {
      "2025-01-01": ["CARRIER"],
      "2025-02-01": ["CARRIER","BROKER"]
    }
  },
...

You can also define the type of rule and if the rule is enabled. Valid types are denial and referral.

Setting the Type

Setting the type does not change the allowed field, but will change the details. Referrals and denials are both returned as "allowed": false however their respective arrays will contain the details of the denial or referral. The status field then reflects whether this is a denial or a referral. For example if you set the census type to denial you would receive a decision like this:

{
  "allowed": false,
  "denials": [
    "census type BROKER not approved"
  ],
  "errors": [],
  "referrals": [],
  "status": "Declined"
}

However, if you set the type to referral, you would receive a payload like this:

{
  "allowed": false,
  "denials": [],
  "errors": [],
  "referrals": [
    "census type BROKER not approved"
  ],
  "status": "Referred"
}