Loading...
Loading...
Manage call recordings, media storage, Dialogflow integration, and external connections for SIP trunking. This skill provides Python SDK examples.
npx skill4agent add team-telnyx/telnyx-ext-agent-skills telnyx-sip-integrations-pythonpip install telnyximport os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)clientGET /recordingspage = client.recordings.list()
page = page.data[0]
print(page.id)GET /recordings/{recording_id}recording = client.recordings.retrieve(
"recording_id",
)
print(recording.data)DELETE /recordings/{recording_id}recording = client.recordings.delete(
"recording_id",
)
print(recording.data)POST /recordings/actions/deleteclient.recordings.actions.delete(
ids=["428c31b6-7af4-4bcb-b7f5-5013ef9657c1", "428c31b6-7af4-4bcb-b7f5-5013ef9657c2"],
)GET /recording_transcriptionsrecording_transcriptions = client.recording_transcriptions.list()
print(recording_transcriptions.data)GET /recording_transcriptions/{recording_transcription_id}recording_transcription = client.recording_transcriptions.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(recording_transcription.data)DELETE /recording_transcriptions/{recording_transcription_id}recording_transcription = client.recording_transcriptions.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(recording_transcription.data)GET /custom_storage_credentials/{connection_id}custom_storage_credential = client.custom_storage_credentials.retrieve(
"connection_id",
)
print(custom_storage_credential.connection_id)POST /custom_storage_credentials/{connection_id}custom_storage_credential = client.custom_storage_credentials.create(
connection_id="connection_id",
backend="gcs",
configuration={
"backend": "gcs"
},
)
print(custom_storage_credential.connection_id)PUT /custom_storage_credentials/{connection_id}custom_storage_credential = client.custom_storage_credentials.update(
connection_id="connection_id",
backend="gcs",
configuration={
"backend": "gcs"
},
)
print(custom_storage_credential.connection_id)DELETE /custom_storage_credentials/{connection_id}client.custom_storage_credentials.delete(
"connection_id",
)GET /dialogflow_connections/{connection_id}dialogflow_connection = client.dialogflow_connections.retrieve(
"connection_id",
)
print(dialogflow_connection.data)POST /dialogflow_connections/{connection_id}dialogflow_connection = client.dialogflow_connections.create(
connection_id="connection_id",
service_account={
"type": "bar",
"project_id": "bar",
"private_key_id": "bar",
"private_key": "bar",
"client_email": "bar",
"client_id": "bar",
"auth_uri": "bar",
"token_uri": "bar",
"auth_provider_x509_cert_url": "bar",
"client_x509_cert_url": "bar",
},
)
print(dialogflow_connection.data)PUT /dialogflow_connections/{connection_id}dialogflow_connection = client.dialogflow_connections.update(
connection_id="connection_id",
service_account={
"type": "bar",
"project_id": "bar",
"private_key_id": "bar",
"private_key": "bar",
"client_email": "bar",
"client_id": "bar",
"auth_uri": "bar",
"token_uri": "bar",
"auth_provider_x509_cert_url": "bar",
"client_x509_cert_url": "bar",
},
)
print(dialogflow_connection.data)DELETE /dialogflow_connections/{connection_id}client.dialogflow_connections.delete(
"connection_id",
)GET /external_connectionspage = client.external_connections.list()
page = page.data[0]
print(page.id)POST /external_connectionsexternal_sip_connectionoutboundexternal_connection = client.external_connections.create(
external_sip_connection="zoom",
outbound={},
)
print(external_connection.data)GET /external_connections/{id}external_connection = client.external_connections.retrieve(
"id",
)
print(external_connection.data)PATCH /external_connections/{id}outboundexternal_connection = client.external_connections.update(
id="id",
outbound={
"outbound_voice_profile_id": "outbound_voice_profile_id"
},
)
print(external_connection.data)DELETE /external_connections/{id}external_connection = client.external_connections.delete(
"id",
)
print(external_connection.data)GET /external_connections/{id}/civic_addressescivic_addresses = client.external_connections.civic_addresses.list(
id="id",
)
print(civic_addresses.data)GET /external_connections/{id}/civic_addresses/{address_id}civic_address = client.external_connections.civic_addresses.retrieve(
address_id="318fb664-d341-44d2-8405-e6bfb9ced6d9",
id="id",
)
print(civic_address.data)PATCH /external_connections/{id}/locations/{location_id}static_emergency_address_idresponse = client.external_connections.update_location(
location_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
static_emergency_address_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.data)GET /external_connections/{id}/phone_numberspage = client.external_connections.phone_numbers.list(
id="id",
)
page = page.data[0]
print(page.civic_address_id)GET /external_connections/{id}/phone_numbers/{phone_number_id}phone_number = client.external_connections.phone_numbers.retrieve(
phone_number_id="1234567889",
id="id",
)
print(phone_number.data)PATCH /external_connections/{id}/phone_numbers/{phone_number_id}phone_number = client.external_connections.phone_numbers.update(
phone_number_id="1234567889",
id="id",
)
print(phone_number.data)GET /external_connections/{id}/releasespage = client.external_connections.releases.list(
id="id",
)
page = page.data[0]
print(page.tenant_id)GET /external_connections/{id}/releases/{release_id}release = client.external_connections.releases.retrieve(
release_id="7b6a6449-b055-45a6-81f6-f6f0dffa4cc6",
id="id",
)
print(release.data)GET /external_connections/{id}/uploadspage = client.external_connections.uploads.list(
id="id",
)
page = page.data[0]
print(page.location_id)POST /external_connections/{id}/uploadsnumber_idsupload = client.external_connections.uploads.create(
id="id",
number_ids=["3920457616934164700", "3920457616934164701", "3920457616934164702", "3920457616934164703"],
)
print(upload.ticket_id)POST /external_connections/{id}/uploads/refreshresponse = client.external_connections.uploads.refresh_status(
"id",
)
print(response.success)GET /external_connections/{id}/uploads/statusresponse = client.external_connections.uploads.pending_count(
"id",
)
print(response.data)GET /external_connections/{id}/uploads/{ticket_id}upload = client.external_connections.uploads.retrieve(
ticket_id="7b6a6449-b055-45a6-81f6-f6f0dffa4cc6",
id="id",
)
print(upload.data)POST /external_connections/{id}/uploads/{ticket_id}/retryresponse = client.external_connections.uploads.retry(
ticket_id="7b6a6449-b055-45a6-81f6-f6f0dffa4cc6",
id="id",
)
print(response.data)GET /external_connections/log_messagespage = client.external_connections.log_messages.list()
page = page.log_messages[0]
print(page.code)GET /external_connections/log_messages/{id}log_message = client.external_connections.log_messages.retrieve(
"id",
)
print(log_message.log_messages)DELETE /external_connections/log_messages/{id}response = client.external_connections.log_messages.dismiss(
"id",
)
print(response.success)POST /operator_connect/actions/refreshresponse = client.operator_connect.actions.refresh()
print(response.message)GET /mediamedia = client.media.list()
print(media.data)POST /mediamedia_urlresponse = client.media.upload(
media_url="http://www.example.com/audio.mp3",
)
print(response.data)GET /media/{media_name}media = client.media.retrieve(
"media_name",
)
print(media.data)PUT /media/{media_name}media = client.media.update(
media_name="media_name",
)
print(media.data)DELETE /media/{media_name}client.media.delete(
"media_name",
)GET /media/{media_name}/downloadresponse = client.media.download(
"media_name",
)
print(response)
content = response.read()
print(content)