WebSocket V2 Server
View AsyncAPI Definition The AsyncAPI Definition for this API is available to view and download here.
WebSocket V2 Server 1.0.0 documentation
Section titled “WebSocket V2 Server 1.0.0 documentation”Table of Contents
Section titled “Table of Contents”Servers
Section titled “Servers”websocket-v2-friendly Server
Section titled “websocket-v2-friendly Server”- URL:
ws://tmm-api-local.fieldsystems.trimble.com:9639/ - Protocol:
ws
websocket-v2-localhost Server
Section titled “websocket-v2-localhost Server”- URL:
ws://localhost:9639/ - Protocol:
ws
websocket-v2-loopback Server
Section titled “websocket-v2-loopback Server”- URL:
ws://127.0.0.1:9639/ - Protocol:
ws
Operations
Section titled “Operations”SEND / Operation
Section titled “SEND / Operation”- Operation ID:
sendroot
Message LocationV2DataMessage
Section titled “Message LocationV2DataMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| latitude | number | null | Latitude in decimal degrees (or null if unavailable) North positive, south negative | - | format (double) | - |
| longitude | number | null | Longitude in decimal degrees (or null if unavailable) East positive, west negative | - | format (double) | - |
| altitude | number | null | Altitude in meters (or null if unavailable) | - | format (double) | - |
| speed | number | null | Speed in meters per second (or null if unavailable) | - | format (double) | - |
| bearing | number | null | Bearing in decimal degrees (or null if unavailable) Measured clockwise from north for North Azimuth projections, or clockwise from south for South Azimuth projections. | - | format (double) | - |
| geoidModel | string | null | Geoid model used for height calculations (or null if unavailable) | - | - | - |
| hrms | number | null | Horizontal Root Mean Square in meters (or null if unavailable) | - | format (double) | - |
| vrms | number | null | Vertical Root Mean Square in meters (or null if unavailable) | - | format (double) | - |
| satellites | integer | Number of satellites observed | - | - | - |
| totalSatInUse | integer | Number of satellites that are used for the position solution | - | - | - |
| totalSatInView | integer | Number of satellites in view, identical to satellites | - | - | - |
| pdop | number | null | Position Dilution of Precision (or null if unavailable) | - | format (double) | - |
| hdop | number | null | Horizontal Dilution of Precision (or null if unavailable) | - | format (double) | - |
| vdop | number | null | Vertical Dilution of Precision (or null if unavailable) | - | format (double) | - |
| diffAge | number | null | Message age of any RTK message in seconds (or null if unavailable) | - | format (double) | - |
| diffStatus | integer | null | Position solution status: 1=Autonomous, 2=DGPS, 4=Fixed, 5=Float, null=unavailable | - | - | - |
| diffID | string | ID of the RTK base station -1 if unknown, otherwise 4-digit ID | - | - | - |
| receiverModel | string | Receiver model type | - | - | - |
| receiverSerialNumber | string | Receiver serial number | - | - | - |
| mockProvider | string | Location provider name (“Trimble Mobile Manager”) | - | - | - |
| appVersion | string | TMM build version semantic versioning Major.Minor.Patch (0.0.0) | - | - | - |
| battery | integer | null | Battery percentage if the receiver has an internal battery (or null if unavailable) | - | - | - |
| mslHeight | number | null | Height above mean sea level in meters (or null if unavailable) Includes geoid undulation if geoid is available | - | format (float) | - |
| undulation | number | null | Height difference between ellipsoid and geoid (or null if unavailable) | - | format (float) | - |
| utcTimeStamp | string | null | UTC time formatted as ISO string (or null if unavailable) | - | - | - |
| gpsTimeStamp | string | null | GPS time formatted as ISO string (or null if unavailable) | - | - | - |
| satelliteView | array<object> | List of satellites in view (or null if unavailable) | - | - | - |
| satelliteView.Id | integer | ID of the satellite | - | - | - |
| satelliteView.Elv | integer | Elevation angles of the satellite above the horizon in degrees. | - | - | - |
| satelliteView.Azm | integer | Azimuth angle of the satellite in degrees. | - | - | - |
| satelliteView.Snr | integer | Signal-to-noise ratio (SNR) for the satellite. | - | - | - |
| satelliteView.Use | boolean | Satellite is is use true/false | - | - | - |
| satelliteView.Type | integer | Type of GNSS system of the satellite. | - | - | - |
| subscriptionType | integer | The type of the currently used subscription 0 == Catalyst Free; 1 == Catalyst 60; 2 == Catalyst 30; 3 == Catalayst 10; 4 == Catalyst 1; 5 == Catalyst On Demand; 100 == GNSS receiver | - | - | - |
| sourceReferenceFrameName | string | null | Name of the source reference frame used for the GNSS (or null if unavailable) | - | - | - |
| sourceReferenceFrameEpoch | number | null | Epoch of the realization of the source reference frame (or null if unavailable). It’s the date at which the coordinates of the reference frame are exactly as given. | - | format (double) | - |
| targetReferenceFrameEpoch | number | null | Specific point in time that is used as a reference for the geodetic datum (or null if unavailable). | - | format (double) | - |
| targetReferenceFrameName | string | null | Name of the target reference frame used for the GNSS (or null if unavailable). | - | - | - |
| imuAlignmentStatus | integer | Current IMU alignment status 0: NotAvailable, IMU is not available 1: Unaligned, IMU is not aligned, start moving the receiver to align 2: Coarse, IMU is partially aligned, keep moving the receiver to complete alignment 3: Fine, IMU is fully aligned and ready for TIP measurement | - | - | - |
| isTIP | boolean | True if this is a Trimble TIP position | - | - | - |
| pitch | number | null | Pitch of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| roll | number | null | Roll of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| yaw | number | null | Yaw of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| tiltAngle | number | null | Combined tilt angle of the pole (or null if unavailable) | - | format (double) | - |
| tiltPrecision | number | null | Precision of the combined tilt angle in degrees (or null if unavailable) | - | format (double) | - |
| pitchPrecision | number | null | Precision of the pitch in degrees (or null if unavailable) | - | format (double) | - |
| rollPrecision | number | null | Precision of the roll in degrees (or null if unavailable) | - | format (double) | - |
| yawPrecision | number | null | Precision of the yaw in degrees (or null if unavailable) | - | format (double) | - |
| igsAntenna | string | null | IGS antenna name (or null if unavailable) | - | - | - |
| antennaHeight | number | null | Antenna height in meters (or null if unavailable). Measured from the ground to the Antenna Reference Point (usually Bottom of antenna mount) | - | format (double) | - |
| gpsL1Offset | number | null | GPS L1 Offset (or null if unavailable). | - | format (double) | - |
| solutionType | string | null | Correction Source solutionType (or null if unavailable). [“Autonomous”, “RTKFloat”, “RTKFixed”, “HDRTK”, “Differential”, “RTX”, “XFill”, “SBAS”, “XFillRTX”, “RTXCode”] | - | - | - |
Examples of payload (generated)
{ "latitude": 0, "longitude": 0, "altitude": 0, "speed": 0, "bearing": 0, "geoidModel": "string", "hrms": 0, "vrms": 0, "satellites": 0, "totalSatInUse": 0, "totalSatInView": 0, "pdop": 0, "hdop": 0, "vdop": 0, "diffAge": 0, "diffStatus": 0, "diffID": "string", "receiverModel": "string", "receiverSerialNumber": "string", "mockProvider": "string", "appVersion": "string", "battery": 0, "mslHeight": 0, "undulation": 0, "utcTimeStamp": "string", "gpsTimeStamp": "string", "satelliteView": [ { "Id": 0, "Elv": 0, "Azm": 0, "Snr": 0, "Use": true, "Type": 0 } ], "subscriptionType": 0, "sourceReferenceFrameName": "string", "sourceReferenceFrameEpoch": 0, "targetReferenceFrameEpoch": 0, "targetReferenceFrameName": "string", "imuAlignmentStatus": 0, "isTIP": true, "pitch": 0, "roll": 0, "yaw": 0, "tiltAngle": 0, "tiltPrecision": 0, "pitchPrecision": 0, "rollPrecision": 0, "yawPrecision": 0, "igsAntenna": "string", "antennaHeight": 0, "gpsL1Offset": 0, "solutionType": "string"}SEND /locationV2 Operation
Section titled “SEND /locationV2 Operation”- Operation ID:
sendlocationV2
Message LocationV2DataMessage
Section titled “Message LocationV2DataMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| latitude | number | null | Latitude in decimal degrees (or null if unavailable) North positive, south negative | - | format (double) | - |
| longitude | number | null | Longitude in decimal degrees (or null if unavailable) East positive, west negative | - | format (double) | - |
| altitude | number | null | Altitude in meters (or null if unavailable) | - | format (double) | - |
| speed | number | null | Speed in meters per second (or null if unavailable) | - | format (double) | - |
| bearing | number | null | Bearing in decimal degrees (or null if unavailable) Measured clockwise from north for North Azimuth projections, or clockwise from south for South Azimuth projections. | - | format (double) | - |
| geoidModel | string | null | Geoid model used for height calculations (or null if unavailable) | - | - | - |
| hrms | number | null | Horizontal Root Mean Square in meters (or null if unavailable) | - | format (double) | - |
| vrms | number | null | Vertical Root Mean Square in meters (or null if unavailable) | - | format (double) | - |
| satellites | integer | Number of satellites observed | - | - | - |
| totalSatInUse | integer | Number of satellites that are used for the position solution | - | - | - |
| totalSatInView | integer | Number of satellites in view, identical to satellites | - | - | - |
| pdop | number | null | Position Dilution of Precision (or null if unavailable) | - | format (double) | - |
| hdop | number | null | Horizontal Dilution of Precision (or null if unavailable) | - | format (double) | - |
| vdop | number | null | Vertical Dilution of Precision (or null if unavailable) | - | format (double) | - |
| diffAge | number | null | Message age of any RTK message in seconds (or null if unavailable) | - | format (double) | - |
| diffStatus | integer | null | Position solution status: 1=Autonomous, 2=DGPS, 4=Fixed, 5=Float, null=unavailable | - | - | - |
| diffID | string | ID of the RTK base station -1 if unknown, otherwise 4-digit ID | - | - | - |
| receiverModel | string | Receiver model type | - | - | - |
| receiverSerialNumber | string | Receiver serial number | - | - | - |
| mockProvider | string | Location provider name (“Trimble Mobile Manager”) | - | - | - |
| appVersion | string | TMM build version semantic versioning Major.Minor.Patch (0.0.0) | - | - | - |
| battery | integer | null | Battery percentage if the receiver has an internal battery (or null if unavailable) | - | - | - |
| mslHeight | number | null | Height above mean sea level in meters (or null if unavailable) Includes geoid undulation if geoid is available | - | format (float) | - |
| undulation | number | null | Height difference between ellipsoid and geoid (or null if unavailable) | - | format (float) | - |
| utcTimeStamp | string | null | UTC time formatted as ISO string (or null if unavailable) | - | - | - |
| gpsTimeStamp | string | null | GPS time formatted as ISO string (or null if unavailable) | - | - | - |
| satelliteView | array<object> | List of satellites in view (or null if unavailable) | - | - | - |
| satelliteView.Id | integer | ID of the satellite | - | - | - |
| satelliteView.Elv | integer | Elevation angles of the satellite above the horizon in degrees. | - | - | - |
| satelliteView.Azm | integer | Azimuth angle of the satellite in degrees. | - | - | - |
| satelliteView.Snr | integer | Signal-to-noise ratio (SNR) for the satellite. | - | - | - |
| satelliteView.Use | boolean | Satellite is is use true/false | - | - | - |
| satelliteView.Type | integer | Type of GNSS system of the satellite. | - | - | - |
| subscriptionType | integer | The type of the currently used subscription 0 == Catalyst Free; 1 == Catalyst 60; 2 == Catalyst 30; 3 == Catalayst 10; 4 == Catalyst 1; 5 == Catalyst On Demand; 100 == GNSS receiver | - | - | - |
| sourceReferenceFrameName | string | null | Name of the source reference frame used for the GNSS (or null if unavailable) | - | - | - |
| sourceReferenceFrameEpoch | number | null | Epoch of the realization of the source reference frame (or null if unavailable). It’s the date at which the coordinates of the reference frame are exactly as given. | - | format (double) | - |
| targetReferenceFrameEpoch | number | null | Specific point in time that is used as a reference for the geodetic datum (or null if unavailable). | - | format (double) | - |
| targetReferenceFrameName | string | null | Name of the target reference frame used for the GNSS (or null if unavailable). | - | - | - |
| imuAlignmentStatus | integer | Current IMU alignment status 0: NotAvailable, IMU is not available 1: Unaligned, IMU is not aligned, start moving the receiver to align 2: Coarse, IMU is partially aligned, keep moving the receiver to complete alignment 3: Fine, IMU is fully aligned and ready for TIP measurement | - | - | - |
| isTIP | boolean | True if this is a Trimble TIP position | - | - | - |
| pitch | number | null | Pitch of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| roll | number | null | Roll of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| yaw | number | null | Yaw of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| tiltAngle | number | null | Combined tilt angle of the pole (or null if unavailable) | - | format (double) | - |
| tiltPrecision | number | null | Precision of the combined tilt angle in degrees (or null if unavailable) | - | format (double) | - |
| pitchPrecision | number | null | Precision of the pitch in degrees (or null if unavailable) | - | format (double) | - |
| rollPrecision | number | null | Precision of the roll in degrees (or null if unavailable) | - | format (double) | - |
| yawPrecision | number | null | Precision of the yaw in degrees (or null if unavailable) | - | format (double) | - |
| igsAntenna | string | null | IGS antenna name (or null if unavailable) | - | - | - |
| antennaHeight | number | null | Antenna height in meters (or null if unavailable). Measured from the ground to the Antenna Reference Point (usually Bottom of antenna mount) | - | format (double) | - |
| gpsL1Offset | number | null | GPS L1 Offset (or null if unavailable). | - | format (double) | - |
| solutionType | string | null | Correction Source solutionType (or null if unavailable). [“Autonomous”, “RTKFloat”, “RTKFixed”, “HDRTK”, “Differential”, “RTX”, “XFill”, “SBAS”, “XFillRTX”, “RTXCode”] | - | - | - |
Examples of payload (generated)
{ "latitude": 0, "longitude": 0, "altitude": 0, "speed": 0, "bearing": 0, "geoidModel": "string", "hrms": 0, "vrms": 0, "satellites": 0, "totalSatInUse": 0, "totalSatInView": 0, "pdop": 0, "hdop": 0, "vdop": 0, "diffAge": 0, "diffStatus": 0, "diffID": "string", "receiverModel": "string", "receiverSerialNumber": "string", "mockProvider": "string", "appVersion": "string", "battery": 0, "mslHeight": 0, "undulation": 0, "utcTimeStamp": "string", "gpsTimeStamp": "string", "satelliteView": [ { "Id": 0, "Elv": 0, "Azm": 0, "Snr": 0, "Use": true, "Type": 0 } ], "subscriptionType": 0, "sourceReferenceFrameName": "string", "sourceReferenceFrameEpoch": 0, "targetReferenceFrameEpoch": 0, "targetReferenceFrameName": "string", "imuAlignmentStatus": 0, "isTIP": true, "pitch": 0, "roll": 0, "yaw": 0, "tiltAngle": 0, "tiltPrecision": 0, "pitchPrecision": 0, "rollPrecision": 0, "yawPrecision": 0, "igsAntenna": "string", "antennaHeight": 0, "gpsL1Offset": 0, "solutionType": "string"}SEND /events Operation
Section titled “SEND /events Operation”- Operation ID:
sendevents
Sending one of the following messages:
Message AntennaChangedMessage
Section titled “Message AntennaChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”AntennaChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| isAntennaHeightApplied | boolean | true: Apply a custom antenna height, false: Apply a zero antenna height | - | - | - |
| measuredHeight | number | Antenna height, measured from the ground to the selected measurement method (meters) | - | format (double) | - |
| antennaType | string | Antenna type | - | - | - |
| measurementMethod | string | Measurement method (i.e. Bottom of antenna mount) | - | - | - |
| gpsL1Offset | number | Vertical offset from selected measurement method to the GPS L1 phase center (meters) | - | format (double) | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "isAntennaHeightApplied": true, "measuredHeight": 0.1, "antennaType": "string", "measurementMethod": "string", "gpsL1Offset": 0.1}Message AppExitMessage
Section titled “Message AppExitMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”AppExit” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| status | string | App exit status [“normal”, “unhandled exception”] | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "status": "string"}Message ConnectionStateChangedMessage
Section titled “Message ConnectionStateChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”ConnectionStateChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| connectionState | string | Current connection state. [“Connected”, “Connecting”, “Disconnected”, “Disconnecting”] | - | - | - |
| receiverName | string | The receiver name | - | - | - |
| receiverBrand | string | null | The receiver brand, null if unavailable | - | - | - |
| receiverModel | string | null | The receiver model, null if unavailable | - | - | - |
| receiverSerialNumber | string | null | The receiver serial number, null if unavailable | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "connectionState": "string", "receiverName": "string", "receiverBrand": "string", "receiverModel": "string", "receiverSerialNumber": "string"}Message CorrectionSourceChangedMessage
Section titled “Message CorrectionSourceChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”CorrectionSourceChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| isValid | boolean | true: the current correction source is valid, false: it is not valid | - | - | - |
| correctionSource | string | The correction source type (Auto, NTRIP, Direct) | - | - | - |
| serverAddress | string | null | The IP address or domain name of the server, or null if not available | - | - | - |
| serverPort | integer | null | The Port number of the server, or null if not available | - | - | - |
| ntripMountPoint | string | null | The format of the correction messages and the reference frame that relates to a real-time data stream, or null if not available | - | - | - |
| ntripUserName | string | null | The user name for the NTRIP account, or null if not available. | - | - | - |
| ntripPassword | string | null | Password for the NTRIP account (obscured), or null if not available. | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "isValid": true, "correctionSource": "string", "serverAddress": "string", "serverPort": 0, "ntripMountPoint": "string", "ntripUserName": "string", "ntripPassword": "string"}Message HeartbeatMessage
Section titled “Message HeartbeatMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”Heartbeat” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string"}Message LocationsAvailableMessage
Section titled “Message LocationsAvailableMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”LocationsAvailable” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| isStreaming | boolean | true: locations have started streaming, false: locations are unavailable | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "isStreaming": true}Message OnDemandChangedMessage
Section titled “Message OnDemandChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”OnDemandChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| state | string | The current OnDemand session state. [“Started”, “Extended”, “Stopped”] | - | - | - |
| utcEndTime | string | UTC time the OnDemand session ends (ISO 8601 format) | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "state": "string", "utcEndTime": "string"}Message UserChangedMessage
Section titled “Message UserChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”UserChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| isSignedIn | boolean | The sign-in status | - | - | - |
| userName | string | null | The user’s email address, null if unavailable | - | - | - |
| tid | string | null | The user’s TID UUID, null if unavailable | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "isSignedIn": true, "userName": "string", "tid": "string"}