telnyx-verify-go
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
Telnyx Verify - 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("校验错误 — 请检查必填字段和格式")
case 429:
// 触发速率限制 — 等待后使用指数退避策略重试
fmt.Println("触发速率限制,正在重试...")
default:
fmt.Printf("API错误 %d: %s\n", apiErr.StatusCode, apiErr.Error())
}
} else {
fmt.Println("网络错误 — 检查网络连接后重试")
}
}常见错误码: API密钥无效, 权限不足, 资源未找到, 校验错误(请检查字段格式), 触发速率限制(请使用指数退避策略重试)。
401403404422429Important Notes
重要说明
- Phone numbers must be in E.164 format (e.g., ). Include the
+13125550001prefix and country code. No spaces, dashes, or parentheses.+ - Pagination: Use for automatic iteration:
ListAutoPaging().iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }
- 手机号码必须采用E.164格式(例如:)。需包含
+13125550001前缀和国家码,不得包含空格、短横线或括号。+ - 分页: 使用实现自动迭代:
ListAutoPaging()。iter := client.Resource.ListAutoPaging(ctx, params); for iter.Next() { item := iter.Current() }
Lookup phone number data
查询手机号码数据
Returns information about the provided phone number.
GET /number_lookup/{phone_number}go
numberLookup, err := client.NumberLookup.Get(
context.Background(),
"+18665552368",
telnyx.NumberLookupGetParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberLookup.Data)Returns: (object), (object), (string), (string | null), (string), (string), (object), (string)
caller_namecarriercountry_codefraudnational_formatphone_numberportabilityrecord_type返回指定手机号码的相关信息。
GET /number_lookup/{phone_number}go
numberLookup, err := client.NumberLookup.Get(
context.Background(),
"+18665552368",
telnyx.NumberLookupGetParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", numberLookup.Data)返回字段: (对象), (对象), (字符串), (字符串 | 空), (字符串), (字符串), (对象), (字符串)
caller_namecarriercountry_codefraudnational_formatphone_numberportabilityrecord_typeList verifications by phone number
按手机号查询验证记录
GET /verifications/by_phone_number/{phone_number}go
byPhoneNumbers, err := client.Verifications.ByPhoneNumber.List(context.Background(), "+13035551234")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", byPhoneNumbers.Data)Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idGET /verifications/by_phone_number/{phone_number}go
byPhoneNumbers, err := client.Verifications.ByPhoneNumber.List(context.Background(), "+13035551234")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", byPhoneNumbers.Data)返回字段: (字符串), (字符串 | 空), (uuid), (字符串), (枚举: verification), (枚举: pending, accepted, invalid, expired, error), (整数), (枚举: sms, call, flashcall), (字符串), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idVerify verification code by phone number
按手机号校验验证码
POST /verifications/by_phone_number/{phone_number}/actions/verifycodeverify_profile_idgo
verifyVerificationCodeResponse, err := client.Verifications.ByPhoneNumber.Actions.Verify(
context.Background(),
"+13035551234",
telnyx.VerificationByPhoneNumberActionVerifyParams{
Code: "17686",
VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyVerificationCodeResponse.Data)Returns: (string), (enum: accepted, rejected)
phone_numberresponse_codePOST /verifications/by_phone_number/{phone_number}/actions/verifycodeverify_profile_idgo
verifyVerificationCodeResponse, err := client.Verifications.ByPhoneNumber.Actions.Verify(
context.Background(),
"+13035551234",
telnyx.VerificationByPhoneNumberActionVerifyParams{
Code: "17686",
VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyVerificationCodeResponse.Data)返回字段: (字符串), (枚举: accepted, rejected)
phone_numberresponse_codeTrigger Call verification
发起语音验证
POST /verifications/callphone_numberverify_profile_idOptional: (string | null), (string | null), (integer)
custom_codeextensiontimeout_secsgo
createVerificationResponse, err := client.Verifications.TriggerCall(context.Background(), telnyx.VerificationTriggerCallParams{
PhoneNumber: "+13035551234",
VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", createVerificationResponse.Data)Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/callphone_numberverify_profile_id可选参数: (字符串 | 空), (字符串 | 空), (整数)
custom_codeextensiontimeout_secsgo
createVerificationResponse, err := client.Verifications.TriggerCall(context.Background(), telnyx.VerificationTriggerCallParams{
PhoneNumber: "+13035551234",
VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", createVerificationResponse.Data)返回字段: (字符串), (字符串 | 空), (uuid), (字符串), (枚举: verification), (枚举: pending, accepted, invalid, expired, error), (整数), (枚举: sms, call, flashcall), (字符串), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idTrigger Flash call verification
发起闪呼验证
POST /verifications/flashcallphone_numberverify_profile_idOptional: (integer)
timeout_secsgo
createVerificationResponse, err := client.Verifications.TriggerFlashcall(context.Background(), telnyx.VerificationTriggerFlashcallParams{
PhoneNumber: "+13035551234",
VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", createVerificationResponse.Data)Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/flashcallphone_numberverify_profile_id可选参数: (整数)
timeout_secsgo
createVerificationResponse, err := client.Verifications.TriggerFlashcall(context.Background(), telnyx.VerificationTriggerFlashcallParams{
PhoneNumber: "+13035551234",
VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", createVerificationResponse.Data)返回字段: (字符串), (字符串 | 空), (uuid), (字符串), (枚举: verification), (枚举: pending, accepted, invalid, expired, error), (整数), (枚举: sms, call, flashcall), (字符串), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idTrigger SMS verification
发起短信验证
POST /verifications/smsphone_numberverify_profile_idOptional: (string | null), (integer)
custom_codetimeout_secsgo
createVerificationResponse, err := client.Verifications.TriggerSMS(context.Background(), telnyx.VerificationTriggerSMSParams{
PhoneNumber: "+13035551234",
VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", createVerificationResponse.Data)Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idPOST /verifications/smsphone_numberverify_profile_id可选参数: (字符串 | 空), (整数)
custom_codetimeout_secsgo
createVerificationResponse, err := client.Verifications.TriggerSMS(context.Background(), telnyx.VerificationTriggerSMSParams{
PhoneNumber: "+13035551234",
VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", createVerificationResponse.Data)返回字段: (字符串), (字符串 | 空), (uuid), (字符串), (枚举: verification), (枚举: pending, accepted, invalid, expired, error), (整数), (枚举: sms, call, flashcall), (字符串), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idRetrieve verification
查询验证记录详情
GET /verifications/{verification_id}go
verification, err := client.Verifications.Get(context.Background(), "12ade33a-21c0-473b-b055-b3c836e1c292")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verification.Data)Returns: (string), (string | null), (uuid), (string), (enum: verification), (enum: pending, accepted, invalid, expired, error), (integer), (enum: sms, call, flashcall), (string), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idGET /verifications/{verification_id}go
verification, err := client.Verifications.Get(context.Background(), "12ade33a-21c0-473b-b055-b3c836e1c292")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verification.Data)返回字段: (字符串), (字符串 | 空), (uuid), (字符串), (枚举: verification), (枚举: pending, accepted, invalid, expired, error), (整数), (枚举: sms, call, flashcall), (字符串), (uuid)
created_atcustom_codeidphone_numberrecord_typestatustimeout_secstypeupdated_atverify_profile_idVerify verification code by ID
按ID校验验证码
POST /verifications/{verification_id}/actions/verifyOptional: (string), (enum: accepted, rejected)
codestatusgo
verifyVerificationCodeResponse, err := client.Verifications.Actions.Verify(
context.Background(),
"12ade33a-21c0-473b-b055-b3c836e1c292",
telnyx.VerificationActionVerifyParams{
Code: "12345",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyVerificationCodeResponse.Data)Returns: (string), (enum: accepted, rejected)
phone_numberresponse_codePOST /verifications/{verification_id}/actions/verify可选参数: (字符串), (枚举: accepted, rejected)
codestatusgo
verifyVerificationCodeResponse, err := client.Verifications.Actions.Verify(
context.Background(),
"12ade33a-21c0-473b-b055-b3c836e1c292",
telnyx.VerificationActionVerifyParams{
Code: "12345",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyVerificationCodeResponse.Data)返回字段: (字符串), (枚举: accepted, rejected)
phone_numberresponse_codeList all Verify profiles
查询所有验证配置文件
Gets a paginated list of Verify profiles.
GET /verify_profilesgo
page, err := client.VerifyProfiles.List(context.Background(), telnyx.VerifyProfileListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_url获取验证配置文件的分页列表。
GET /verify_profilesgo
page, err := client.VerifyProfiles.List(context.Background(), telnyx.VerifyProfileListParams{})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", page)返回字段: (对象), (字符串), (对象), (uuid), (字符串), (字符串), (对象), (枚举: verification_profile), (对象), (字符串), (字符串), (字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlCreate a Verify profile
创建验证配置文件
Creates a new Verify profile to associate verifications with.
POST /verify_profilesnameOptional: (object), (object), (string), (object), (object), (string), (string)
callflashcalllanguagercssmswebhook_failover_urlwebhook_urlgo
verifyProfileData, err := client.VerifyProfiles.New(context.Background(), telnyx.VerifyProfileNewParams{
Name: "Test Profile",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyProfileData.Data)Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_url创建新的验证配置文件,用于关联相关验证操作。
POST /verify_profilesname可选参数: (对象), (对象), (字符串), (对象), (对象), (字符串), (字符串)
callflashcalllanguagercssmswebhook_failover_urlwebhook_urlgo
verifyProfileData, err := client.VerifyProfiles.New(context.Background(), telnyx.VerifyProfileNewParams{
Name: "Test Profile",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyProfileData.Data)返回字段: (对象), (字符串), (对象), (uuid), (字符串), (字符串), (对象), (枚举: verification_profile), (对象), (字符串), (字符串), (字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlRetrieve Verify profile message templates
查询验证配置文件消息模板
List all Verify profile message templates.
GET /verify_profiles/templatesgo
response, err := client.VerifyProfiles.GetTemplates(context.Background())
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)Returns: (uuid), (string)
idtext列出所有验证配置文件的消息模板。
GET /verify_profiles/templatesgo
response, err := client.VerifyProfiles.GetTemplates(context.Background())
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", response.Data)返回字段: (uuid), (字符串)
idtextCreate message template
创建消息模板
Create a new Verify profile message template.
POST /verify_profiles/templatestextgo
messageTemplate, err := client.VerifyProfiles.NewTemplate(context.Background(), telnyx.VerifyProfileNewTemplateParams{
Text: "Your {{app_name}} verification code is: {{code}}.",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", messageTemplate.Data)Returns: (uuid), (string)
idtext创建新的验证配置文件消息模板。
POST /verify_profiles/templatestextgo
messageTemplate, err := client.VerifyProfiles.NewTemplate(context.Background(), telnyx.VerifyProfileNewTemplateParams{
Text: "Your {{app_name}} verification code is: {{code}}.",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", messageTemplate.Data)返回字段: (uuid), (字符串)
idtextUpdate message template
更新消息模板
Update an existing Verify profile message template.
PATCH /verify_profiles/templates/{template_id}textgo
messageTemplate, err := client.VerifyProfiles.UpdateTemplate(
context.Background(),
"12ade33a-21c0-473b-b055-b3c836e1c292",
telnyx.VerifyProfileUpdateTemplateParams{
Text: "Your {{app_name}} verification code is: {{code}}.",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", messageTemplate.Data)Returns: (uuid), (string)
idtext更新已有的验证配置文件消息模板。
PATCH /verify_profiles/templates/{template_id}textgo
messageTemplate, err := client.VerifyProfiles.UpdateTemplate(
context.Background(),
"12ade33a-21c0-473b-b055-b3c836e1c292",
telnyx.VerifyProfileUpdateTemplateParams{
Text: "Your {{app_name}} verification code is: {{code}}.",
},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", messageTemplate.Data)返回字段: (uuid), (字符串)
idtextRetrieve Verify profile
查询验证配置文件详情
Gets a single Verify profile.
GET /verify_profiles/{verify_profile_id}go
verifyProfileData, err := client.VerifyProfiles.Get(context.Background(), "12ade33a-21c0-473b-b055-b3c836e1c292")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyProfileData.Data)Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_url获取单个验证配置文件的信息。
GET /verify_profiles/{verify_profile_id}go
verifyProfileData, err := client.VerifyProfiles.Get(context.Background(), "12ade33a-21c0-473b-b055-b3c836e1c292")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyProfileData.Data)返回字段: (对象), (字符串), (对象), (uuid), (字符串), (字符串), (对象), (枚举: verification_profile), (对象), (字符串), (字符串), (字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlUpdate Verify profile
更新验证配置文件
PATCH /verify_profiles/{verify_profile_id}Optional: (object), (object), (string), (string), (object), (object), (string), (string)
callflashcalllanguagenamercssmswebhook_failover_urlwebhook_urlgo
verifyProfileData, err := client.VerifyProfiles.Update(
context.Background(),
"12ade33a-21c0-473b-b055-b3c836e1c292",
telnyx.VerifyProfileUpdateParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyProfileData.Data)Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlPATCH /verify_profiles/{verify_profile_id}可选参数: (对象), (对象), (字符串), (字符串), (对象), (对象), (字符串), (字符串)
callflashcalllanguagenamercssmswebhook_failover_urlwebhook_urlgo
verifyProfileData, err := client.VerifyProfiles.Update(
context.Background(),
"12ade33a-21c0-473b-b055-b3c836e1c292",
telnyx.VerifyProfileUpdateParams{},
)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyProfileData.Data)返回字段: (对象), (字符串), (对象), (uuid), (字符串), (字符串), (对象), (枚举: verification_profile), (对象), (字符串), (字符串), (字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlDelete Verify profile
删除验证配置文件
DELETE /verify_profiles/{verify_profile_id}go
verifyProfileData, err := client.VerifyProfiles.Delete(context.Background(), "12ade33a-21c0-473b-b055-b3c836e1c292")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyProfileData.Data)Returns: (object), (string), (object), (uuid), (string), (string), (object), (enum: verification_profile), (object), (string), (string), (string)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_urlDELETE /verify_profiles/{verify_profile_id}go
verifyProfileData, err := client.VerifyProfiles.Delete(context.Background(), "12ade33a-21c0-473b-b055-b3c836e1c292")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", verifyProfileData.Data)返回字段: (对象), (字符串), (对象), (uuid), (字符串), (字符串), (对象), (枚举: verification_profile), (对象), (字符串), (字符串), (字符串)
callcreated_atflashcallidlanguagenamercsrecord_typesmsupdated_atwebhook_failover_urlwebhook_url