ITSS practice group ITSS. Standard Specification. ITSS Interface 1. (Telematics Application Customer System) Version 1.1

Similar documents
ITSS. Standard Specification. ITSS Interface 1. ITSS practice group. (Telematics Application Customer System) Version 1.

QPP Proprietary Profile Guide

Ecma International Policy on Submission, Inclusion and Licensing of Software

Ecma International Policy on Submission, Inclusion and Licensing of Software

Mile Terms of Use. Effective Date: February, Version 1.1 Feb 2018 [ Mile ] Mileico.com

StorageGRID Webscale NAS Bridge Management API Guide

MyCreditChain Terms of Use

Release Notes. BlackBerry UEM Client for Android Version

IETF TRUST. Legal Provisions Relating to IETF Documents. Approved November 6, Effective Date: November 10, 2008

Data Deduplication Metadata Extension

IETF TRUST. Legal Provisions Relating to IETF Documents. February 12, Effective Date: February 15, 2009

BlackBerry Java Development Environment (JDE)

TERMS & CONDITIONS. Complied with GDPR rules and regulation CONDITIONS OF USE PROPRIETARY RIGHTS AND ACCEPTABLE USE OF CONTENT

Replacing drives for SolidFire storage nodes

BlackBerry Enterprise Server for Microsoft Office 365. Version: 1.0 Maintenance Release: 1. Release Notes

Watch 4 Size v1.0 User Guide By LeeLu Soft 2013

How to use the NTAG I²C plus for bidirectional communication. Rev June

BlackBerry Enterprise Service 10. September 10, 2014 Version: 10 and 10.1.x. Compatibility Matrix

User Guide. BlackBerry Docs To Go for Android. Version 1.3.0

Compatibility Matrix. Good Control and Good Proxy. June 4, 2018

E-Series Cabling E-Series Hardware

FOR TCG ACPI Specification

The Travel Tree Terms and Conditions

Packet Trace Guide. Packet Trace Guide. Technical Note

Epic. Epic Systems. Deployment Guide

Getting Started with MTConnect: Architecture

Licensing Model Guide

Release Notes. BlackBerry Enterprise Identity

Installation and Configuration Guide

Avaya VPN Client Software Release 10.05_100

Open Source Used In TSP

2 Unifying receiver (DJ) Software Interface

Splunk. Splunk. Deployment Guide

UM PR533 - PCSC Tool. User manual COMPANY PUBLIC. Rev November Document information

Adobe Connect. Adobe Connect. Deployment Guide

XEP-0206: XMPP Over BOSH

SAM4 Reset Controller (RSTC)

Control4/HomeKit Appliance User Manual. User Manual. June Version Varietas Software, LLC.

Cluster and SVM Peering Express Guide

SNP Launchpad. Version: December SNP Schneider-Neureither & Partner AG

HALCoGen TMS570LS31x Help: example_sci_uart_9600.c

VMware vcenter Log Insight Manager. Deployment Guide

APPLICATION NOTE. Atmel AT03261: SAM D20 System Interrupt Driver (SYSTEM INTERRUPT) SAM D20 System Interrupt Driver (SYSTEM INTERRUPT)

Purchase Order Management For Magento 1.x

ezfinder User Guide Version 1.0

Bar Code Discovery. Administrator's Guide

Terms Of Use AGREEMENT BETWEEN USER AND DRAKE MODIFICATION OF THESE TERMS OF USE LINKS TO THIRD PARTY WEB SITES USE OF COOKIES

BlackBerry Enterprise Server Express for Microsoft Exchange

UM NVT2001GM and NVT2002DP demo boards. Document information

UM NVT2008PW and NVT2010PW demo boards. Document information

calio / form-input-nginx-module

RAVENNA-2-SAP Converter Installation + Operation Guide

Replacing the NVDIMM battery

D3.5 Mockups of the CROWD4ROADS mobile app

Quick Start Guide. BlackBerry Workspaces app for Android. Version 5.0

LGR Toolset (beta) User Guide. IDN Program October 2016

Joint Initiative on a PSD2 Compliant XS2A Interface NextGenPSD2 XS2A Framework Operational Rules

User Manual. Date Aug 30, Enertrax DAS Download Client

Migration Tool. Migration Tool (Beta) Technical Note

BlackBerry Demonstration Portlets for IBM WebSphere Everyplace Access 4.3

BlackBerry Enterprise Server for Novell GroupWise. Compatibility Matrix June 26, 2012

SDLC INTELLECTUAL PROPERTY POLICY

INCLUDING MEDICAL ADVICE DISCLAIMER

ANZ TRANSACTIVE MOBILE for ipad

Disaster Recovery Guide

RSA Two Factor Authentication

Graphic Inspector 2 User Guide

US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Small Logger File System

Hyper-V - Windows 2012 and 8. Virtual LoadMaster for Microsoft Hyper-V on Windows Server 2012, 2012 R2 and Windows 8. Installation Guide

Volume Disaster Recovery Preparation Express Guide

AN NTAG I²C plus memory configuration options. Application note COMPANY PUBLIC. Rev June Document information

MySonicWall Secure Upgrade Plus

LGR Toolset (beta) User Guide. IDN Program 24 October 2017

Compatibility Matrix. BlackBerry UEM. December 22, 2016

NTLM NTLM. Feature Description

MemSQL Partner Program Guide

AT11512: SAM L Brown Out Detector (BOD) Driver. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

One Identity Quick Connect Express

GoldSim License Server Activation Utility Installation and Basic Use

TERMS OF USE Effective Date: January 1, 2015 To review material modifications and their effective dates scroll to the bottom of the page. 1.Parties.

DHIS 2 Android User Manual 2.22

BlackBerry Enterprise Server Express for IBM Lotus Domino. Compatibility Matrix. September 20, 2012

Compatibility Matrix. BlackBerry UEM. March 26, 2018

BlackBerry Integration With IBM WebSphere Everyplace Access 4.3

ARM CoreLink DPE-400 Data Parity Extension for NIC-400

NOTICE OF USE AND DISCLOSURE Copyright LoRa Alliance, Inc. (2018). All Rights Reserved.

MagicInfo Express Content Creator

KEMP Driver for Red Hat OpenStack. KEMP LBaaS Red Hat OpenStack Driver. Installation Guide

One Identity Active Roles 7.2. Management Pack Technical Description

Notifications for the Payment API

