telnyx 3.7.0a0__py3-none-any.whl → 3.8.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 +2 -0
- telnyx/_client.py +25 -756
- telnyx/_exceptions.py +4 -0
- telnyx/_version.py +1 -1
- telnyx/resources/advanced_orders.py +63 -63
- telnyx/resources/ai/assistants/assistants.py +15 -17
- telnyx/resources/ai/assistants/versions.py +13 -15
- telnyx/resources/brand/brand.py +8 -4
- telnyx/resources/calls/actions.py +10 -6
- telnyx/resources/calls/calls.py +16 -2
- telnyx/resources/documents.py +242 -37
- telnyx/resources/legacy/reporting/batch_detail_records/messaging.py +3 -2
- telnyx/resources/legacy/reporting/batch_detail_records/voice.py +3 -2
- telnyx/resources/messaging_profiles/messaging_profiles.py +16 -0
- telnyx/resources/messaging_tollfree/verification/requests.py +203 -1
- telnyx/resources/outbound_voice_profiles.py +24 -4
- telnyx/resources/sim_cards/actions.py +12 -12
- telnyx/resources/texml/accounts/calls/calls.py +11 -0
- telnyx/resources/texml/accounts/conferences/participants.py +11 -0
- telnyx/resources/verified_numbers/verified_numbers.py +25 -4
- telnyx/resources/verify_profiles.py +9 -10
- telnyx/resources/webhooks.py +57 -3
- telnyx/types/__init__.py +18 -15
- telnyx/types/access_ip_address_list_response.py +3 -12
- telnyx/types/access_ip_range_list_response.py +3 -12
- telnyx/types/addresses/action_validate_response.py +7 -2
- telnyx/types/{advanced_order_update_params.py → advanced_order_update_requirement_group_params.py} +2 -2
- telnyx/types/ai/__init__.py +1 -3
- telnyx/types/ai/assistant_import_params.py +1 -1
- telnyx/types/ai/assistants/__init__.py +0 -3
- telnyx/types/ai/assistants_list.py +4 -88
- telnyx/types/ai/import_metadata.py +1 -1
- telnyx/types/ai/{assistant_clone_response.py → inference_embedding.py} +2 -2
- 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/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_ai_gather_ended_webhook_event1.py +78 -0
- telnyx/types/call_ai_gather_message_history_updated_webhook_event1.py +69 -0
- telnyx/types/call_ai_gather_partial_results_webhook_event1.py +75 -0
- telnyx/types/call_answered_webhook_event1.py +75 -0
- telnyx/types/call_bridged_webhook_event1.py +58 -0
- telnyx/types/call_conversation_ended_webhook_event1.py +84 -0
- telnyx/types/call_conversation_insights_generated_webhook_event1.py +67 -0
- telnyx/types/call_dial_params.py +10 -1
- telnyx/types/call_dtmf_received_webhook_event1.py +61 -0
- telnyx/types/call_enqueued_webhook_event1.py +59 -0
- telnyx/types/call_fork_started_webhook_event1.py +53 -0
- telnyx/types/call_fork_stopped_webhook_event1.py +53 -0
- telnyx/types/call_gather_ended_webhook_event1.py +64 -0
- telnyx/types/call_hangup_webhook_event1.py +150 -0
- telnyx/types/call_initiated_webhook_event1.py +96 -0
- telnyx/types/call_left_queue_webhook_event1.py +62 -0
- telnyx/types/call_machine_detection_ended_webhook_event1.py +61 -0
- telnyx/types/call_machine_greeting_ended_webhook_event1.py +61 -0
- telnyx/types/call_machine_premium_detection_ended_webhook_event1.py +63 -0
- telnyx/types/call_machine_premium_greeting_ended_webhook_event1.py +61 -0
- telnyx/types/call_playback_ended_webhook_event1.py +70 -0
- telnyx/types/call_playback_started_webhook_event1.py +62 -0
- telnyx/types/call_recording_error_webhook_event1.py +60 -0
- telnyx/types/call_recording_saved_webhook_event1.py +94 -0
- telnyx/types/call_recording_transcription_saved_webhook_event1.py +71 -0
- telnyx/types/call_refer_completed_webhook_event1.py +61 -0
- telnyx/types/call_refer_failed_webhook_event1.py +61 -0
- telnyx/types/call_refer_started_webhook_event1.py +61 -0
- telnyx/types/call_siprec_failed_webhook_event1.py +53 -0
- telnyx/types/call_siprec_started_webhook_event1.py +50 -0
- telnyx/types/call_siprec_stopped_webhook_event1.py +53 -0
- telnyx/types/call_speak_ended_webhook_event1.py +53 -0
- telnyx/types/call_speak_started_webhook_event1.py +50 -0
- telnyx/types/call_streaming_failed_webhook_event1.py +70 -0
- telnyx/types/call_streaming_started_webhook_event1.py +53 -0
- telnyx/types/call_streaming_stopped_webhook_event1.py +53 -0
- telnyx/types/calls/__init__.py +1 -0
- telnyx/types/calls/action_start_streaming_params.py +2 -1
- telnyx/types/calls/action_start_transcription_params.py +160 -6
- telnyx/types/calls/telnyx_transcription_language.py +108 -0
- telnyx/types/calls/transcription_engine_b_config_param.py +3 -102
- telnyx/types/calls/transcription_start_request_param.py +161 -6
- telnyx/types/campaign_status_update_webhook_event1.py +26 -0
- telnyx/types/conference_created_webhook_event1.py +53 -0
- telnyx/types/conference_ended_webhook_event1.py +56 -0
- telnyx/types/conference_floor_changed_webhook_event1.py +45 -0
- telnyx/types/conference_participant_joined_webhook_event1.py +53 -0
- telnyx/types/conference_participant_left_webhook_event1.py +53 -0
- telnyx/types/conference_participant_playback_ended_webhook_event1.py +65 -0
- telnyx/types/conference_participant_playback_started_webhook_event1.py +65 -0
- telnyx/types/conference_participant_speak_ended_webhook_event1.py +56 -0
- telnyx/types/conference_participant_speak_started_webhook_event1.py +56 -0
- telnyx/types/conference_playback_ended_webhook_event1.py +49 -0
- telnyx/types/conference_playback_started_webhook_event1.py +49 -0
- telnyx/types/conference_recording_saved_webhook_event1.py +103 -0
- telnyx/types/conference_speak_ended_webhook_event1.py +40 -0
- telnyx/types/conference_speak_started_webhook_event1.py +40 -0
- telnyx/types/country_coverage_retrieve_country_response.py +7 -0
- telnyx/types/country_coverage_retrieve_response.py +7 -0
- telnyx/types/customer_service_record_status_changed_webhook_event1.py +55 -0
- telnyx/types/delivery_update_webhook_event1.py +40 -0
- telnyx/types/document_upload_json_params.py +39 -0
- telnyx/types/document_upload_json_response.py +12 -0
- telnyx/types/fax_delivered_webhook_event1.py +69 -0
- telnyx/types/fax_failed_webhook_event1.py +66 -0
- telnyx/types/fax_media_processed_webhook_event1.py +63 -0
- telnyx/types/fax_queued_webhook_event1.py +63 -0
- telnyx/types/fax_sending_started_webhook_event1.py +63 -0
- telnyx/types/inbound_message_webhook_event1.py +227 -0
- telnyx/types/legacy/reporting/__init__.py +2 -0
- telnyx/types/legacy/reporting/batch_detail_records/__init__.py +4 -0
- telnyx/types/legacy/reporting/batch_detail_records/batch_csv_pagination_meta.py +17 -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 +4 -26
- telnyx/types/legacy/reporting/batch_detail_records/messaging_create_response.py +4 -60
- telnyx/types/legacy/reporting/batch_detail_records/messaging_delete_response.py +4 -60
- telnyx/types/legacy/reporting/batch_detail_records/messaging_list_response.py +5 -70
- telnyx/types/legacy/reporting/batch_detail_records/messaging_retrieve_response.py +4 -60
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_create_response.py +3 -22
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_delete_response.py +3 -22
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_list_response.py +3 -22
- telnyx/types/legacy/reporting/batch_detail_records/speech_to_text_retrieve_response.py +3 -22
- 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 +4 -26
- telnyx/types/legacy/reporting/batch_detail_records/voice_create_response.py +4 -82
- telnyx/types/legacy/reporting/batch_detail_records/voice_delete_response.py +4 -82
- telnyx/types/legacy/reporting/batch_detail_records/voice_list_response.py +5 -92
- telnyx/types/legacy/reporting/batch_detail_records/voice_retrieve_response.py +4 -82
- telnyx/types/legacy/reporting/filter.py +31 -0
- telnyx/types/legacy/reporting/filter_param.py +30 -0
- telnyx/types/legacy/reporting/usage_reports/__init__.py +3 -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_response.py +4 -34
- telnyx/types/legacy/reporting/usage_reports/messaging_delete_response.py +4 -34
- telnyx/types/legacy/reporting/usage_reports/messaging_list_response.py +5 -44
- telnyx/types/legacy/reporting/usage_reports/messaging_retrieve_response.py +4 -34
- telnyx/types/legacy/reporting/usage_reports/standard_pagination_meta.py +17 -0
- telnyx/types/legacy/reporting/usage_reports/voice_create_response.py +4 -39
- telnyx/types/legacy/reporting/usage_reports/voice_delete_response.py +4 -39
- telnyx/types/legacy/reporting/usage_reports/voice_list_response.py +5 -49
- telnyx/types/legacy/reporting/usage_reports/voice_retrieve_response.py +4 -39
- telnyx/types/message_template.py +12 -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/__init__.py +1 -0
- telnyx/types/messaging_tollfree/verification/request_create_params.py +51 -1
- telnyx/types/messaging_tollfree/verification/request_update_params.py +51 -1
- telnyx/types/messaging_tollfree/verification/toll_free_verification_entity_type.py +9 -0
- telnyx/types/messaging_tollfree/verification/verification_request_egress.py +24 -0
- telnyx/types/messaging_tollfree/verification/verification_request_status.py +24 -0
- telnyx/types/number_order_status_update_webhook_event1.py +38 -0
- telnyx/types/oauth_client.py +59 -0
- telnyx/types/oauth_client_create_response.py +4 -55
- telnyx/types/oauth_client_list_response.py +5 -69
- telnyx/types/oauth_client_retrieve_response.py +4 -55
- telnyx/types/oauth_client_update_response.py +4 -55
- telnyx/types/oauth_grant.py +29 -0
- telnyx/types/oauth_grant_delete_response.py +4 -25
- telnyx/types/oauth_grant_list_response.py +5 -39
- telnyx/types/oauth_grant_retrieve_response.py +4 -25
- 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/pagination_meta_cloudflare_ip_list_sync.py +15 -0
- telnyx/types/pagination_meta_oauth.py +21 -0
- telnyx/types/phone_number_blocks/__init__.py +1 -0
- telnyx/types/phone_number_blocks/job.py +3 -34
- telnyx/types/phone_number_blocks/job_error.py +32 -0
- telnyx/types/phone_numbers/phone_numbers_job.py +3 -36
- telnyx/types/replaced_link_click_webhook_event1.py +32 -0
- telnyx/types/report_list_mdrs_response.py +3 -12
- telnyx/types/reports/__init__.py +1 -0
- telnyx/types/reports/mdr_usage_report_list_response.py +3 -12
- telnyx/types/reports/pagination_meta_reporting.py +17 -0
- 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/{api_error.py → shared/api_error.py} +1 -1
- telnyx/types/stream_bidirectional_sampling_rate.py +7 -0
- telnyx/types/streaming_failed_webhook_event1.py +70 -0
- telnyx/types/streaming_started_webhook_event1.py +53 -0
- telnyx/types/streaming_stopped_webhook_event1.py +53 -0
- telnyx/types/texml/accounts/call_calls_params.py +16 -1
- telnyx/types/texml/accounts/conferences/participant_participants_params.py +16 -1
- telnyx/types/transcription_webhook_event1.py +72 -0
- telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
- telnyx/types/verifications/__init__.py +1 -0
- telnyx/types/verifications/by_phone_number_list_response.py +4 -13
- telnyx/types/verifications/verify_meta.py +17 -0
- telnyx/types/verified_number_create_params.py +10 -0
- telnyx/types/verify_profile.py +18 -3
- telnyx/types/verify_profile_list_response.py +4 -13
- telnyx/types/{verify_profile_create_template_response.py → verify_profile_message_template_response.py} +2 -6
- telnyx/types/verify_profile_retrieve_templates_response.py +4 -9
- {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/METADATA +6 -4
- {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/RECORD +201 -127
- telnyx/types/ai/assistant_create_response.py +0 -92
- telnyx/types/ai/assistant_retrieve_response.py +0 -92
- telnyx/types/ai/assistants/version_promote_response.py +0 -92
- telnyx/types/ai/assistants/version_retrieve_response.py +0 -92
- telnyx/types/ai/assistants/version_update_response.py +0 -92
- 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/types/verify_profile_update_template_response.py +0 -17
- {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/WHEEL +0 -0
- {telnyx-3.7.0a0.dist-info → telnyx-3.8.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from pydantic import Field as FieldInfo
|
|
8
|
+
|
|
9
|
+
from .._models import BaseModel
|
|
10
|
+
|
|
11
|
+
__all__ = ["CallConversationEndedWebhookEvent", "Data", "DataPayload"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class DataPayload(BaseModel):
|
|
15
|
+
assistant_id: Optional[str] = None
|
|
16
|
+
"""Unique identifier of the assistant involved in the call."""
|
|
17
|
+
|
|
18
|
+
call_control_id: Optional[str] = None
|
|
19
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
20
|
+
|
|
21
|
+
call_leg_id: Optional[str] = None
|
|
22
|
+
"""ID that is unique to the call leg."""
|
|
23
|
+
|
|
24
|
+
call_session_id: Optional[str] = None
|
|
25
|
+
"""ID that is unique to the call session (group of related call legs)."""
|
|
26
|
+
|
|
27
|
+
calling_party_type: Optional[Literal["pstn", "sip"]] = None
|
|
28
|
+
"""The type of calling party connection."""
|
|
29
|
+
|
|
30
|
+
client_state: Optional[str] = None
|
|
31
|
+
"""Base64-encoded state received from a command."""
|
|
32
|
+
|
|
33
|
+
connection_id: Optional[str] = None
|
|
34
|
+
"""Call Control App ID (formerly Telnyx connection ID) used in the call."""
|
|
35
|
+
|
|
36
|
+
conversation_id: Optional[str] = None
|
|
37
|
+
"""ID unique to the conversation or insight group generated for the call."""
|
|
38
|
+
|
|
39
|
+
duration_sec: Optional[int] = None
|
|
40
|
+
"""Duration of the conversation in seconds."""
|
|
41
|
+
|
|
42
|
+
from_: Optional[str] = FieldInfo(alias="from", default=None)
|
|
43
|
+
"""The caller's number or identifier."""
|
|
44
|
+
|
|
45
|
+
llm_model: Optional[str] = None
|
|
46
|
+
"""The large language model used during the conversation."""
|
|
47
|
+
|
|
48
|
+
stt_model: Optional[str] = None
|
|
49
|
+
"""The speech-to-text model used in the conversation."""
|
|
50
|
+
|
|
51
|
+
to: Optional[str] = None
|
|
52
|
+
"""The callee's number or SIP address."""
|
|
53
|
+
|
|
54
|
+
tts_model_id: Optional[str] = None
|
|
55
|
+
"""The model ID used for text-to-speech synthesis."""
|
|
56
|
+
|
|
57
|
+
tts_provider: Optional[str] = None
|
|
58
|
+
"""The text-to-speech provider used in the call."""
|
|
59
|
+
|
|
60
|
+
tts_voice_id: Optional[str] = None
|
|
61
|
+
"""Voice ID used for TTS."""
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class Data(BaseModel):
|
|
65
|
+
id: Optional[str] = None
|
|
66
|
+
"""Unique identifier for the event."""
|
|
67
|
+
|
|
68
|
+
created_at: Optional[datetime] = None
|
|
69
|
+
"""Timestamp when the event was created in the system."""
|
|
70
|
+
|
|
71
|
+
event_type: Optional[Literal["call.conversation.ended"]] = None
|
|
72
|
+
"""The type of event being delivered."""
|
|
73
|
+
|
|
74
|
+
occurred_at: Optional[datetime] = None
|
|
75
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
76
|
+
|
|
77
|
+
payload: Optional[DataPayload] = None
|
|
78
|
+
|
|
79
|
+
record_type: Optional[Literal["event"]] = None
|
|
80
|
+
"""Identifies the type of the resource."""
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class CallConversationEndedWebhookEvent(BaseModel):
|
|
84
|
+
data: Optional[Data] = None
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Union, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["CallConversationInsightsGeneratedWebhookEvent", "Data", "DataPayload", "DataPayloadResult"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DataPayloadResult(BaseModel):
|
|
13
|
+
insight_id: Optional[str] = None
|
|
14
|
+
"""ID that is unique to the insight result being generated for the call."""
|
|
15
|
+
|
|
16
|
+
result: Union[str, object, None] = None
|
|
17
|
+
"""The result of the insight."""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class DataPayload(BaseModel):
|
|
21
|
+
call_control_id: Optional[str] = None
|
|
22
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
23
|
+
|
|
24
|
+
call_leg_id: Optional[str] = None
|
|
25
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
26
|
+
|
|
27
|
+
call_session_id: Optional[str] = None
|
|
28
|
+
"""
|
|
29
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
30
|
+
events. Call session is a group of related call legs that logically belong to
|
|
31
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
calling_party_type: Optional[Literal["pstn", "sip"]] = None
|
|
35
|
+
"""The type of calling party connection."""
|
|
36
|
+
|
|
37
|
+
client_state: Optional[str] = None
|
|
38
|
+
"""State received from a command."""
|
|
39
|
+
|
|
40
|
+
connection_id: Optional[str] = None
|
|
41
|
+
"""Call Control App ID (formerly Telnyx connection ID) used in the call."""
|
|
42
|
+
|
|
43
|
+
insight_group_id: Optional[str] = None
|
|
44
|
+
"""ID that is unique to the insight group being generated for the call."""
|
|
45
|
+
|
|
46
|
+
results: Optional[List[DataPayloadResult]] = None
|
|
47
|
+
"""Array of insight results being generated for the call."""
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class Data(BaseModel):
|
|
51
|
+
id: Optional[str] = None
|
|
52
|
+
"""Identifies the type of resource."""
|
|
53
|
+
|
|
54
|
+
event_type: Optional[Literal["call.conversation_insights.generated"]] = None
|
|
55
|
+
"""The type of event being delivered."""
|
|
56
|
+
|
|
57
|
+
occurred_at: Optional[datetime] = None
|
|
58
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
59
|
+
|
|
60
|
+
payload: Optional[DataPayload] = None
|
|
61
|
+
|
|
62
|
+
record_type: Optional[Literal["event"]] = None
|
|
63
|
+
"""Identifies the type of the resource."""
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class CallConversationInsightsGeneratedWebhookEvent(BaseModel):
|
|
67
|
+
data: Optional[Data] = None
|
telnyx/types/call_dial_params.py
CHANGED
|
@@ -15,6 +15,7 @@ from .sound_modifications_param import SoundModificationsParam
|
|
|
15
15
|
from .stream_bidirectional_mode import StreamBidirectionalMode
|
|
16
16
|
from .stream_bidirectional_codec import StreamBidirectionalCodec
|
|
17
17
|
from .stream_bidirectional_target_legs import StreamBidirectionalTargetLegs
|
|
18
|
+
from .stream_bidirectional_sampling_rate import StreamBidirectionalSamplingRate
|
|
18
19
|
from .calls.transcription_start_request_param import TranscriptionStartRequestParam
|
|
19
20
|
|
|
20
21
|
__all__ = ["CallDialParams", "AnsweringMachineDetectionConfig", "ConferenceConfig"]
|
|
@@ -139,6 +140,14 @@ class CallDialParams(TypedDict, total=False):
|
|
|
139
140
|
WAV or MP3 file.
|
|
140
141
|
"""
|
|
141
142
|
|
|
143
|
+
park_after_unbridge: str
|
|
144
|
+
"""If supplied with the value `self`, the current leg will be parked after
|
|
145
|
+
unbridge.
|
|
146
|
+
|
|
147
|
+
If not set, the default behavior is to hang up the leg. When park_after_unbridge
|
|
148
|
+
is set, link_to becomes required.
|
|
149
|
+
"""
|
|
150
|
+
|
|
142
151
|
preferred_codecs: str
|
|
143
152
|
"""
|
|
144
153
|
The list of comma-separated codecs in a preferred order for the forked media to
|
|
@@ -225,7 +234,7 @@ class CallDialParams(TypedDict, total=False):
|
|
|
225
234
|
stream_bidirectional_mode: StreamBidirectionalMode
|
|
226
235
|
"""Configures method of bidirectional streaming (mp3, rtp)."""
|
|
227
236
|
|
|
228
|
-
stream_bidirectional_sampling_rate:
|
|
237
|
+
stream_bidirectional_sampling_rate: StreamBidirectionalSamplingRate
|
|
229
238
|
"""Audio sampling rate."""
|
|
230
239
|
|
|
231
240
|
stream_bidirectional_target_legs: StreamBidirectionalTargetLegs
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from pydantic import Field as FieldInfo
|
|
8
|
+
|
|
9
|
+
from .._models import BaseModel
|
|
10
|
+
|
|
11
|
+
__all__ = ["CallDtmfReceivedWebhookEvent", "Data", "DataPayload"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class DataPayload(BaseModel):
|
|
15
|
+
call_control_id: Optional[str] = None
|
|
16
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
17
|
+
|
|
18
|
+
call_leg_id: Optional[str] = None
|
|
19
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
20
|
+
|
|
21
|
+
call_session_id: Optional[str] = None
|
|
22
|
+
"""
|
|
23
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
24
|
+
events. Call session is a group of related call legs that logically belong to
|
|
25
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
client_state: Optional[str] = None
|
|
29
|
+
"""State received from a command."""
|
|
30
|
+
|
|
31
|
+
connection_id: Optional[str] = None
|
|
32
|
+
"""Identifies the type of resource."""
|
|
33
|
+
|
|
34
|
+
digit: Optional[str] = None
|
|
35
|
+
"""The received DTMF digit or symbol."""
|
|
36
|
+
|
|
37
|
+
from_: Optional[str] = FieldInfo(alias="from", default=None)
|
|
38
|
+
"""Number or SIP URI placing the call."""
|
|
39
|
+
|
|
40
|
+
to: Optional[str] = None
|
|
41
|
+
"""Destination number or SIP URI of the call."""
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class Data(BaseModel):
|
|
45
|
+
id: Optional[str] = None
|
|
46
|
+
"""Identifies the type of resource."""
|
|
47
|
+
|
|
48
|
+
event_type: Optional[Literal["call.dtmf.received"]] = None
|
|
49
|
+
"""The type of event being delivered."""
|
|
50
|
+
|
|
51
|
+
occurred_at: Optional[datetime] = None
|
|
52
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
53
|
+
|
|
54
|
+
payload: Optional[DataPayload] = None
|
|
55
|
+
|
|
56
|
+
record_type: Optional[Literal["event"]] = None
|
|
57
|
+
"""Identifies the type of the resource."""
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class CallDtmfReceivedWebhookEvent(BaseModel):
|
|
61
|
+
data: Optional[Data] = None
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["CallEnqueuedWebhookEvent", "Data", "DataPayload"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DataPayload(BaseModel):
|
|
13
|
+
call_control_id: Optional[str] = None
|
|
14
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
15
|
+
|
|
16
|
+
call_leg_id: Optional[str] = None
|
|
17
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
18
|
+
|
|
19
|
+
call_session_id: Optional[str] = None
|
|
20
|
+
"""
|
|
21
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
22
|
+
events. Call session is a group of related call legs that logically belong to
|
|
23
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
client_state: Optional[str] = None
|
|
27
|
+
"""State received from a command."""
|
|
28
|
+
|
|
29
|
+
connection_id: Optional[str] = None
|
|
30
|
+
"""Call Control App ID (formerly Telnyx connection ID) used in the call."""
|
|
31
|
+
|
|
32
|
+
current_position: Optional[int] = None
|
|
33
|
+
"""Current position of the call in the queue."""
|
|
34
|
+
|
|
35
|
+
queue: Optional[str] = None
|
|
36
|
+
"""The name of the queue"""
|
|
37
|
+
|
|
38
|
+
queue_avg_wait_time_secs: Optional[int] = None
|
|
39
|
+
"""Average time call spends in the queue in seconds."""
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class Data(BaseModel):
|
|
43
|
+
id: Optional[str] = None
|
|
44
|
+
"""Identifies the type of resource."""
|
|
45
|
+
|
|
46
|
+
event_type: Optional[Literal["call.enqueued"]] = None
|
|
47
|
+
"""The type of event being delivered."""
|
|
48
|
+
|
|
49
|
+
occurred_at: Optional[datetime] = None
|
|
50
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
51
|
+
|
|
52
|
+
payload: Optional[DataPayload] = None
|
|
53
|
+
|
|
54
|
+
record_type: Optional[Literal["event"]] = None
|
|
55
|
+
"""Identifies the type of the resource."""
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class CallEnqueuedWebhookEvent(BaseModel):
|
|
59
|
+
data: Optional[Data] = None
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["CallForkStartedWebhookEvent", "Data", "DataPayload"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DataPayload(BaseModel):
|
|
13
|
+
call_control_id: Optional[str] = None
|
|
14
|
+
"""Unique ID for controlling the call."""
|
|
15
|
+
|
|
16
|
+
call_leg_id: Optional[str] = None
|
|
17
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
18
|
+
|
|
19
|
+
call_session_id: Optional[str] = None
|
|
20
|
+
"""
|
|
21
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
22
|
+
events. Call session is a group of related call legs that logically belong to
|
|
23
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
client_state: Optional[str] = None
|
|
27
|
+
"""State received from a command."""
|
|
28
|
+
|
|
29
|
+
connection_id: Optional[str] = None
|
|
30
|
+
"""Call Control App ID (formerly Telnyx connection ID) used in the call."""
|
|
31
|
+
|
|
32
|
+
stream_type: Optional[Literal["decrypted"]] = None
|
|
33
|
+
"""Type of media streamed. It can be either 'raw' or 'decrypted'."""
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class Data(BaseModel):
|
|
37
|
+
id: Optional[str] = None
|
|
38
|
+
"""Identifies the type of resource."""
|
|
39
|
+
|
|
40
|
+
event_type: Optional[Literal["call.fork.started"]] = None
|
|
41
|
+
"""The type of event being delivered."""
|
|
42
|
+
|
|
43
|
+
occurred_at: Optional[datetime] = None
|
|
44
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
45
|
+
|
|
46
|
+
payload: Optional[DataPayload] = None
|
|
47
|
+
|
|
48
|
+
record_type: Optional[Literal["event"]] = None
|
|
49
|
+
"""Identifies the type of the resource."""
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class CallForkStartedWebhookEvent(BaseModel):
|
|
53
|
+
data: Optional[Data] = None
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from .._models import BaseModel
|
|
8
|
+
|
|
9
|
+
__all__ = ["CallForkStoppedWebhookEvent", "Data", "DataPayload"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DataPayload(BaseModel):
|
|
13
|
+
call_control_id: Optional[str] = None
|
|
14
|
+
"""Unique ID for controlling the call."""
|
|
15
|
+
|
|
16
|
+
call_leg_id: Optional[str] = None
|
|
17
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
18
|
+
|
|
19
|
+
call_session_id: Optional[str] = None
|
|
20
|
+
"""
|
|
21
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
22
|
+
events. Call session is a group of related call legs that logically belong to
|
|
23
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
client_state: Optional[str] = None
|
|
27
|
+
"""State received from a command."""
|
|
28
|
+
|
|
29
|
+
connection_id: Optional[str] = None
|
|
30
|
+
"""Call Control App ID (formerly Telnyx connection ID) used in the call."""
|
|
31
|
+
|
|
32
|
+
stream_type: Optional[Literal["decrypted"]] = None
|
|
33
|
+
"""Type of media streamed. It can be either 'raw' or 'decrypted'."""
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class Data(BaseModel):
|
|
37
|
+
id: Optional[str] = None
|
|
38
|
+
"""Identifies the type of resource."""
|
|
39
|
+
|
|
40
|
+
event_type: Optional[Literal["call.fork.stopped"]] = None
|
|
41
|
+
"""The type of event being delivered."""
|
|
42
|
+
|
|
43
|
+
occurred_at: Optional[datetime] = None
|
|
44
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
45
|
+
|
|
46
|
+
payload: Optional[DataPayload] = None
|
|
47
|
+
|
|
48
|
+
record_type: Optional[Literal["event"]] = None
|
|
49
|
+
"""Identifies the type of the resource."""
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class CallForkStoppedWebhookEvent(BaseModel):
|
|
53
|
+
data: Optional[Data] = None
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from pydantic import Field as FieldInfo
|
|
8
|
+
|
|
9
|
+
from .._models import BaseModel
|
|
10
|
+
|
|
11
|
+
__all__ = ["CallGatherEndedWebhookEvent", "Data", "DataPayload"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class DataPayload(BaseModel):
|
|
15
|
+
call_control_id: Optional[str] = None
|
|
16
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
17
|
+
|
|
18
|
+
call_leg_id: Optional[str] = None
|
|
19
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
20
|
+
|
|
21
|
+
call_session_id: Optional[str] = None
|
|
22
|
+
"""
|
|
23
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
24
|
+
events. Call session is a group of related call legs that logically belong to
|
|
25
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
client_state: Optional[str] = None
|
|
29
|
+
"""State received from a command."""
|
|
30
|
+
|
|
31
|
+
connection_id: Optional[str] = None
|
|
32
|
+
"""Call Control App ID (formerly Telnyx connection ID) used in the call."""
|
|
33
|
+
|
|
34
|
+
digits: Optional[str] = None
|
|
35
|
+
"""The received DTMF digit or symbol."""
|
|
36
|
+
|
|
37
|
+
from_: Optional[str] = FieldInfo(alias="from", default=None)
|
|
38
|
+
"""Number or SIP URI placing the call."""
|
|
39
|
+
|
|
40
|
+
status: Optional[Literal["valid", "invalid", "call_hangup", "cancelled", "cancelled_amd", "timeout"]] = None
|
|
41
|
+
"""Reflects how command ended."""
|
|
42
|
+
|
|
43
|
+
to: Optional[str] = None
|
|
44
|
+
"""Destination number or SIP URI of the call."""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class Data(BaseModel):
|
|
48
|
+
id: Optional[str] = None
|
|
49
|
+
"""Identifies the type of resource."""
|
|
50
|
+
|
|
51
|
+
event_type: Optional[Literal["call.gather.ended"]] = None
|
|
52
|
+
"""The type of event being delivered."""
|
|
53
|
+
|
|
54
|
+
occurred_at: Optional[datetime] = None
|
|
55
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
56
|
+
|
|
57
|
+
payload: Optional[DataPayload] = None
|
|
58
|
+
|
|
59
|
+
record_type: Optional[Literal["event"]] = None
|
|
60
|
+
"""Identifies the type of the resource."""
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class CallGatherEndedWebhookEvent(BaseModel):
|
|
64
|
+
data: Optional[Data] = None
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
from pydantic import Field as FieldInfo
|
|
8
|
+
|
|
9
|
+
from .._models import BaseModel
|
|
10
|
+
from .sip_header import SipHeader
|
|
11
|
+
from .custom_sip_header import CustomSipHeader
|
|
12
|
+
|
|
13
|
+
__all__ = [
|
|
14
|
+
"CallHangupWebhookEvent",
|
|
15
|
+
"Data",
|
|
16
|
+
"DataPayload",
|
|
17
|
+
"DataPayloadCallQualityStats",
|
|
18
|
+
"DataPayloadCallQualityStatsInbound",
|
|
19
|
+
"DataPayloadCallQualityStatsOutbound",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class DataPayloadCallQualityStatsInbound(BaseModel):
|
|
24
|
+
jitter_max_variance: Optional[str] = None
|
|
25
|
+
"""Maximum jitter variance for inbound audio."""
|
|
26
|
+
|
|
27
|
+
jitter_packet_count: Optional[str] = None
|
|
28
|
+
"""Number of packets used for jitter calculation on inbound audio."""
|
|
29
|
+
|
|
30
|
+
mos: Optional[str] = None
|
|
31
|
+
"""Mean Opinion Score (MOS) for inbound audio quality."""
|
|
32
|
+
|
|
33
|
+
packet_count: Optional[str] = None
|
|
34
|
+
"""Total number of inbound audio packets."""
|
|
35
|
+
|
|
36
|
+
skip_packet_count: Optional[str] = None
|
|
37
|
+
"""Number of skipped inbound packets (packet loss)."""
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class DataPayloadCallQualityStatsOutbound(BaseModel):
|
|
41
|
+
packet_count: Optional[str] = None
|
|
42
|
+
"""Total number of outbound audio packets."""
|
|
43
|
+
|
|
44
|
+
skip_packet_count: Optional[str] = None
|
|
45
|
+
"""Number of skipped outbound packets (packet loss)."""
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class DataPayloadCallQualityStats(BaseModel):
|
|
49
|
+
inbound: Optional[DataPayloadCallQualityStatsInbound] = None
|
|
50
|
+
"""Inbound call quality statistics."""
|
|
51
|
+
|
|
52
|
+
outbound: Optional[DataPayloadCallQualityStatsOutbound] = None
|
|
53
|
+
"""Outbound call quality statistics."""
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class DataPayload(BaseModel):
|
|
57
|
+
call_control_id: Optional[str] = None
|
|
58
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
59
|
+
|
|
60
|
+
call_leg_id: Optional[str] = None
|
|
61
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
62
|
+
|
|
63
|
+
call_quality_stats: Optional[DataPayloadCallQualityStats] = None
|
|
64
|
+
"""Call quality statistics aggregated from the CHANNEL_HANGUP_COMPLETE event.
|
|
65
|
+
|
|
66
|
+
Only includes metrics that are available (filters out nil values). Returns nil
|
|
67
|
+
if no metrics are available.
|
|
68
|
+
"""
|
|
69
|
+
|
|
70
|
+
call_session_id: Optional[str] = None
|
|
71
|
+
"""
|
|
72
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
73
|
+
events. Call session is a group of related call legs that logically belong to
|
|
74
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
client_state: Optional[str] = None
|
|
78
|
+
"""State received from a command."""
|
|
79
|
+
|
|
80
|
+
connection_id: Optional[str] = None
|
|
81
|
+
"""Call Control App ID (formerly Telnyx connection ID) used in the call."""
|
|
82
|
+
|
|
83
|
+
custom_headers: Optional[List[CustomSipHeader]] = None
|
|
84
|
+
"""Custom headers set on answer command"""
|
|
85
|
+
|
|
86
|
+
from_: Optional[str] = FieldInfo(alias="from", default=None)
|
|
87
|
+
"""Number or SIP URI placing the call."""
|
|
88
|
+
|
|
89
|
+
hangup_cause: Optional[
|
|
90
|
+
Literal[
|
|
91
|
+
"call_rejected",
|
|
92
|
+
"normal_clearing",
|
|
93
|
+
"originator_cancel",
|
|
94
|
+
"timeout",
|
|
95
|
+
"time_limit",
|
|
96
|
+
"user_busy",
|
|
97
|
+
"not_found",
|
|
98
|
+
"unspecified",
|
|
99
|
+
]
|
|
100
|
+
] = None
|
|
101
|
+
"""
|
|
102
|
+
The reason the call was ended (`call_rejected`, `normal_clearing`,
|
|
103
|
+
`originator_cancel`, `timeout`, `time_limit`, `user_busy`, `not_found` or
|
|
104
|
+
`unspecified`).
|
|
105
|
+
"""
|
|
106
|
+
|
|
107
|
+
hangup_source: Optional[Literal["caller", "callee", "unknown"]] = None
|
|
108
|
+
"""The party who ended the call (`callee`, `caller`, `unknown`)."""
|
|
109
|
+
|
|
110
|
+
sip_hangup_cause: Optional[str] = None
|
|
111
|
+
"""The reason the call was ended (SIP response code).
|
|
112
|
+
|
|
113
|
+
If the SIP response is unavailable (in inbound calls for example) this is set to
|
|
114
|
+
`unspecified`.
|
|
115
|
+
"""
|
|
116
|
+
|
|
117
|
+
sip_headers: Optional[List[SipHeader]] = None
|
|
118
|
+
"""User-to-User and Diversion headers from sip invite."""
|
|
119
|
+
|
|
120
|
+
start_time: Optional[datetime] = None
|
|
121
|
+
"""ISO 8601 datetime of when the call started."""
|
|
122
|
+
|
|
123
|
+
state: Optional[Literal["hangup"]] = None
|
|
124
|
+
"""State received from a command."""
|
|
125
|
+
|
|
126
|
+
tags: Optional[List[str]] = None
|
|
127
|
+
"""Array of tags associated to number."""
|
|
128
|
+
|
|
129
|
+
to: Optional[str] = None
|
|
130
|
+
"""Destination number or SIP URI of the call."""
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
class Data(BaseModel):
|
|
134
|
+
id: Optional[str] = None
|
|
135
|
+
"""Identifies the type of resource."""
|
|
136
|
+
|
|
137
|
+
event_type: Optional[Literal["call.hangup"]] = None
|
|
138
|
+
"""The type of event being delivered."""
|
|
139
|
+
|
|
140
|
+
occurred_at: Optional[datetime] = None
|
|
141
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
142
|
+
|
|
143
|
+
payload: Optional[DataPayload] = None
|
|
144
|
+
|
|
145
|
+
record_type: Optional[Literal["event"]] = None
|
|
146
|
+
"""Identifies the type of the resource."""
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
class CallHangupWebhookEvent(BaseModel):
|
|
150
|
+
data: Optional[Data] = None
|