Loading...
Loading...
Compare original and translation side by side
go get github.com/team-telnyx/telnyx-gogo get github.com/team-telnyx/telnyx-goimport (
"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")),
)clientimport (
"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")),
)clientimport "errors"
availablePhoneNumbers, err := client.AvailablePhoneNumbers.List(context.Background(), telnyx.AvailablePhoneNumberListParams{})
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:
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")
}
}401403404422429import "errors"
availablePhoneNumbers, err := client.AvailablePhoneNumbers.List(context.Background(), telnyx.AvailablePhoneNumberListParams{})
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:
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")
}
}401403404422429+13125550001+ListAutoPaging()iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }+13125550001+ListAutoPaging()iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }## Additional Operations## 额外操作client.AvailablePhoneNumbers.List()GET /available_phone_numbers| Parameter | Type | Required | Description |
|---|---|---|---|
| object | No | Consolidated filter parameter (deepObject style). |
availablePhoneNumbers, err := client.AvailablePhoneNumbers.List(context.Background(), telnyx.AvailablePhoneNumberListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", availablePhoneNumbers.Data)availablePhoneNumbers.dataavailablePhoneNumbers.metaPhoneNumberRecordTypeQuickshipReservableBestEffortCostInformationclient.AvailablePhoneNumbers.List()GET /available_phone_numbers| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| object | 否 | 统一筛选参数(deepObject格式)。 |
availablePhoneNumbers, err := client.AvailablePhoneNumbers.List(context.Background(), telnyx.AvailablePhoneNumberListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", availablePhoneNumbers.Data)availablePhoneNumbers.dataavailablePhoneNumbers.metaPhoneNumberRecordTypeQuickshipReservableBestEffortCostInformationclient.NumberOrders.New()POST /number_orders| Parameter | Type | Required | Description |
|---|---|---|---|
| array[object] | Yes | |
| string (UUID) | No | Identifies the connection associated with this phone number. |
| string (UUID) | No | Identifies the messaging profile associated with the phone n... |
| string (UUID) | No | Identifies the billing group associated with the phone numbe... |
| ... | +1 optional params in references/api-details.md |
numberOrder, err := client.NumberOrders.New(context.Background(), telnyx.NumberOrderNewParams{
PhoneNumbers: []telnyx.NumberOrderNewParamsPhoneNumber{{PhoneNumber: "+18005550101"}},
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberOrder.Data)numberOrder.Data.IDnumberOrder.Data.StatusnumberOrder.Data.PhoneNumbersCountnumberOrder.Data.RequirementsMetnumberOrder.Data.MessagingProfileIDnumberOrder.Data.ConnectionIDclient.NumberOrders.New()POST /number_orders| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| array[object] | 是 | |
| string (UUID) | 否 | 标识与该电话号码关联的连接。 |
| string (UUID) | 否 | 标识与该电话号码关联的消息配置文件。 |
| string (UUID) | 否 | 标识与该电话号码关联的账单组。 |
| ... | 更多可选参数见references/api-details.md |
numberOrder, err := client.NumberOrders.New(context.Background(), telnyx.NumberOrderNewParams{
PhoneNumbers: []telnyx.NumberOrderNewParamsPhoneNumber{{PhoneNumber: "+18005550101"}},
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberOrder.Data)numberOrder.Data.IDnumberOrder.Data.StatusnumberOrder.Data.PhoneNumbersCountnumberOrder.Data.RequirementsMetnumberOrder.Data.MessagingProfileIDnumberOrder.Data.ConnectionIDclient.NumberOrders.Get()GET /number_orders/{number_order_id}| Parameter | Type | Required | Description |
|---|---|---|---|
| string (UUID) | Yes | The number order ID. |
numberOrder, err := client.NumberOrders.Get(context.Background(), "number_order_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberOrder.Data)numberOrder.Data.IDnumberOrder.Data.StatusnumberOrder.Data.RequirementsMetnumberOrder.Data.PhoneNumbersCountnumberOrder.Data.PhoneNumbersnumberOrder.Data.ConnectionIDclient.NumberOrders.Get()GET /number_orders/{number_order_id}| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (UUID) | 是 | 号码订单ID。 |
numberOrder, err := client.NumberOrders.Get(context.Background(), "number_order_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberOrder.Data)numberOrder.Data.IDnumberOrder.Data.StatusnumberOrder.Data.RequirementsMetnumberOrder.Data.PhoneNumbersCountnumberOrder.Data.PhoneNumbersnumberOrder.Data.ConnectionIDclient.NumberReservations.New()POST /number_reservations| Parameter | Type | Required | Description |
|---|---|---|---|
| array[object] | Yes | |
| enum (pending, success, failure) | No | The status of the entire reservation. |
| string (UUID) | No | |
| string | No | |
| ... | +3 optional params in references/api-details.md |
numberReservation, err := client.NumberReservations.New(context.Background(), telnyx.NumberReservationNewParams{
PhoneNumbers: []telnyx.NumberReservationNewParamsPhoneNumber{{PhoneNumber: "+18005550101"}},
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberReservation.Data)numberReservation.Data.IDnumberReservation.Data.StatusnumberReservation.Data.CreatedAtnumberReservation.Data.UpdatedAtnumberReservation.Data.CustomerReferencenumberReservation.Data.Errorsclient.NumberReservations.New()POST /number_reservations| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| array[object] | 是 | |
| enum (pending, success, failure) | 否 | 整个预留的状态。 |
| string (UUID) | 否 | |
| string | 否 | |
| ... | 更多3个可选参数见references/api-details.md |
numberReservation, err := client.NumberReservations.New(context.Background(), telnyx.NumberReservationNewParams{
PhoneNumbers: []telnyx.NumberReservationNewParamsPhoneNumber{{PhoneNumber: "+18005550101"}},
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberReservation.Data)numberReservation.Data.IDnumberReservation.Data.StatusnumberReservation.Data.CreatedAtnumberReservation.Data.UpdatedAtnumberReservation.Data.CustomerReferencenumberReservation.Data.Errorsclient.NumberReservations.Get()GET /number_reservations/{number_reservation_id}| Parameter | Type | Required | Description |
|---|---|---|---|
| string (UUID) | Yes | The number reservation ID. |
numberReservation, err := client.NumberReservations.Get(context.Background(), "number_reservation_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberReservation.Data)numberReservation.Data.IDnumberReservation.Data.StatusnumberReservation.Data.CreatedAtnumberReservation.Data.UpdatedAtnumberReservation.Data.CustomerReferencenumberReservation.Data.Errorsclient.NumberReservations.Get()GET /number_reservations/{number_reservation_id}| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (UUID) | 是 | 号码预留ID。 |
numberReservation, err := client.NumberReservations.Get(context.Background(), "number_reservation_id")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberReservation.Data)numberReservation.Data.IDnumberReservation.Data.StatusnumberReservation.Data.CreatedAtnumberReservation.Data.UpdatedAtnumberReservation.Data.CustomerReferencenumberReservation.Data.Errorsclient.AdvancedOrders.List()GET /advanced_orders advancedOrders, err := client.AdvancedOrders.List(context.Background())
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", advancedOrders.Data)advancedOrders.dataIDStatusAreaCodeCommentsCountryCodeCustomerReferenceclient.AdvancedOrders.List()GET /advanced_orders advancedOrders, err := client.AdvancedOrders.List(context.Background())
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", advancedOrders.Data)advancedOrders.dataIDStatusAreaCodeCommentsCountryCodeCustomerReferenceclient.AdvancedOrders.New()POST /advanced_orders| Parameter | Type | Required | Description |
|---|---|---|---|
| enum (local, mobile, toll_free, shared_cost, national, ...) | No | |
| string (UUID) | No | The ID of the requirement group to associate with this advan... |
| string (ISO 3166-1 alpha-2) | No | |
| ... | +5 optional params in references/api-details.md |
advancedOrder, err := client.AdvancedOrders.New(context.Background(), telnyx.AdvancedOrderNewParams{
AdvancedOrder: telnyx.AdvancedOrderParam{},
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", advancedOrder.ID)advancedOrder.IDadvancedOrder.StatusadvancedOrder.AreaCodeadvancedOrder.CommentsadvancedOrder.CountryCodeadvancedOrder.CustomerReferenceclient.AdvancedOrders.New()POST /advanced_orders| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| enum (local, mobile, toll_free, shared_cost, national, ...) | 否 | |
| string (UUID) | 否 | 与该高级订单关联的要求组ID。 |
| string (ISO 3166-1 alpha-2) | 否 | |
| ... | 更多5个可选参数见references/api-details.md |
advancedOrder, err := client.AdvancedOrders.New(context.Background(), telnyx.AdvancedOrderNewParams{
AdvancedOrder: telnyx.AdvancedOrderParam{},
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", advancedOrder.ID)advancedOrder.IDadvancedOrder.StatusadvancedOrder.AreaCodeadvancedOrder.CommentsadvancedOrder.CountryCodeadvancedOrder.CustomerReferenceclient.AdvancedOrders.UpdateRequirementGroup()PATCH /advanced_orders/{advanced-order-id}/requirement_group| Parameter | Type | Required | Description |
|---|---|---|---|
| string (UUID) | Yes | |
| enum (local, mobile, toll_free, shared_cost, national, ...) | No | |
| string (UUID) | No | The ID of the requirement group to associate with this advan... |
| string (ISO 3166-1 alpha-2) | No | |
| ... | +5 optional params in references/api-details.md |
response, err := client.AdvancedOrders.UpdateRequirementGroup(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AdvancedOrderUpdateRequirementGroupParams{
AdvancedOrder: telnyx.AdvancedOrderParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.ID)response.IDresponse.Statusresponse.AreaCoderesponse.Commentsresponse.CountryCoderesponse.CustomerReferenceclient.AdvancedOrders.UpdateRequirementGroup()PATCH /advanced_orders/{advanced-order-id}/requirement_group| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (UUID) | 是 | |
| enum (local, mobile, toll_free, shared_cost, national, ...) | 否 | |
| string (UUID) | 否 | 与该高级订单关联的要求组ID。 |
| string (ISO 3166-1 alpha-2) | 否 | |
| ... | 更多5个可选参数见references/api-details.md |
response, err := client.AdvancedOrders.UpdateRequirementGroup(
context.Background(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.AdvancedOrderUpdateRequirementGroupParams{
AdvancedOrder: telnyx.AdvancedOrderParam{},
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.ID)response.IDresponse.Statusresponse.AreaCoderesponse.Commentsresponse.CountryCoderesponse.CustomerReferenceclient.AdvancedOrders.Get()GET /advanced_orders/{order_id}| Parameter | Type | Required | Description |
|---|---|---|---|
| string (UUID) | Yes |
advancedOrder, err := client.AdvancedOrders.Get(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", advancedOrder.ID)advancedOrder.IDadvancedOrder.StatusadvancedOrder.AreaCodeadvancedOrder.CommentsadvancedOrder.CountryCodeadvancedOrder.CustomerReferenceclient.AdvancedOrders.Get()GET /advanced_orders/{order_id}| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| string (UUID) | 是 |
advancedOrder, err := client.AdvancedOrders.Get(context.Background(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", advancedOrder.ID)advancedOrder.IDadvancedOrder.StatusadvancedOrder.AreaCodeadvancedOrder.CommentsadvancedOrder.CountryCodeadvancedOrder.CustomerReferenceclient.AvailablePhoneNumberBlocks.List()GET /available_phone_number_blocks| Parameter | Type | Required | Description |
|---|---|---|---|
| object | No | Consolidated filter parameter (deepObject style). |
availablePhoneNumberBlocks, err := client.AvailablePhoneNumberBlocks.List(context.Background(), telnyx.AvailablePhoneNumberBlockListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", availablePhoneNumberBlocks.Data)availablePhoneNumberBlocks.dataavailablePhoneNumberBlocks.metaPhoneNumberCostInformationFeaturesRangeRecordTypeRegionInformationclient.AvailablePhoneNumberBlocks.List()GET /available_phone_number_blocks| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| object | 否 | 统一筛选参数(deepObject格式)。 |
availablePhoneNumberBlocks, err := client.AvailablePhoneNumberBlocks.List(context.Background(), telnyx.AvailablePhoneNumberBlockListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", availablePhoneNumberBlocks.Data)availablePhoneNumberBlocks.dataavailablePhoneNumberBlocks.metaPhoneNumberCostInformationFeaturesRangeRecordTypeRegionInformationclient.Comments.List()GET /comments| Parameter | Type | Required | Description |
|---|---|---|---|
| object | No | Consolidated filter parameter (deepObject style). |
comments, err := client.Comments.List(context.Background(), telnyx.CommentListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", comments.Data)comments.datacomments.metaIDBodyCreatedAtUpdatedAtCommentRecordIDCommentRecordTypeclient.Comments.List()GET /comments| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| object | 否 | 统一筛选参数(deepObject格式)。 |
comments, err := client.Comments.List(context.Background(), telnyx.CommentListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", comments.Data)comments.datacomments.metaIDBodyCreatedAtUpdatedAtCommentRecordIDCommentRecordType| Operation | SDK method | Endpoint | Use when | Required params |
|---|---|---|---|---|
| Create a comment | | | Create or provision an additional resource when the core tasks do not cover this flow. | None |
| Retrieve a comment | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Mark a comment as read | | | Modify an existing resource without recreating it. | |
| Get country coverage | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Get coverage for a specific country | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| List customer service records | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Create a customer service record | | | Create or provision an additional resource when the core tasks do not cover this flow. | None |
| Verify CSR phone number coverage | | | Create or provision an additional resource when the core tasks do not cover this flow. | None |
| Get a customer service record | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| List inexplicit number orders | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Create an inexplicit number order | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Retrieve an inexplicit number order | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Create an inventory coverage request | | | Inspect available resources or choose an existing resource before mutating it. | None |
| List mobile network operators | | | Inspect available resources or choose an existing resource before mutating it. | None |
| List network coverage locations | | | Inspect available resources or choose an existing resource before mutating it. | None |
| List number block orders | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Create a number block order | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Retrieve a number block order | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Retrieve a list of phone numbers associated to orders | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Retrieve a single phone number within a number order. | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Update requirements for a single phone number within a number order. | | | Modify an existing resource without recreating it. | |
| List number orders | | | Create or inspect provisioning orders for number purchases. | None |
| Update a number order | | | Modify an existing resource without recreating it. | |
| List number reservations | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Extend a number reservation | | | Trigger a follow-up action in an existing workflow rather than creating a new top-level resource. | |
| Retrieve the features for a list of numbers | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Lists the phone number blocks jobs | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Deletes all numbers associated with a phone number block | | | Create or provision an additional resource when the core tasks do not cover this flow. | |
| Retrieves a phone number blocks job | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| List sub number orders | | | Inspect available resources or choose an existing resource before mutating it. | None |
| Retrieve a sub number order | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Update a sub number order's requirements | | | Modify an existing resource without recreating it. | |
| Cancel a sub number order | | | Modify an existing resource without recreating it. | |
| Create a sub number orders report | | | Create or provision an additional resource when the core tasks do not cover this flow. | None |
| Retrieve a sub number orders report | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| Download a sub number orders report | | | Fetch the current state before updating, deleting, or making control-flow decisions. | |
| 操作 | SDK方法 | 接口地址 | 使用场景 | 必填参数 |
|---|---|---|---|---|
| 创建评论 | | | 当核心任务未覆盖该流程时,用于创建或开通额外资源。 | 无 |
| 查询评论 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| 标记评论为已读 | | | 无需重新创建即可修改现有资源。 | |
| 查询国家覆盖范围 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 查询指定国家的覆盖范围 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| 列出客户服务记录 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 创建客户服务记录 | | | 当核心任务未覆盖该流程时,用于创建或开通额外资源。 | 无 |
| 验证CSR电话号码覆盖 | | | 当核心任务未覆盖该流程时,用于创建或开通额外资源。 | 无 |
| 查询客户服务记录 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| 列出非显式号码订单 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 创建非显式号码订单 | | | 当核心任务未覆盖该流程时,用于创建或开通额外资源。 | |
| 查询非显式号码订单 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| 创建库存覆盖请求 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 列出移动网络运营商 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 列出网络覆盖位置 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 列出号码块订单 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 创建号码块订单 | | | 当核心任务未覆盖该流程时,用于创建或开通额外资源。 | |
| 查询号码块订单 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| 列出订单关联的电话号码 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 查询号码订单中的单个电话号码 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| 更新号码订单中单个电话号码的要求 | | | 无需重新创建即可修改现有资源。 | |
| 列出号码订单 | | | 创建或查询号码购买的开通订单。 | 无 |
| 更新号码订单 | | | 无需重新创建即可修改现有资源。 | |
| 列出号码预留 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 延长号码预留有效期 | | | 在现有工作流中触发后续操作,无需创建新的顶层资源。 | |
| 查询号码列表的功能 | | | 当核心任务未覆盖该流程时,用于创建或开通额外资源。 | |
| 列出电话号码块任务 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 删除电话号码块关联的所有号码 | | | 当核心任务未覆盖该流程时,用于创建或开通额外资源。 | |
| 查询电话号码块任务 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| 列出子号码订单 | | | 在修改资源前查看可用资源或选择现有资源。 | 无 |
| 查询子号码订单 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| 更新子号码订单要求 | | | 无需重新创建即可修改现有资源。 | |
| 取消子号码订单 | | | 无需重新创建即可修改现有资源。 | |
| 创建子号码订单报告 | | | 当核心任务未覆盖该流程时,用于创建或开通额外资源。 | 无 |
| 查询子号码订单报告 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| 下载子号码订单报告 | | | 在更新、删除或做出控制流决策前获取当前状态。 | |
| Event | | Description |
|---|---|---|
| | Number Order Status Update |
| 事件 | | 描述 |
|---|---|---|
| | 号码订单状态更新 |