| name | telnyx-messaging-profiles-go |
| description | Create and manage messaging profiles with number pools, sticky sender, and geomatch features. Configure short codes for high-volume messaging. This skill provides Go SDK examples. |
| metadata | {"author":"telnyx","product":"messaging-profiles","language":"go","generated_by":"telnyx-ext-skills-generator"} |
Telnyx Messaging Profiles - 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.
List messaging profiles
GET /messaging_profiles
page, err := client.MessagingProfiles.List(context.TODO(), telnyx.MessagingProfileListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Create a messaging profile
POST /messaging_profiles — Required: name, whitelisted_destinations
messagingProfile, err := client.MessagingProfiles.New(context.TODO(), telnyx.MessagingProfileNewParams{
Name: "My name",
WhitelistedDestinations: []string{"US"},
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", messagingProfile.Data)
Retrieve a messaging profile
GET /messaging_profiles/{id}
messagingProfile, err := client.MessagingProfiles.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", messagingProfile.Data)
Update a messaging profile
PATCH /messaging_profiles/{id}
messagingProfile, err := client.MessagingProfiles.Update(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileUpdateParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", messagingProfile.Data)
Delete a messaging profile
DELETE /messaging_profiles/{id}
messagingProfile, err := client.MessagingProfiles.Delete(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", messagingProfile.Data)
List phone numbers associated with a messaging profile
GET /messaging_profiles/{id}/phone_numbers
page, err := client.MessagingProfiles.ListPhoneNumbers(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileListPhoneNumbersParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
List short codes associated with a messaging profile
GET /messaging_profiles/{id}/short_codes
page, err := client.MessagingProfiles.ListShortCodes(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileListShortCodesParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
List Auto-Response Settings
GET /messaging_profiles/{profile_id}/autoresp_configs
autorespConfigs, err := client.MessagingProfiles.AutorespConfigs.List(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileAutorespConfigListParams{},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autorespConfigs.Data)
Create auto-response setting
POST /messaging_profiles/{profile_id}/autoresp_configs — Required: op, keywords, country_code
autoRespConfigResponse, err := client.MessagingProfiles.AutorespConfigs.New(
context.TODO(),
"profile_id",
telnyx.MessagingProfileAutorespConfigNewParams{
AutoRespConfigCreate: telnyx.AutoRespConfigCreateParam{
CountryCode: "US",
Keywords: []string{"keyword1", "keyword2"},
Op: telnyx.AutoRespConfigCreateOpStart,
},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autoRespConfigResponse.Data)
Get Auto-Response Setting
GET /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
autoRespConfigResponse, err := client.MessagingProfiles.AutorespConfigs.Get(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileAutorespConfigGetParams{
ProfileID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autoRespConfigResponse.Data)
Update Auto-Response Setting
PUT /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id} — Required: op, keywords, country_code
autoRespConfigResponse, err := client.MessagingProfiles.AutorespConfigs.Update(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileAutorespConfigUpdateParams{
ProfileID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
AutoRespConfigCreate: telnyx.AutoRespConfigCreateParam{
CountryCode: "US",
Keywords: []string{"keyword1", "keyword2"},
Op: telnyx.AutoRespConfigCreateOpStart,
},
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autoRespConfigResponse.Data)
Delete Auto-Response Setting
DELETE /messaging_profiles/{profile_id}/autoresp_configs/{autoresp_cfg_id}
autorespConfig, err := client.MessagingProfiles.AutorespConfigs.Delete(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.MessagingProfileAutorespConfigDeleteParams{
ProfileID: "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", autorespConfig)
List short codes
GET /short_codes
page, err := client.ShortCodes.List(context.TODO(), telnyx.ShortCodeListParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", page)
Retrieve a short code
GET /short_codes/{id}
shortCode, err := client.ShortCodes.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", shortCode.Data)
Update short code
Update the settings for a specific short code.
PATCH /short_codes/{id} — Required: messaging_profile_id
shortCode, err := client.ShortCodes.Update(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
telnyx.ShortCodeUpdateParams{
MessagingProfileID: "abc85f64-5717-4562-b3fc-2c9600000000",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", shortCode.Data)