LoadMaster VMware Horizon (with View) 6. Deployment Guide

This diagram shows the workflow of the DIMM replacement procedure for a FAS2600 system.

End User License Agreement

Miracle Service Meter Center Guide. Last revised: December 17, 2013

Terms of Use. Changes. General Use.

ADN. System Installer. Instruction manual

ESS Utility Android App User Guide

AN Over-the-Air top-up with MIFARE DESFire EV2 and MIFARE Plus EV1. Document information

BlackBerry Messenger. Version 1.0. User Guide

Transcription:

ITSSStandardSpecificationInterface1V1-1.docx ITSS practice group ITSS Standard Specification ITSS Interface 1 (Telematics Application Customer System) Version 1.1 ITSS practice group page 1 of 80

ITSSStandardSpecificationInterface1V1-1.docx Copyright Notice This document is the copyright 2017 of the ITSS practice group. All rights reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the ITSS practice group or other organizations, except as required to translate it into languages other than English. This document and the information contained herein is provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY) AND THE ITSS PRACICE GROUP DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE ITSS PRACTICE GROUP OR ANY OF THEIR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS INFORMATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ITSS practice group page 2 of 80

ITSSStandardSpecificationInterface1V1-1.docx Without limiting the foregoing, the ITSS practice group makes no warranty that: the information will meet your requirements the information will be uninterrupted, timely, secure or error-free the results that may be obtained from the use of this information will be effective, accurate or reliable the quality of the information will meet your expectations any errors in the information will be corrected. The information made available within this document: could include technical or other mistakes, inaccuracies or typographical errors may be out of date and the ITSS practice group and its contributors make no commitment to update such materials is not intended to be used in safety relevant applications is not approved for use in safety-relevant applications In no event shall the ITSS practice group or its contributors be liable to you or any third parties for any special, punitive, incidental, indirect or consequential damages of any kind, or any damages whatsoever, including, without limitation, those resulting from loss of use, data or profits, whether or not ITSS practice group or its contributors has been advised of the possibility of such damages, and on any theory of liability, arising out of or in connection with the use of the information contained herein. The information provided herein can be used to communicate over different communication links and technologies. Depending on the provider and tariff additional communication costs may occur for each communication link. ITSS practice group page 3 of 80

ITSSStandardSpecificationInterface1V1-1.docx Preface Interface 1 describes the communication between the Telematics Application and any customer system, as shown in "Diagram 1: Generic System Architecture" marked with the 1 in a red circle. ITSS practice group page 4 of 80

ITSSStandardSpecificationInterface1V1-1.docx Copyright Notice... 2 Preface... 4 System Architecture Overview... 6 Process description of pairing telematics devices with transport devices... 8 Push-Notification (Event) reception... 9 Strategy for missing data... 10 Versioning of the REST web services:... 10 Request last known position... 12 Notification about the last position... 15 Request positions for a time interval... 18 Request the mileage of a transport device... 22 Notification about the mileage... 25 Request the loading state... 27 Notification about the loading state... 30 Request all known devices... 33 Request sensor values for a time interval... 36 Notification about one or more new sensor values... 39 Request last known geofencing state... 42 Notification about a geofence event... 46 Request geofence events for a time interval... 49 Request the movement state... 53 Notification about the movement state... 56 Notification of a detected derailment... 59 Notification of a detected shock... 62 Webservice Technology... 65 Webservice methods and invocation... 65 Data security... 67 Error concept... 67 Abbreviations... 71 Glossary... 72 Change log... 80 ITSS practice group page 5 of 80

ITSSStandardSpecificationInterface1V1-1.docx System Architecture Overview Diagram 1: Generic System Architecture Interface 1: Every system taking part in the communication over interface 1 has a unique system ID and pass phrase. The customer system (e.g. customer ERP) has a customer system ID and pass phrase. The Telematics Application in turns has a telematics system ID and passphrase. Both system IDs should be different and the pass phrases selected and changed based on a secure rule set but the standard imposes no restriction on the IDs and pass phrases. Furthermore, this standard does not provide any rules for the generation of those IDs and pass phrases. It is the sole responsibility of the communication parties to choose system ID and pass phrase in a secure manner. The only security regulation this standard defines is that the communication parties need to agree on those system IDs and pass phrases and that the system ID and pass phrase need to be validated by both systems for every data exchange. If a security violation is detected, e.g. the pass phrase does not match for the given system ID or the system ID is unknown, the receiving system has to discard all received data silently. A security violation warning might be raised by the detecting system but this is out of the scope of this standard. ITSS practice group page 6 of 80

ITSSStandardSpecificationInterface1V1-1.docx Although it is advisable to make those IDs unique, no restrictions are given from the standard. It is the responsibility of the communication parties to manage the IDs for all their communication requirements. The standard does not provide any means for the allocation of unique system IDs. Communication parties for interface 1: Interface 1 describes the communication between the Telematics Application and customer system. The Telematics Application acts as the server and the customer system acts as the client. A Telematics Application can communicate with more than one customer system and a customer system can communicate to multiple Telematics Applications. The customer is able to connect with as many systems to the Telematics Application as required, e.g. customer ERP, customer logistics, customer CRM. The following sections refer to all those systems in general as the customer system. ITSS practice group page 7 of 80

ITSSStandardSpecificationInterface1V1-1.docx Process description of pairing telematics devices with transport devices The customers have arbitrary requirements with respect to where the pairing (coupling) of the telematics device with the transport devices is done. Some customers require that the transport device ID is not disclosed to the Telematics Application provider, this requires that the pairing is maintained in the customer system. Other customers leave the pairing to the Telematics Application provider accessing the information either by transport device ID or telematics device ID. This standard specification supports both approaches of pairing telematics devices with transport devices, either pairing is done in the customer system (option A) or pairing is done in the Telematics Application (option B). Depending of which option has been selected in the mutual agreement between customer and Telematics Application provider before implementation of the interface, either the customer system is responsible of maintaining the correct matching of telematics device ID and transport device ID (option A) or the Telematics Application (option B). Option A: Requests from the customer system to the Telematics Application must include the telematics device ID for proper identification. Responses and events from the Telematics Application to the customer system must also include the telematics device ID. Option B: For proper object identification for option B, requests from the customer system to the Telematics Application must include either the transport device ID (preferred) or the matching telematics device ID, if the customer system has gained knowledge of the proper pairing. Responses from the Telematics Application to the customer system must include the ID as provided by the calling system. This can either be the transport device ID or the telematics device ID. The Telematics Application can provide both IDs in the response, using its internal matching to find the other ID. This functionality is not required by the standard but recommended to create uniform information in responses and events. Events issued from the Telematics Application to the customer system must include both, the transport device ID and ITSS practice group page 8 of 80

