Host-to-Host Integration API (0.0.1)

This is the formal specification of the Host-to-Host API of the Multi Service Tolls system. This specification defines the interface of how to access the MST tolling services, including setting up customers and vehicles, ordering products, and managing toll domains. Refer to the "H2H DataModel" excel sheets for further explanations of fields, parameter usage, and examples. Contact the MST Sales department (info@multiservicetolls.com) for information about connectivity and access credentials.

Copyright 2020 Multi Service Tolls. All rights reserved.

Authentication

ApiKeyAuth

All requests must include a JSON Web Token in the X-API-Key header. Provide the client name as the JWT issuer (iss) and sign with HS256 using the provided secret.

Security scheme type: API Key
header parameter name: X-API-Key

Search customers

Get the list of customers

Authorizations:
query Parameters
customer_name
string [ 1 .. 50 ] characters

The name of customer

vat_number
string [ 1 .. 20 ] characters

VAT number

alternative_vat_number
string [ 1 .. 20 ] characters

Alternative VAT number

coc_number
string [ 1 .. 20 ] characters

CoC number

Responses

200

The list of customers

400

Bad request

401

Unauthorized

404

Not found

500

The operation failed because of an error

get /customers
https://tolls-api.msts.com/v1/customers

Response samples

application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Query transactions

Returns a list of transactions. Open query not permitted. You can't use batch seq number together with date range.

Authorizations:
query Parameters
start_date
string (ttt_date) ^[0-9]{4}-[0-9]{2}-[0-9]{2}
Example: "2018-07-09"

Loading date to start the query from

end_date
string (ttt_date) ^[0-9]{4}-[0-9]{2}-[0-9]{2}
Example: "2018-07-09"

Loading date to end the query at

batch_seq_nr
string (seq_nr) non-empty ^[0-9]+$
Example: "325"

Batch Sequence Number

page_nr
integer (page_nr)
Example: 1

Page of results to return (only for use with base_seq_nr)

Responses

200

The list of transactions that match the query criteria

500

The operation failed because of an error

get /transactions
https://tolls-api.msts.com/v1/transactions

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "customer_currency": "EUR",
  • "total_pages": 1,
  • "total_count": 1,
  • "total_amount": 0,
  • "page_nr": 1,
  • "page_count": 1,
  • "page_amount": 0,
  • "transactions":
    [
    ]
}

Retrieve a transaction

Authorizations:
path Parameters
transaction_id
required
integer
Example: 14593

Responses

200

The transaction

404

Not found

500

The operation failed because of an error

get /transactions/{transaction_id}
https://tolls-api.msts.com/v1/transactions/{transaction_id}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "customer_currency": "EUR",
  • "total_pages": 1,
  • "total_count": 1,
  • "total_amount": 0,
  • "page_nr": 1,
  • "page_count": 1,
  • "page_amount": 0,
  • "transactions":
    [
    ]
}

Retrieve a single field for a transaction

Authorizations:
path Parameters
transaction_id
required
integer
Example: 14593
field_name
required
string
Enum:"transaction_id" "partner_haulier_id" "supplier_name" "transaction_country" "transaction_domain" "purchase_datetime" "entry_point_name" "entry_datetime" "exit_point_name" "exit_datetime" "device_product_type" "device_product_number" "transaction_product_id" "transaction_product_name" "license_plate_number" "vehicle_country" "original_currency" "original_net_amount" "original_gross_amount" "original_vat_percentage" "customer_currency" "transaction_net_amount" "transaction_gross_amount" "exempt_amount" "msts_fee_amount" "msts_vat_amount" "msts_vat_percentage" "total_gross_amount" "transaction_status" "loading_date" "batch_seq_nr" "invoice_number" "invoice_date" "specification_page_id" "specification_page_name" "transaction_debit_or_credit" "original_transaction_id" "original_invoice_number" "original_invoice_date" "credit_comment" "customer_name" "customer_vat_number" "packed_ascii_license_plate_no" "vehicle_type" "fleet_code" "driver_group" "vehicle_axles" "total_axles" "euronorm" "vehicle_weight" "total_weight" "certification_date" "loadfile_datetime" "loadfile_type" "loadfile_seq_nr" "tsp_name" "route" "distance_km" "duration" "supplier_licence_plate_number" "supplier_vehicle_country" "supplier_vehicle_class" "supplier_vehicle_euronorm" "supplier_tariff_code" "original_base_amount" "original_air_external_cost" "original_noise_external_cost" "original_quantity" "original_base_price" "original_rate_percentage" "original_exchange_rate" "original_vat_country" "original_vat_percentage" "original_vat_amount" "customer_exchange_rate" "customer_vat_amount" "msts_vat_country" "msts_vat_percentage" "total_net_amount" "total_vat_amount" "transaction_sent_datetime" "transaction_sent_seq_nr" "settlement_sent_datetime" "settlement_sent_seq_nr" "supplier_transaction_id" "supplier_obu_id" "supplier_product_id" "supplier_invoice_id" "supplier_customer_id" "loadfile_id" "eurovignet_number" "eurovignet_trace_number" "italian_toll_exempt_amount" "belgian_roll_road_type" "spanish_portuguese_details" "french_toll_cost_details" "french_toll_commercial_condition" "french_toll_entry_acquisition_type" "french_toll_exit_acquisition_type" "french_toll_battery_status" "toll_collect_kostenstelle" "toll_collect_tarifversion" "toll_collect_ortsklasse" "toll_collect_zeitklasse" "toll_collect_achsklasse" "toll_collect_gweichtsklasse" "toll_collect_emissionsklasse" "toll_collect_betreiber_id" "toll_collect_verfahren"

Responses

200

The transaction

404

