telnyx-video-javascript
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- 由Telnyx OpenAPI规范自动生成,请勿编辑。 -->
Telnyx Video - JavaScript
Telnyx视频 - JavaScript
Installation
安装
bash
npm install telnyxbash
npm install telnyxSetup
配置
javascript
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});All examples below assume is already initialized as shown above.
clientjavascript
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});以下所有示例均假设已按照上述方式完成初始化。
clientError Handling
错误处理
All API calls can fail with network errors, rate limits (429), validation errors (422),
or authentication errors (401). Always handle errors in production code:
javascript
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('Network error — check connectivity and retry');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: rate limited — wait and retry with exponential backoff
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API error ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('Validation error — check required fields and formats');
}
}
}Common error codes: invalid API key, insufficient permissions,
resource not found, validation error (check field formats),
rate limited (retry with exponential backoff).
401403404422429所有API调用都可能出现网络错误、速率限制(429)、校验错误(422)或身份验证错误(401)。在生产代码中请务必做好错误处理:
javascript
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('Network error — check connectivity and retry');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: rate limited — wait and retry with exponential backoff
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
} else if (err instanceof Telnyx.APIError) {
console.error(`API error ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('Validation error — check required fields and formats');
}
}
}常见错误码: API密钥无效, 权限不足, 资源未找到, 校验错误(请检查字段格式), 触发速率限制(请使用指数退避策略重试)。
401403404422429View a list of room compositions.
查看房间合成文件列表
GET /room_compositionsjavascript
// Automatically fetches more pages as needed.
for await (const roomComposition of client.roomCompositions.list()) {
console.log(roomComposition.id);
}Returns: (date-time), (date-time), (string), (integer), (date-time), (enum: mp4), (uuid), (string), (string), (uuid), (uuid), (float), (date-time), (enum: completed, enqueued, processing), (date-time), (uuid), (object), (uri), (uri), (integer)
completed_atcreated_atdownload_urlduration_secsended_atformatidrecord_typeresolutionroom_idsession_idsize_mbstarted_atstatusupdated_atuser_idvideo_layoutwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsGET /room_compositionsjavascript
// Automatically fetches more pages as needed.
for await (const roomComposition of client.roomCompositions.list()) {
console.log(roomComposition.id);
}返回参数:(日期时间)、(日期时间)、(字符串)、(整数)、(日期时间)、(枚举值:mp4)、(uuid)、(字符串)、(字符串)、(uuid)、(uuid)、(浮点数)、(日期时间)、(枚举值:completed, enqueued, processing)、(日期时间)、(uuid)、(对象)、(uri)、(uri)、(整数)
completed_atcreated_atdownload_urlduration_secsended_atformatidrecord_typeresolutionroom_idsession_idsize_mbstarted_atstatusupdated_atuser_idvideo_layoutwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsCreate a room composition.
创建房间合成文件
Asynchronously create a room composition.
POST /room_compositionsOptional: (string), (string), (uuid), (object), (uri), (uri), (integer)
formatresolutionsession_idvideo_layoutwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsjavascript
const roomComposition = await client.roomCompositions.create();
console.log(roomComposition.data);Returns: (date-time), (date-time), (string), (integer), (date-time), (enum: mp4), (uuid), (string), (string), (uuid), (uuid), (float), (date-time), (enum: completed, enqueued, processing), (date-time), (uuid), (object), (uri), (uri), (integer)
completed_atcreated_atdownload_urlduration_secsended_atformatidrecord_typeresolutionroom_idsession_idsize_mbstarted_atstatusupdated_atuser_idvideo_layoutwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secs异步创建房间合成文件。
POST /room_compositions可选参数:(字符串)、(字符串)、(uuid)、(对象)、(uri)、(uri)、(整数)
formatresolutionsession_idvideo_layoutwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsjavascript
const roomComposition = await client.roomCompositions.create();
console.log(roomComposition.data);返回参数:(日期时间)、(日期时间)、(字符串)、(整数)、(日期时间)、(枚举值:mp4)、(uuid)、(字符串)、(字符串)、(uuid)、(uuid)、(浮点数)、(日期时间)、(枚举值:completed, enqueued, processing)、(日期时间)、(uuid)、(对象)、(uri)、(uri)、(整数)
completed_atcreated_atdownload_urlduration_secsended_atformatidrecord_typeresolutionroom_idsession_idsize_mbstarted_atstatusupdated_atuser_idvideo_layoutwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsView a room composition.
查看单个房间合成文件
GET /room_compositions/{room_composition_id}javascript
const roomComposition = await client.roomCompositions.retrieve(
'5219b3af-87c6-4c08-9b58-5a533d893e21',
);
console.log(roomComposition.data);Returns: (date-time), (date-time), (string), (integer), (date-time), (enum: mp4), (uuid), (string), (string), (uuid), (uuid), (float), (date-time), (enum: completed, enqueued, processing), (date-time), (uuid), (object), (uri), (uri), (integer)
completed_atcreated_atdownload_urlduration_secsended_atformatidrecord_typeresolutionroom_idsession_idsize_mbstarted_atstatusupdated_atuser_idvideo_layoutwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsGET /room_compositions/{room_composition_id}javascript
const roomComposition = await client.roomCompositions.retrieve(
'5219b3af-87c6-4c08-9b58-5a533d893e21',
);
console.log(roomComposition.data);返回参数:(日期时间)、(日期时间)、(字符串)、(整数)、(日期时间)、(枚举值:mp4)、(uuid)、(字符串)、(字符串)、(uuid)、(uuid)、(浮点数)、(日期时间)、(枚举值:completed, enqueued, processing)、(日期时间)、(uuid)、(对象)、(uri)、(uri)、(整数)
completed_atcreated_atdownload_urlduration_secsended_atformatidrecord_typeresolutionroom_idsession_idsize_mbstarted_atstatusupdated_atuser_idvideo_layoutwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsDelete a room composition.
删除房间合成文件
Synchronously delete a room composition.
DELETE /room_compositions/{room_composition_id}javascript
await client.roomCompositions.delete('5219b3af-87c6-4c08-9b58-5a533d893e21');同步删除房间合成文件。
DELETE /room_compositions/{room_composition_id}javascript
await client.roomCompositions.delete('5219b3af-87c6-4c08-9b58-5a533d893e21');View a list of room participants.
查看房间参与者列表
GET /room_participantsjavascript
// Automatically fetches more pages as needed.
for await (const roomParticipant of client.roomParticipants.list()) {
console.log(roomParticipant.id);
}Returns: (string), (uuid), (date-time), (date-time), (string), (uuid), (date-time)
contextidjoined_atleft_atrecord_typesession_idupdated_atGET /room_participantsjavascript
// Automatically fetches more pages as needed.
for await (const roomParticipant of client.roomParticipants.list()) {
console.log(roomParticipant.id);
}返回参数:(字符串)、(uuid)、(日期时间)、(日期时间)、(字符串)、(uuid)、(日期时间)
contextidjoined_atleft_atrecord_typesession_idupdated_atView a room participant.
查看单个房间参与者
GET /room_participants/{room_participant_id}javascript
const roomParticipant = await client.roomParticipants.retrieve(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
);
console.log(roomParticipant.data);Returns: (string), (uuid), (date-time), (date-time), (string), (uuid), (date-time)
contextidjoined_atleft_atrecord_typesession_idupdated_atGET /room_participants/{room_participant_id}javascript
const roomParticipant = await client.roomParticipants.retrieve(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
);
console.log(roomParticipant.data);返回参数:(字符串)、(uuid)、(日期时间)、(日期时间)、(字符串)、(uuid)、(日期时间)
contextidjoined_atleft_atrecord_typesession_idupdated_atView a list of room recordings.
查看房间录制文件列表
GET /room_recordingsjavascript
// Automatically fetches more pages as needed.
for await (const roomRecordingListResponse of client.roomRecordings.list()) {
console.log(roomRecordingListResponse.id);
}Returns: (string), (date-time), (date-time), (string), (integer), (date-time), (uuid), (uuid), (string), (uuid), (uuid), (float), (date-time), (enum: completed, processing), (enum: audio, video), (date-time)
codeccompleted_atcreated_atdownload_urlduration_secsended_atidparticipant_idrecord_typeroom_idsession_idsize_mbstarted_atstatustypeupdated_atGET /room_recordingsjavascript
// Automatically fetches more pages as needed.
for await (const roomRecordingListResponse of client.roomRecordings.list()) {
console.log(roomRecordingListResponse.id);
}返回参数:(字符串)、(日期时间)、(日期时间)、(字符串)、(整数)、(日期时间)、(uuid)、(uuid)、(字符串)、(uuid)、(uuid)、(浮点数)、(日期时间)、(枚举值:completed, processing)、(枚举值:audio, video)、(日期时间)
codeccompleted_atcreated_atdownload_urlduration_secsended_atidparticipant_idrecord_typeroom_idsession_idsize_mbstarted_atstatustypeupdated_atDelete several room recordings in a bulk.
批量删除房间录制文件
DELETE /room_recordingsjavascript
const response = await client.roomRecordings.deleteBulk();
console.log(response.data);Returns: (integer)
room_recordingsDELETE /room_recordingsjavascript
const response = await client.roomRecordings.deleteBulk();
console.log(response.data);返回参数:(整数)
room_recordingsView a room recording.
查看单个房间录制文件
GET /room_recordings/{room_recording_id}javascript
const roomRecording = await client.roomRecordings.retrieve('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(roomRecording.data);Returns: (string), (date-time), (date-time), (string), (integer), (date-time), (uuid), (uuid), (string), (uuid), (uuid), (float), (date-time), (enum: completed, processing), (enum: audio, video), (date-time)
codeccompleted_atcreated_atdownload_urlduration_secsended_atidparticipant_idrecord_typeroom_idsession_idsize_mbstarted_atstatustypeupdated_atGET /room_recordings/{room_recording_id}javascript
const roomRecording = await client.roomRecordings.retrieve('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(roomRecording.data);返回参数:(字符串)、(日期时间)、(日期时间)、(字符串)、(整数)、(日期时间)、(uuid)、(uuid)、(字符串)、(uuid)、(uuid)、(浮点数)、(日期时间)、(枚举值:completed, processing)、(枚举值:audio, video)、(日期时间)
codeccompleted_atcreated_atdownload_urlduration_secsended_atidparticipant_idrecord_typeroom_idsession_idsize_mbstarted_atstatustypeupdated_atDelete a room recording.
删除单个房间录制文件
Synchronously delete a Room Recording.
DELETE /room_recordings/{room_recording_id}javascript
await client.roomRecordings.delete('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');同步删除房间录制文件。
DELETE /room_recordings/{room_recording_id}javascript
await client.roomRecordings.delete('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');View a list of room sessions.
查看房间会话列表
GET /room_sessionsjavascript
// Automatically fetches more pages as needed.
for await (const roomSession of client.rooms.sessions.list0()) {
console.log(roomSession.id);
}Returns: (boolean), (date-time), (date-time), (uuid), (array[object]), (string), (uuid), (date-time)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_atGET /room_sessionsjavascript
// Automatically fetches more pages as needed.
for await (const roomSession of client.rooms.sessions.list0()) {
console.log(roomSession.id);
}返回参数:(布尔值)、(日期时间)、(日期时间)、(uuid)、(对象数组)、(字符串)、(uuid)、(日期时间)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_atView a room session.
查看单个房间会话
GET /room_sessions/{room_session_id}javascript
const session = await client.rooms.sessions.retrieve('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(session.data);Returns: (boolean), (date-time), (date-time), (uuid), (array[object]), (string), (uuid), (date-time)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_atGET /room_sessions/{room_session_id}javascript
const session = await client.rooms.sessions.retrieve('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(session.data);返回参数:(布尔值)、(日期时间)、(日期时间)、(uuid)、(对象数组)、(字符串)、(uuid)、(日期时间)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_atEnd a room session.
结束房间会话
Note: this will also kick all participants currently present in the room
POST /room_sessions/{room_session_id}/actions/endjavascript
const response = await client.rooms.sessions.actions.end('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(response.data);Returns: (string)
result注意:该操作会同时踢出当前房间内的所有参与者
POST /room_sessions/{room_session_id}/actions/endjavascript
const response = await client.rooms.sessions.actions.end('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(response.data);返回参数:(字符串)
resultKick participants from a room session.
踢出房间会话中的参与者
POST /room_sessions/{room_session_id}/actions/kickOptional: (array[string]), (object)
excludeparticipantsjavascript
const response = await client.rooms.sessions.actions.kick('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(response.data);Returns: (string)
resultPOST /room_sessions/{room_session_id}/actions/kick可选参数:(字符串数组)、(对象)
excludeparticipantsjavascript
const response = await client.rooms.sessions.actions.kick('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(response.data);返回参数:(字符串)
resultMute participants in room session.
静音房间会话中的参与者
POST /room_sessions/{room_session_id}/actions/muteOptional: (array[string]), (object)
excludeparticipantsjavascript
const response = await client.rooms.sessions.actions.mute('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(response.data);Returns: (string)
resultPOST /room_sessions/{room_session_id}/actions/mute可选参数:(字符串数组)、(对象)
excludeparticipantsjavascript
const response = await client.rooms.sessions.actions.mute('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(response.data);返回参数:(字符串)
resultUnmute participants in room session.
取消房间会话中参与者的静音状态
POST /room_sessions/{room_session_id}/actions/unmuteOptional: (array[string]), (object)
excludeparticipantsjavascript
const response = await client.rooms.sessions.actions.unmute('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(response.data);Returns: (string)
resultPOST /room_sessions/{room_session_id}/actions/unmute可选参数:(字符串数组)、(对象)
excludeparticipantsjavascript
const response = await client.rooms.sessions.actions.unmute('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(response.data);返回参数:(字符串)
resultView a list of room participants.
查看房间参与者列表
GET /room_sessions/{room_session_id}/participantsjavascript
// Automatically fetches more pages as needed.
for await (const roomParticipant of client.rooms.sessions.retrieveParticipants(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
)) {
console.log(roomParticipant.id);
}Returns: (string), (uuid), (date-time), (date-time), (string), (uuid), (date-time)
contextidjoined_atleft_atrecord_typesession_idupdated_atGET /room_sessions/{room_session_id}/participantsjavascript
// Automatically fetches more pages as needed.
for await (const roomParticipant of client.rooms.sessions.retrieveParticipants(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
)) {
console.log(roomParticipant.id);
}返回参数:(字符串)、(uuid)、(日期时间)、(日期时间)、(字符串)、(uuid)、(日期时间)
contextidjoined_atleft_atrecord_typesession_idupdated_atView a list of rooms.
查看房间列表
GET /roomsjavascript
// Automatically fetches more pages as needed.
for await (const room of client.rooms.list()) {
console.log(room.id);
}Returns: (uuid), (date-time), (boolean), (uuid), (integer), (string), (array[object]), (string), (date-time), (uri), (uri), (integer)
active_session_idcreated_atenable_recordingidmax_participantsrecord_typesessionsunique_nameupdated_atwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsGET /roomsjavascript
// Automatically fetches more pages as needed.
for await (const room of client.rooms.list()) {
console.log(room.id);
}返回参数:(uuid)、(日期时间)、(布尔值)、(uuid)、(整数)、(字符串)、(对象数组)、(字符串)、(日期时间)、(uri)、(uri)、(整数)
active_session_idcreated_atenable_recordingidmax_participantsrecord_typesessionsunique_nameupdated_atwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsCreate a room.
创建房间
Synchronously create a Room.
POST /roomsOptional: (boolean), (integer), (string), (uri), (uri), (integer)
enable_recordingmax_participantsunique_namewebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsjavascript
const room = await client.rooms.create({
uniqueName: 'my-meeting-room',
maxParticipants: 10,
});
console.log(room.data);Returns: (uuid), (date-time), (boolean), (uuid), (integer), (string), (array[object]), (string), (date-time), (uri), (uri), (integer)
active_session_idcreated_atenable_recordingidmax_participantsrecord_typesessionsunique_nameupdated_atwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secs同步创建房间。
POST /rooms可选参数:(布尔值)、(整数)、(字符串)、(uri)、(uri)、(整数)
enable_recordingmax_participantsunique_namewebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsjavascript
const room = await client.rooms.create({
uniqueName: 'my-meeting-room',
maxParticipants: 10,
});
console.log(room.data);返回参数:(uuid)、(日期时间)、(布尔值)、(uuid)、(整数)、(字符串)、(对象数组)、(字符串)、(日期时间)、(uri)、(uri)、(整数)
active_session_idcreated_atenable_recordingidmax_participantsrecord_typesessionsunique_nameupdated_atwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsView a room.
查看单个房间
GET /rooms/{room_id}javascript
const room = await client.rooms.retrieve('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(room.data);Returns: (uuid), (date-time), (boolean), (uuid), (integer), (string), (array[object]), (string), (date-time), (uri), (uri), (integer)
active_session_idcreated_atenable_recordingidmax_participantsrecord_typesessionsunique_nameupdated_atwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsGET /rooms/{room_id}javascript
const room = await client.rooms.retrieve('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(room.data);返回参数:(uuid)、(日期时间)、(布尔值)、(uuid)、(整数)、(字符串)、(对象数组)、(字符串)、(日期时间)、(uri)、(uri)、(整数)
active_session_idcreated_atenable_recordingidmax_participantsrecord_typesessionsunique_nameupdated_atwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsUpdate a room.
更新房间
Synchronously update a Room.
PATCH /rooms/{room_id}Optional: (boolean), (integer), (string), (uri), (uri), (integer)
enable_recordingmax_participantsunique_namewebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsjavascript
const room = await client.rooms.update('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(room.data);Returns: (uuid), (date-time), (boolean), (uuid), (integer), (string), (array[object]), (string), (date-time), (uri), (uri), (integer)
active_session_idcreated_atenable_recordingidmax_participantsrecord_typesessionsunique_nameupdated_atwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secs同步更新房间信息。
PATCH /rooms/{room_id}可选参数:(布尔值)、(整数)、(字符串)、(uri)、(uri)、(整数)
enable_recordingmax_participantsunique_namewebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsjavascript
const room = await client.rooms.update('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');
console.log(room.data);返回参数:(uuid)、(日期时间)、(布尔值)、(uuid)、(整数)、(字符串)、(对象数组)、(字符串)、(日期时间)、(uri)、(uri)、(整数)
active_session_idcreated_atenable_recordingidmax_participantsrecord_typesessionsunique_nameupdated_atwebhook_event_failover_urlwebhook_event_urlwebhook_timeout_secsDelete a room.
删除房间
Synchronously delete a Room. Participants from that room will be kicked out, they won't be able to join that room anymore, and you won't be charged anymore for that room.
DELETE /rooms/{room_id}javascript
await client.rooms.delete('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');同步删除房间。该房间的所有参与者将被踢出,无法再加入该房间,同时你无需再为该房间付费。
DELETE /rooms/{room_id}javascript
await client.rooms.delete('0ccc7b54-4df3-4bca-a65a-3da1ecc777f0');Create Client Token to join a room.
生成加入房间的客户端令牌
Synchronously create an Client Token to join a Room. Client Token is necessary to join a Telnyx Room. Client Token will expire after , a Refresh Token is also provided to refresh a Client Token, the Refresh Token expires after .
token_ttl_secsrefresh_token_ttl_secsPOST /rooms/{room_id}/actions/generate_join_client_tokenOptional: (integer), (integer)
refresh_token_ttl_secstoken_ttl_secsjavascript
const response = await client.rooms.actions.generateJoinClientToken(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
);
console.log(response.data);Returns: (string), (date-time), (string), (date-time)
refresh_tokenrefresh_token_expires_attokentoken_expires_at同步生成加入房间的客户端令牌。加入Telnyx房间必须使用客户端令牌。客户端令牌将在后过期,同时接口会返回刷新令牌用于更新客户端令牌,刷新令牌将在后过期。
token_ttl_secsrefresh_token_ttl_secsPOST /rooms/{room_id}/actions/generate_join_client_token可选参数:(整数)、(整数)
refresh_token_ttl_secstoken_ttl_secsjavascript
const response = await client.rooms.actions.generateJoinClientToken(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
);
console.log(response.data);返回参数:(字符串)、(日期时间)、(字符串)、(日期时间)
refresh_tokenrefresh_token_expires_attokentoken_expires_atRefresh Client Token to join a room.
刷新加入房间的客户端令牌
Synchronously refresh an Client Token to join a Room. Client Token is necessary to join a Telnyx Room. Client Token will expire after .
token_ttl_secsPOST /rooms/{room_id}/actions/refresh_client_tokenrefresh_tokenOptional: (integer)
token_ttl_secsjavascript
const response = await client.rooms.actions.refreshClientToken(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
{
refresh_token:
'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ',
},
);
console.log(response.data);Returns: (string), (date-time)
tokentoken_expires_at同步刷新加入房间的客户端令牌。加入Telnyx房间必须使用客户端令牌。客户端令牌将在后过期。
token_ttl_secsPOST /rooms/{room_id}/actions/refresh_client_tokenrefresh_token可选参数:(整数)
token_ttl_secsjavascript
const response = await client.rooms.actions.refreshClientToken(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
{
refresh_token:
'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ',
},
);
console.log(response.data);返回参数:(字符串)、(日期时间)
tokentoken_expires_atView a list of room sessions.
查看房间会话列表
GET /rooms/{room_id}/sessionsjavascript
// Automatically fetches more pages as needed.
for await (const roomSession of client.rooms.sessions.list1(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
)) {
console.log(roomSession.id);
}Returns: (boolean), (date-time), (date-time), (uuid), (array[object]), (string), (uuid), (date-time)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_atGET /rooms/{room_id}/sessionsjavascript
// Automatically fetches more pages as needed.
for await (const roomSession of client.rooms.sessions.list1(
'0ccc7b54-4df3-4bca-a65a-3da1ecc777f0',
)) {
console.log(roomSession.id);
}返回参数:(布尔值)、(日期时间)、(日期时间)、(uuid)、(对象数组)、(字符串)、(uuid)、(日期时间)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_at