ITSSStandardSpecificationInterface1V1-1.docx the telematics device ID to give the customer system all information for a proper identification of the object causing the event. Push-Notification (Event) reception The Telematics Application can notify the Customer System via events about new values or problems connected to a transport device. This notification uses REST over HTTP and communicates with the Customer System using a dedicated customer specific URI. The communicating parties, that is, the Telematics Application owner and the Customer System owner, need to agree on the URI for those event notifications. For security the same principles as described in the chapter Data security are applied, that is, the Telematics Application uses the Customer System ID and pass phrase as agreed upon by both communicating parties. If the Telematics Application does not know an event notification URI for a given System ID no events will be delivered. The URI construction must include the part "itss" and follow the versioning as described in the chapter Versioning of the REST web services. Therefore in all event descriptions for this document an URI in the following form is used: https://customeruri/itss/1.0/shockdetected The part customeruri is the part that must be agreed upon by both communicating parties. All other parts of the URI are regulated by this specification. A notification happens whenever the Telematics Application creates or receives new information from a telematics device or a sensor. If a customeruri is known to the Telematics Application but the delivery of a notification fails due to any possible reason the Telematics Application will store the notification for at least 24 hours. As soon as the connection becomes available again, all buffered notifications will be transmitted to the customer system. Notifications older than 24 hours can be silently removed from the buffer by the Telematics Application and will not be transmitted to the customer system. The data, e.g. sensor values, will still be stored by the Telematics Application and can be explicitly requested by the customer system. Notifications from the Telematics Application to the customer system cannot be stopped by the customer system. Once the customeruri is known to the Telematics Application any notification for the specific customer system is buffered and pushed to this system. ITSS practice group page 9 of 80

ITSSStandardSpecificationInterface1V1-1.docx It can be mutually agreed between the communicating partners; which messages are to be sent as push notifications. Strategy for missing data If the Telematics Application is not able to deliver all data a request contains and the value is marked as not required (required: false), the Telematics Application does not include the element concerned and tries to satisfy the request or event with as much data as possible. A prominent example for a case of missing data is the GNSS position connected to an event. If the telematics device is not delivering this position to the Telematics Application the Telematics Application still delivers the event to the Customer System without the "GNSSPosition" tag. The result of this strategy is that requests might be answered with a valid response even if this response does not contain any relevant information, e.g. lastposition request without known GNSS position of the transport device. It is not allowed to indicate this condition with HTTP error codes, e.g. 204 (no content). Versioning of the REST web services: If the specification (API or parameters) for a web services changes in a future version this will be represented by a part of the URI, which is used to call the respective service. https://telematik.xyz.com/itss/1.0/lastposition?itsstransportdeviceid=3180%204674%20%20001-1&itsscustomersystemid=custsys4711&itsspassphrase=open%20sesame The version number is placed between the base URI of the specific server and the name of the webservice. Moreover, the version number used in the URI corresponds directly to the version number of the specification. Hence, the full API is accessible via the versioned requests even if a specific request/response did not change from one version to another. The following example should clarify the API versioning: From version 1.0 to version 1.1 the specification of the lastposition changed. The specification for mileagetimeinterval did not change. Both versions would be accessible via: Version 1.0 (request parameter and response according to ITSS specification V1.0): https://telematik.xyz.com/itss/1.0/lastposition?itsstransportdeviceid=3180%204674%20%200 01-1&ITSSCustomerSystemID=custSys4711&ITSSPassPhrase=open%20sesame https://telematik.xyz.com/itss/request/1.0/mileage?itsstransportdeviceid=3180%204674%200 01-1&fromUTCtimestamp=1436700000&toUTCtimestamp=1436792541& ITSSCustomerSystemID=custSys4711&ITSSPassPhrase=open%20sesame ITSS practice group page 10 of 80

ITSSStandardSpecificationInterface1V1-1.docx Version 1.1 (request parameter and response according to ITSS specification V1.1): https://telematik.xyz.com/itss/1.1/lastposition?itsstransportdeviceid=3180%204674%20%200 01-1&ITSSCustomerSystemID=custSys4711&ITSSPassPhrase=open%20sesame https://telematik.xyz.com/itss/request/1.1/mileage?itsstransportdeviceid=3180%204674%200 01-1&fromUTCtimestamp=1436700000&toUTCtimestamp=1436792541& ITSSCustomerSystemID=custSys4711&ITSSPassPhrase=open%20sesame although the request and response for the mileage calls are identical in both cases. If the Telematics Application supports multiple versions of the interface a customer system can freely use requests across those supported versions. As the Telematics Application does not provide a version request the stakeholders of an implementation of a Telematics Application and a Customer System shall agree on the versions used for the respective application themselves. Released versions Version 1.0: Version 1.1: first release of the ITSS specification updated release of the ITSS specification with additional requests and notifications. For details see section Change log. ITSS practice group page 11 of 80

ITSSStandardSpecificationInterface1V1-1.docx Request last known position 1. Description The customer wants to get information about the last known position (geo coordinates) of a specific transport device. 2. Method (Request / Response) The customer system requests the last known positions of a transport device identified by the ITSSTelematicsDeviceID or ITSSTransportDeviceID The Telematics Application processes the request and responds with the required information. Customer System ITSSRequest Telematics Application Customer System ITSSResponse Telematics Application Access method: Synchronous lastposition ITSSTelematicsDeviceID or ITSSTransportDeviceID ITSSCustomerSystemID ITSSPassPhrase lastposition response ITSSTelematicsDeviceID or ITSSTransportDeviceID GNSSPosition ITSSTelematicsApplicationID ITSSPassPhrase ITSS practice group page 12 of 80

