E T X App Configuration

Create a configuration

POST
/api/v1/application/configurations/geofence

This endpoint creates a new configuration in the system. The data for the new configuration should be provided as JSON in the body of the POST request. The system will return with a unique ID for the configuration, which is needed for any further manipulation (update or delete) of the configuration.

Note: The user needs to authenticate with their ThingSpace credentials using the Access/Bearer and Session/M2M tokens in order to call this API.

Authorization

thingspace_oauth sessionToken
AuthorizationBearer <token>

This is the ThingSpace token, from Credentials and Tokens is used

In: header

SessionToken<token>

This is the Session/M2M token needed to authenticate the user. It should be acquired by using the ThingSpace APIs. For detail on how to obtain a Session/M2M token please refer to the

In: header

Header Parameters

VendorID*string

The vendor's identifier

Match^[a-zA-Z0-9]+$
Length1 <= length <= 64

Request Body

application/json

Request for /api/v1/application/configurations/geofence POST endpoint. It requires the vendorId, geofence, messageStandard, messages and isActive fields to be populated.

Properties4 <= properties <= 6
name?string

Name of the configuration.

Match^[\w\+\-!()\`\[\]{=};\"':,.\/<>?|\s]+$
Length1 <= length <= 256
description?string

Description of the configuration.

Match^[\w\+\-!()\`\[\]{=};\"':,.\/<>?|\s]+$
Length1 <= length <= 2048
geoFence*

The GeoJSON representation of geofence. Geofence supports the following geometry types: LineString, Polygon, MultiLineString, and MultiPolygon. The system only supports a single Feature in the FeatureCollection, so only one Line, Polygon, MultiLine or MultiPolygon can be defined within one Geofencing configuration.

messageStandard?MessageStandard

Select which V2X messaging standard will be used for the message generation. The following options are supported:

  • "etsi": The message will be generated using the ETSI (European) standard (e.g. DENM).
  • "sae": The message will be generated using the SAE J2735 (North American) standard (e.g. RSA, TIM).
  • if not sent while POST, defaults to "sae"
  • mandatory to send "etsi" standard here, if ETSI messages are being sent in config

Value in

  • "etsi"
  • "sae"
messages*array<|||>

List of predefined messages that belongs to the geofence. These are the messages that are sent out by the system when the Trigger Condition for the message is met.

Items1 <= items <= 10
isActive*boolean

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/application/configurations/geofence" \  -H "VendorID: VerizonETX" \  -H "Content-Type: application/json" \  -d '{    "geoFence": {      "type": "FeatureCollection",      "features": [        {          "type": "Feature",          "geometry": {            "type": "LineString",            "coordinates": [              [                -180              ],              [                -180              ]            ]          },          "properties": {}        }      ]    },    "messages": [      {        "isPrivate": true,        "roadUserType": [          "VulnerableRoadUser"        ],        "triggerConditions": [          "enter"        ],        "generic": {          "messageType": "string",          "messageFormat": "string",          "payload": "string"        }      }    ],    "isActive": true  }'
{  "id": "a4fcd16a-343d-4527-8203-2f46e3e4ff4b",  "vendorId": "VerizonETX",  "name": "string",  "description": "string",  "geoFence": {    "type": "FeatureCollection",    "features": [      {        "type": "Feature",        "geometry": {          "type": "LineString",          "coordinates": [            [              -180            ],            [              -180            ]          ]        },        "properties": {}      }    ]  },  "messageStandard": "etsi",  "messages": [    {      "isPrivate": true,      "roadUserType": [        "VulnerableRoadUser"      ],      "triggerConditions": [        "enter"      ],      "limits": [        {          "speed": null        }      ],      "distributionType": [        "Targeted"      ],      "distributionSchedule": {        "repeatPeriod": 5,        "duration": 1,        "startTime": "2042-07-21T17:32:28Z"      },      "generic": {        "messageType": "string",        "messageFormat": "string",        "payload": "string"      }    }  ],  "isActive": true}