telnyx-verify-go

📁 team-telnyx/telnyx-ext-agent-skills 📅 1 day ago
3
总安装量
1
周安装量
#56935
全站排名
安装命令
npx skills add https://github.com/team-telnyx/telnyx-ext-agent-skills --skill telnyx-verify-go

Agent 安装分布

windsurf 1
amp 1
opencode 1
cursor 1
kimi-cli 1
kiro-cli 1

Skill 文档

Telnyx Verify – Go

Installation

go get github.com/team-telnyx/telnyx-go

Setup

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 client is already initialized as shown above.

Lookup phone number data

Returns information about the provided phone number.

GET /number_lookup/{phone_number}

	numberLookup, err := client.NumberLookup.Get(
		context.TODO(),
		"+18665552368",
		telnyx.NumberLookupGetParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", numberLookup.Data)

Trigger Call verification

POST /verifications/call — Required: phone_number, verify_profile_id

Optional: custom_code ([‘string’, ‘null’]), extension ([‘string’, ‘null’]), timeout_secs (integer)

	createVerificationResponse, err := client.Verifications.TriggerCall(context.TODO(), telnyx.VerificationTriggerCallParams{
		PhoneNumber:     "+13035551234",
		VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", createVerificationResponse.Data)

Trigger Flash call verification

POST /verifications/flashcall — Required: phone_number, verify_profile_id

Optional: timeout_secs (integer)

	createVerificationResponse, err := client.Verifications.TriggerFlashcall(context.TODO(), telnyx.VerificationTriggerFlashcallParams{
		PhoneNumber:     "+13035551234",
		VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", createVerificationResponse.Data)

Trigger SMS verification

POST /verifications/sms — Required: phone_number, verify_profile_id

Optional: custom_code ([‘string’, ‘null’]), timeout_secs (integer)

	createVerificationResponse, err := client.Verifications.TriggerSMS(context.TODO(), telnyx.VerificationTriggerSMSParams{
		PhoneNumber:     "+13035551234",
		VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", createVerificationResponse.Data)

Retrieve verification

GET /verifications/{verification_id}

	verification, err := client.Verifications.Get(context.TODO(), "12ade33a-21c0-473b-b055-b3c836e1c292")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", verification.Data)

Verify verification code by ID

POST /verifications/{verification_id}/actions/verify

Optional: code (string), status (enum)

	verifyVerificationCodeResponse, err := client.Verifications.Actions.Verify(
		context.TODO(),
		"12ade33a-21c0-473b-b055-b3c836e1c292",
		telnyx.VerificationActionVerifyParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", verifyVerificationCodeResponse.Data)

List verifications by phone number

GET /verifications/by_phone_number/{phone_number}

	byPhoneNumbers, err := client.Verifications.ByPhoneNumber.List(context.TODO(), "+13035551234")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", byPhoneNumbers.Data)

Verify verification code by phone number

POST /verifications/by_phone_number/{phone_number}/actions/verify — Required: code, verify_profile_id

	verifyVerificationCodeResponse, err := client.Verifications.ByPhoneNumber.Actions.Verify(
		context.TODO(),
		"+13035551234",
		telnyx.VerificationByPhoneNumberActionVerifyParams{
			Code:            "17686",
			VerifyProfileID: "12ade33a-21c0-473b-b055-b3c836e1c292",
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", verifyVerificationCodeResponse.Data)

List all Verify profiles

Gets a paginated list of Verify profiles.

GET /verify_profiles

	page, err := client.VerifyProfiles.List(context.TODO(), telnyx.VerifyProfileListParams{})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)

Create a Verify profile

Creates a new Verify profile to associate verifications with.

POST /verify_profiles — Required: name

Optional: call (object), flashcall (object), language (string), rcs (object), sms (object), webhook_failover_url (string), webhook_url (string)

	verifyProfileData, err := client.VerifyProfiles.New(context.TODO(), telnyx.VerifyProfileNewParams{
		Name: "Test Profile",
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", verifyProfileData.Data)

Retrieve Verify profile

Gets a single Verify profile.

GET /verify_profiles/{verify_profile_id}

	verifyProfileData, err := client.VerifyProfiles.Get(context.TODO(), "12ade33a-21c0-473b-b055-b3c836e1c292")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", verifyProfileData.Data)

Update Verify profile

PATCH /verify_profiles/{verify_profile_id}

Optional: call (object), flashcall (object), language (string), name (string), rcs (object), sms (object), webhook_failover_url (string), webhook_url (string)

	verifyProfileData, err := client.VerifyProfiles.Update(
		context.TODO(),
		"12ade33a-21c0-473b-b055-b3c836e1c292",
		telnyx.VerifyProfileUpdateParams{},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", verifyProfileData.Data)

Delete Verify profile

DELETE /verify_profiles/{verify_profile_id}

	verifyProfileData, err := client.VerifyProfiles.Delete(context.TODO(), "12ade33a-21c0-473b-b055-b3c836e1c292")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", verifyProfileData.Data)

Retrieve Verify profile message templates

List all Verify profile message templates.

GET /verify_profiles/templates

	response, err := client.VerifyProfiles.GetTemplates(context.TODO())
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", response.Data)

Create message template

Create a new Verify profile message template.

POST /verify_profiles/templates — Required: text

	messageTemplate, err := client.VerifyProfiles.NewTemplate(context.TODO(), telnyx.VerifyProfileNewTemplateParams{
		Text: "Your {{app_name}} verification code is: {{code}}.",
	})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", messageTemplate.Data)

Update message template

Update an existing Verify profile message template.

PATCH /verify_profiles/templates/{template_id} — Required: text

	messageTemplate, err := client.VerifyProfiles.UpdateTemplate(
		context.TODO(),
		"12ade33a-21c0-473b-b055-b3c836e1c292",
		telnyx.VerifyProfileUpdateTemplateParams{
			Text: "Your {{app_name}} verification code is: {{code}}.",
		},
	)
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", messageTemplate.Data)