ITSSStandardSpecificationInterface1V1-1.docx JSON Schema and example for a request related to an ITSSTransportDeviceID Request HTTP Type MIME Type Request Path GET Text plain https://telematik.xyz.com/itss/1.1/lastposition?itsstransportdeviceid=deviceid& ITSSCustomerSystemID=custId&ITSSPassPhrase=passPhrase Response on success HTTP Status 200 MIME Type application/json BODY: json Schema "title": "lastposition", "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "ITSSTransportDeviceID": "type": "string", required: false, "ITSSTelematicsDeviceID": "type": "string", required: true, "GNSSPosition" : "type": "object", required: false "GNSSUTCtimestamp": "type": "number", required: true, "GNSSLatitude": "type": "number", required: true, "GNSSLongitude": "type": "number", required: true, "GNSSSpeedkmph": "type": "number", required: true, "GNSSHeadingdeg": "type": "number", required: true, "GNSSAltitude": "type": "number", required: false, "GNSSAccuracy": "type": "number", required: false, "ITSSLocationInfo": "type": "object", required: false, "LocationZIP": "type": "string", required: false, "LocationCity": "type": "string", required: false, "LocationStreet": "type": "string", required: false, "LocationDescription": "type": "string", required: false, "LocationCountry": "type": "string", required: false, "LocationUICCode": "type": "string", required: false, "LocationGeoZone": "type": "string", required: false, "LocationPOIID" : "type": "string", required: false, "TSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true BODY "ITSSTransportDeviceID": "3180 4674 001-1", ITSS practice group page 13 of 80

ITSSStandardSpecificationInterface1V1-1.docx example "ITSSTelematicsDeviceID": "MANUF000000751", "GNSSPosition": "GNSSUTCtimestamp": 1436712345.154, "GNSSLatitude": 52.264304, "GNSSLongitude": 10.525537, "GNSSSpeedkmph": 48.87, "GNSSHeadingdeg": 350.1, "ITSSLocationInfo": "LocationZIP": "38126", "LocationCity": "Braunschweig", "LocationStreet": "Berliner Platz", "LocationDescription": "Braunschweig Hbf", "LocationCountry": "Germany", "LocationUICCode": "051", "LocationGeoZone": "DE", "ITSSTelematicsApplicationID": "TeleApp0815", "ITSSPassPhrase": "mutabor" Response on request error HTTP Status 400 MIME Type application/json BODY: JSON formatted error description see section Error concept Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 14 of 80

ITSSStandardSpecificationInterface1V1-1.docx Notification about the last position 1. Description The customer expects to be notified of a new known position of a transport device. This information is provided only for diagnostic purposes. At no time, it shall be used to derive safety related information or actions. 2. Method (Event based notification) The Telematics Application sends an event notification containing the new position as a GNSSPosition. If the transport device is in motion, the transmitted GNSSPosition may differ from the actual position of the transport device when the customer system receives this notification. Customer System ITSSEvent Telematics Application Access method: Event message lastposition ITSSTelematicsDeviceID ITSSTransportDeviceID (optional) GNSSPosition ITSSTelematicsApplicationID ITSSPassPhrase JSON Schema and example for a notification related to an ITSSTransportDeviceID Request HTTP Type MIME Type Request Path BODY: json Schema POST application/json https://customeruri/itss/1.1/lastposition "title": "lastposition", "$schema": "http://json-schema.org/draft-04/schema#", ITSS practice group page 15 of 80

ITSSStandardSpecificationInterface1V1-1.docx BODY example "type":"object", "ITSSTransportDeviceID": "type": "string", required: false, "ITSSTelematicsDeviceID": "type": "string", required: true, "GNSSPosition": "type": "object", required: false "GNSSUTCtimestamp": "type": "number", required: true, "GNSSLatitude": "type": "number", required: true, "GNSSLongitude": "type": "number", required: true, "GNSSSpeedkmph": "type": "number", required: true, "GNSSHeadingdeg": "type": "number", required: true, "GNSSAltitude": "type": "number", required: false, "GNSSAccuracy": "type": "number", required: false, "ITSSLocationInfo": "type": "object", required: false, "LocationZIP": "type": "string", required: false, "LocationCity": "type": "string", required: false, "LocationStreet": "type": "string", required: false, "LocationDescription": "type": "string", required: false, "LocationCountry": "type": "string", required: false, "LocationUICCode": "type": "string", required: false, "LocationGeoZone": "type": "string", required: false, "LocationPOIID" : "type": "string", required: false, "ITSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true "ITSSTransportDeviceID": "3180 4674 001-1", "ITSSTelematicsDeviceID": "MANUF000000751", "GNSSPosition": "GNSSUTCtimestamp": 1436712345.154, "GNSSLatitude": 52.264304, "GNSSLongitude": 10.525537, "GNSSSpeedkmph": 48.87, "GNSSHeadingdeg": 350.1, "ITSSLocationInfo": "LocationZIP": "38126", "LocationCity": "Braunschweig", "LocationStreet": "Berliner Platz", "LocationDescription": "Braunschweig Hbf", "LocationCountry": "Germany", "LocationUICCode": "051", "LocationGeoZone": "DE" ITSS practice group page 16 of 80

ITSSStandardSpecificationInterface1V1-1.docx, "ITSSTelematicsApplicationID": "TeleApp0815", "ITSSPassPhrase": "mutabor" Response on success HTTP Status 201 MIME Type Text plain Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 17 of 80

ITSSStandardSpecificationInterface1V1-1.docx Request positions for a time interval 1. Description The customer requests information about the position of one transport device in a given time interval (e.g. transportation trace). 2. Method (Request / Response) The customer system requests a list of positions in the given time interval for one transport device identified by ITSSTelematicsDeviceID or ITSSTransportDeviceID The Telematics Application responds with the requested list of positions. The GNSSPositionList might be empty, if no position is contained in the specified time interval. Customer System ITSSRequest Telematics Application Customer System ITSSResponse Telematics Application Access method: Synchronous positionstimeinterval ITSSTelematicsDeviceID or ITSSTransportDeviceID FromUTCtimestamp: UTCtimestamp interval begin date (inclusive) ToUTCtimestamp: UTCtimestamp interval end date (exclusive) ITSSCustomerSystemID ITSSPassPhrase positionstimeinterval response ITSSTelematicsDeviceID or ITSSTransportDeviceID GNSSPositionList ITSSTelematicsApplicationID ITSSPassPhrase ITSS practice group page 18 of 80

