openapi: 3.0.4
info:
title: Track-POD Address Vehicle API
description: 'Track-POD API enables ERP or any other system integration with Track-POD without need for any manual data input. Our API provides an easy HTTP interface to Track-POD functionality through JSON or XML
Endpoint:
https://api.track-pod.com/
Request headers:
X-API-KEY - API Key. Please find the API key in the Track-POD settings
Content-Type - (POST/PUT) Request input type: application/json - JSON, application/xml - XML
Accept - Response output type: application/json - JSON, application/xml - XML
Accept-Encoding - Response compression: gzip, deflate, br
Webhooks:
Create/Update/Delete route, Create/Update/Delete order, and more How to use Webhooks?'
version: '2.0'
security:
- ApiKey: []
tags:
- name: Vehicle
paths:
/Vehicle/{id}:
get:
tags:
- Vehicle
summary: Get vehicle by Track-POD unique identifier
operationId: GetVehicle
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: A vehicle
content:
text/plain:
schema:
$ref: '#/components/schemas/VehicleExtended'
application/json:
schema:
$ref: '#/components/schemas/VehicleExtended'
text/json:
schema:
$ref: '#/components/schemas/VehicleExtended'
application/xml:
schema:
$ref: '#/components/schemas/VehicleExtended'
text/xml:
schema:
$ref: '#/components/schemas/VehicleExtended'
'401':
description: Unauthorized. Invalid X-API-KEY in the request header
'404':
description: Not found. Vehicle not found
'429':
description: Too Many Requests. Rate limit is 20 requests/sec and 400 requests/min
'500':
description: Internal Server Error
delete:
tags:
- Vehicle
summary: Delete vehicle by Track-POD unique identifier
operationId: DeleteVehicle
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: Vehicle was deleted
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiResponse'
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
text/json:
schema:
$ref: '#/components/schemas/ApiResponse'
application/xml:
schema:
$ref: '#/components/schemas/ApiResponse'
text/xml:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
description: Bad Request.
'401':
description: Unauthorized. Invalid X-API-KEY in the request header
'404':
description: Not found. Vehicle not found
'429':
description: Too Many Requests. Rate limit is 20 requests/sec and 400 requests/min
'500':
description: Internal Server Error
/Vehicle:
get:
tags:
- Vehicle
summary: Get vehicles
operationId: GetVehicles
parameters:
- name: number
in: query
schema:
type: string
responses:
'200':
description: Vehicles
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/VehicleExtended'
xml:
name: List`1
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/VehicleExtended'
xml:
name: List`1
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/VehicleExtended'
xml:
name: List`1
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/VehicleExtended'
xml:
name: List`1
text/xml:
schema:
type: array
items:
$ref: '#/components/schemas/VehicleExtended'
xml:
name: List`1
'401':
description: Unauthorized. Invalid X-API-KEY in the request header
'429':
description: Too Many Requests. Rate limit is 20 requests/sec and 400 requests/min
'500':
description: Internal Server Error
post:
tags:
- Vehicle
summary: Add vehicle
operationId: AddVehicle
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/NewVehicle'
application/xml:
schema:
$ref: '#/components/schemas/NewVehicle'
responses:
'201':
description: Vehicle was created successfully
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiResponse'
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
text/json:
schema:
$ref: '#/components/schemas/ApiResponse'
application/xml:
schema:
$ref: '#/components/schemas/ApiResponse'
text/xml:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
description: One or more validation errors
'401':
description: Unauthorized. Invalid X-API-KEY in the request header
'415':
description: Unsupported Media Type. Invalid Content-Type in the request header. Must be application/json or application/xml
'429':
description: Too Many Requests. Rate limit is 20 requests/sec and 400 requests/min
'500':
description: Internal Server Error
put:
tags:
- Vehicle
summary: Update vehicle
operationId: UpdateVehicle
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVehicle'
application/xml:
schema:
$ref: '#/components/schemas/UpdateVehicle'
responses:
'202':
description: Vehicle was updated successfully
content:
text/plain:
schema:
$ref: '#/components/schemas/ApiResponse'
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
text/json:
schema:
$ref: '#/components/schemas/ApiResponse'
application/xml:
schema:
$ref: '#/components/schemas/ApiResponse'
text/xml:
schema:
$ref: '#/components/schemas/ApiResponse'
'400':
description: One or more validation errors
'401':
description: Unauthorized. Invalid X-API-KEY in the request header
'404':
description: Not found. Vehicle not found
'415':
description: Unsupported Media Type. Invalid Content-Type in the request header. Must be application/json or application/xml
'429':
description: Too Many Requests. Rate limit is 20 requests/sec and 400 requests/min
'500':
description: Internal Server Error
components:
schemas:
VehicleExtended:
type: object
properties:
Id:
type: integer
description: Track-POD unique identifier
format: int32
nullable: true
example: 2341
DriverId:
type: string
description: Driver's Track-POD unique identifier
format: uuid
nullable: true
example: 00000000-0000-0000-0000-000000000000
DriverUsername:
type: string
description: Driver's username
nullable: true
example: MyDriver
DepotId:
type: string
description: Unique identifier in user accounting system
nullable: true
example: 1
Depot:
type: string
description: Depot address
nullable: true
example: '9 Riverside, Salford M7 1PA '
MaxNodes:
type: integer
description: Maximum number of sites/orders
format: int32
nullable: true
example: 5
MaxWorkTime:
type: integer
description: Maximum work time, h
format: int32
nullable: true
example: 8
MaxDistance:
type: integer
description: Maximum distance, km
format: int32
nullable: true
example: 1000
SpeedRatio:
type: number
description: Speed ratio restriction
format: double
nullable: true
example: 1
CostPerDistance:
type: number
description: Cost per distance (km)
format: double
nullable: true
example: 1
CostPerHour:
type: number
description: Cost per hour
format: double
nullable: true
example: 10
BaseFare:
type: number
description: Base fare
format: double
nullable: true
example: 0
StartTime:
type: string
description: Start time
format: date-span
nullable: true
example: 08:00:00
VehicleType:
type: integer
description: 'Vehicle type: 0 - Truck/Car, 1 - Motorcycle, 2 - Bicycle'
format: int32
nullable: true
example: 1
EmissionCo2:
type: integer
description: Vehicle emission g/km or g/mile
format: int32
nullable: true
example: 250
Number:
maxLength: 30
minLength: 0
type: string
description: Number
nullable: true
example: XXX777
CarrierCode:
maxLength: 255
minLength: 0
type: string
description: Carrier Code
nullable: true
example: 31
Carrier:
maxLength: 255
minLength: 0
type: string
description: Carrier
nullable: true
example: Big Logistics
Weight:
type: number
description: Capacity Weight
format: double
nullable: true
example: 10000
Volume:
type: number
description: Capacity Volume
format: double
nullable: true
example: 14.5
Pallets:
type: number
description: Capacity Pallets
format: double
nullable: true
example: 16
additionalProperties: false
xml:
name: VehicleExtended
NewVehicle:
type: object
properties:
Number:
maxLength: 30
minLength: 0
type: string
description: "Required (*) \n\nNumber"
nullable: true
example: XXX777
CarrierCode:
maxLength: 255
minLength: 0
type: string
description: Carrier Code
nullable: true
example: 31
Carrier:
maxLength: 255
minLength: 0
type: string
description: Carrier
nullable: true
example: Big Logistics
Weight:
maximum: 100000000
minimum: 0
type: number
description: Capacity Weight
format: double
nullable: true
example: 100
Volume:
maximum: 100000000
minimum: 0
type: number
description: Capacity Volume
format: double
nullable: true
example: 14.5
Pallets:
maximum: 100000000
minimum: 0
type: number
description: Capacity Pallets
format: double
nullable: true
example: 16
DriverId:
type: string
description: "Required (*) \n\nDriver's Track-POD unique identifier (DriverId or DriverUsername is Required)"
format: uuid
nullable: true
example: 00000000-0000-0000-0000-000000000000
DriverUsername:
type: string
description: "Required (*) \n\nDriver's username (DriverId or DriverUsername is Required)"
nullable: true
example: MyDriver
DepotId:
maxLength: 50
minLength: 0
type: string
description: "Required (*) \n\nUnique identifier in user accounting system (DepotId or Depot is Required)"
nullable: true
example: 1
Depot:
maxLength: 255
minLength: 0
type: string
description: "Required (*) \n\nDepot address (DepotId or Depot is Required)"
nullable: true
example: '9 Riverside, Salford M7 1PA '
MaxNodes:
maximum: 200
minimum: 0
type: integer
description: Maximum number of sites/orders
format: int32
nullable: true
example: 5
MaxWorkTime:
maximum: 480
minimum: 0
type: integer
description: Maximum work time, h
format: int32
nullable: true
example: 8
MaxDistance:
maximum: 10000
minimum: 0
type: integer
description: Maximum distance, km
format: int32
nullable: true
example: 1000
SpeedRatio:
type: number
description: 'Speed ratio restriction
(should be grater than 0 and less or equal 2)'
format: double
nullable: true
example: 1
CostPerDistance:
maximum: 1000000
minimum: 0
type: number
description: Cost per distance (km)
format: double
nullable: true
example: 1.1
CostPerHour:
maximum: 1000000
minimum: 0
type: number
description: Cost per hour
format: double
nullable: true
example: 10
BaseFare:
maximum: 1000000
minimum: 0
type: number
description: Base fare
format: double
nullable: true
example: 0
StartTime:
type: string
description: Start time
format: date-span
nullable: true
example: 08:00:00
VehicleType:
maximum: 2
minimum: 0
type: integer
description: 'Vehicle type: 0 - Truck/Car, 1 - Motorcycle, 2 - Bicycle'
format: int32
nullable: true
example: 1
EmissionCo2:
maximum: 50000
minimum: 0
type: integer
description: Vehicle emission g/km or g/mile
format: int32
nullable: true
example: 250
additionalProperties: false
description: '"*" - required fields'
xml:
name: NewVehicle
UpdateVehicle:
type: object
properties:
Id:
type: integer
description: Track-POD unique identifier
format: int32
example: 2341
Number:
maxLength: 30
minLength: 0
type: string
description: "Required (*) \n\nNumber"
nullable: true
example: XXX777
CarrierCode:
maxLength: 255
minLength: 0
type: string
description: Carrier Code
nullable: true
example: 31
Carrier:
maxLength: 255
minLength: 0
type: string
description: Carrier
nullable: true
example: Big Logistics
Weight:
maximum: 100000000
minimum: 0
type: number
description: Capacity Weight
format: double
nullable: true
example: 100
Volume:
maximum: 100000000
minimum: 0
type: number
description: Capacity Volume
format: double
nullable: true
example: 14.5
Pallets:
maximum: 100000000
minimum: 0
type: number
description: Capacity Pallets
format: double
nullable: true
example: 16
DriverId:
type: string
description: "Required (*) \n\nDriver's Track-POD unique identifier (DriverId or DriverUsername is Required)"
format: uuid
nullable: true
example: 00000000-0000-0000-0000-000000000000
DriverUsername:
type: string
description: "Required (*) \n\nDriver's username (DriverId or DriverUsername is Required)"
nullable: true
example: MyDriver
DepotId:
maxLength: 50
minLength: 0
type: string
description: "Required (*) \n\nUnique identifier in user accounting system (DepotId or Depot is Required)"
nullable: true
example: 1
Depot:
maxLength: 255
minLength: 0
type: string
description: "Required (*) \n\nDepot address (DepotId or Depot is Required)"
nullable: true
example: '9 Riverside, Salford M7 1PA '
MaxNodes:
maximum: 200
minimum: 0
type: integer
description: Maximum number of sites/orders
format: int32
nullable: true
example: 5
MaxWorkTime:
maximum: 480
minimum: 0
type: integer
description: Maximum work time, h
format: int32
nullable: true
example: 8
MaxDistance:
maximum: 10000
minimum: 0
type: integer
description: Maximum distance, km
format: int32
nullable: true
example: 1000
SpeedRatio:
type: number
description: 'Speed ratio restriction
(should be grater than 0 and less or equal 2)'
format: double
nullable: true
example: 1
CostPerDistance:
maximum: 1000000
minimum: 0
type: number
description: Cost per distance (km)
format: double
nullable: true
example: 1.1
CostPerHour:
maximum: 1000000
minimum: 0
type: number
description: Cost per hour
format: double
nullable: true
example: 10
BaseFare:
maximum: 1000000
minimum: 0
type: number
description: Base fare
format: double
nullable: true
example: 0
StartTime:
type: string
description: Start time
format: date-span
nullable: true
example: 08:00:00
VehicleType:
maximum: 2
minimum: 0
type: integer
description: 'Vehicle type: 0 - Truck/Car, 1 - Motorcycle, 2 - Bicycle'
format: int32
nullable: true
example: 1
EmissionCo2:
maximum: 50000
minimum: 0
type: integer
description: Vehicle emission g/km or g/mile
format: int32
nullable: true
example: 250
additionalProperties: false
xml:
name: UpdateVehicle
ApiResponse:
type: object
properties:
Status:
type: integer
description: The HTTP status code for the response
format: int32
nullable: true
Title:
type: string
description: A short, human-readable summary of the response
nullable: true
Detail:
type: string
description: A human-readable explanation specific to this response.
nullable: true
additionalProperties: false
description: 'Object for all API responses, except GET (status code: 200)'
xml:
name: ApiResponse
securitySchemes:
ApiKey:
type: apiKey
description: Please enter API key into field
name: X-API-KEY
in: header