Skip to main content
POST
/
route_stops
Add Route Stop
curl --request POST \
  --url https://api.crosoftware.com/v0/route_stops \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-tenant-id: <x-tenant-id>' \
  --data '
{
  "asset_id": 123,
  "request_for": 123,
  "request_type": "<string>",
  "route_id": 123,
  "asset_quantity": 123,
  "dispatcher_notes": "<string>",
  "old_request_for": 123,
  "pickup_on": "2023-11-07T05:31:56Z",
  "pickup_quantity": 123,
  "priority": 123,
  "skip_next_dispatch": "<string>"
}
'
import requests

url = "https://api.crosoftware.com/v0/route_stops"

payload = {
"asset_id": 123,
"request_for": 123,
"request_type": "<string>",
"route_id": 123,
"asset_quantity": 123,
"dispatcher_notes": "<string>",
"old_request_for": 123,
"pickup_on": "2023-11-07T05:31:56Z",
"pickup_quantity": 123,
"priority": 123,
"skip_next_dispatch": "<string>"
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
asset_id: 123,
request_for: 123,
request_type: '<string>',
route_id: 123,
asset_quantity: 123,
dispatcher_notes: '<string>',
old_request_for: 123,
pickup_on: '2023-11-07T05:31:56Z',
pickup_quantity: 123,
priority: 123,
skip_next_dispatch: '<string>'
})
};

fetch('https://api.crosoftware.com/v0/route_stops', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.crosoftware.com/v0/route_stops",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'asset_id' => 123,
'request_for' => 123,
'request_type' => '<string>',
'route_id' => 123,
'asset_quantity' => 123,
'dispatcher_notes' => '<string>',
'old_request_for' => 123,
'pickup_on' => '2023-11-07T05:31:56Z',
'pickup_quantity' => 123,
'priority' => 123,
'skip_next_dispatch' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.crosoftware.com/v0/route_stops"

payload := strings.NewReader("{\n \"asset_id\": 123,\n \"request_for\": 123,\n \"request_type\": \"<string>\",\n \"route_id\": 123,\n \"asset_quantity\": 123,\n \"dispatcher_notes\": \"<string>\",\n \"old_request_for\": 123,\n \"pickup_on\": \"2023-11-07T05:31:56Z\",\n \"pickup_quantity\": 123,\n \"priority\": 123,\n \"skip_next_dispatch\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-tenant-id", "<x-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.crosoftware.com/v0/route_stops")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"asset_id\": 123,\n \"request_for\": 123,\n \"request_type\": \"<string>\",\n \"route_id\": 123,\n \"asset_quantity\": 123,\n \"dispatcher_notes\": \"<string>\",\n \"old_request_for\": 123,\n \"pickup_on\": \"2023-11-07T05:31:56Z\",\n \"pickup_quantity\": 123,\n \"priority\": 123,\n \"skip_next_dispatch\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.crosoftware.com/v0/route_stops")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"asset_id\": 123,\n \"request_for\": 123,\n \"request_type\": \"<string>\",\n \"route_id\": 123,\n \"asset_quantity\": 123,\n \"dispatcher_notes\": \"<string>\",\n \"old_request_for\": 123,\n \"pickup_on\": \"2023-11-07T05:31:56Z\",\n \"pickup_quantity\": 123,\n \"priority\": 123,\n \"skip_next_dispatch\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "asset_id": 123,
  "asset_quantity": 123,
  "created_on": "2023-11-07T05:31:56Z",
  "dispatcher_notes": "<string>",
  "id": 123,
  "num_times_completed": 123,
  "num_times_failed": 123,
  "old_request_for": 123,
  "pickup_on": "2023-11-07T05:31:56Z",
  "pickup_quantity": 123,
  "priority": 123,
  "request_for": 123,
  "request_type": "<string>",
  "route_id": 123,
  "skip_next_dispatch": "<string>"
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

x-api-version
string

Version identifier (date format).

x-tenant-id
integer<int64>
required

Tenant identifier. Contact CRO Software for more info if you don't already have this id. See list tenant ids for info on listing the tenants you have access to.

Body

application/json

Create new route request body model.

asset_id
integer<int64>
required

Job asset identifier. Applicable to job types 'E', 'P', 'R'.

request_for
integer
required

Customer id.

request_type
string
required

Set by dispatchers and customers. Represents physical actions to execute on job start.

route_id
integer<int64>
required

Trailer record identifier.

asset_quantity
integer

Asset quantity.

dispatcher_notes
string

Dispatcher notes.

old_request_for
integer

Old request for.

pickup_on
string<date-time>

Pickup on.

pickup_quantity
integer

Pickup quantity.

priority
integer

Priority.

skip_next_dispatch
string

Comma separated list of route_ids to skip.

Response

200 - application/json

Success

Route stop model.

asset_id
integer<int64>
required

Job asset identifier. Applicable to job types 'E', 'P', 'R'.

asset_quantity
integer
required

Asset quantity.

created_on
string<date-time>
required

Created on date.

dispatcher_notes
string
required

Dispatcher notes.

id
integer
required

Route stop id.

num_times_completed
integer
required

Number of times completed.

num_times_failed
integer
required

Number of times failed.

old_request_for
integer
required

Old request for.

pickup_on
string<date-time>
required

Pickup on.

pickup_quantity
integer
required

Pickup quantity.

priority
integer
required

Priority.

request_for
integer
required

Customer id.

request_type
string
required

Set by dispatchers and customers. Represents physical actions to execute on job start.

route_id
integer<int64>
required

Trailer record identifier.

skip_next_dispatch
string
required

Comma separated list of route_ids to skip.