ITSSStandardSpecificationInterface1V1-1.docx The returned GNSSPositionList is ordered starting at the FromUTCtimestamp (first array entry) to the ToUTCtimestamp (last array entry). The timestamps returned can differ from the requested interval such that the first array entry might start after the requested start time (FromUTCtimestamp) and the last array entry might stop before the requested stop time (ToUTCtimestamp). The Telematics Application uses the data available from the transport device and as such might not have data at all for the requested time interval. This also implies that the interval between two GNSSPositionList entries in the returned data might differ from entry to entry including large gaps. JSON Schema and example for a request related to an ITSSTransportDeviceID Request HTTP Type MIME Type Request Path GET Text plain https://telematik.xyz.com/itss/1.1/positionstimeinterval?itsstransportdeviceid=device Id&FromUTCtimestamp=timeStamp&ToUTCtimestamp=timeStamp&ITSSCustomerSyst emid=custid&itsspassphrase=passphrase Response on success HTTP Status 200 MIME Type application/json BODY: json Schema "title": "positionstimeinterval", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "ITSSTransportDeviceID": "type": "string", required: false, "ITSSTelematicsDeviceID": "type": "string", required: true, "GNSSPositionList" : "type": "array", required: true "items": "description": " GNSSPosition", "type": "object", "GNSSUTCtimestamp": "type": "number", required: true, "GNSSLatitude": "type": "number", required: true, "GNSSLongitude": "type": "number", required: true, "GNSSSpeedkmph": "type": "number", required: true, "GNSSHeadingdeg": "type": "number", required: true, "GNSSAltitude": "type": "number", required: false, "GNSSAccuracy": "type": "number", required: false, "ITSSLocationInfo": "type": "object", required: false, ITSS practice group page 19 of 80

ITSSStandardSpecificationInterface1V1-1.docx "LocationZIP": "type": "string", required: false, "LocationCity": "type": "string", required: false, "LocationStreet": "type": "string", required: false, "LocationDescription": "type": "string", required: false, "LocationCountry": "type": "string", required: false, "LocationUICCode": "type": "string", required: false, "LocationGeoZone": "type": "string", required: false, "LocationPOIID" : "type": "string", required: false, "ITSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true BODY example "ITSSTransportDeviceID": "3180 4674 001-1", "ITSSTelematicsDeviceID": "MANUF000000751", "GNSSPositionList": [ "GNSSUTCtimestamp": 1436712345.154, "GNSSLatitude": 52.264304, "GNSSLongitude": 10.525537, "GNSSSpeedkmph": 48.87, "GNSSHeadingdeg": 350.1, "GNSSUTCtimestamp": 1436712345.154, "GNSSLatitude": 52.264304, "GNSSLongitude": 10.525537, "GNSSSpeedkmph": 48.87, "GNSSHeadingdeg": 350.1, "ITSSLocationInfo": "LocationZIP": "38126", "LocationCity": "Braunschweig", "LocationStreet": "Berliner Platz", "LocationDescription": "Braunschweig Hbf", "LocationCountry": "Germany", "LocationUICCode": "051", "LocationGeoZone": "DE" ], "ITSSTelematicsApplicationID": "TeleApp0815", "ITSSPassPhrase": "mutabor" Response on empty list HTTP Status 200 MIME Type application/json BODY: "GNSSPositionList" : [] Response on request error ITSS practice group page 20 of 80

ITSSStandardSpecificationInterface1V1-1.docx HTTP Status 400 MIME Type application/json BODY: JSON formatted error description see section Error concept Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 21 of 80

ITSSStandardSpecificationInterface1V1-1.docx Request the mileage of a transport device 1. Description of the use case The customer system requests the mileage of one transport device within a specified time interval. 2. Method (Request / Response) The customer system requests the mileage of one specific transport device travelled within a given time interval. The transport device is identified by ITSSTelematicsDeviceID or ITSSTransportDeviceID The Telematics Application responds with the mileage travelled in the specified time interval. The mileage reported is related solely to the mileage travelled while the specific transport device has been equipped with a telematics device being known to the Telematics Application. Customer System ITSSRequest Telematics Application Customer System ITSSResponse Telematics Application Access Method: Synchronous mileagetimeinterval ITSSTelematicsDeviceID or ITSSTransportDeviceID FromUTCtimestamp: UTCtimestamp interval begin date (inclusive) ToUTCtimestamp: UTCtimestamp interval end date (exclusive) ITSSCustomerSystemID ITSSPassPhrase mileagetimeinterval response ITSSTelematicsDeviceID or ITSSTransportDeviceID FromUTCtimestamp: UTCtimestamp ToUTCtimestamp: UTCtimestamp ITSS practice group page 22 of 80

ITSSStandardSpecificationInterface1V1-1.docx mileage: number in meters ITSSTelematicsApplicationID ITSSPassPhrase The returned mileage represents the information available to the Telematics Application for the requested time interval. This does not imply the accurate start at the FromUTCtimestamp and end at the ToUTCtimestamp. The mileage returned is generated from available information and as such might start after the requested start time (FromUTCtimestamp) and might stops before the requested stop time (ToUTCtimestamp). There returned timestamps (FromUTCtimestamp and ToUTCtimestamp) indicate the start and stop of the interval as used in the calculation of the mileage. The Telematics Application uses the data available from the transport device and as such might not have data at all for the requested time interval. JSON Schema and example for a request related to an ITSSTransportDeviceID Request HTTP Type MIME Type Request Path GET Text plain https://telematik.xyz.com/itss/1.1/mileagetimeinterval?itsstransportdeviceid=devicei d&fromutctimestamp=timestamp&toutctimestamp=timestamp&itsscustomersyste mid=custid&itsspassphrase=passphrase Response on success HTTP Status 200 MIME Type application/json BODY: json Schema BODY example "title": "mileagetimeinterval", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "ITSSTransportDeviceID": "type": "string", required: false, "ITSSTelematicsDeviceID": "type": "string", required: true, "mileage": "type": "number", required: true, "ITSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true "ITSSTransportDeviceID": "3180 4674 001-1", "ITSSTelematicsDeviceID": "MANUF000000751", "mileage": 10000000, "ITSSTelematicsApplicationID": "TeleApp0815", "ITSSPassPhrase": "mutabor" ITSS practice group page 23 of 80

ITSSStandardSpecificationInterface1V1-1.docx Response on request error HTTP Status 400 MIME Type application/json BODY: JSON formatted error description see section Error concept Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 24 of 80

