E T X Registration

Retrieve MQTT URL for device or software service connection to the Message Exchange with muti-MECs support

POST
/api/v3/clients/connection

With this API call the device or software service requests the MQTT URL for the location that it needs to connect. To determine the proper URL the device or software service needs to provide its ID (the one that was provided in the registration request), location (GPS coordinates), and whether it is on the Verizon cellular network or not.

If there are multiple MECs that serve the location of the client all options are provided in the response, and the client is free to choose which MEC they want to connect.

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 VendorID set during the Vendor registration call.

Match^[a-zA-Z0-9]+$
Lengthlength <= 64
X-Transaction-Id?string

Optional transaction identifier for tracing requests. If not provided, the application will generate one.

Formatuuid

Request Body

application/json

Request for /clients/connection. It requires the device ID acquired in the registration request call; the geolocation of the device at the time of the request; and the network type (Verizon or non-Verizon). The system uses this information to determine with MQTT endpoint the device should use to connect the ETX Message Exchange.

DeviceID*string

The generated ID (UUID v4) for the device. It can be used as:

  • the MQTT Client ID when connecting to the Message Exchange system
  • a parameter when asking for the connection endpoint
  • a parameter when finishing the device registration
  • a parameter when unregistering the device
Formatuuid
Geolocation*

Geolocation of the device at the time of the connection request in GPS coordinates.

NetworkType*NetworkType

The type of the device's network connection at the time of the request. If the device is on the Verizon cellular network it should use the "VZ" value otherwise the "non-VZ" value.

Devices on the Verizon network can directly access the ETX Message Exchange on the MEC (Mobile Edge Compute server)

Value in

  • "VZ"
  • "non-VZ"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v3/clients/connection" \  -H "VendorID: VerizonETX" \  -H "Content-Type: application/json" \  -d '{    "DeviceID": "976c4bad-03d3-4dcb-9688-ee57db7890e4",    "Geolocation": {      "Latitude": 42.36,      "Longitude": -71.06    },    "NetworkType": "non-VZ"  }'
{  "MqttURLs": [    "string"  ],  "Hosts": [    "imp-nyc-1.prod-us-east-1.thingspace.verizon.com"  ],  "Ports": [    8883  ]}