telnyx 3.4.0a0__py3-none-any.whl → 3.5.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of telnyx might be problematic. Click here for more details.
- telnyx/__init__.py +3 -1
- telnyx/_base_client.py +9 -9
- telnyx/_client.py +63 -762
- telnyx/_models.py +10 -4
- telnyx/_qs.py +7 -7
- telnyx/_types.py +18 -11
- telnyx/_utils/_transform.py +2 -2
- telnyx/_utils/_utils.py +4 -4
- telnyx/_version.py +1 -1
- telnyx/resources/__init__.py +70 -0
- telnyx/resources/access_ip_address.py +15 -15
- telnyx/resources/access_ip_ranges.py +13 -13
- telnyx/resources/actions/purchase.py +13 -13
- telnyx/resources/actions/register.py +9 -9
- telnyx/resources/addresses/actions.py +13 -13
- telnyx/resources/addresses/addresses.py +33 -35
- telnyx/resources/advanced_orders.py +102 -106
- telnyx/resources/ai/ai.py +7 -7
- telnyx/resources/ai/assistants/assistants.py +91 -91
- telnyx/resources/ai/assistants/canary_deploys.py +9 -9
- telnyx/resources/ai/assistants/scheduled_events.py +21 -21
- telnyx/resources/ai/assistants/tests/runs.py +13 -13
- telnyx/resources/ai/assistants/tests/test_suites/runs.py +13 -13
- telnyx/resources/ai/assistants/tests/test_suites/test_suites.py +3 -3
- telnyx/resources/ai/assistants/tests/tests.py +43 -43
- telnyx/resources/ai/assistants/tools.py +7 -7
- telnyx/resources/ai/assistants/versions.py +45 -45
- telnyx/resources/ai/audio.py +11 -11
- telnyx/resources/ai/chat.py +47 -47
- telnyx/resources/ai/clusters.py +27 -27
- telnyx/resources/ai/conversations/conversations.py +179 -45
- telnyx/resources/ai/conversations/insight_groups/insight_groups.py +23 -23
- telnyx/resources/ai/conversations/insight_groups/insights.py +5 -5
- telnyx/resources/ai/conversations/insights.py +25 -25
- telnyx/resources/ai/conversations/messages.py +3 -136
- telnyx/resources/ai/embeddings/buckets.py +7 -7
- telnyx/resources/ai/embeddings/embeddings.py +23 -23
- telnyx/resources/ai/fine_tuning/jobs.py +13 -13
- telnyx/resources/audit_events.py +9 -9
- telnyx/resources/authentication_providers.py +29 -29
- telnyx/resources/available_phone_number_blocks.py +5 -5
- telnyx/resources/available_phone_numbers.py +5 -5
- telnyx/resources/balance.py +3 -3
- telnyx/resources/billing_groups.py +17 -17
- telnyx/resources/brand/brand.py +121 -117
- telnyx/resources/brand/external_vetting.py +9 -9
- telnyx/resources/bulk_sim_card_actions.py +11 -11
- telnyx/resources/bundle_pricing/billing_bundles.py +13 -13
- telnyx/resources/bundle_pricing/user_bundles.py +35 -35
- telnyx/resources/call_control_applications.py +63 -67
- telnyx/resources/call_events.py +7 -7
- telnyx/resources/calls/actions.py +699 -699
- telnyx/resources/calls/calls.py +113 -107
- telnyx/resources/campaign/campaign.py +47 -47
- telnyx/resources/campaign/osr.py +3 -3
- telnyx/resources/campaign/usecase.py +3 -3
- telnyx/resources/campaign_builder/brand.py +3 -3
- telnyx/resources/campaign_builder/campaign_builder.py +67 -67
- telnyx/resources/channel_zones.py +7 -7
- telnyx/resources/charges_breakdown.py +7 -7
- telnyx/resources/charges_summary.py +3 -3
- telnyx/resources/comments.py +17 -17
- telnyx/resources/conferences/actions.py +121 -137
- telnyx/resources/conferences/conferences.py +37 -41
- telnyx/resources/connections.py +15 -15
- telnyx/resources/country_coverage.py +5 -5
- telnyx/resources/credential_connections/actions.py +3 -3
- telnyx/resources/credential_connections/credential_connections.py +95 -95
- telnyx/resources/custom_storage_credentials.py +9 -9
- telnyx/resources/customer_service_records.py +19 -19
- telnyx/resources/detail_records.py +9 -9
- telnyx/resources/dialogflow_connections.py +25 -25
- telnyx/resources/document_links.py +7 -7
- telnyx/resources/documents.py +45 -45
- telnyx/resources/dynamic_emergency_addresses.py +23 -23
- telnyx/resources/dynamic_emergency_endpoints.py +13 -13
- telnyx/resources/enum.py +3 -3
- telnyx/resources/external_connections/civic_addresses.py +7 -7
- telnyx/resources/external_connections/external_connections.py +41 -41
- telnyx/resources/external_connections/log_messages.py +11 -11
- telnyx/resources/external_connections/phone_numbers.py +13 -13
- telnyx/resources/external_connections/releases.py +9 -9
- telnyx/resources/external_connections/uploads.py +25 -27
- telnyx/resources/fax_applications.py +47 -47
- telnyx/resources/faxes/actions.py +5 -5
- telnyx/resources/faxes/faxes.py +35 -35
- telnyx/resources/fqdn_connections.py +93 -93
- telnyx/resources/fqdns.py +25 -25
- telnyx/resources/global_ip_allowed_ports.py +3 -3
- telnyx/resources/global_ip_assignment_health.py +5 -5
- telnyx/resources/global_ip_assignments.py +19 -19
- telnyx/resources/global_ip_assignments_usage.py +5 -5
- telnyx/resources/global_ip_health_check_types.py +3 -3
- telnyx/resources/global_ip_health_checks.py +17 -17
- telnyx/resources/global_ip_latency.py +5 -5
- telnyx/resources/global_ip_protocols.py +3 -3
- telnyx/resources/global_ip_usage.py +5 -5
- telnyx/resources/global_ips.py +17 -17
- telnyx/resources/inbound_channels.py +5 -5
- telnyx/resources/integration_secrets.py +17 -17
- telnyx/resources/inventory_coverage.py +5 -5
- telnyx/resources/invoices.py +11 -11
- telnyx/resources/ip_connections.py +93 -93
- telnyx/resources/ips.py +23 -23
- telnyx/resources/ledger_billing_group_reports.py +9 -9
- telnyx/resources/legacy/__init__.py +33 -0
- telnyx/resources/legacy/legacy.py +102 -0
- telnyx/resources/legacy/reporting/__init__.py +47 -0
- telnyx/resources/legacy/reporting/batch_detail_records/__init__.py +61 -0
- telnyx/resources/legacy/reporting/batch_detail_records/batch_detail_records.py +166 -0
- telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +482 -0
- telnyx/resources/legacy/reporting/batch_detail_records/speech_to_text.py +399 -0
- telnyx/resources/legacy/reporting/batch_detail_records/voice.py +539 -0
- telnyx/resources/legacy/reporting/reporting.py +134 -0
- telnyx/resources/legacy/reporting/usage_reports/__init__.py +61 -0
- telnyx/resources/legacy/reporting/usage_reports/messaging.py +471 -0
- telnyx/resources/legacy/reporting/usage_reports/number_lookup.py +464 -0
- telnyx/resources/legacy/reporting/usage_reports/usage_reports.py +288 -0
- telnyx/resources/legacy/reporting/usage_reports/voice.py +493 -0
- telnyx/resources/list.py +5 -5
- telnyx/resources/managed_accounts/actions.py +7 -7
- telnyx/resources/managed_accounts/managed_accounts.py +33 -33
- telnyx/resources/media.py +23 -23
- telnyx/resources/messages/messages.py +121 -121
- telnyx/resources/messages/rcs.py +7 -7
- telnyx/resources/messaging/rcs/agents.py +15 -15
- telnyx/resources/messaging/rcs/rcs.py +7 -7
- telnyx/resources/messaging_hosted_number_orders/actions.py +7 -7
- telnyx/resources/messaging_hosted_number_orders/messaging_hosted_number_orders.py +21 -21
- telnyx/resources/messaging_hosted_numbers.py +3 -3
- telnyx/resources/messaging_numbers_bulk_updates.py +5 -5
- telnyx/resources/messaging_optouts.py +11 -11
- telnyx/resources/messaging_profiles/autoresp_configs.py +21 -21
- telnyx/resources/messaging_profiles/messaging_profiles.py +89 -73
- telnyx/resources/messaging_tollfree/verification/requests.py +233 -28
- telnyx/resources/messaging_url_domains.py +5 -5
- telnyx/resources/messsages.py +11 -11
- telnyx/resources/mobile_network_operators.py +7 -7
- telnyx/resources/mobile_push_credentials.py +23 -23
- telnyx/resources/network_coverage.py +9 -9
- telnyx/resources/networks/default_gateway.py +9 -9
- telnyx/resources/networks/networks.py +21 -21
- telnyx/resources/notification_channels.py +27 -27
- telnyx/resources/notification_event_conditions.py +7 -7
- telnyx/resources/notification_events.py +5 -5
- telnyx/resources/notification_profiles.py +17 -17
- telnyx/resources/notification_settings.py +21 -21
- telnyx/resources/number_block_orders.py +17 -17
- telnyx/resources/number_lookup.py +5 -5
- telnyx/resources/number_order_phone_numbers.py +13 -13
- telnyx/resources/number_orders.py +27 -27
- telnyx/resources/number_reservations/actions.py +3 -3
- telnyx/resources/number_reservations/number_reservations.py +15 -15
- telnyx/resources/numbers_features.py +3 -3
- telnyx/resources/oauth.py +855 -0
- telnyx/resources/oauth_clients.py +711 -0
- telnyx/resources/oauth_grants.py +349 -0
- telnyx/resources/operator_connect/actions.py +3 -3
- telnyx/resources/ota_updates.py +9 -9
- telnyx/resources/outbound_voice_profiles.py +89 -69
- telnyx/resources/partner_campaigns.py +25 -25
- telnyx/resources/payment/auto_recharge_prefs.py +15 -15
- telnyx/resources/phone_number_assignment_by_profile.py +15 -15
- telnyx/resources/phone_number_blocks/jobs.py +13 -13
- telnyx/resources/phone_number_campaigns.py +19 -19
- telnyx/resources/phone_numbers/actions.py +7 -7
- telnyx/resources/phone_numbers/csv_downloads.py +13 -13
- telnyx/resources/phone_numbers/jobs.py +47 -35
- telnyx/resources/phone_numbers/messaging.py +13 -13
- telnyx/resources/phone_numbers/phone_numbers.py +39 -39
- telnyx/resources/phone_numbers/voice.py +31 -31
- telnyx/resources/phone_numbers/voicemail.py +15 -15
- telnyx/resources/phone_numbers_regulatory_requirements.py +5 -5
- telnyx/resources/portability_checks.py +5 -5
- telnyx/resources/porting/events.py +11 -11
- telnyx/resources/porting/loa_configurations.py +17 -17
- telnyx/resources/porting/porting.py +3 -3
- telnyx/resources/porting/reports.py +11 -11
- telnyx/resources/porting_orders/action_requirements.py +11 -11
- telnyx/resources/porting_orders/actions.py +13 -13
- telnyx/resources/porting_orders/activation_jobs.py +11 -11
- telnyx/resources/porting_orders/additional_documents.py +15 -15
- telnyx/resources/porting_orders/associated_phone_numbers.py +13 -13
- telnyx/resources/porting_orders/comments.py +9 -9
- telnyx/resources/porting_orders/phone_number_blocks.py +13 -13
- telnyx/resources/porting_orders/phone_number_configurations.py +13 -13
- telnyx/resources/porting_orders/phone_number_extensions.py +13 -13
- telnyx/resources/porting_orders/porting_orders.py +79 -67
- telnyx/resources/porting_orders/verification_codes.py +19 -19
- telnyx/resources/porting_phone_numbers.py +7 -7
- telnyx/resources/portouts/comments.py +7 -7
- telnyx/resources/portouts/events.py +11 -11
- telnyx/resources/portouts/portouts.py +17 -17
- telnyx/resources/portouts/reports.py +11 -11
- telnyx/resources/portouts/supporting_documents.py +7 -7
- telnyx/resources/private_wireless_gateways.py +25 -25
- telnyx/resources/public_internet_gateways.py +19 -19
- telnyx/resources/queues/calls.py +7 -7
- telnyx/resources/queues/queues.py +3 -3
- telnyx/resources/recording_transcriptions.py +7 -7
- telnyx/resources/recordings/actions.py +3 -3
- telnyx/resources/recordings/recordings.py +11 -11
- telnyx/resources/regions.py +3 -3
- telnyx/resources/regulatory_requirements.py +5 -5
- telnyx/resources/reports/cdr_usage_reports.py +9 -9
- telnyx/resources/reports/mdr_usage_reports.py +21 -21
- telnyx/resources/reports/reports.py +47 -47
- telnyx/resources/requirement_groups.py +23 -23
- telnyx/resources/requirement_types.py +9 -11
- telnyx/resources/requirements.py +11 -11
- telnyx/resources/room_compositions.py +27 -27
- telnyx/resources/room_participants.py +9 -9
- telnyx/resources/room_recordings.py +17 -17
- telnyx/resources/rooms/actions.py +11 -11
- telnyx/resources/rooms/rooms.py +43 -43
- telnyx/resources/rooms/sessions/actions.py +21 -21
- telnyx/resources/rooms/sessions/sessions.py +27 -27
- telnyx/resources/seti.py +5 -5
- telnyx/resources/short_codes.py +11 -11
- telnyx/resources/sim_card_data_usage_notifications.py +21 -21
- telnyx/resources/sim_card_groups/actions.py +23 -23
- telnyx/resources/sim_card_groups/sim_card_groups.py +29 -29
- telnyx/resources/sim_card_order_preview.py +3 -3
- telnyx/resources/sim_card_orders.py +11 -11
- telnyx/resources/sim_cards/actions.py +39 -39
- telnyx/resources/sim_cards/sim_cards.py +48 -47
- telnyx/resources/siprec_connectors.py +13 -13
- telnyx/resources/storage/buckets/buckets.py +5 -5
- telnyx/resources/storage/buckets/ssl_certificate.py +11 -11
- telnyx/resources/storage/buckets/usage.py +5 -5
- telnyx/resources/storage/migration_sources.py +11 -11
- telnyx/resources/storage/migrations/actions.py +3 -3
- telnyx/resources/storage/migrations/migrations.py +9 -9
- telnyx/resources/storage/storage.py +3 -3
- telnyx/resources/sub_number_orders.py +17 -17
- telnyx/resources/sub_number_orders_report.py +19 -19
- telnyx/resources/telephony_credentials.py +31 -31
- telnyx/resources/texml/accounts/accounts.py +15 -15
- telnyx/resources/texml/accounts/calls/calls.py +156 -145
- telnyx/resources/texml/accounts/calls/recordings.py +5 -5
- telnyx/resources/texml/accounts/calls/recordings_json.py +19 -19
- telnyx/resources/texml/accounts/calls/siprec.py +5 -5
- telnyx/resources/texml/accounts/calls/streams.py +5 -5
- telnyx/resources/texml/accounts/conferences/conferences.py +31 -31
- telnyx/resources/texml/accounts/conferences/participants.py +134 -123
- telnyx/resources/texml/accounts/recordings/json.py +5 -5
- telnyx/resources/texml/accounts/transcriptions/json.py +5 -5
- telnyx/resources/texml/calls.py +79 -79
- telnyx/resources/texml/texml.py +3 -3
- telnyx/resources/texml_applications.py +65 -65
- telnyx/resources/text_to_speech.py +9 -9
- telnyx/resources/usage_reports.py +27 -27
- telnyx/resources/user_addresses.py +29 -31
- telnyx/resources/user_tags.py +5 -5
- telnyx/resources/verifications/actions.py +7 -7
- telnyx/resources/verifications/by_phone_number/actions.py +3 -3
- telnyx/resources/verifications/by_phone_number/by_phone_number.py +3 -3
- telnyx/resources/verifications/verifications.py +29 -19
- telnyx/resources/verified_numbers/actions.py +3 -3
- telnyx/resources/verified_numbers/verified_numbers.py +36 -15
- telnyx/resources/verify_profiles.py +226 -44
- telnyx/resources/virtual_cross_connects.py +45 -45
- telnyx/resources/virtual_cross_connects_coverage.py +9 -9
- telnyx/resources/webhook_deliveries.py +9 -9
- telnyx/resources/well_known.py +198 -0
- telnyx/resources/wireguard_interfaces.py +17 -17
- telnyx/resources/wireguard_peers.py +21 -21
- telnyx/resources/wireless/detail_records_reports.py +17 -17
- telnyx/resources/wireless/wireless.py +3 -3
- telnyx/resources/wireless_blocklist_values.py +3 -3
- telnyx/resources/wireless_blocklists.py +27 -27
- telnyx/types/__init__.py +49 -9
- telnyx/types/addresses/action_validate_response.py +8 -3
- telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
- telnyx/types/ai/__init__.py +1 -0
- telnyx/types/ai/assistant_import_params.py +1 -1
- telnyx/types/ai/{conversations/message_create_params.py → conversation_add_message_params.py} +4 -4
- telnyx/types/ai/conversations/__init__.py +0 -1
- telnyx/types/ai/import_metadata.py +1 -1
- telnyx/types/ai/inference_embedding_transfer_tool_params.py +6 -0
- telnyx/types/ai/inference_embedding_transfer_tool_params_param.py +6 -0
- telnyx/types/ai/inference_embedding_webhook_tool_params.py +2 -0
- telnyx/types/ai/inference_embedding_webhook_tool_params_param.py +2 -0
- telnyx/types/ai/voice_settings.py +49 -2
- telnyx/types/ai/voice_settings_param.py +49 -2
- telnyx/types/brand_create_params.py +2 -1
- telnyx/types/brand_update_params.py +2 -1
- telnyx/types/call_dial_params.py +10 -3
- telnyx/types/calls/action_answer_params.py +1 -2
- telnyx/types/calls/action_gather_using_ai_params.py +5 -8
- telnyx/types/calls/action_start_streaming_params.py +4 -2
- telnyx/types/calls/action_start_transcription_params.py +260 -6
- telnyx/types/calls/action_transfer_params.py +50 -0
- telnyx/types/calls/transcription_start_request_param.py +261 -6
- telnyx/types/campaign_submit_appeal_response.py +0 -3
- telnyx/types/country_coverage_retrieve_country_response.py +7 -0
- telnyx/types/country_coverage_retrieve_response.py +7 -0
- telnyx/types/global_ip_latency_retrieve_response.py +7 -7
- telnyx/types/legacy/__init__.py +3 -0
- telnyx/types/legacy/reporting/__init__.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/__init__.py +23 -0
- telnyx/types/legacy/reporting/batch_detail_records/cdr_detailed_req_response.py +63 -0
- telnyx/types/legacy/reporting/batch_detail_records/mdr_detail_report_response.py +42 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_create_params.py +55 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +24 -0
- telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_params.py +19 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +12 -0
- telnyx/types/legacy/reporting/batch_detail_records/stt_detail_report_response.py +27 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_create_params.py +57 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +13 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +13 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +24 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_fields_response.py +23 -0
- telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +13 -0
- telnyx/types/legacy/reporting/filter.py +31 -0
- telnyx/types/legacy/reporting/filter_param.py +30 -0
- telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_params.py +17 -0
- telnyx/types/legacy/reporting/usage_report_retrieve_speech_to_text_response.py +11 -0
- telnyx/types/legacy/reporting/usage_reports/__init__.py +20 -0
- telnyx/types/legacy/reporting/usage_reports/cdr_usage_report_response_legacy.py +43 -0
- telnyx/types/legacy/reporting/usage_reports/mdr_usage_report_response_legacy.py +38 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_create_params.py +29 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_create_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_list_params.py +15 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +24 -0
- telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/number_lookup_create_params.py +26 -0
- telnyx/types/legacy/reporting/usage_reports/number_lookup_list_params.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/voice_create_params.py +40 -0
- telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +13 -0
- telnyx/types/legacy/reporting/usage_reports/voice_list_params.py +15 -0
- telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +24 -0
- telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +13 -0
- telnyx/types/messaging_profile.py +3 -0
- telnyx/types/messaging_profile_create_params.py +3 -0
- telnyx/types/messaging_profile_update_params.py +3 -0
- telnyx/types/messaging_tollfree/verification/request_create_params.py +54 -2
- telnyx/types/messaging_tollfree/verification/request_update_params.py +54 -2
- telnyx/types/messaging_tollfree/verification/verification_request_egress.py +26 -0
- telnyx/types/messaging_tollfree/verification/verification_request_status.py +26 -0
- telnyx/types/number_order_status_update_webhook_event.py +30 -4
- telnyx/types/oauth_client.py +59 -0
- telnyx/types/oauth_client_create_params.py +39 -0
- telnyx/types/oauth_client_create_response.py +12 -0
- telnyx/types/oauth_client_list_params.py +38 -0
- telnyx/types/oauth_client_list_response.py +28 -0
- telnyx/types/oauth_client_retrieve_response.py +12 -0
- telnyx/types/oauth_client_update_params.py +36 -0
- telnyx/types/oauth_client_update_response.py +12 -0
- telnyx/types/oauth_grant.py +29 -0
- telnyx/types/oauth_grant_delete_response.py +12 -0
- telnyx/types/oauth_grant_list_params.py +17 -0
- telnyx/types/oauth_grant_list_response.py +28 -0
- telnyx/types/oauth_grant_retrieve_response.py +12 -0
- telnyx/types/oauth_grants_params.py +15 -0
- telnyx/types/oauth_grants_response.py +10 -0
- telnyx/types/oauth_introspect_params.py +12 -0
- telnyx/types/oauth_introspect_response.py +30 -0
- telnyx/types/oauth_register_params.py +39 -0
- telnyx/types/oauth_register_response.py +45 -0
- telnyx/types/oauth_retrieve_authorize_params.py +30 -0
- telnyx/types/oauth_retrieve_jwks_response.py +25 -0
- telnyx/types/oauth_retrieve_response.py +47 -0
- telnyx/types/oauth_token_params.py +33 -0
- telnyx/types/oauth_token_response.py +25 -0
- telnyx/types/outbound_voice_profile.py +27 -1
- telnyx/types/outbound_voice_profile_create_params.py +27 -1
- telnyx/types/outbound_voice_profile_list_params.py +1 -1
- telnyx/types/outbound_voice_profile_update_params.py +27 -1
- telnyx/types/phone_number_delete_response.py +7 -0
- telnyx/types/phone_number_detailed.py +7 -0
- telnyx/types/phone_number_list_params.py +6 -0
- telnyx/types/phone_numbers/job_update_batch_params.py +7 -0
- telnyx/types/porting_order.py +3 -0
- telnyx/types/porting_order_create_params.py +3 -0
- telnyx/types/porting_order_list_params.py +52 -31
- telnyx/types/porting_order_update_params.py +2 -0
- telnyx/types/porting_orders/phone_number_configuration_list_params.py +19 -19
- telnyx/types/requirement_group.py +2 -2
- telnyx/types/requirement_group_list_params.py +1 -1
- telnyx/types/shared/__init__.py +1 -0
- telnyx/types/{error.py → shared/api_error.py} +3 -3
- telnyx/types/shared/simple_sim_card.py +15 -0
- telnyx/types/sim_card.py +12 -0
- telnyx/types/sim_card_update_params.py +2 -1
- telnyx/types/stream_bidirectional_codec.py +1 -1
- telnyx/types/stream_codec.py +1 -1
- telnyx/types/texml/accounts/call_calls_params.py +16 -1
- telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
- telnyx/types/verification_trigger_call_params.py +7 -0
- telnyx/types/verified_number_create_params.py +10 -0
- telnyx/types/verify_profile.py +18 -3
- telnyx/types/verify_profile_create_template_params.py +12 -0
- telnyx/types/verify_profile_create_template_response.py +12 -0
- telnyx/types/verify_profile_message_template_response.py +13 -0
- telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
- telnyx/types/verify_profile_update_template_params.py +12 -0
- telnyx/types/verify_profile_update_template_response.py +12 -0
- telnyx/types/well_known_retrieve_authorization_server_metadata_response.py +42 -0
- telnyx/types/well_known_retrieve_protected_resource_metadata_response.py +15 -0
- {telnyx-3.4.0a0.dist-info → telnyx-3.5.0.dist-info}/METADATA +60 -19
- {telnyx-3.4.0a0.dist-info → telnyx-3.5.0.dist-info}/RECORD +412 -327
- telnyx/types/client_create_bucket_params.py +0 -13
- telnyx/types/client_delete_objects_params.py +0 -20
- telnyx/types/client_get_object_params.py +0 -15
- telnyx/types/client_list_objects_params.py +0 -13
- telnyx/types/client_put_object_params.py +0 -20
- telnyx/types/list_buckets_response.py +0 -20
- telnyx/types/list_objects_response.py +0 -24
- {telnyx-3.4.0a0.dist-info → telnyx-3.5.0.dist-info}/WHEEL +0 -0
- {telnyx-3.4.0a0.dist-info → telnyx-3.5.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from typing import Iterable
|
|
5
6
|
from typing_extensions import Literal, Required, Annotated, TypedDict
|
|
6
7
|
|
|
7
8
|
from ...._utils import PropertyInfo
|
|
8
9
|
|
|
9
|
-
__all__ = ["CallCallsParams"]
|
|
10
|
+
__all__ = ["CallCallsParams", "CustomHeader"]
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
class CallCallsParams(TypedDict, total=False):
|
|
@@ -59,6 +60,12 @@ class CallCallsParams(TypedDict, total=False):
|
|
|
59
60
|
cancel_playback_on_machine_detection: Annotated[bool, PropertyInfo(alias="CancelPlaybackOnMachineDetection")]
|
|
60
61
|
"""Whether to cancel ongoing playback on `machine` detection. Defaults to `true`."""
|
|
61
62
|
|
|
63
|
+
custom_headers: Annotated[Iterable[CustomHeader], PropertyInfo(alias="CustomHeaders")]
|
|
64
|
+
"""Custom HTTP headers to be sent with the call.
|
|
65
|
+
|
|
66
|
+
Each header should be an object with 'name' and 'value' properties.
|
|
67
|
+
"""
|
|
68
|
+
|
|
62
69
|
detection_mode: Annotated[Literal["Premium", "Regular"], PropertyInfo(alias="DetectionMode")]
|
|
63
70
|
"""Allows you to chose between Premium and Standard detections."""
|
|
64
71
|
|
|
@@ -167,3 +174,11 @@ class CallCallsParams(TypedDict, total=False):
|
|
|
167
174
|
|
|
168
175
|
The default value is inherited from TeXML Application setting.
|
|
169
176
|
"""
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
class CustomHeader(TypedDict, total=False):
|
|
180
|
+
name: Required[str]
|
|
181
|
+
"""The name of the custom header"""
|
|
182
|
+
|
|
183
|
+
value: Required[str]
|
|
184
|
+
"""The value of the custom header"""
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from typing import Iterable
|
|
5
6
|
from typing_extensions import Literal, Required, Annotated, TypedDict
|
|
6
7
|
|
|
7
8
|
from ....._utils import PropertyInfo
|
|
8
9
|
|
|
9
|
-
__all__ = ["ParticipantParticipantsParams"]
|
|
10
|
+
__all__ = ["ParticipantParticipantsParams", "CustomHeader"]
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
class ParticipantParticipantsParams(TypedDict, total=False):
|
|
@@ -113,6 +114,12 @@ class ParticipantParticipantsParams(TypedDict, total=False):
|
|
|
113
114
|
Defaults to `trim-silence`.
|
|
114
115
|
"""
|
|
115
116
|
|
|
117
|
+
custom_headers: Annotated[Iterable[CustomHeader], PropertyInfo(alias="CustomHeaders")]
|
|
118
|
+
"""Custom HTTP headers to be sent with the call.
|
|
119
|
+
|
|
120
|
+
Each header should be an object with 'name' and 'value' properties.
|
|
121
|
+
"""
|
|
122
|
+
|
|
116
123
|
early_media: Annotated[bool, PropertyInfo(alias="EarlyMedia")]
|
|
117
124
|
"""
|
|
118
125
|
Whether participant shall be bridged to conference before the participant
|
|
@@ -249,3 +256,11 @@ class ParticipantParticipantsParams(TypedDict, total=False):
|
|
|
249
256
|
The URL to call for an audio file to play while the participant is waiting for
|
|
250
257
|
the conference to start.
|
|
251
258
|
"""
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
class CustomHeader(TypedDict, total=False):
|
|
262
|
+
name: Required[str]
|
|
263
|
+
"""The name of the custom header"""
|
|
264
|
+
|
|
265
|
+
value: Required[str]
|
|
266
|
+
"""The value of the custom header"""
|
|
@@ -18,5 +18,12 @@ class VerificationTriggerCallParams(TypedDict, total=False):
|
|
|
18
18
|
custom_code: Optional[str]
|
|
19
19
|
"""Send a self-generated numeric code to the end-user"""
|
|
20
20
|
|
|
21
|
+
extension: Optional[str]
|
|
22
|
+
"""Optional extension to dial after call is answered using DTMF digits.
|
|
23
|
+
|
|
24
|
+
Valid digits are 0-9, A-D, \\**, and #. Pauses can be added using w (0.5s) and W
|
|
25
|
+
(1s).
|
|
26
|
+
"""
|
|
27
|
+
|
|
21
28
|
timeout_secs: int
|
|
22
29
|
"""The number of seconds the verification code is valid for."""
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from typing import Optional
|
|
5
6
|
from typing_extensions import Literal, Required, TypedDict
|
|
6
7
|
|
|
7
8
|
__all__ = ["VerifiedNumberCreateParams"]
|
|
@@ -12,3 +13,12 @@ class VerifiedNumberCreateParams(TypedDict, total=False):
|
|
|
12
13
|
|
|
13
14
|
verification_method: Required[Literal["sms", "call"]]
|
|
14
15
|
"""Verification method."""
|
|
16
|
+
|
|
17
|
+
extension: Optional[str]
|
|
18
|
+
"""Optional DTMF extension sequence to dial after the call is answered.
|
|
19
|
+
|
|
20
|
+
This parameter enables verification of phone numbers behind IVR systems that
|
|
21
|
+
require extension dialing. Valid characters: digits 0-9, letters A-D, symbols \\**
|
|
22
|
+
and #. Pauses: w = 0.5 second pause, W = 1 second pause. Maximum length: 50
|
|
23
|
+
characters. Only works with 'call' verification method.
|
|
24
|
+
"""
|
telnyx/types/verify_profile.py
CHANGED
|
@@ -38,12 +38,17 @@ class Call(BaseModel):
|
|
|
38
38
|
to `["*"]`, all destinations will be allowed.
|
|
39
39
|
"""
|
|
40
40
|
|
|
41
|
-
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
|
|
42
41
|
if TYPE_CHECKING:
|
|
42
|
+
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
|
|
43
|
+
# value to this field, so for compatibility we avoid doing it at runtime.
|
|
44
|
+
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
|
|
45
|
+
|
|
43
46
|
# Stub to indicate that arbitrary properties are accepted.
|
|
44
47
|
# To access properties that are not valid identifiers you can use `getattr`, e.g.
|
|
45
48
|
# `getattr(obj, '$type')`
|
|
46
49
|
def __getattr__(self, attr: str) -> object: ...
|
|
50
|
+
else:
|
|
51
|
+
__pydantic_extra__: Dict[str, object]
|
|
47
52
|
|
|
48
53
|
|
|
49
54
|
class Flashcall(BaseModel):
|
|
@@ -55,12 +60,17 @@ class Flashcall(BaseModel):
|
|
|
55
60
|
identity.
|
|
56
61
|
"""
|
|
57
62
|
|
|
58
|
-
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
|
|
59
63
|
if TYPE_CHECKING:
|
|
64
|
+
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
|
|
65
|
+
# value to this field, so for compatibility we avoid doing it at runtime.
|
|
66
|
+
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
|
|
67
|
+
|
|
60
68
|
# Stub to indicate that arbitrary properties are accepted.
|
|
61
69
|
# To access properties that are not valid identifiers you can use `getattr`, e.g.
|
|
62
70
|
# `getattr(obj, '$type')`
|
|
63
71
|
def __getattr__(self, attr: str) -> object: ...
|
|
72
|
+
else:
|
|
73
|
+
__pydantic_extra__: Dict[str, object]
|
|
64
74
|
|
|
65
75
|
|
|
66
76
|
class SMS(BaseModel):
|
|
@@ -97,12 +107,17 @@ class SMS(BaseModel):
|
|
|
97
107
|
to `["*"]`, all destinations will be allowed.
|
|
98
108
|
"""
|
|
99
109
|
|
|
100
|
-
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
|
|
101
110
|
if TYPE_CHECKING:
|
|
111
|
+
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
|
|
112
|
+
# value to this field, so for compatibility we avoid doing it at runtime.
|
|
113
|
+
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
|
|
114
|
+
|
|
102
115
|
# Stub to indicate that arbitrary properties are accepted.
|
|
103
116
|
# To access properties that are not valid identifiers you can use `getattr`, e.g.
|
|
104
117
|
# `getattr(obj, '$type')`
|
|
105
118
|
def __getattr__(self, attr: str) -> object: ...
|
|
119
|
+
else:
|
|
120
|
+
__pydantic_extra__: Dict[str, object]
|
|
106
121
|
|
|
107
122
|
|
|
108
123
|
class VerifyProfile(BaseModel):
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["VerifyProfileCreateTemplateParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class VerifyProfileCreateTemplateParams(TypedDict, total=False):
|
|
11
|
+
text: Required[str]
|
|
12
|
+
"""The text content of the message template."""
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
from .verify_profile_message_template_response import VerifyProfileMessageTemplateResponse
|
|
7
|
+
|
|
8
|
+
__all__ = ["VerifyProfileCreateTemplateResponse"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class VerifyProfileCreateTemplateResponse(BaseModel):
|
|
12
|
+
data: Optional[VerifyProfileMessageTemplateResponse] = None
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["VerifyProfileMessageTemplateResponse"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class VerifyProfileMessageTemplateResponse(BaseModel):
|
|
11
|
+
id: Optional[str] = None
|
|
12
|
+
|
|
13
|
+
text: Optional[str] = None
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import List
|
|
3
|
+
from typing import List
|
|
4
4
|
|
|
5
5
|
from .._models import BaseModel
|
|
6
|
+
from .verify_profile_message_template_response import VerifyProfileMessageTemplateResponse
|
|
6
7
|
|
|
7
|
-
__all__ = ["VerifyProfileRetrieveTemplatesResponse"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class Data(BaseModel):
|
|
11
|
-
id: Optional[str] = None
|
|
12
|
-
|
|
13
|
-
text: Optional[str] = None
|
|
8
|
+
__all__ = ["VerifyProfileRetrieveTemplatesResponse"]
|
|
14
9
|
|
|
15
10
|
|
|
16
11
|
class VerifyProfileRetrieveTemplatesResponse(BaseModel):
|
|
17
|
-
data: List[
|
|
12
|
+
data: List[VerifyProfileMessageTemplateResponse]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Required, TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["VerifyProfileUpdateTemplateParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class VerifyProfileUpdateTemplateParams(TypedDict, total=False):
|
|
11
|
+
text: Required[str]
|
|
12
|
+
"""The text content of the message template."""
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
from .verify_profile_message_template_response import VerifyProfileMessageTemplateResponse
|
|
7
|
+
|
|
8
|
+
__all__ = ["VerifyProfileUpdateTemplateResponse"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class VerifyProfileUpdateTemplateResponse(BaseModel):
|
|
12
|
+
data: Optional[VerifyProfileMessageTemplateResponse] = None
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["WellKnownRetrieveAuthorizationServerMetadataResponse"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class WellKnownRetrieveAuthorizationServerMetadataResponse(BaseModel):
|
|
11
|
+
authorization_endpoint: Optional[str] = None
|
|
12
|
+
"""Authorization endpoint URL"""
|
|
13
|
+
|
|
14
|
+
code_challenge_methods_supported: Optional[List[str]] = None
|
|
15
|
+
"""Supported PKCE code challenge methods"""
|
|
16
|
+
|
|
17
|
+
grant_types_supported: Optional[List[str]] = None
|
|
18
|
+
"""Supported grant types"""
|
|
19
|
+
|
|
20
|
+
introspection_endpoint: Optional[str] = None
|
|
21
|
+
"""Token introspection endpoint URL"""
|
|
22
|
+
|
|
23
|
+
issuer: Optional[str] = None
|
|
24
|
+
"""Authorization server issuer URL"""
|
|
25
|
+
|
|
26
|
+
jwks_uri: Optional[str] = None
|
|
27
|
+
"""JWK Set endpoint URL"""
|
|
28
|
+
|
|
29
|
+
registration_endpoint: Optional[str] = None
|
|
30
|
+
"""Dynamic client registration endpoint URL"""
|
|
31
|
+
|
|
32
|
+
response_types_supported: Optional[List[str]] = None
|
|
33
|
+
"""Supported response types"""
|
|
34
|
+
|
|
35
|
+
scopes_supported: Optional[List[str]] = None
|
|
36
|
+
"""Supported OAuth scopes"""
|
|
37
|
+
|
|
38
|
+
token_endpoint: Optional[str] = None
|
|
39
|
+
"""Token endpoint URL"""
|
|
40
|
+
|
|
41
|
+
token_endpoint_auth_methods_supported: Optional[List[str]] = None
|
|
42
|
+
"""Supported token endpoint authentication methods"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["WellKnownRetrieveProtectedResourceMetadataResponse"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class WellKnownRetrieveProtectedResourceMetadataResponse(BaseModel):
|
|
11
|
+
authorization_servers: Optional[List[str]] = None
|
|
12
|
+
"""List of authorization server URLs"""
|
|
13
|
+
|
|
14
|
+
resource: Optional[str] = None
|
|
15
|
+
"""Protected resource URL"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: telnyx
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.5.0
|
|
4
4
|
Summary: The official Python library for the telnyx API
|
|
5
5
|
Project-URL: Homepage, https://github.com/team-telnyx/telnyx-python
|
|
6
6
|
Project-URL: Repository, https://github.com/team-telnyx/telnyx-python
|
|
@@ -52,7 +52,7 @@ The full API of this library can be found in [api.md](https://github.com/team-te
|
|
|
52
52
|
|
|
53
53
|
```sh
|
|
54
54
|
# install from PyPI
|
|
55
|
-
pip install
|
|
55
|
+
pip install telnyx
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
## Usage
|
|
@@ -67,8 +67,13 @@ client = Telnyx(
|
|
|
67
67
|
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
|
|
68
68
|
)
|
|
69
69
|
|
|
70
|
-
response = client.
|
|
71
|
-
|
|
70
|
+
response = client.calls.dial(
|
|
71
|
+
connection_id="conn12345",
|
|
72
|
+
from_="+15557654321",
|
|
73
|
+
to="+15551234567",
|
|
74
|
+
webhook_url="https://your-webhook.url/events",
|
|
75
|
+
)
|
|
76
|
+
print(response.data)
|
|
72
77
|
```
|
|
73
78
|
|
|
74
79
|
While you can provide an `api_key` keyword argument,
|
|
@@ -91,8 +96,13 @@ client = AsyncTelnyx(
|
|
|
91
96
|
|
|
92
97
|
|
|
93
98
|
async def main() -> None:
|
|
94
|
-
response = await client.
|
|
95
|
-
|
|
99
|
+
response = await client.calls.dial(
|
|
100
|
+
connection_id="conn12345",
|
|
101
|
+
from_="+15557654321",
|
|
102
|
+
to="+15551234567",
|
|
103
|
+
webhook_url="https://your-webhook.url/events",
|
|
104
|
+
)
|
|
105
|
+
print(response.data)
|
|
96
106
|
|
|
97
107
|
|
|
98
108
|
asyncio.run(main())
|
|
@@ -108,7 +118,7 @@ You can enable this by installing `aiohttp`:
|
|
|
108
118
|
|
|
109
119
|
```sh
|
|
110
120
|
# install from PyPI
|
|
111
|
-
pip install
|
|
121
|
+
pip install telnyx[aiohttp]
|
|
112
122
|
```
|
|
113
123
|
|
|
114
124
|
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
|
|
@@ -124,8 +134,13 @@ async def main() -> None:
|
|
|
124
134
|
api_key="My API Key",
|
|
125
135
|
http_client=DefaultAioHttpClient(),
|
|
126
136
|
) as client:
|
|
127
|
-
response = await client.
|
|
128
|
-
|
|
137
|
+
response = await client.calls.dial(
|
|
138
|
+
connection_id="conn12345",
|
|
139
|
+
from_="+15557654321",
|
|
140
|
+
to="+15551234567",
|
|
141
|
+
webhook_url="https://your-webhook.url/events",
|
|
142
|
+
)
|
|
143
|
+
print(response.data)
|
|
129
144
|
|
|
130
145
|
|
|
131
146
|
asyncio.run(main())
|
|
@@ -149,10 +164,24 @@ from telnyx import Telnyx
|
|
|
149
164
|
|
|
150
165
|
client = Telnyx()
|
|
151
166
|
|
|
152
|
-
|
|
153
|
-
|
|
167
|
+
response = client.calls.dial(
|
|
168
|
+
connection_id="7267xxxxxxxxxxxxxx",
|
|
169
|
+
from_="+18005550101",
|
|
170
|
+
to="+18005550100 or sip:username@sip.telnyx.com",
|
|
171
|
+
answering_machine_detection_config={
|
|
172
|
+
"after_greeting_silence_millis": 1000,
|
|
173
|
+
"between_words_silence_millis": 1000,
|
|
174
|
+
"greeting_duration_millis": 1000,
|
|
175
|
+
"greeting_silence_duration_millis": 2000,
|
|
176
|
+
"greeting_total_analysis_time_millis": 50000,
|
|
177
|
+
"initial_silence_millis": 1000,
|
|
178
|
+
"maximum_number_of_words": 1000,
|
|
179
|
+
"maximum_word_length_millis": 2000,
|
|
180
|
+
"silence_threshold": 512,
|
|
181
|
+
"total_analysis_time_millis": 5000,
|
|
182
|
+
},
|
|
154
183
|
)
|
|
155
|
-
print(
|
|
184
|
+
print(response.answering_machine_detection_config)
|
|
156
185
|
```
|
|
157
186
|
|
|
158
187
|
## File uploads
|
|
@@ -189,7 +218,9 @@ from telnyx import Telnyx
|
|
|
189
218
|
client = Telnyx()
|
|
190
219
|
|
|
191
220
|
try:
|
|
192
|
-
client.
|
|
221
|
+
client.number_orders.create(
|
|
222
|
+
phone_numbers=[{"phone_number": "+15558675309"}],
|
|
223
|
+
)
|
|
193
224
|
except telnyx.APIConnectionError as e:
|
|
194
225
|
print("The server could not be reached")
|
|
195
226
|
print(e.__cause__) # an underlying Exception, likely raised within httpx.
|
|
@@ -232,7 +263,9 @@ client = Telnyx(
|
|
|
232
263
|
)
|
|
233
264
|
|
|
234
265
|
# Or, configure per-request:
|
|
235
|
-
client.with_options(max_retries=5).
|
|
266
|
+
client.with_options(max_retries=5).number_orders.create(
|
|
267
|
+
phone_numbers=[{"phone_number": "+15558675309"}],
|
|
268
|
+
)
|
|
236
269
|
```
|
|
237
270
|
|
|
238
271
|
### Timeouts
|
|
@@ -255,7 +288,9 @@ client = Telnyx(
|
|
|
255
288
|
)
|
|
256
289
|
|
|
257
290
|
# Override per-request:
|
|
258
|
-
client.with_options(timeout=5.0).
|
|
291
|
+
client.with_options(timeout=5.0).number_orders.create(
|
|
292
|
+
phone_numbers=[{"phone_number": "+15558675309"}],
|
|
293
|
+
)
|
|
259
294
|
```
|
|
260
295
|
|
|
261
296
|
On timeout, an `APITimeoutError` is thrown.
|
|
@@ -296,11 +331,15 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
|
|
|
296
331
|
from telnyx import Telnyx
|
|
297
332
|
|
|
298
333
|
client = Telnyx()
|
|
299
|
-
response = client.with_raw_response.
|
|
334
|
+
response = client.number_orders.with_raw_response.create(
|
|
335
|
+
phone_numbers=[{
|
|
336
|
+
"phone_number": "+15558675309"
|
|
337
|
+
}],
|
|
338
|
+
)
|
|
300
339
|
print(response.headers.get('X-My-Header'))
|
|
301
340
|
|
|
302
|
-
|
|
303
|
-
print(
|
|
341
|
+
number_order = response.parse() # get the object that `number_orders.create()` would have returned
|
|
342
|
+
print(number_order.data)
|
|
304
343
|
```
|
|
305
344
|
|
|
306
345
|
These methods return an [`APIResponse`](https://github.com/team-telnyx/telnyx-python/tree/master/src/telnyx/_response.py) object.
|
|
@@ -314,7 +353,9 @@ The above interface eagerly reads the full response body when you make the reque
|
|
|
314
353
|
To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
|
|
315
354
|
|
|
316
355
|
```python
|
|
317
|
-
with client.with_streaming_response.
|
|
356
|
+
with client.number_orders.with_streaming_response.create(
|
|
357
|
+
phone_numbers=[{"phone_number": "+15558675309"}],
|
|
358
|
+
) as response:
|
|
318
359
|
print(response.headers.get("X-My-Header"))
|
|
319
360
|
|
|
320
361
|
for line in response.iter_lines():
|