ITSSStandardSpecificationInterface1V1-1.docx Notification about the mileage 1. Description The customer expects to be notified of a new known mileage of a transport device. 2. Method (Event based notification) The Telematics Application sends an event notification containing the new mileage. Customer System ITSSEvent Telematics Application Access method: Event message mileage ITSSTelematicsDeviceID ITSSTransportDeviceID (optional) mileage: number in meters ITSSTelematicsApplicationID ITSSPassPhrase The mileage represents the last known information available to the Telematics Application and as that is always an accumulated, absolute mileage. JSON Schema and example for a notification related to an ITSSTransportDeviceID Request HTTP Type MIME Type Request Path BODY: json Schema POST application/json https://customeruri/itss/1.1/mileage "title": "mileage", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "ITSSTransportDeviceID": "type": "string", required: false, "ITSSTelematicsDeviceID": "type": "string", required: true, ITSS practice group page 25 of 80

ITSSStandardSpecificationInterface1V1-1.docx BODY example "mileage": "type": "number", required: true, "ITSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true "ITSSTransportDeviceID": "3180 4674 001-1", "ITSSTelematicsDeviceID": "MANUF000000751", "mileage": 10000000, "ITSSTelematicsApplicationID": "TeleApp0815", "ITSSPassPhrase": "mutabor" Response on success HTTP Status 201 MIME Type Text plain Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 26 of 80

ITSSStandardSpecificationInterface1V1-1.docx Request the loading state 1. Description of the use case The customer wants to know the last known loading state of one transport device. 2. Method (Request / Response) The customer system requests the last known loading state of one transport device related to the given ITSSTelematicsDeviceID or ITSSTransportDeviceID. The Telematics Application responds with the last known loading state of the specific transport device. Customer System ITSSRequest Telematics Application Customer System ITSSResponse Telematics Application Access Method: Synchronous loadingstate ITSSTelematicsDeviceID or ITSSTransportDeviceID ITSSCustomerSystemID ITSSPassPhrase loadingstate response ITSSTelematicsDeviceID or ITSSTransportDeviceID UTCtimestamp GNSSPosition ITSSLoadingState payload: number in kg (optional) ITSSTelematicsApplicationID ITSSPassPhrase ITSS practice group page 27 of 80

ITSSStandardSpecificationInterface1V1-1.docx The UTCtimestamp defines the time when the reported loading state was evaluated. It can differ from the GNSSUTCtimestamp as the GNSSUTCtimestamp states the time of the GNSS position evaluation. JSON Schema and example for a request related to an ITSSTransportDeviceID Request HTTP Type MIME Type Request Path GET Text plain https://telematik.xyz.com/itss/1.1/loadingstate?itsstransportdeviceid=deviceid& ITSSCustomerSystemID=custId&ITSSPassPhrase=passPhrase Response on success HTTP Status 200 MIME Type application/json BODY: json Schema "title": "loadingstate", "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "ITSSTransportDeviceID": "type": "string", required: false, "ITSSTelematicsDeviceID": "type": "string", required: true, "UTCtimestamp": "type": "number", required: true "GNSSPosition" : "type": "object", required: false, "GNSSUTCtimestamp": "type": "number", required: true, "GNSSLatitude": "type": "number", required: true, "GNSSLongitude": "type": "number", required: true, "GNSSSpeedkmph": "type": "number", required: true, "GNSSHeadingdeg": "type": "number", required: true, "GNSSAltitude": "type": "number", required: false, "GNSSAccuracy": "type": "number", required: false, "ITSSLocationInfo": "type": "object", required: false, "LocationZIP": "type": "string", required: false, "LocationCity": "type": "string", required: false, "LocationStreet": "type": "string", required: false, "LocationDescription": "type": "string", required: false, "LocationCountry": "type": "string", required: false, "LocationUICCode": "type": "string", required: false, "LocationGeoZone": "type": "string", required: false, "LocationPOIID" : "type": "string", required: false, "loadingstate": "type": "string", required: true, ITSS practice group page 28 of 80

ITSSStandardSpecificationInterface1V1-1.docx "payload": "type": "number", required: false, "ITSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true BODY example "ITSSTransportDeviceID": "3180 4674 001-1", "ITSSTelematicsDeviceID": "MANUF000000751", "UTCtimestamp": 1436712339.124, "GNSSPosition": "GNSSUTCtimestamp": 1436712345.154, "GNSSLatitude": 52.264304, "GNSSLongitude": 10.525537, "GNSSSpeedkmph": 48.87, "GNSSHeadingdeg": 350.1, "ITSSLocationInfo": "LocationZIP": "38126", "LocationCity": "Braunschweig", "LocationStreet": "Berliner Platz", "LocationDescription": "Braunschweig Hbf", "LocationCountry": "Germany", "LocationUICCode": "051", "LocationGeoZone": "DE", "loadingstate": "loaded", "payload": 20145 "ITSSTelematicsApplicationID": "TeleApp0815", "ITSSPassPhrase": "mutabor" Response on request error HTTP Status 400 MIME Type application/json BODY: JSON formatted error description see section Error concept Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 29 of 80

ITSSStandardSpecificationInterface1V1-1.docx Notification about the loading state 1. Description The customer expects to be notified of a new known loading state of a transport device. 2. Method (Event based notification) The Telematics Application sends an event notification containing the new loading state. Customer System ITSSEvent Telematics Application Access method: Event message loadingstate ITSSTelematicsDeviceID ITSSTransportDeviceID (optional) UTCtimestamp GNSSPosition ITSSLoadingState payload: number in kg (optional) ITSSTelematicsApplicationID ITSSPassPhrase The UTCtimestamp defines the time when the reported loading state was evaluated. It can differ from the GNSSUTCtimestamp as the GNSSUTCtimestamp states the time of the GNSS position evaluation. JSON Schema and example for a notification related to an ITSSTransportDeviceID Request HTTP Type MIME Type Request Path BODY: json Schema POST application/json https://customeruri/itss/1.1/loadingstate "title": "loadingstate", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", ITSS practice group page 30 of 80

