telnyx 3.7.0a0__py3-none-any.whl → 3.9.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/__init__.py +3 -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 +152 -4
- 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.9.0.dist-info}/METADATA +9 -5
- {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/RECORD +202 -128
- 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.9.0.dist-info}/WHEEL +0 -0
- {telnyx-3.7.0a0.dist-info → telnyx-3.9.0.dist-info}/licenses/LICENSE +0 -0
telnyx/types/ai/__init__.py
CHANGED
|
@@ -23,6 +23,7 @@ from .messaging_settings import MessagingSettings as MessagingSettings
|
|
|
23
23
|
from .telephony_settings import TelephonySettings as TelephonySettings
|
|
24
24
|
from .webhook_tool_param import WebhookToolParam as WebhookToolParam
|
|
25
25
|
from .cluster_list_params import ClusterListParams as ClusterListParams
|
|
26
|
+
from .inference_embedding import InferenceEmbedding as InferenceEmbedding
|
|
26
27
|
from .transfer_tool_param import TransferToolParam as TransferToolParam
|
|
27
28
|
from .assistant_tool_param import AssistantToolParam as AssistantToolParam
|
|
28
29
|
from .embedding_url_params import EmbeddingURLParams as EmbeddingURLParams
|
|
@@ -44,13 +45,11 @@ from .audio_transcribe_params import AudioTranscribeParams as AudioTranscribePar
|
|
|
44
45
|
from .cluster_retrieve_params import ClusterRetrieveParams as ClusterRetrieveParams
|
|
45
46
|
from .embedding_create_params import EmbeddingCreateParams as EmbeddingCreateParams
|
|
46
47
|
from .embedding_list_response import EmbeddingListResponse as EmbeddingListResponse
|
|
47
|
-
from .assistant_clone_response import AssistantCloneResponse as AssistantCloneResponse
|
|
48
48
|
from .cluster_compute_response import ClusterComputeResponse as ClusterComputeResponse
|
|
49
49
|
from .conversation_list_params import ConversationListParams as ConversationListParams
|
|
50
50
|
from .hangup_tool_params_param import HangupToolParamsParam as HangupToolParamsParam
|
|
51
51
|
from .messaging_settings_param import MessagingSettingsParam as MessagingSettingsParam
|
|
52
52
|
from .telephony_settings_param import TelephonySettingsParam as TelephonySettingsParam
|
|
53
|
-
from .assistant_create_response import AssistantCreateResponse as AssistantCreateResponse
|
|
54
53
|
from .assistant_delete_response import AssistantDeleteResponse as AssistantDeleteResponse
|
|
55
54
|
from .assistant_retrieve_params import AssistantRetrieveParams as AssistantRetrieveParams
|
|
56
55
|
from .audio_transcribe_response import AudioTranscribeResponse as AudioTranscribeResponse
|
|
@@ -59,7 +58,6 @@ from .cluster_fetch_graph_params import ClusterFetchGraphParams as ClusterFetchG
|
|
|
59
58
|
from .conversation_create_params import ConversationCreateParams as ConversationCreateParams
|
|
60
59
|
from .conversation_list_response import ConversationListResponse as ConversationListResponse
|
|
61
60
|
from .conversation_update_params import ConversationUpdateParams as ConversationUpdateParams
|
|
62
|
-
from .assistant_retrieve_response import AssistantRetrieveResponse as AssistantRetrieveResponse
|
|
63
61
|
from .embedding_retrieve_response import EmbeddingRetrieveResponse as EmbeddingRetrieveResponse
|
|
64
62
|
from .assistant_get_texml_response import AssistantGetTexmlResponse as AssistantGetTexmlResponse
|
|
65
63
|
from .conversation_update_response import ConversationUpdateResponse as ConversationUpdateResponse
|
|
@@ -15,11 +15,8 @@ from .version_config_param import VersionConfigParam as VersionConfigParam
|
|
|
15
15
|
from .version_update_params import VersionUpdateParams as VersionUpdateParams
|
|
16
16
|
from .canary_deploy_response import CanaryDeployResponse as CanaryDeployResponse
|
|
17
17
|
from .version_retrieve_params import VersionRetrieveParams as VersionRetrieveParams
|
|
18
|
-
from .version_update_response import VersionUpdateResponse as VersionUpdateResponse
|
|
19
18
|
from .scheduled_event_response import ScheduledEventResponse as ScheduledEventResponse
|
|
20
|
-
from .version_promote_response import VersionPromoteResponse as VersionPromoteResponse
|
|
21
19
|
from .conversation_channel_type import ConversationChannelType as ConversationChannelType
|
|
22
|
-
from .version_retrieve_response import VersionRetrieveResponse as VersionRetrieveResponse
|
|
23
20
|
from .canary_deploy_create_params import CanaryDeployCreateParams as CanaryDeployCreateParams
|
|
24
21
|
from .canary_deploy_update_params import CanaryDeployUpdateParams as CanaryDeployUpdateParams
|
|
25
22
|
from .scheduled_event_list_params import ScheduledEventListParams as ScheduledEventListParams
|
|
@@ -1,96 +1,12 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import
|
|
4
|
-
from datetime import datetime
|
|
3
|
+
from typing import List
|
|
5
4
|
|
|
6
5
|
from ..._models import BaseModel
|
|
7
|
-
from .
|
|
8
|
-
from .voice_settings import VoiceSettings
|
|
9
|
-
from .import_metadata import ImportMetadata
|
|
10
|
-
from .enabled_features import EnabledFeatures
|
|
11
|
-
from .insight_settings import InsightSettings
|
|
12
|
-
from .privacy_settings import PrivacySettings
|
|
13
|
-
from .messaging_settings import MessagingSettings
|
|
14
|
-
from .telephony_settings import TelephonySettings
|
|
15
|
-
from .transcription_settings import TranscriptionSettings
|
|
6
|
+
from .inference_embedding import InferenceEmbedding
|
|
16
7
|
|
|
17
|
-
__all__ = ["AssistantsList"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class Data(BaseModel):
|
|
21
|
-
id: str
|
|
22
|
-
|
|
23
|
-
created_at: datetime
|
|
24
|
-
|
|
25
|
-
instructions: str
|
|
26
|
-
"""System instructions for the assistant.
|
|
27
|
-
|
|
28
|
-
These may be templated with
|
|
29
|
-
[dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
model: str
|
|
33
|
-
"""ID of the model to use.
|
|
34
|
-
|
|
35
|
-
You can use the
|
|
36
|
-
[Get models API](https://developers.telnyx.com/api/inference/inference-embedding/get-models-public-models-get)
|
|
37
|
-
to see all of your available models,
|
|
38
|
-
"""
|
|
39
|
-
|
|
40
|
-
name: str
|
|
41
|
-
|
|
42
|
-
description: Optional[str] = None
|
|
43
|
-
|
|
44
|
-
dynamic_variables: Optional[Dict[str, object]] = None
|
|
45
|
-
"""Map of dynamic variables and their values"""
|
|
46
|
-
|
|
47
|
-
dynamic_variables_webhook_url: Optional[str] = None
|
|
48
|
-
"""
|
|
49
|
-
If the dynamic_variables_webhook_url is set for the assistant, we will send a
|
|
50
|
-
request at the start of the conversation. See our
|
|
51
|
-
[guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
|
|
52
|
-
for more information.
|
|
53
|
-
"""
|
|
54
|
-
|
|
55
|
-
enabled_features: Optional[List[EnabledFeatures]] = None
|
|
56
|
-
|
|
57
|
-
greeting: Optional[str] = None
|
|
58
|
-
"""Text that the assistant will use to start the conversation.
|
|
59
|
-
|
|
60
|
-
This may be templated with
|
|
61
|
-
[dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
|
|
62
|
-
"""
|
|
63
|
-
|
|
64
|
-
import_metadata: Optional[ImportMetadata] = None
|
|
65
|
-
|
|
66
|
-
insight_settings: Optional[InsightSettings] = None
|
|
67
|
-
|
|
68
|
-
llm_api_key_ref: Optional[str] = None
|
|
69
|
-
"""This is only needed when using third-party inference providers.
|
|
70
|
-
|
|
71
|
-
The `identifier` for an integration secret
|
|
72
|
-
[/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
|
|
73
|
-
that refers to your LLM provider's API key. Warning: Free plans are unlikely to
|
|
74
|
-
work with this integration.
|
|
75
|
-
"""
|
|
76
|
-
|
|
77
|
-
messaging_settings: Optional[MessagingSettings] = None
|
|
78
|
-
|
|
79
|
-
privacy_settings: Optional[PrivacySettings] = None
|
|
80
|
-
|
|
81
|
-
telephony_settings: Optional[TelephonySettings] = None
|
|
82
|
-
|
|
83
|
-
tools: Optional[List[AssistantTool]] = None
|
|
84
|
-
"""The tools that the assistant can use.
|
|
85
|
-
|
|
86
|
-
These may be templated with
|
|
87
|
-
[dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)
|
|
88
|
-
"""
|
|
89
|
-
|
|
90
|
-
transcription: Optional[TranscriptionSettings] = None
|
|
91
|
-
|
|
92
|
-
voice_settings: Optional[VoiceSettings] = None
|
|
8
|
+
__all__ = ["AssistantsList"]
|
|
93
9
|
|
|
94
10
|
|
|
95
11
|
class AssistantsList(BaseModel):
|
|
96
|
-
data: List[
|
|
12
|
+
data: List[InferenceEmbedding]
|
|
@@ -12,5 +12,5 @@ class ImportMetadata(BaseModel):
|
|
|
12
12
|
import_id: Optional[str] = None
|
|
13
13
|
"""ID of the assistant in the provider's system."""
|
|
14
14
|
|
|
15
|
-
import_provider: Optional[Literal["elevenlabs", "vapi"]] = None
|
|
15
|
+
import_provider: Optional[Literal["elevenlabs", "vapi", "retell"]] = None
|
|
16
16
|
"""Provider the assistant was imported from."""
|
|
@@ -14,10 +14,10 @@ from .messaging_settings import MessagingSettings
|
|
|
14
14
|
from .telephony_settings import TelephonySettings
|
|
15
15
|
from .transcription_settings import TranscriptionSettings
|
|
16
16
|
|
|
17
|
-
__all__ = ["
|
|
17
|
+
__all__ = ["InferenceEmbedding"]
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
class
|
|
20
|
+
class InferenceEmbedding(BaseModel):
|
|
21
21
|
id: str
|
|
22
22
|
|
|
23
23
|
created_at: datetime
|
|
@@ -41,3 +41,9 @@ class InferenceEmbeddingTransferToolParams(BaseModel):
|
|
|
41
41
|
|
|
42
42
|
custom_headers: Optional[List[CustomHeader]] = None
|
|
43
43
|
"""Custom headers to be added to the SIP INVITE for the transfer command."""
|
|
44
|
+
|
|
45
|
+
warm_transfer_instructions: Optional[str] = None
|
|
46
|
+
"""
|
|
47
|
+
Natural language instructions for your agent for how to provide context for the
|
|
48
|
+
transfer recipient.
|
|
49
|
+
"""
|
|
@@ -48,3 +48,9 @@ class InferenceEmbeddingTransferToolParamsParam(
|
|
|
48
48
|
|
|
49
49
|
custom_headers: Iterable[CustomHeader]
|
|
50
50
|
"""Custom headers to be added to the SIP INVITE for the transfer command."""
|
|
51
|
+
|
|
52
|
+
warm_transfer_instructions: str
|
|
53
|
+
"""
|
|
54
|
+
Natural language instructions for your agent for how to provide context for the
|
|
55
|
+
transfer recipient.
|
|
56
|
+
"""
|
|
@@ -1,10 +1,50 @@
|
|
|
1
1
|
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
|
-
from typing import Optional
|
|
3
|
+
from typing import Union, Optional
|
|
4
|
+
from typing_extensions import Literal, TypeAlias
|
|
4
5
|
|
|
5
6
|
from ..._models import BaseModel
|
|
6
7
|
|
|
7
|
-
__all__ = [
|
|
8
|
+
__all__ = [
|
|
9
|
+
"VoiceSettings",
|
|
10
|
+
"BackgroundAudio",
|
|
11
|
+
"BackgroundAudioUnionMember0",
|
|
12
|
+
"BackgroundAudioUnionMember1",
|
|
13
|
+
"BackgroundAudioUnionMember2",
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class BackgroundAudioUnionMember0(BaseModel):
|
|
18
|
+
type: Literal["predefined_media"]
|
|
19
|
+
"""Select from predefined media options."""
|
|
20
|
+
|
|
21
|
+
value: Literal["silence", "office"]
|
|
22
|
+
"""The predefined media to use. `silence` disables background audio."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class BackgroundAudioUnionMember1(BaseModel):
|
|
26
|
+
type: Literal["media_url"]
|
|
27
|
+
"""Provide a direct URL to an MP3 file. The audio will loop during the call."""
|
|
28
|
+
|
|
29
|
+
value: str
|
|
30
|
+
"""HTTPS URL to an MP3 file."""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class BackgroundAudioUnionMember2(BaseModel):
|
|
34
|
+
type: Literal["media_name"]
|
|
35
|
+
"""Reference a previously uploaded media by its name from Telnyx Media Storage."""
|
|
36
|
+
|
|
37
|
+
value: str
|
|
38
|
+
"""
|
|
39
|
+
The `name` of a media asset created via
|
|
40
|
+
[Media Storage API](https://developers.telnyx.com/api/media-storage/create-media-storage).
|
|
41
|
+
The audio will loop during the call.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
BackgroundAudio: TypeAlias = Union[
|
|
46
|
+
BackgroundAudioUnionMember0, BackgroundAudioUnionMember1, BackgroundAudioUnionMember2
|
|
47
|
+
]
|
|
8
48
|
|
|
9
49
|
|
|
10
50
|
class VoiceSettings(BaseModel):
|
|
@@ -28,6 +68,13 @@ class VoiceSettings(BaseModel):
|
|
|
28
68
|
with this integration.
|
|
29
69
|
"""
|
|
30
70
|
|
|
71
|
+
background_audio: Optional[BackgroundAudio] = None
|
|
72
|
+
"""Optional background audio to play on the call.
|
|
73
|
+
|
|
74
|
+
Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen
|
|
75
|
+
in the portal, customers can preview it before saving.
|
|
76
|
+
"""
|
|
77
|
+
|
|
31
78
|
voice_speed: Optional[float] = None
|
|
32
79
|
"""The speed of the voice in the range [0.25, 2.0].
|
|
33
80
|
|
|
@@ -2,9 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from typing import Union
|
|
6
|
+
from typing_extensions import Literal, Required, TypeAlias, TypedDict
|
|
6
7
|
|
|
7
|
-
__all__ = [
|
|
8
|
+
__all__ = [
|
|
9
|
+
"VoiceSettingsParam",
|
|
10
|
+
"BackgroundAudio",
|
|
11
|
+
"BackgroundAudioUnionMember0",
|
|
12
|
+
"BackgroundAudioUnionMember1",
|
|
13
|
+
"BackgroundAudioUnionMember2",
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class BackgroundAudioUnionMember0(TypedDict, total=False):
|
|
18
|
+
type: Required[Literal["predefined_media"]]
|
|
19
|
+
"""Select from predefined media options."""
|
|
20
|
+
|
|
21
|
+
value: Required[Literal["silence", "office"]]
|
|
22
|
+
"""The predefined media to use. `silence` disables background audio."""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class BackgroundAudioUnionMember1(TypedDict, total=False):
|
|
26
|
+
type: Required[Literal["media_url"]]
|
|
27
|
+
"""Provide a direct URL to an MP3 file. The audio will loop during the call."""
|
|
28
|
+
|
|
29
|
+
value: Required[str]
|
|
30
|
+
"""HTTPS URL to an MP3 file."""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class BackgroundAudioUnionMember2(TypedDict, total=False):
|
|
34
|
+
type: Required[Literal["media_name"]]
|
|
35
|
+
"""Reference a previously uploaded media by its name from Telnyx Media Storage."""
|
|
36
|
+
|
|
37
|
+
value: Required[str]
|
|
38
|
+
"""
|
|
39
|
+
The `name` of a media asset created via
|
|
40
|
+
[Media Storage API](https://developers.telnyx.com/api/media-storage/create-media-storage).
|
|
41
|
+
The audio will loop during the call.
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
BackgroundAudio: TypeAlias = Union[
|
|
46
|
+
BackgroundAudioUnionMember0, BackgroundAudioUnionMember1, BackgroundAudioUnionMember2
|
|
47
|
+
]
|
|
8
48
|
|
|
9
49
|
|
|
10
50
|
class VoiceSettingsParam(TypedDict, total=False):
|
|
@@ -28,6 +68,13 @@ class VoiceSettingsParam(TypedDict, total=False):
|
|
|
28
68
|
with this integration.
|
|
29
69
|
"""
|
|
30
70
|
|
|
71
|
+
background_audio: BackgroundAudio
|
|
72
|
+
"""Optional background audio to play on the call.
|
|
73
|
+
|
|
74
|
+
Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen
|
|
75
|
+
in the portal, customers can preview it before saving.
|
|
76
|
+
"""
|
|
77
|
+
|
|
31
78
|
voice_speed: float
|
|
32
79
|
"""The speed of the voice in the range [0.25, 2.0].
|
|
33
80
|
|
|
@@ -31,7 +31,8 @@ class BrandCreateParams(TypedDict, total=False):
|
|
|
31
31
|
business_contact_email: Annotated[str, PropertyInfo(alias="businessContactEmail")]
|
|
32
32
|
"""Business contact email.
|
|
33
33
|
|
|
34
|
-
Required if `entityType` is `PUBLIC_PROFIT`.
|
|
34
|
+
Required if `entityType` is `PUBLIC_PROFIT`. Otherwise, it is recommended to
|
|
35
|
+
either omit this field or set it to `null`.
|
|
35
36
|
"""
|
|
36
37
|
|
|
37
38
|
city: str
|
|
@@ -39,7 +39,8 @@ class BrandUpdateParams(TypedDict, total=False):
|
|
|
39
39
|
business_contact_email: Annotated[str, PropertyInfo(alias="businessContactEmail")]
|
|
40
40
|
"""Business contact email.
|
|
41
41
|
|
|
42
|
-
Required if `entityType` will be changed to `PUBLIC_PROFIT`.
|
|
42
|
+
Required if `entityType` will be changed to `PUBLIC_PROFIT`. Otherwise, it is
|
|
43
|
+
recommended to either omit this field or set it to `null`.
|
|
43
44
|
"""
|
|
44
45
|
|
|
45
46
|
city: str
|
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
|
|
11
|
+
__all__ = ["CallAIGatherEndedWebhookEvent", "Data", "DataPayload", "DataPayloadMessageHistory"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class DataPayloadMessageHistory(BaseModel):
|
|
15
|
+
content: Optional[str] = None
|
|
16
|
+
"""The content of the message"""
|
|
17
|
+
|
|
18
|
+
role: Optional[Literal["assistant", "user"]] = None
|
|
19
|
+
"""The role of the message sender"""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class DataPayload(BaseModel):
|
|
23
|
+
call_control_id: Optional[str] = None
|
|
24
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
25
|
+
|
|
26
|
+
call_leg_id: Optional[str] = None
|
|
27
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
28
|
+
|
|
29
|
+
call_session_id: Optional[str] = None
|
|
30
|
+
"""
|
|
31
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
32
|
+
events. Call session is a group of related call legs that logically belong to
|
|
33
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
client_state: Optional[str] = None
|
|
37
|
+
"""State received from a command."""
|
|
38
|
+
|
|
39
|
+
connection_id: Optional[str] = None
|
|
40
|
+
"""Telnyx connection ID used in the call."""
|
|
41
|
+
|
|
42
|
+
from_: Optional[str] = FieldInfo(alias="from", default=None)
|
|
43
|
+
"""Number or SIP URI placing the call."""
|
|
44
|
+
|
|
45
|
+
message_history: Optional[List[DataPayloadMessageHistory]] = None
|
|
46
|
+
"""The history of the messages exchanged during the AI gather"""
|
|
47
|
+
|
|
48
|
+
result: Optional[object] = None
|
|
49
|
+
"""
|
|
50
|
+
The result of the AI gather, its type depends of the `parameters` provided in
|
|
51
|
+
the command
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
status: Optional[Literal["valid", "invalid"]] = None
|
|
55
|
+
"""Reflects how command ended."""
|
|
56
|
+
|
|
57
|
+
to: Optional[str] = None
|
|
58
|
+
"""Destination number or SIP URI of the call."""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class Data(BaseModel):
|
|
62
|
+
id: Optional[str] = None
|
|
63
|
+
"""Identifies the type of resource."""
|
|
64
|
+
|
|
65
|
+
event_type: Optional[Literal["call.ai_gather.ended"]] = None
|
|
66
|
+
"""The type of event being delivered."""
|
|
67
|
+
|
|
68
|
+
occurred_at: Optional[datetime] = None
|
|
69
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
70
|
+
|
|
71
|
+
payload: Optional[DataPayload] = None
|
|
72
|
+
|
|
73
|
+
record_type: Optional[Literal["event"]] = None
|
|
74
|
+
"""Identifies the type of the resource."""
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class CallAIGatherEndedWebhookEvent(BaseModel):
|
|
78
|
+
data: Optional[Data] = None
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
|
|
11
|
+
__all__ = ["CallAIGatherMessageHistoryUpdatedWebhookEvent", "Data", "DataPayload", "DataPayloadMessageHistory"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class DataPayloadMessageHistory(BaseModel):
|
|
15
|
+
content: Optional[str] = None
|
|
16
|
+
"""The content of the message"""
|
|
17
|
+
|
|
18
|
+
role: Optional[Literal["assistant", "user"]] = None
|
|
19
|
+
"""The role of the message sender"""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class DataPayload(BaseModel):
|
|
23
|
+
call_control_id: Optional[str] = None
|
|
24
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
25
|
+
|
|
26
|
+
call_leg_id: Optional[str] = None
|
|
27
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
28
|
+
|
|
29
|
+
call_session_id: Optional[str] = None
|
|
30
|
+
"""
|
|
31
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
32
|
+
events. Call session is a group of related call legs that logically belong to
|
|
33
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
client_state: Optional[str] = None
|
|
37
|
+
"""State received from a command."""
|
|
38
|
+
|
|
39
|
+
connection_id: Optional[str] = None
|
|
40
|
+
"""Telnyx connection ID used in the call."""
|
|
41
|
+
|
|
42
|
+
from_: Optional[str] = FieldInfo(alias="from", default=None)
|
|
43
|
+
"""Number or SIP URI placing the call."""
|
|
44
|
+
|
|
45
|
+
message_history: Optional[List[DataPayloadMessageHistory]] = None
|
|
46
|
+
"""The history of the messages exchanged during the AI gather"""
|
|
47
|
+
|
|
48
|
+
to: Optional[str] = None
|
|
49
|
+
"""Destination number or SIP URI of the call."""
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class Data(BaseModel):
|
|
53
|
+
id: Optional[str] = None
|
|
54
|
+
"""Identifies the type of resource."""
|
|
55
|
+
|
|
56
|
+
event_type: Optional[Literal["call.ai_gather.message_history_updated"]] = None
|
|
57
|
+
"""The type of event being delivered."""
|
|
58
|
+
|
|
59
|
+
occurred_at: Optional[datetime] = None
|
|
60
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
61
|
+
|
|
62
|
+
payload: Optional[DataPayload] = None
|
|
63
|
+
|
|
64
|
+
record_type: Optional[Literal["event"]] = None
|
|
65
|
+
"""Identifies the type of the resource."""
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class CallAIGatherMessageHistoryUpdatedWebhookEvent(BaseModel):
|
|
69
|
+
data: Optional[Data] = None
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
|
|
11
|
+
__all__ = ["CallAIGatherPartialResultsWebhookEvent", "Data", "DataPayload", "DataPayloadMessageHistory"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class DataPayloadMessageHistory(BaseModel):
|
|
15
|
+
content: Optional[str] = None
|
|
16
|
+
"""The content of the message"""
|
|
17
|
+
|
|
18
|
+
role: Optional[Literal["assistant", "user"]] = None
|
|
19
|
+
"""The role of the message sender"""
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class DataPayload(BaseModel):
|
|
23
|
+
call_control_id: Optional[str] = None
|
|
24
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
25
|
+
|
|
26
|
+
call_leg_id: Optional[str] = None
|
|
27
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
28
|
+
|
|
29
|
+
call_session_id: Optional[str] = None
|
|
30
|
+
"""
|
|
31
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
32
|
+
events. Call session is a group of related call legs that logically belong to
|
|
33
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
client_state: Optional[str] = None
|
|
37
|
+
"""State received from a command."""
|
|
38
|
+
|
|
39
|
+
connection_id: Optional[str] = None
|
|
40
|
+
"""Telnyx connection ID used in the call."""
|
|
41
|
+
|
|
42
|
+
from_: Optional[str] = FieldInfo(alias="from", default=None)
|
|
43
|
+
"""Number or SIP URI placing the call."""
|
|
44
|
+
|
|
45
|
+
message_history: Optional[List[DataPayloadMessageHistory]] = None
|
|
46
|
+
"""The history of the messages exchanged during the AI gather"""
|
|
47
|
+
|
|
48
|
+
partial_results: Optional[object] = None
|
|
49
|
+
"""
|
|
50
|
+
The partial result of the AI gather, its type depends of the `parameters`
|
|
51
|
+
provided in the command
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
to: Optional[str] = None
|
|
55
|
+
"""Destination number or SIP URI of the call."""
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class Data(BaseModel):
|
|
59
|
+
id: Optional[str] = None
|
|
60
|
+
"""Identifies the type of resource."""
|
|
61
|
+
|
|
62
|
+
event_type: Optional[Literal["call.ai_gather.partial_results"]] = None
|
|
63
|
+
"""The type of event being delivered."""
|
|
64
|
+
|
|
65
|
+
occurred_at: Optional[datetime] = None
|
|
66
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
67
|
+
|
|
68
|
+
payload: Optional[DataPayload] = None
|
|
69
|
+
|
|
70
|
+
record_type: Optional[Literal["event"]] = None
|
|
71
|
+
"""Identifies the type of the resource."""
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class CallAIGatherPartialResultsWebhookEvent(BaseModel):
|
|
75
|
+
data: Optional[Data] = None
|
|
@@ -0,0 +1,75 @@
|
|
|
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__ = ["CallAnsweredWebhookEvent", "Data", "DataPayload"]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class DataPayload(BaseModel):
|
|
17
|
+
call_control_id: Optional[str] = None
|
|
18
|
+
"""Call ID used to issue commands via Call Control API."""
|
|
19
|
+
|
|
20
|
+
call_leg_id: Optional[str] = None
|
|
21
|
+
"""ID that is unique to the call and can be used to correlate webhook events."""
|
|
22
|
+
|
|
23
|
+
call_session_id: Optional[str] = None
|
|
24
|
+
"""
|
|
25
|
+
ID that is unique to the call session and can be used to correlate webhook
|
|
26
|
+
events. Call session is a group of related call legs that logically belong to
|
|
27
|
+
the same phone call, e.g. an inbound and outbound leg of a transferred call.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
client_state: Optional[str] = None
|
|
31
|
+
"""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
|
+
custom_headers: Optional[List[CustomSipHeader]] = None
|
|
37
|
+
"""Custom headers set on answer command"""
|
|
38
|
+
|
|
39
|
+
from_: Optional[str] = FieldInfo(alias="from", default=None)
|
|
40
|
+
"""Number or SIP URI placing the call."""
|
|
41
|
+
|
|
42
|
+
sip_headers: Optional[List[SipHeader]] = None
|
|
43
|
+
"""User-to-User and Diversion headers from sip invite."""
|
|
44
|
+
|
|
45
|
+
start_time: Optional[datetime] = None
|
|
46
|
+
"""ISO 8601 datetime of when the call started."""
|
|
47
|
+
|
|
48
|
+
state: Optional[Literal["answered"]] = None
|
|
49
|
+
"""State received from a command."""
|
|
50
|
+
|
|
51
|
+
tags: Optional[List[str]] = None
|
|
52
|
+
"""Array of tags associated to number."""
|
|
53
|
+
|
|
54
|
+
to: Optional[str] = None
|
|
55
|
+
"""Destination number or SIP URI of the call."""
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class Data(BaseModel):
|
|
59
|
+
id: Optional[str] = None
|
|
60
|
+
"""Identifies the type of resource."""
|
|
61
|
+
|
|
62
|
+
event_type: Optional[Literal["call.answered"]] = None
|
|
63
|
+
"""The type of event being delivered."""
|
|
64
|
+
|
|
65
|
+
occurred_at: Optional[datetime] = None
|
|
66
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
67
|
+
|
|
68
|
+
payload: Optional[DataPayload] = None
|
|
69
|
+
|
|
70
|
+
record_type: Optional[Literal["event"]] = None
|
|
71
|
+
"""Identifies the type of the resource."""
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class CallAnsweredWebhookEvent(BaseModel):
|
|
75
|
+
data: Optional[Data] = None
|