Telnyx Seti - 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.
Error 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:
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: 401 invalid API key, 403 insufficient permissions, 404 resource not found, 422 validation error (check field formats), 429 rate limited (retry with exponential backoff).
Get Enum
GET /10dlc/enum/{endpoint}
response, err := client.Messaging10dlc.GetEnum(context.TODO(), telnyx.Messaging10dlcGetEnumParamsEndpointMno)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response)
Retrieve Black Box Test Results
Returns the results of the various black box tests
GET /seti/black_box_test_results
response, err := client.Seti.GetBlackBoxTestResults(context.TODO(), telnyx.SetiGetBlackBoxTestResultsParams{})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
Returns: black_box_tests (array[object]), product (string), record_type (string)