ITSSStandardSpecificationInterface1V1-1.docx BODY example "ITSSTransportDeviceID": "type": "string", required: false, "ITSSTelematicsDeviceID": "type": "string", required: true, "UTCtimestamp": "type": "number", required: true "GNSSPosition": "type": "object", required: false "GNSSUTCtimestamp": "type": "number", required: true, "GNSSLatitude": "type": "number", required: true, "GNSSLongitude": "type": "number", required: true, "GNSSSpeedkmph": "type": "number", required: true, "GNSSHeadingdeg": "type": "number", required: true, "GNSSAltitude": "type": "number", required: false, "GNSSAccuracy": "type": "number", required: false, "ITSSLocationInfo": "type": "object", required: false, "LocationZIP": "type": "string", required: false, "LocationCity": "type": "string", required: false, "LocationStreet": "type": "string", required: false, "LocationDescription": "type": "string", required: false, "LocationCountry": "type": "string", required: false, "LocationUICCode": "type": "string", required: false, "LocationGeoZone": "type": "string", required: false, "LocationPOIID" : "type": "string", required: false, "loadingstate": "type": "string", required: true, "payload": "type": "number", required: false, "ITSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true "ITSSTransportDeviceID": "3180 4674 001-1", "ITSSTelematicsDeviceID": "MANUF000000751", "UTCtimestamp": 1436712339.124, "GNSSPosition": "GNSSUTCtimestamp": 1436712345.154, "GNSSLatitude": 52.264304, "GNSSLongitude": 10.525537, "GNSSSpeedkmph": 48.87, "GNSSHeadingdeg": 350.1, "ITSSLocationInfo": "LocationZIP": "38126", "LocationCity": "Braunschweig", "LocationStreet": "Berliner Platz", "LocationDescription": "Braunschweig Hbf", "LocationCountry": "Germany", "LocationUICCode": "051", ITSS practice group page 31 of 80

ITSSStandardSpecificationInterface1V1-1.docx "LocationGeoZone": "DE", "loadingstate": "loaded", "payload": 20145 "ITSSTelematicsApplicationID": "TeleApp0815", "ITSSPassPhrase": "mutabor" Response on success HTTP Status 201 MIME Type Text plain Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 32 of 80

ITSSStandardSpecificationInterface1V1-1.docx Request all known devices 1. Description of the use case The customer wants to get a list of all ITSSTelematicsDeviceIDs known to the Telematics Application. If the Telematics Application also knows the mapping of ITSSTelematicsDeviceID and ITSSTransportDeviceID the request will return both IDs. Otherwise the returned list only contains the ITSSTelematicsDeviceID. 2. Method (Request / Response) The customer system requests the list of all known devices related to the given ITSSCustomerSystemID The Telematics Application responds with the list of known devices for this customer system and, if available, the mapping to the ITSSTransportDeviceID. Customer System ITSSRequest Telematics Application Customer System ITSSResponse Telematics Application Access Method: Synchronous alldevices ITSSCustomerSystemID ITSSPassPhrase alldevices response ITSSDeviceList [ o ITSSTransportDeviceID (optional), o ITSSTelematicsDeviceID] ITSSTelematicsApplicationID ITSSPassPhrase ITSS practice group page 33 of 80

ITSSStandardSpecificationInterface1V1-1.docx JSON Schema and example for the request. Request HTTP Type MIME Type Request Path GET Text plain https://telematik.xyz.com/itss/1.1/alldevices?itsscustomersystemid=custid& ITSSPassPhrase=passPhrase Response on success HTTP Status 200 MIME Type application/json BODY: json Schema BODY example "title": "alldevices", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "ITSSDeviceList": "type": "array", required: true, "items": "type": "object", required: false, "ITSSTransportDeviceID": "type": "string", required: false, "ITSSTelematicsDeviceID": "type": "string", required: true "ITSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true "ITSSDeviceList": [ "ITSSTransportDeviceID": "1006-SZM5CA730", "ITSSTelematicsDeviceID": "COGND000000047348102", "ITSSTransportDeviceID": "1007-SZM6CA830", "ITSSTelematicsDeviceID": " COGND000000047348839", "ITSSTransportDeviceID": "1009-SZM8CA680", "ITSSTelematicsDeviceID": " COGND000000047502765", "ITSSTransportDeviceID": "7410", "ITSSTelematicsDeviceID": " COGND000000047267869" ], "ITSSTelematicsApplicationID": "TeleApp0815", "ITSSPassPhrase": "mutabor" Response on request error HTTP Status 400 MIME Type application/json BODY: JSON formatted error description see section Error concept ITSS practice group page 34 of 80

ITSSStandardSpecificationInterface1V1-1.docx Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 35 of 80

ITSSStandardSpecificationInterface1V1-1.docx Request sensor values for a time interval 1. Description of the use case The customer requests information about the sensor values of a telematics device in a given time interval. 2. Method (Request / Response) The customer system requests a list of sensor values in the given time interval for one telematics device identified by ITSSTelematicsDeviceID or ITSSTransportDeviceID The Telematics Application responds with the requested list of sensor values. The ITSSSensorValueList might be empty, if no sensor values are contained in the specified time interval. Customer System ITSSRequest Telematics Application Customer System ITSSResponse Telematics Application Access Method: Synchronous sensorvaluestimeinterval ITSSTelematicsDeviceID or ITSSTransportDeviceID FromUTCtimestamp: UTCtimestamp interval begin date (inclusive) ToUTCtimestamp: UTCtimestamp interval end date (exclusive) ITSSCustomerSystemID ITSSPassPhrase sensorvaluestimeinterval response ITSSTelematicsDeviceID or ITSSTransportDeviceID ITSSSensorValueList ITSSTelematicsApplicationID ITSSPassPhrase ITSS practice group page 36 of 80

ITSSStandardSpecificationInterface1V1-1.docx The returned ITSSSensorValueList contains none or one or multiple entries of ITSSSensorValues (see section Glossary for details), ordered starting at the FromUTCtimestamp (first array entry) to the ToUTCtimestamp (last array entry). The timestamps returned can differ from the requested interval such that the first array entry might start after the requested start time (FromUTCtimestamp) and the last array entry might stop before the requested stop time (ToUTCtimestamp). The Telematics Application uses the data available from the telematics device and as such might not have data at all for the requested time interval. This also implies that the interval between two ITSSSensorValueList entries in the returned data might differ from entry to entry including large gaps. If a sensor sends data directly to the Telematics Application, e.g. by using some kind of gateway which is not a telematics device, the ITSSTelematicsDeviceID must be set equal to the ITSSSensorId. That is, a sensor which communicates directly with a Telematics Application not using any kind of telematics device between is considered a telematics device in itself and must have an ITSSTelematicsDeviceID equal to its ITSSSensorId. The request returns the values for all sensors connected or associated with the given ITSSTelematicsDeviceID. JSON Schema and example for a request related to an ITSSTelematicsDeviceID Request HTTP Type MIME Type Request Path GET Text plain https://telematik.xyz.com/itss/1.1/sensorvaluestimeinterval?itsstransportdeviceid=d eviceid&fromutctimestamp=timestamp&toutctimestamp=timestamp&itsscustomer SystemID=custId&ITSSPassPhrase=passPhrase Response on success HTTP Status 200 MIME Type application/json BODY: json Schema "title": "sensorvaluestimeinterval", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "ITSSTransportDeviceID": "type": "string", required: false, ITSS practice group page 37 of 80

