AgentSkillsCN

telnyx-numbers-services-python

为您的电话号码配置语音信箱、语音通道以及紧急呼叫(E911)服务。本技能提供 Python SDK 示例。

SKILL.md
--- frontmatter
name: telnyx-numbers-services-python
description: >-
  Configure voicemail, voice channels, and emergency (E911) services for your
  phone numbers. This skill provides Python SDK examples.
metadata:
  author: telnyx
  product: numbers-services
  language: python

Telnyx Numbers Services - Python

Installation

bash
pip install telnyx

Setup

python
import os
from telnyx import Telnyx

client = Telnyx(
    api_key=os.environ.get("TELNYX_API_KEY"),  # This is the default and can be omitted
)

All examples below assume client is already initialized as shown above.

List dynamic emergency addresses

Returns the dynamic emergency addresses according to filters

GET /dynamic_emergency_addresses

python
page = client.dynamic_emergency_addresses.list()
page = page.data[0]
print(page.id)

Create a dynamic emergency address.

Creates a dynamic emergency address.

POST /dynamic_emergency_addresses — Required: house_number, street_name, locality, administrative_area, postal_code, country_code

python
dynamic_emergency_address = client.dynamic_emergency_addresses.create(
    administrative_area="TX",
    country_code="US",
    house_number="600",
    locality="Austin",
    postal_code="78701",
    street_name="Congress",
)
print(dynamic_emergency_address.data)

Get a dynamic emergency address

Returns the dynamic emergency address based on the ID provided

GET /dynamic_emergency_addresses/{id}

python
dynamic_emergency_address = client.dynamic_emergency_addresses.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(dynamic_emergency_address.data)

Delete a dynamic emergency address

Deletes the dynamic emergency address based on the ID provided

DELETE /dynamic_emergency_addresses/{id}

python
dynamic_emergency_address = client.dynamic_emergency_addresses.delete(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(dynamic_emergency_address.data)

List dynamic emergency endpoints

Returns the dynamic emergency endpoints according to filters

GET /dynamic_emergency_endpoints

python
page = client.dynamic_emergency_endpoints.list()
page = page.data[0]
print(page.dynamic_emergency_address_id)

Create a dynamic emergency endpoint.

Creates a dynamic emergency endpoints.

POST /dynamic_emergency_endpoints — Required: dynamic_emergency_address_id, callback_number, caller_name

python
dynamic_emergency_endpoint = client.dynamic_emergency_endpoints.create(
    callback_number="+13125550000",
    caller_name="Jane Doe Desk Phone",
    dynamic_emergency_address_id="0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
)
print(dynamic_emergency_endpoint.data)

Get a dynamic emergency endpoint

Returns the dynamic emergency endpoint based on the ID provided

GET /dynamic_emergency_endpoints/{id}

python
dynamic_emergency_endpoint = client.dynamic_emergency_endpoints.retrieve(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(dynamic_emergency_endpoint.data)

Delete a dynamic emergency endpoint

Deletes the dynamic emergency endpoint based on the ID provided

DELETE /dynamic_emergency_endpoints/{id}

python
dynamic_emergency_endpoint = client.dynamic_emergency_endpoints.delete(
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(dynamic_emergency_endpoint.data)

List your voice channels for non-US zones

Returns the non-US voice channels for your account.

GET /channel_zones

python
page = client.channel_zones.list()
page = page.data[0]
print(page.id)

Update voice channels for non-US Zones

Update the number of Voice Channels for the Non-US Zones.

PUT /channel_zones/{channel_zone_id} — Required: channels

python
channel_zone = client.channel_zones.update(
    channel_zone_id="channel_zone_id",
    channels=0,
)
print(channel_zone.id)

List your voice channels for US Zone

Returns the US Zone voice channels for your account.

GET /inbound_channels

python
inbound_channels = client.inbound_channels.list()
print(inbound_channels.data)

Update voice channels for US Zone

Update the number of Voice Channels for the US Zone.

PATCH /inbound_channels — Required: channels

python
inbound_channel = client.inbound_channels.update(
    channels=7,
)
print(inbound_channel.data)

List All Numbers using Channel Billing

Retrieve a list of all phone numbers using Channel Billing, grouped by Zone.

GET /list

python
response = client.list.retrieve_all()
print(response.data)

List Numbers using Channel Billing for a specific Zone

Retrieve a list of phone numbers using Channel Billing for a specific Zone.

GET /list/{channel_zone_id}

python
response = client.list.retrieve_by_zone(
    "channel_zone_id",
)
print(response.data)

Get voicemail

Returns the voicemail settings for a phone number

GET /phone_numbers/{phone_number_id}/voicemail

python
voicemail = client.phone_numbers.voicemail.retrieve(
    "123455678900",
)
print(voicemail.data)

Create voicemail

Create voicemail settings for a phone number

POST /phone_numbers/{phone_number_id}/voicemail

python
voicemail = client.phone_numbers.voicemail.create(
    phone_number_id="123455678900",
)
print(voicemail.data)

Update voicemail

Update voicemail settings for a phone number

PATCH /phone_numbers/{phone_number_id}/voicemail

python
voicemail = client.phone_numbers.voicemail.update(
    phone_number_id="123455678900",
)
print(voicemail.data)