Webportal v2

embedded apps

API Reference - speech.textToSpeech

Required Privacy: Data & Location
Operations:

This API allows to use embedded TTS (Text-To-Speech) engine to send vocal instructions to the user.

`“status”: 500, if the an error happend with TTS. Plus “TTSERROR” code.

Input Parameter
Param name Description Type Unit/Values Example Required
action

Start or cancel Text To Speech.

string

- playText

- cancel
start false
ttsOutput

Text to output as a speech.

string

n/a

Please perform this action! Required if `'action': 'playText'`. true
Output Data
Data name Description Type Unit/Values Example
requestId

Identifier of the resquest. Use it for canceling.

int

n/a

43
Code Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
webportal.set(
    /* api name */
    "speech.textToSpeech",
    /* parameters */
     { 
      "action": "start",
      "ttsOutput": "Please perform this action! Required if `'action': 'playText'`."
        }
  )
  /* callback for `REPLY` messages */
  .then((message) => {
    if (message.status === 200) {
      /* handle `REPLY` success */
    }
    else { /* handle `REPLY` error */ }
  })
1
2
3
4
5
6
7
8
9
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0", 
  "type": "SET", 
  "api": "speech.textToSpeech",
  "params":  { 
    "action": "start",
    "ttsOutput": "Please perform this action! Required if `'action': 'playText'`."
  }
}
1
2
3
4
5
6
7
8
9
10
// --- format of the `REPLY` message ---

{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "REPLY",
  "api": "speech.textToSpeech",
  "status": 200,
  "statusText": "OK", 
  "data": 43
}

false

This API allows to use embedded TTS (Text-To-Speech) engine to send vocal instructions to the user.

Input Parameter
No input params
Output Data
Data name Description Type Unit/Values Example
requestId

Identifier of the resquest.

int

n/a

43
playStatus

Status change triggering the Subscribe.

string

n/a

stopped
Code Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
webportal.subscribe(
    /* api name */
    "speech.textToSpeech",
    /* parameters */
     null,
    /* callback for `NOTIFY` messages */
    async (notifyMessage) => {
      if (notifyMessage.status === 200) {
        /* handle `NOTIFY` response */
      }
      else { /*  handle `NOTIFY` error  */ }
    }
  )
  /* callback for `REPLY` messages */
  .then((message) => {
    if (message.status === 200) {
      /* handle `REPLY` success */
    }
    else { /* handle `REPLY` error */ }
  })
1
2
3
4
5
6
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0", 
  "type": "SUBSCRIBE", 
  "api": "speech.textToSpeech",
  "params":  null
}
1
2
3
4
5
6
7
8
9
10
11
// --- format of the `REPLY` message ---
// type: acknowledge the status of the subscription
// reception: only once after the subscription request
// contains outputed data: no
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "REPLY",
  "status": 200,
  "statusText": "OK"
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// --- format of the `NOTIFY` message ---
// type: event message about the subscription
// reception: each time the conditions of the subscription are met
// contains outputed data: yes
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "NOTIFY",
  "api": "speech.textToSpeech",
  "status": 200,
  "statusText": "OK", 
  "data":  { 
    "requestId": 43,
    "playStatus": "stopped"
  } 
}