telnyx-video-go
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- 从Telnyx OpenAPI规范自动生成,请勿编辑。 -->
Telnyx Video - Go
Telnyx 视频 - Go
Installation
安装
bash
go get github.com/team-telnyx/telnyx-gobash
go get github.com/team-telnyx/telnyx-goSetup
初始化设置
go
import (
"context"
"fmt"
"os"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
client := telnyx.NewClient(
option.WithAPIKey(os.Getenv("TELNYX_API_KEY")),
)All examples below assume is already initialized as shown above.
clientgo
import (
"context"
"fmt"
"os"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
client := telnyx.NewClient(
option.WithAPIKey(os.Getenv("TELNYX_API_KEY")),
)以下所有示例均假设已按照上方所示完成初始化。
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:
go
import "errors"
result, err := client.Messages.Send(ctx, params)
if err != nil {
var apiErr *telnyx.Error
if errors.As(err, &apiErr) {
switch apiErr.StatusCode {
case 422:
fmt.Println("Validation error — check required fields and formats")
case 429:
// Rate limited — wait and retry with exponential backoff
fmt.Println("Rate limited, retrying...")
default:
fmt.Printf("API error %d: %s\n", apiErr.StatusCode, apiErr.Error())
}
} else {
fmt.Println("Network error — check connectivity and retry")
}
}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)而失败。在生产代码中请始终做好错误处理:
go
import "errors"
result, err := client.Messages.Send(ctx, params)
if err != nil {
var apiErr *telnyx.Error
if errors.As(err, &apiErr) {
switch apiErr.StatusCode {
case 422:
fmt.Println("Validation error — check required fields and formats")
case 429:
// Rate limited — wait and retry with exponential backoff
fmt.Println("Rate limited, retrying...")
default:
fmt.Printf("API error %d: %s\n", apiErr.StatusCode, apiErr.Error())
}
} else {
fmt.Println("Network error — check connectivity and retry")
}
}常见错误码: 无效API密钥, 权限不足, 资源未找到, 校验错误(请检查字段格式), 触发速率限制(请使用指数退避策略重试)。
401403404422429View a list of room compositions.
查看房间合成文件列表
GET /room_compositionsgo
page, err := client.RoomCompositions.List(context.Background(), telnyx.RoomCompositionListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)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_compositionsgo
page, err := client.RoomCompositions.List(context.Background(), telnyx.RoomCompositionListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)返回参数:(日期时间)、(日期时间)、(字符串)、(整数)、(日期时间)、(枚举值: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_secsgo
roomComposition, err := client.RoomCompositions.New(context.Background(), telnyx.RoomCompositionNewParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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_secsgo
roomComposition, err := client.RoomCompositions.New(context.Background(), telnyx.RoomCompositionNewParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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}go
roomComposition, err := client.RoomCompositions.Get(context.Background(), "5219b3af-87c6-4c08-9b58-5a533d893e21")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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}go
roomComposition, err := client.RoomCompositions.Get(context.Background(), "5219b3af-87c6-4c08-9b58-5a533d893e21")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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}go
err := client.RoomCompositions.Delete(context.Background(), "5219b3af-87c6-4c08-9b58-5a533d893e21")
if err != nil {
log.Fatal(err)
}同步删除房间合成文件。
DELETE /room_compositions/{room_composition_id}go
err := client.RoomCompositions.Delete(context.Background(), "5219b3af-87c6-4c08-9b58-5a533d893e21")
if err != nil {
log.Fatal(err)
}View a list of room participants.
查看房间参与者列表
GET /room_participantsgo
page, err := client.RoomParticipants.List(context.Background(), telnyx.RoomParticipantListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)Returns: (string), (uuid), (date-time), (date-time), (string), (uuid), (date-time)
contextidjoined_atleft_atrecord_typesession_idupdated_atGET /room_participantsgo
page, err := client.RoomParticipants.List(context.Background(), telnyx.RoomParticipantListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)返回参数:(字符串)、(uuid)、(日期时间)、(日期时间)、(字符串)、(uuid)、(日期时间)
contextidjoined_atleft_atrecord_typesession_idupdated_atView a room participant.
查看单个房间参与者信息
GET /room_participants/{room_participant_id}go
roomParticipant, err := client.RoomParticipants.Get(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", roomParticipant.Data)Returns: (string), (uuid), (date-time), (date-time), (string), (uuid), (date-time)
contextidjoined_atleft_atrecord_typesession_idupdated_atGET /room_participants/{room_participant_id}go
roomParticipant, err := client.RoomParticipants.Get(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", roomParticipant.Data)返回参数:(字符串)、(uuid)、(日期时间)、(日期时间)、(字符串)、(uuid)、(日期时间)
contextidjoined_atleft_atrecord_typesession_idupdated_atView a list of room recordings.
查看房间录制文件列表
GET /room_recordingsgo
page, err := client.RoomRecordings.List(context.Background(), telnyx.RoomRecordingListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)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_recordingsgo
page, err := client.RoomRecordings.List(context.Background(), telnyx.RoomRecordingListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)返回参数:(字符串)、(日期时间)、(日期时间)、(字符串)、(整数)、(日期时间)、(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_recordingsgo
response, err := client.RoomRecordings.DeleteBulk(context.Background(), telnyx.RoomRecordingDeleteBulkParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)Returns: (integer)
room_recordingsDELETE /room_recordingsgo
response, err := client.RoomRecordings.DeleteBulk(context.Background(), telnyx.RoomRecordingDeleteBulkParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)返回参数:(整数)
room_recordingsView a room recording.
查看单个房间录制文件
GET /room_recordings/{room_recording_id}go
roomRecording, err := client.RoomRecordings.Get(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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}go
roomRecording, err := client.RoomRecordings.Get(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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}go
err := client.RoomRecordings.Delete(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}同步删除房间录制文件。
DELETE /room_recordings/{room_recording_id}go
err := client.RoomRecordings.Delete(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}View a list of room sessions.
查看房间会话列表
GET /room_sessionsgo
page, err := client.Rooms.Sessions.List0(context.Background(), telnyx.RoomSessionList0Params{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)Returns: (boolean), (date-time), (date-time), (uuid), (array[object]), (string), (uuid), (date-time)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_atGET /room_sessionsgo
page, err := client.Rooms.Sessions.List0(context.Background(), telnyx.RoomSessionList0Params{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)返回参数:(布尔值)、(日期时间)、(日期时间)、(uuid)、(对象数组)、(字符串)、(uuid)、(日期时间)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_atView a room session.
查看单个房间会话信息
GET /room_sessions/{room_session_id}go
session, err := client.Rooms.Sessions.Get(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionGetParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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}go
session, err := client.Rooms.Sessions.Get(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionGetParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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/endgo
response, err := client.Rooms.Sessions.Actions.End(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)Returns: (string)
result注意:该操作会将当前房间内所有参与者踢出
POST /room_sessions/{room_session_id}/actions/endgo
response, err := client.Rooms.Sessions.Actions.End(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)返回参数:(字符串)
resultKick participants from a room session.
踢出房间会话内的参与者
POST /room_sessions/{room_session_id}/actions/kickOptional: (array[string]), (object)
excludeparticipantsgo
response, err := client.Rooms.Sessions.Actions.Kick(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionActionKickParams{
ActionsParticipantsRequest: telnyx.ActionsParticipantsRequestParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)Returns: (string)
resultPOST /room_sessions/{room_session_id}/actions/kick可选参数:(字符串数组)、(对象)
excludeparticipantsgo
response, err := client.Rooms.Sessions.Actions.Kick(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionActionKickParams{
ActionsParticipantsRequest: telnyx.ActionsParticipantsRequestParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)返回参数:(字符串)
resultMute participants in room session.
静音房间会话内的参与者
POST /room_sessions/{room_session_id}/actions/muteOptional: (array[string]), (object)
excludeparticipantsgo
response, err := client.Rooms.Sessions.Actions.Mute(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionActionMuteParams{
ActionsParticipantsRequest: telnyx.ActionsParticipantsRequestParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)Returns: (string)
resultPOST /room_sessions/{room_session_id}/actions/mute可选参数:(字符串数组)、(对象)
excludeparticipantsgo
response, err := client.Rooms.Sessions.Actions.Mute(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionActionMuteParams{
ActionsParticipantsRequest: telnyx.ActionsParticipantsRequestParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)返回参数:(字符串)
resultUnmute participants in room session.
取消静音房间会话内的参与者
POST /room_sessions/{room_session_id}/actions/unmuteOptional: (array[string]), (object)
excludeparticipantsgo
response, err := client.Rooms.Sessions.Actions.Unmute(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionActionUnmuteParams{
ActionsParticipantsRequest: telnyx.ActionsParticipantsRequestParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)Returns: (string)
resultPOST /room_sessions/{room_session_id}/actions/unmute可选参数:(字符串数组)、(对象)
excludeparticipantsgo
response, err := client.Rooms.Sessions.Actions.Unmute(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionActionUnmuteParams{
ActionsParticipantsRequest: telnyx.ActionsParticipantsRequestParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)返回参数:(字符串)
resultView a list of room participants.
查看房间会话的参与者列表
GET /room_sessions/{room_session_id}/participantsgo
page, err := client.Rooms.Sessions.GetParticipants(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionGetParticipantsParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)Returns: (string), (uuid), (date-time), (date-time), (string), (uuid), (date-time)
contextidjoined_atleft_atrecord_typesession_idupdated_atGET /room_sessions/{room_session_id}/participantsgo
page, err := client.Rooms.Sessions.GetParticipants(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionGetParticipantsParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)返回参数:(字符串)、(uuid)、(日期时间)、(日期时间)、(字符串)、(uuid)、(日期时间)
contextidjoined_atleft_atrecord_typesession_idupdated_atView a list of rooms.
查看房间列表
GET /roomsgo
page, err := client.Rooms.List(context.Background(), telnyx.RoomListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)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 /roomsgo
page, err := client.Rooms.List(context.Background(), telnyx.RoomListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)返回参数:(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_secsgo
room, err := client.Rooms.New(context.Background(), telnyx.RoomNewParams{
UniqueName: "my-meeting-room",
MaxParticipants: 10,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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_secsgo
room, err := client.Rooms.New(context.Background(), telnyx.RoomNewParams{
UniqueName: "my-meeting-room",
MaxParticipants: 10,
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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}go
room, err := client.Rooms.Get(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomGetParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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}go
room, err := client.Rooms.Get(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomGetParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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_secsgo
room, err := client.Rooms.Update(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomUpdateParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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_secsgo
room, err := client.Rooms.Update(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomUpdateParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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}go
err := client.Rooms.Delete(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}同步删除房间。该房间内的参与者会被踢出,无法再加入该房间,且后续不会再对该房间计费。
DELETE /rooms/{room_id}go
err := client.Rooms.Delete(context.Background(), "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0")
if err != nil {
log.Fatal(err)
}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_secsgo
response, err := client.Rooms.Actions.GenerateJoinClientToken(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomActionGenerateJoinClientTokenParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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_secsgo
response, err := client.Rooms.Actions.GenerateJoinClientToken(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomActionGenerateJoinClientTokenParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", 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_secsgo
response, err := client.Rooms.Actions.RefreshClientToken(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomActionRefreshClientTokenParams{
RefreshToken: "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)Returns: (string), (date-time)
tokentoken_expires_at同步刷新加入房间的客户端令牌。加入Telnyx房间必须使用客户端令牌。客户端令牌会在后过期。
token_ttl_secsPOST /rooms/{room_id}/actions/refresh_client_tokenrefresh_token可选参数:(整数)
token_ttl_secsgo
response, err := client.Rooms.Actions.RefreshClientToken(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomActionRefreshClientTokenParams{
RefreshToken: "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ0ZWxueXhfdGVsZXBob255IiwiZXhwIjoxNTkwMDEwMTQzLCJpYXQiOjE1ODc1OTA5NDMsImlzcyI6InRlbG55eF90ZWxlcGhvbnkiLCJqdGkiOiJiOGM3NDgzNy1kODllLTRhNjUtOWNmMi0zNGM3YTZmYTYwYzgiLCJuYmYiOjE1ODc1OTA5NDIsInN1YiI6IjVjN2FjN2QwLWRiNjUtNGYxMS05OGUxLWVlYzBkMWQ1YzZhZSIsInRlbF90b2tlbiI6InJqX1pra1pVT1pNeFpPZk9tTHBFVUIzc2lVN3U2UmpaRmVNOXMtZ2JfeENSNTZXRktGQUppTXlGMlQ2Q0JSbWxoX1N5MGlfbGZ5VDlBSThzRWlmOE1USUlzenl6U2xfYURuRzQ4YU81MHlhSEd1UlNZYlViU1ltOVdJaVEwZz09IiwidHlwIjoiYWNjZXNzIn0.gNEwzTow5MLLPLQENytca7pUN79PmPj6FyqZWW06ZeEmesxYpwKh0xRtA0TzLh6CDYIRHrI8seofOO0YFGDhpQ",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)返回参数:(字符串)、(日期时间)
tokentoken_expires_atView a list of room sessions.
查看指定房间的会话列表
GET /rooms/{room_id}/sessionsgo
page, err := client.Rooms.Sessions.List1(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionList1Params{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)Returns: (boolean), (date-time), (date-time), (uuid), (array[object]), (string), (uuid), (date-time)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_atGET /rooms/{room_id}/sessionsgo
page, err := client.Rooms.Sessions.List1(
context.Background(),
"0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
telnyx.RoomSessionList1Params{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)返回参数:(布尔值)、(日期时间)、(日期时间)、(uuid)、(对象数组)、(字符串)、(uuid)、(日期时间)
activecreated_atended_atidparticipantsrecord_typeroom_idupdated_at