ITSSStandardSpecificationInterface1V1-1.docx "ITSSTelematicsDeviceID": "type": "string", required: true, "ITSSSensorValueList" : "type": "array", required: true, "items" "description": "ITSSSensorValue": "type": "object", required: false "SamplingUTCTimestamp": "type": "number", required: true, "ITSSSensorId": "type": "string", required: true, "value": "type": "number", required: true, "ITSSSensorType": "type": "string", required: false, "ITSSSensorPosition": "type": "string", required: false "ITSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true BODY example "ITSSTransportDeviceID": "3180 4674 001-1", "ITSSTelematicsDeviceID": "MANUF000000751", "ITSSSensorValueList":[ "SamplingUTCTimestamp": 1436712345.154, "ITSSSensorId": "MANUF000001234500010", "value": 48.87, "ITSSSensorType": "temperature", "ITSSSensorPosition": "axlebearingl1, "SamplingUTCTimestamp": 1436722345.154, "ITSSSensorId": "MANUF000001234500123", "value": 175000.0, "ITSSSensorType": "pressure", "ITSSSensorPosition": "tank" ], "ITSSTelematicsApplicationID": "TeleApp0815", "ITSSPassPhrase": "mutabor" Response on request error HTTP Status 400 MIME Type application/json BODY: JSON formatted error description see section Error concept Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 38 of 80

ITSSStandardSpecificationInterface1V1-1.docx Notification about one or more new sensor values 1. Description The customer expects to be notified if a sensor reports new data. The sensor data is provided only for diagnostic purposes. At no time, it shall be used to derive safety related information or actions. 2. Method (Event based notification) The Telematics Application sends an event notification containing one or more ITSSSensorValue when new sensor data is available. Customer System ITSSEvent Telematics Application Access method: Event message sensorvalues ITSSTelematicsDeviceID ITSSTransportDeviceID (optional) ITSSSensorValueList ITSSTelematicsApplicationID ITSSPassPhrase The transmitted ITSSSensorValueList contains one or multiple entries of ITSSSensorValues (see section Glossary for details). The values are transmitted as they arrive in the Telematics Application, hence the order of the ITSSSensorValue within an ITSSSensorValueList may not be ordered according to their timestamps. If a sensor sends data directly to the Telematics Application, e.g. by using some kind of gateway which is not a telematics device, the ITSSTelematicsDeviceID must be set equal to the ITSSSensorId. That is, a sensor which communicates directly with a Telematics Application not using any kind of telematics device between is considered a telematics device in itself and must have an ITSSTelematicsDeviceID equal to its ITSSSensorId. ITSS practice group page 39 of 80

ITSSStandardSpecificationInterface1V1-1.docx JSON Schema and example for a notification related to an ITSSTelematicsDeviceID Request HTTP Type MIME Type Request Path BODY: json Schema POST application/json https://customeruri/itss/1.1/sensorvalues "title": "sensorvalues", "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "ITSSTransportDeviceID": "type": "string", required: false, "ITSSTelematicsDeviceID": "type": "string", required: true, "ITSSSensorValueList": "type": "array", required: true, "items" "description": "ITSSSensorValue": "type": "object", required: false, "SamplingUTCTimestamp": "type": "number", required: true, "ITSSSensorId": "type": "string", required: true, "value": "type": "number", required: true, "ITSSSensorType": "type": "string", required: true, "ITSSSensorPosition": "type": "string", required: true ] "ITSSTelematicsApplicationID": "type": "string", required: true, "ITSSPassPhrase": "type": "string", required: true BODY example "ITSSTransportDeviceID": "3180 4674 001-1", "ITSSTelematicsDeviceID": "MANUF000000751", "ITSSSensorValueList": [ "SamplingUTCTimestamp": 1436712345.154, "ITSSSensorId": "MANUF000001234500010", "value": 48.87, "ITSSSensorType": "temperature", "ITSSSensorPosition": "axlebearingl1, "SamplingUTCTimestamp": 1436722345.154, "ITSSSensorId": "MANUF000001234500123", "value": 175000.0, "ITSSSensorType": "pressure", "ITSSSensorPosition": "tank" ], "ITSSTelematicsApplicationID": "TeleApp0815", ITSS practice group page 40 of 80

ITSSStandardSpecificationInterface1V1-1.docx "ITSSPassPhrase": "mutabor" Response on success HTTP Status 201 MIME Type Text plain Response on undefined error HTTP Status All other HTTP Status codes MIME Type text/plain BODY: error description ITSS practice group page 41 of 80

ITSSStandardSpecificationInterface1V1-1.docx Request last known geofencing state 1. Description The customer wants to get information about the last known geofencing state of a specific transport device. The geofencing state is a list of all geofences the device is currently located within. 2. Method (Request / Response) The customer system requests the last known geofencing state of a transport device identified by the ITSSTelematicsDeviceID or ITSSTransportDeviceID The Telematics Application processes the request and responds with the required information. Customer System ITSSRequest Telematics Application Customer System ITSSResponse Telematics Application Access method: Synchronous lastgeofencingstate ITSSTelematicsDeviceID or ITSSTransportDeviceID ITSSCustomerSystemID ITSSPassPhrase lastgeofencingstate response ITSSTelematicsDeviceID or ITSSTransportDeviceID UTCtimestamp: the time when this state has been evaluated ITSSGeofenceList: List of ITSSGeofences the device is currently located within GNSSPosition (optional): position that has been used to evaluate the geofence state ITSSTelematicsApplicationID ITSSPassPhrase If the device is currently not located within a geofence an empty ITSSGeofenceList is returned. ITSS practice group page 42 of 80