Not found

500

The operation failed because of an error

get /transactions/{transaction_id}/{field_name}
https://tolls-api.msts.com/v1/transactions/{transaction_id}/{field_name}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "transaction_id": 14593,
  • "field_name": "license_plate_number",
  • "field_value": "17-BBT-8"
}

Get new transactions

Returns a newly created batch of transactions. Only returns the first page of transactions, subsequent pages are to be requested via /transactions with batch_seq_nr and page_nr.

Authorizations:

Responses

200

The transactions batch

500

The operation failed because of an error

get /transactions/new
https://tolls-api.msts.com/v1/transactions/new

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "batch_seq_nr": "325",
  • "customer_currency": "EUR",
  • "total_pages": 1,
  • "total_count": 1,
  • "total_amount": 0,
  • "page_nr": 1,
  • "page_count": 1,
  • "page_amount": 0,
  • "transactions":
    [
    ]
}

Query settled transactions

Returns a list of settled transactions. Open query not permitted. You can't use batch seq number together with date range

Authorizations:
query Parameters
start_date
string (ttt_date) ^[0-9]{4}-[0-9]{2}-[0-9]{2}
Example: "2018-07-09"

Invoice date to start the query from

end_date
string (ttt_date) ^[0-9]{4}-[0-9]{2}-[0-9]{2}
Example: "2018-07-09"

Invoice date to end the query at

batch_seq_nr
string (seq_nr) non-empty ^[0-9]+$
Example: "325"

Batch Sequence Number

page_nr
integer (page_nr)
Example: 1

Page of results to return (only for use with base_seq_nr)

Responses

200

The list of settled transactions that match the query criteria

500

The operation failed because of an error

get /settlements
https://tolls-api.msts.com/v1/settlements

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "customer_currency": "EUR",
  • "total_pages": 1,
  • "total_count": 1,
  • "total_amount": 0,
  • "page_nr": 1,
  • "page_count": 1,
  • "page_amount": 0,
  • "transactions":
    [
    ]
}

Get new settlements

Returns a newly created batch of settlements. Only returns the first page of transactions, subsequent pages are to be requested via /transactions with batch_seq_nr and page_nr.

Authorizations:

Responses

200

The settlements batch

500

The operation failed because of an error

get /settlements/new
https://tolls-api.msts.com/v1/settlements/new

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "batch_seq_nr": "325",
  • "customer_currency": "EUR",
  • "total_pages": 1,
  • "total_count": 1,
  • "total_amount": 0,
  • "page_nr": 1,
  • "page_count": 1,
  • "page_amount": 0,
  • "transactions":
    [
    ]
}

Query PDF invoices

Returns links to PDF invoices.

Authorizations:
query Parameters
start_date
required
string (ttt_date) ^[0-9]{4}-[0-9]{2}-[0-9]{2}
Example: "2018-07-09"

Invoice date to start the query from

end_date
required
string (ttt_date) ^[0-9]{4}-[0-9]{2}-[0-9]{2}
Example: "2018-07-09"

Invoice date to end the query at

Responses

200

PDF invoices by invoice date

500

The operation failed because of an error

get /invoices
https://tolls-api.msts.com/v1/invoices

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "pdf_invoices":
    [
    ]
}

Retrieve PDF invoices by Invoice ID

Returns links to PDF invoices.

Authorizations:
path Parameters
invoice_id
required
string (invoice_id) non-empty ^[0-9]+$
Example: "562"

Unique ID for an invoice

Responses

200

PDF invoices by invoice ID

404

Not found

500

The operation failed because of an error

get /invoices/{invoice_id}
https://tolls-api.msts.com/v1/invoices/{invoice_id}

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "pdf_invoices":
    [
    ]
}

Query Don't Bill transactions

Returns a list of transactions which are in Don't Bill status. Open query not permitted. You can't use batch seq number together with date range.

Authorizations:
query Parameters
start_date
string (ttt_date) ^[0-9]{4}-[0-9]{2}-[0-9]{2}
Example: "2018-07-09"

Loading date to start the query from

end_date
string (ttt_date) ^[0-9]{4}-[0-9]{2}-[0-9]{2}
Example: "2018-07-09"

Loading date to end the query at

batch_seq_nr
string (seq_nr) non-empty ^[0-9]+$
Example: "325"

Batch Sequence Number

page_nr
integer (page_nr)
Example: 1

Page of results to return (only for use with base_seq_nr)

Responses

200

The list of Don't Bill transactions that match the query criteria

500

The operation failed because of an error

get /dailytrx
https://tolls-api.msts.com/v1/dailytrx

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "customer_currency": "EUR",
  • "total_pages": 1,
  • "total_count": 1,
  • "total_amount": 0,
  • "page_nr": 1,
  • "page_count": 1,
  • "page_amount": 0,
  • "transactions":
    [
    ]
}

Get new don't bill transactions

Returns a newly created batch of Don't Bill transactions. Only returns the first page of transactions, subsequent pages are to be requested via /dailytrx with batch_seq_nr and page_nr.

Authorizations:

Responses

200

The Don't Bill transactions batch

500

The operation failed because of an error

get /dailytrx/new
https://tolls-api.msts.com/v1/dailytrx/new

Response samples

application/json
Copy
Expand all Collapse all
{
  • "sender": "MSTS",
  • "receiver": "string",
  • "datetime": "2018-07-09 08:18:28",
  • "message": "OK",
  • "batch_seq_nr": "325",
  • "customer_currency": "EUR",
  • "total_pages": 1,
  • "total_count": 1,
  • "total_amount": 0,
  • "page_nr": 1,
  • "page_count": 1,
  • "page_amount": 0,
  • "transactions":
    [
    ]
}