Web API Specification Sheet for the TS-D1000 Wired Conference System
Revision History
Date | Version No. | Summary |
---|---|---|
2020/1/22 | 1.0 | First edition |
URI
All Web API URIs begin with “/api.”
Authentication System
Basic Authentication is used.
Both username and password are required for connection.
Error Handling
Notification of the results of a Web API call is provided by way of an HTTP status code.
When there is an error in the Web API call, notification of its summary information is provided by means of an HTTP status code, and its details by means of an HTTP body (“json” message).
HTTP Status Code Classification
Status Code | Meaning |
---|---|
2xx (200s) | Success |
4xx (400s) | Client side error |
5xx (500s) | Server side error |
HTTP Status Code Table
Status Code | Message | Description |
---|---|---|
200 | OK | Request successful. |
201 | Created | Request successful and resource created. |
400 | Bad Request | Request syntax errors found. |
401 | Unauthorized | Authentication required. |
404 | Not Found | No resources found. |
405 | Method Not Allowed | Method not supported. |
500 | Internal Server Error | Internal server error |
503 | Service Unavailable | Service cannot be utilized. |
Notification by PUSH-Type Communications
The TS-D1000 conference system performs PUSH-Notification Server-Sent Events communication in addition to normal PULL-type HTTP communication.
Normal HTTP (PULL-Type)
Communications Flow
-
Client to server: TCP connection
-
Client to server: Transmits HTTP request (GET)
-
Server to client: Transmits HTTP response
-
Client to server: Disconnects TCP connection
Items 1 – 4 are repeated during the required duration.
Server-Sent Events(PUSH-Notification)
Communications Flow
-
Client to server: TCP connection
-
Client to server: Transmits HTTP request (GET)
-
Server to client: Transmits HTTP response with the following header.
- Content-Type: text/event-stream
- Transfer-Encoding: chunked
-
Client to server: Disconnects TCP connection if notifications are no longer required.
Message Format
Messages are transmitted by Chunked Transfer Coding system.
-
Messages are split by two line feed characters (
\n
). -
A colon (
:
) at the beginning of a line indicates a comment. -
Each message is represented by “Field name: Field value (text data)“.
event
:Type of eventdata
:Message data field
Login Function ¶
Login API ¶
Use this function when initiating external control.
The login process is performed, and if not already logged in, the conference mode is set to centralized control mode (Full-control system).
Perform loginPUT/api/login
Perform login.
Example URI
Headers
Content-Type: application/json
200
400
500
Logout Function ¶
Conference Mode ¶
Conference Mode API ¶
This API can be used when the TS-D1000MU Master Control Unit is in centralized control mode.
It controls the conference mode when in centralized control mode.
The following types of conference mode are available:
Item | Description |
---|---|
Full-control system | Initiates control from the external control device without accepting speech started by conference unit. |
Speech request approval system | Accepts conference unit speech start as a speech request, and initiates control from the external control device. |
Conference mode acquisitionGET/api/talkreq-mode
Acquires the conference mode setting status when in centralized control mode.
Example URI
200
Headers
Content-Type: application/json
Body
{
"request": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"request": {
"type": "boolean",
"description": "Speech request setting(true:Allowing speech request, false:Prohibiting speech request)"
}
}
}
500
Conference mode settingsPUT/api/talkreq-mode
Sets the conference mode when in centralized control mode.
Example URI
Headers
Content-Type: application/json
Body
{
"request": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"request": {
"type": "boolean",
"description": "Speech request setting(true:Allowing speech request, false:Prohibiting speech request)"
}
}
}
200
400
500
Basic Conference Operation Control ¶
Basic Conference Operation Control API ¶
The purpose of the Basic Conference Operation Control is to carry out speech control from an external control device to conference units.
Speech control items are as follows:
Item | Control Classification | Description |
---|---|---|
Conference unit speech start | unitstart | Starts the designated conference unit’s speech. |
Conference unit speech stop | unitstop | Terminates the designated conference unit’s speech. |
All conference unit speech stop | allstop | Terminates speech from all conference units. |
Individual conference unit speech request cancellation | unitcancel | Cancels conference unit speech request that had earlier been confirmed. |
All conference unit speech request cancellation | allcancel | Cancels all conference unit speech requests that had earlier been confirmed. |
Conference unit controlPUT/api/conf-unitctrl
Carries out control of conference units.
Example URI
Headers
Content-Type: application/json
Body
{
"mode": "unitstart",
"id": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"unitstart",
"unitstop",
"unitcancel",
"allstop",
"allcancel"
],
"description": "Function"
},
"id": {
"type": "number",
"description": "ID No. of conference unit(except `allstop` and `allcancel`)"
}
},
"required": [
"mode"
]
}
200
400
500
In-Use Conference Unit ID ¶
In-Use Conference Unit ID API ¶
In-use conference unit ID acquisitionGET/api/conf-talkunit
Acquires ID of currently in-use conference unit(s).
The maximum number of simultaneously “in-use” conference units shall be limited to 10 units.
Example URI
200
Headers
Content-Type: application/json
Body
{
"unitid": [
{
"id": 1
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"unitid": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "In-use conference unit ID"
}
}
},
"description": "List of conference unit ID"
}
}
}
400
500
Speech Requesting Conference Unit ID ¶
Speech Requesting Conference Unit ID API ¶
Speech requesting conference unit ID acquisitionGET/api/conf-requestunit
Acquires the ID of conference unit(s) currently requesting speech authorization.
The maximum number of conference units simultaneously requesting speech authorization shall be limited to 10 units.
Example URI
200
Headers
Content-Type: application/json
Body
{
"unitid": [
{
"id": 1
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"unitid": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "ID of conference unit that requesting speech"
}
}
},
"description": "List of conference unit ID"
}
}
}
400
500
Monitor Speaker Volume ¶
Monitor Speaker Volume API ¶
This API can be used when the TS-D1000MU Master Control Unit is in centralized control mode.
Item | Description |
---|---|
Monitor speaker volume settings | Simultaneously adjusts the monitor speaker volume of all conference units within the system. |
Monitor speaker volume acquisitionGET/api/monitorsp-vol
Example URI
200
Headers
Content-Type: application/json
Body
{
"monitorsp-vol": "mute"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"monitorsp-vol": {
"type": "string",
"enum": [
"mute",
"-20",
"-18",
"-16",
"-14",
"-12",
"-10",
"-8",
"-6",
"-4",
"-2",
"0",
"+2",
"+4",
"+6",
"+8"
],
"description": "Volume adjustment value(mute,-20dB to +8dB)"
}
}
}
500
Monitor speaker volume settingsPUT/api/monitorsp-vol
Example URI
Headers
Content-Type: application/json
Body
{
"monitorsp-vol": "mute"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"monitorsp-vol": {
"type": "string",
"enum": [
"mute",
"-20",
"-18",
"-16",
"-14",
"-12",
"-10",
"-8",
"-6",
"-4",
"-2",
"0",
"+2",
"+4",
"+6",
"+8"
],
"description": "Volume adjustment value(mute,-20dB to +8dB)"
}
}
}
200
400
500
Monitor Speaker Settings ¶
Monitor Speaker Settings API ¶
This API can be used when the TS-D1000MU Master Control Unit is in centralized control mode.
Item | Description |
---|---|
Conference unit monitor speaker settings | Enables or disables audio output from the currently in-use conference unit’s monitor speaker. |
Monitor speaker setting information acquisitionGET/api/monitorsp-inuse
Example URI
200
Headers
Content-Type: application/json
Body
{
"monitorsp-inuse": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"monitorsp-inuse": {
"type": "boolean",
"description": "Monitar speaker ON/OFF(true:ON,false:OFF)"
}
}
}
500
Monitor speaker settingsPUT/api/monitorsp-inuse
Example URI
Headers
Content-Type: application/json
Body
{
"monitorsp-inuse": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"monitorsp-inuse": {
"type": "boolean",
"description": "Monitar speaker ON/OFF(true:ON,false:OFF)"
}
}
}
200
400
500
Recordings ¶
Recordings API ¶
The TS-D1000MU Master Control Unit can record output sound to either internal memory or a connected USB flash memory.
For recording operation API, perform the following operations.
The recording destination is automatically selected at the TS-D1000MU Master Control Unit.
Item | Control Classification | Description |
---|---|---|
Recording start | start | Starts recording |
Recording stop | stop | Stops recording |
Recording status acquisitionGET/api/rec
Acquires the TS-D1000MU’s recording status.
Example URI
200
Headers
Content-Type: application/json
Body
{
"status": "rec"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"rec",
"idle"
],
"description": "Recording status"
}
}
}
500
Recording operationPUT/api/rec
Initiates recording operation request.
Example URI
Headers
Content-Type: application/json
Body
{
"status": "start"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"start",
"stop"
],
"description": "Function"
}
}
}
200
400
500
Conference Unit ID ¶
Conference Unit ID API ¶
Acquires the ID of the conference unit connected to the TS-D1000MU Master Control Unit.
If the conference unit is using the same ID as that of another conference unit, its ID needs to be reassigned (the set ID is first deleted, then reset).
Conference unit ID acquisitionGET/api/conf-unit
Acquires the conference unit ID detected by the TS-D1000MU Master Control Unit.
Example URI
200
Headers
Content-Type: application/json
Body
{
"unitid": [
{
"id": 1,
"unittype": "delegate",
"duplicate": true
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"unitid": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Conference unit ID"
},
"unittype": {
"type": "string",
"enum": [
"delegate",
"chairman"
],
"description": "Unit type"
},
"duplicate": {
"type": "boolean",
"description": "Whether ID is dupulicated(true:Dupulicated, false:Not duplicated)"
}
}
},
"description": "List of conference unit"
}
}
}
500
Conference unit ID reassignmentPUT/api/conf-unit
Reassigns the conference unit ID.
Example URI
Headers
Content-Type: application/json
Body
{
"clear": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"clear": {
"type": "boolean",
"description": "Start ID reassignment(true only)"
}
}
}
200
400
500
Automatic ID Setting Results ¶
Automatic ID Setting Results API ¶
Checks to confirm that automatic ID setting has been correctly completed when automatic setting has been carried out.
Automatic ID setting results acquisitionGET/api/autoidset-result
Acquires the results of automatic ID setting.
Example URI
200
Headers
Content-Type: application/json
Body
{
"result": true
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"result": {
"type": "boolean",
"description": "Result of auto ID setting(ture:Successful completion, false:Failure detection)"
}
}
}
400
500
Connection Test ¶
Connection Test API ¶
Connection test flashes all connected conference unit’s indicators. Connection confirmation items are as follows:
Item | Control Classification | Description |
---|---|---|
Connection test start | allstart | Starts connection confirmation for all conference units. |
Individual conference unit connection test start | unitstart | Starts connection test for conference unit with specified ID. |
Connection test stop | stop | Stops connection test for all conference units. |
Connection test status acquisitionGET/api/connection-test
Acquires the status of whether the connection confirmation is being performed.
Example URI
200
Headers
Content-Type: application/json
Body
{
"status": "idle",
"id": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"idle",
"all",
"unit"
],
"description": "Connection test status"
},
"id": {
"type": "number",
"description": "ID No. of conference unit(only for `unit`)"
}
}
}
500
Connection test operationPUT/api/connection-test
Conducts connection test operation.
Example URI
Headers
Content-Type: application/json
Body
{
"mode": "allstart",
"id": 1
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"allstart",
"stop",
"unitstart"
],
"description": "Function"
},
"id": {
"type": "number",
"description": "ID No. of conference unit(only for `unitstart`)"
}
}
}
200
400
500
Time ¶
Time API ¶
This API sets the clock (date and time) of the TS-D1000MU Master Control Unit.
Time acquisitionGET/api/time
Acquires time.
Example URI
200
Headers
Content-Type: application/json
Body
{
"time": "2018-12-31T00:00:00"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"time": {
"type": "string",
"description": "Date and Time(ISO8601 format:YYYY-MM-DDThh:mm:ss)"
}
}
}
500
Time settingsPUT/api/time
Sets the date and time.
Example URI
Headers
Content-Type: application/json
Body
{
"time": "2018-12-31T00:00:00"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"time": {
"type": "string",
"description": "Date and Time(ISO8601 format:YYYY-MM-DDThh:mm:ss)"
}
}
}
200
400
500
Status Monitoring ¶
Status Monitoring API ¶
The status monitoring API continuously receives events from the TS-D1000MU Master Control Unit.
It communicates through a Server-Sent Events system.
Messages are transmitted through a Chunked Transfer Coding system.
The received events are configured as parts of an event field and a data field.
The event field is represented by one of the following values.
The data field is defined for each event field in JSON format.
Receives status monitoring results.GET/api/event
talkred-mode Event Specifications
This event is utilized during setting change to the conference mode.
Shown below is a factor representing the occurrence of this event:
・When sending the Conference Mode API
Data field is as follows:
request
:true
(boolean) - speech request approval flag settings (true: speech request approval system; false: full-control system)
request-talkreq Event Specifications
Shown below are factors representing the occurrence of this event:
・Conference unit speech request
・Conference unit speech request cancellation
Data field is as follows:
-
id
:1
(number) - Conference unit ID (1 – 246) -
status
:add
(enum[string]) - Speech request status changeadd
- Speech requestcancel
- Speech cancellation
response-unitcancel Event Specifications
This event is utilized by the external control device to cancel a speech request.
The external control device performs conference unit speech request cancellation, and software created based on this event specification provides notification of the results of the speech request cancellation.
Shown below is a factor representing the occurrence of this event:
・When sending Basic Conference Operation Control API cancellation of individual conference unit speech request.
Data field is as follows:
-
id
:1
(number) - ID No. of conference unit(1-246) -
status
:success
(enum[string]) - Speech request cancellation processing resultssuccess
- Speech request cancellation completedfailed
- Speech request cancellation failed (details unknown)failed-outrange
- Speech request cancellation failed (invalid CU/DU ID)failed-noneduid
- Speech request cancellation failed (CU/DU of the ID is not connected)
response-unitstart Event Specifications
This event is utilized by the external control device to start speech.
The external device initiates conference unit speech start, and software created based on this event specification provides notification of the results of the speech start.
Shown below is a factor representing the occurrence of this event:
・ When sending Basic Conference Operation Control API to start conference unit speech.
Data field is as follows:
-
id
:1
(number) - Conference unit ID (1 – 246) -
status
:success
(enum[string]) - Speech start processing resultssuccess
- Speech start completedfailed
- Speech start failed (details unknown)failed-outrange
- Speech start failed (invalid CU/DU ID)failed-noneduid
- Speech start failed (CU/DU of the ID is not connected)failed-maxmicunit
- Speech start failed (units in use exceed max. number)failed-modeerror
- Speech start failed (invalid system status)
response-unitstop Event Specifications
This event is utilized by the external control device to stop conference unit speech.
The external control device performs conference unit speech stop and software created based on this event specification provides notification of the results of the speech termination.
Shown below is a factor representing the occurrence of this event:
・When sending Basic Conference Operation Control API to stop conference unit speech.
Data field is as follows:
-
id
:1
(number) - Conference unit ID (1 – 246) -
status
:success
(enum[string]) - Speech stop processing resultssuccess
- Speech stop completedfailed
- Speech stop failed (details unknown)failed-outrange
- Speech stop failed (Invalid CU/DU ID)failed-noneduid
- Speech stop failed (CU/DU of the ID is not connected)
response-allcancel Event Specifications
This event is utilized by the external control device to simultaneously cancel speech requesting party lists.
The external control device performs simultaneous cancellation of speech requesting party lists to conference units and software created based on this event specification provides notification of the results of the list cancellation.
Shown below is a factor representing the occurrence of this event:
・When sending Basic Conference Operation Control API to simultaneously cancel all conference unit’s speech request.
Data field is as follows:
status
:success
(enum[string]) - Results of speech requesting party list cancellation processingsuccess
- Simultaneous speech requesting party list cancellation completedfailed
- Simultaneous speech requesting party list cancellation failed (details unknown)
response-alltstop Event Specifications
This event is utilized by the external control device to simultaneously stop all unit speeches.
The external control device performs simultaneous stop of all conference unit speeches and software created based on this event specification provides notification of the results of the simultaneous cancellation.
Shown below is a factor representing the occurrence of this event:
・When sending Basic Conference Operation Control API to simultaneously stop all conference unit speech.
Data field is as follows:
status
:success
(enum[string]) - Results of speech stop processingsuccess
- Simultaneous speech stop of all speakers in the list completedfailed
- Simultaneous speech stop of all speakers in the list failed (details unknown)
notify-allcancel Event Specifications
This event is utilized when simultaneously canceling all conference unit speech requests.
No data field.
Shown below is a factor representing the occurrence of this event:
・When switching to a mode that does not allow approval of speech requests due to system mode changes (connection confirmation or automatic ID settings)
notify-alltstop Event Specifications
This event is utilized when a simultaneous speech stop signal is received from a conference unit.
No data field.
Shown below is a factor representing the occurrence of this event:
・When switching to a mode that does not allow approval of speech requests due to system mode changes (connection confirmation or automatic ID settings)
rec Event Specifications
Recording-related status notifications.
Factors representing the occurrence of this event are as follows:
・When sending Recordings API start signal.
・When sending Recordings API stop signal.
・When a USB flash memory is inserted.
・When a USB flash memory is removed.
・When the remaining capacity of the USB flash memory changes. (remaining capacity available → remaining capacity warning)
・When the remaining capacity of the USB flash memory changes. (remaining capacity warning → remaining capacity available)
・When the remaining capacity of the USB flash memory changes. (remaining capacity warning → recording data overload)
・When the remaining capacity of the USB flash memory changes. (recording data overload → remaining capacity warning)
・When the remaining capacity of the internal memory changes. (remaining capacity available → remaining capacity warning)
・When the remaining capacity of the internal memory changes. (remaining capacity warning → remaining capacity available)
・When the remaining capacity of the internal memory changes. (remaining capacity warning → recording data overload)
・When the remaining capacity of the internal memory changes. (recording data overload → remaining capacity warning)
Data field is as follows:
status
:recstart
(enum[string]) - Recording informationrecstart
- Recording startrecstop
- Recording stopusbmount
- USB mount(inserted)usbunmount
- USB unmount(removed)usbmemwarning
- USB flash memory remaining capacity warningusbmemfull
- USB flash memory recording data overloadusbmemenough
- USB flash memory remaining capacity availableusbmemerror
- USB flash memory irregularity notificationinternalmemwarning
- Internal memory remaining capacity warninginternalmemfull
- Internal memory recording data overloadinternalmemenough
- Internal memory remaining capacity availableinternalmemerror
- Internal memory irregularity notification
notify-autoiddetection Event Specifications
This event is utilized when a conference unit’s connection status is changed at the conference unit.
Factors representing the occurrence of this event are as follows:
・When a Conference Unit ID API ID reassignment is sent.
・When a conference unit is connected.
・When a conference unit is disconnected.
Data field is as follow:
status
:resetid
(enum[string]) - Conference unit connection status changeresetid
- Start of ID reassignmentunitconnect
- Connection of additional conference units (after ID setting is completed)unitdisconnect
- Conference unit disconnection (after ID setting is completed)
autoidset-complete Event Specifications
Notification of this event is provided when the automatic ID setting of a conference unit is completed.
The factor representing the occurrence of this event is as follows:
・When a Conference Unit ID API ID reassignment is sent and the automatic ID setting is completed.
No data field.
notify-testunit Event Specifications
This event is utilized when a confirmation ID is changed at the time of connection confirmation (ID designation mode).
The factor representing the occurrence of this event is as follows:
・When sending Connection Test API to start individual conference unit connection test.
Data field is as follows:
id
:1
(number) - Conference unit ID (1 – 246)
time Event Specifications
Notifications relating to status of data and time are sent.
No data field.
The factor representing the the occurrence of this event is as follows:
・When sending Time API time settings.
system Event Specifications
Notifications relating to status of system mode are sent.
Factors representing the occurrence of this event are as follows:
・When sending Connection Test API to start connection confirmation.
・When sending Connection Test API to start individual conference unit connection confirmation.
・When sending Conference Unit ID API ID reassignment.
・When turning off the TS-D1000MU Master Control Unit’s power.
・When the TS-D1000MU Master Control Unit’s Power OFF button is pressed.
・When performing automatic ID settings.
Data field is as follows:
mode
:normal
(enum[string]) - System eventnormal
- Normal conditionautoidset
- Automatic ID setting statustestall
- Connection confirmation mode all DUstestunit
- Individual connection confirmation mode designationshutdown
- Shutdownreboot
- Restart
Example URI
200
Headers
Content-Type: text/event-stream
Transfer-Encoding: chunked
Body
event: talkreq-mode<\n>
data: [{"request":true}]<\n>
<\n>
event: request-talkreq<\n>
<\n>
data: [{"id":1, "status":"add"}]<\n>
<\n>
event: response-unitcancel<\n>
data: [{"id":1, "status":"success"}]<\n>
<\n>
event: response-unitstart<\n>
data: [{"id":1, "status":"success"}]<\n>
<\n>
event: response-unitstop<\n>
data: [{"id":1, "status":"success"}]<\n>
<\n>
event: response-allcancel<\n>
data: [{"status":"success"}]<\n>
<\n>
event: response-allstop<\n>
data: [{"status":"success"}]<\n>
<\n>
event: notify-allcancel<\n>
<\n>
event: notify-allstop<\n>
<\n>
event: rec<\n>
data: [{"status":"recstart" }]<\n>
<\n>
event: notify-autoiddetection<\n>
data: [{"status":"resetid"}]<\n>
<\n>
event:autoidset-complete<\n>
<\n>
event:notify-testunit<\n>
data: [{"id":1}]<\n>
<\n>
event: time<\n>
<\n>
event: system<\n>
data: [{"mode":"normal" }]<\n>
<\n>
500