332 lines
9.3 KiB
YAML
332 lines
9.3 KiB
YAML
asyncapi: 2.0.0
|
|
info:
|
|
title: HMI Websocket API
|
|
version: 1.0.0
|
|
description: This serves as the documentation for websocket connections made between the HMI and the gateway.
|
|
servers:
|
|
local:
|
|
url: localhost/secret_mobile
|
|
description: local
|
|
protocol: wss
|
|
development:
|
|
url: dev-gw.cloud.fiskerinc.com/secret_mobile
|
|
description: dev
|
|
protocol: wss
|
|
preproduction:
|
|
url: gw.cloud.fiskerinc.com/secret_mobile
|
|
description: preprod
|
|
protocol: wss
|
|
production:
|
|
url: gw.cec-prd.fiskerinc.com/secret_mobile
|
|
description: prod
|
|
protocol: wss
|
|
production-eu:
|
|
url: gw.cec-euprd.fiskerinc.com/secret_mobile
|
|
description: prod-eu
|
|
protocol: wss
|
|
|
|
channels:
|
|
Verify:
|
|
publish:
|
|
message:
|
|
$ref: '#/components/messages/Verify'
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/VerifyResponse'
|
|
SessionId:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/SessionId'
|
|
MapDestination:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/MapDestinationSource'
|
|
MapRoute:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/MapRouteSource'
|
|
Profiles:
|
|
publish:
|
|
message:
|
|
$ref: '#/components/messages/Profiles'
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/ProfilesResponse'
|
|
ProfileNew:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/ProfileNew'
|
|
ProfileUpdate:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/ProfileUpdate'
|
|
ProfileDelete:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/ProfileDelete'
|
|
SettingsUpdate:
|
|
publish:
|
|
message:
|
|
$ref: '#/components/messages/SettingsUpdate'
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/SettingsUpdateNotification'
|
|
SubscriptionsUpdate:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/SubscriptionsUpdate'
|
|
UpdateManifest:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/UpdateManifest'
|
|
UpdateApprove:
|
|
publish:
|
|
message:
|
|
$ref: '#/components/messages/UpdateApprove'
|
|
CarUpdate:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/CarUpdate'
|
|
Error:
|
|
subscribe:
|
|
message:
|
|
$ref: '#/components/messages/Error'
|
|
|
|
components:
|
|
messages:
|
|
Verify:
|
|
description: Sent by the HMI to authenticate itself with the cloud. Fields vary depending on whether the HMI already has a driver profile.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "verify"
|
|
const: verify
|
|
data:
|
|
$ref: './schema/hmi/TXMessage.json#/$defs/VerifyModel'
|
|
VerifyResponse:
|
|
description: Received by the HMI after sending Verify.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "verify"
|
|
const: verify
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/VerifyResponseModel'
|
|
SessionId:
|
|
description: Provides a session ID unique to the HMI.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "session_id"
|
|
const: session_id
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/SessionIdModel'
|
|
MapDestinationSource:
|
|
description: Provides map destination to the HMI sent from mobile.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "map_destination"
|
|
const: map_destination
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/MapDestinationSourceModel'
|
|
MapRouteSource:
|
|
description: Provides map route to the HMI sent from mobile.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "map_route"
|
|
const: map_route
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/MapRouteSourceModel'
|
|
Profiles:
|
|
description: Prompts the cloud to send down all driver profiles on the car.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "profiles"
|
|
const: profiles
|
|
ProfilesResponse:
|
|
description: Provides an updated version of all driver profiles on the car.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "profiles"
|
|
const: profiles
|
|
data:
|
|
type: array
|
|
description: stores data for response
|
|
items:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverModel'
|
|
ProfileNew:
|
|
description: Provides a single driver profile to be added on the car.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "profile_new"
|
|
const: profile_new
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverModel'
|
|
ProfileUpdate:
|
|
description: Provides an updated version of a single driver profile on the car.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "profile_update"
|
|
const: profile_update
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverUpdateModel'
|
|
ProfileDelete:
|
|
description: Describes the driver profile to remove from HMI.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "profile_delete"
|
|
const: profile_delete
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverDeleteModel'
|
|
SettingsUpdate:
|
|
description: Notifies the cloud of a change in settings on the HMI.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "settings_update"
|
|
const: settings_update
|
|
data:
|
|
$ref: './schema/hmi/TXMessage.json#/$defs/SettingsUpdateModel'
|
|
SettingsUpdateNotification:
|
|
description: Notifies the HMI of a change in settings.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "settings_update"
|
|
const: settings_update
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/SettingsUpdateModel'
|
|
SubscriptionsUpdate:
|
|
description: Notifies the HMI of a change in a subscription.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "subscriptions_update"
|
|
const: subscriptions_update
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/SubscriptionsUpdateModel'
|
|
UpdateManifest:
|
|
description: Provides a summary of an OTA update event.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "update_manifest"
|
|
const: update_manifest
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/UpdateManifest'
|
|
UpdateApprove:
|
|
description: Notifies the cloud that an update has been approved and can be downloaded.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "update_approve"
|
|
const: update_approve
|
|
CarUpdate:
|
|
description: Provides a status update on a specific car update.
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "car_update"
|
|
const: car_update
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/UpdateProgressModel'
|
|
Error:
|
|
description: Generic error message
|
|
payload:
|
|
type: object
|
|
required:
|
|
- handler
|
|
- data
|
|
properties:
|
|
handler:
|
|
type: string
|
|
description: expects the string "error"
|
|
const: error
|
|
data:
|
|
$ref: './schema/hmi/RXMessage.json#/$defs/ErrorModel'
|