telnyx 3.6.0__py3-none-any.whl → 3.7.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/_version.py +1 -1
- telnyx/resources/webhooks.py +19 -0
- telnyx/types/__init__.py +1 -0
- 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_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/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/customer_service_record_status_changed_webhook_event1.py +55 -0
- telnyx/types/delivery_update_webhook_event1.py +40 -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/number_order_status_update_webhook_event1.py +38 -0
- telnyx/types/replaced_link_click_webhook_event1.py +32 -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/transcription_webhook_event1.py +72 -0
- telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
- {telnyx-3.6.0.dist-info → telnyx-3.7.0.dist-info}/METADATA +1 -1
- {telnyx-3.6.0.dist-info → telnyx-3.7.0.dist-info}/RECORD +72 -7
- {telnyx-3.6.0.dist-info → telnyx-3.7.0.dist-info}/WHEEL +0 -0
- {telnyx-3.6.0.dist-info → telnyx-3.7.0.dist-info}/licenses/LICENSE +0 -0
telnyx/_version.py
CHANGED
telnyx/resources/webhooks.py
CHANGED
|
@@ -8,11 +8,21 @@ from typing import cast
|
|
|
8
8
|
from .._models import construct_type
|
|
9
9
|
from .._resource import SyncAPIResource, AsyncAPIResource
|
|
10
10
|
from ..types.unwrap_webhook_event import UnwrapWebhookEvent
|
|
11
|
+
from ..types.unsafe_unwrap_webhook_event import UnsafeUnwrapWebhookEvent
|
|
11
12
|
|
|
12
13
|
__all__ = ["WebhooksResource", "AsyncWebhooksResource"]
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
class WebhooksResource(SyncAPIResource):
|
|
17
|
+
def unsafe_unwrap(self, payload: str) -> UnsafeUnwrapWebhookEvent:
|
|
18
|
+
return cast(
|
|
19
|
+
UnsafeUnwrapWebhookEvent,
|
|
20
|
+
construct_type(
|
|
21
|
+
type_=UnsafeUnwrapWebhookEvent,
|
|
22
|
+
value=json.loads(payload),
|
|
23
|
+
),
|
|
24
|
+
)
|
|
25
|
+
|
|
16
26
|
def unwrap(self, payload: str) -> UnwrapWebhookEvent:
|
|
17
27
|
return cast(
|
|
18
28
|
UnwrapWebhookEvent,
|
|
@@ -24,6 +34,15 @@ class WebhooksResource(SyncAPIResource):
|
|
|
24
34
|
|
|
25
35
|
|
|
26
36
|
class AsyncWebhooksResource(AsyncAPIResource):
|
|
37
|
+
def unsafe_unwrap(self, payload: str) -> UnsafeUnwrapWebhookEvent:
|
|
38
|
+
return cast(
|
|
39
|
+
UnsafeUnwrapWebhookEvent,
|
|
40
|
+
construct_type(
|
|
41
|
+
type_=UnsafeUnwrapWebhookEvent,
|
|
42
|
+
value=json.loads(payload),
|
|
43
|
+
),
|
|
44
|
+
)
|
|
45
|
+
|
|
27
46
|
def unwrap(self, payload: str) -> UnwrapWebhookEvent:
|
|
28
47
|
return cast(
|
|
29
48
|
UnwrapWebhookEvent,
|
telnyx/types/__init__.py
CHANGED
|
@@ -376,6 +376,7 @@ from .recording_retrieve_response import RecordingRetrieveResponse as RecordingR
|
|
|
376
376
|
from .reserved_phone_number_param import ReservedPhoneNumberParam as ReservedPhoneNumberParam
|
|
377
377
|
from .s3_configuration_data_param import S3ConfigurationDataParam as S3ConfigurationDataParam
|
|
378
378
|
from .transcription_webhook_event import TranscriptionWebhookEvent as TranscriptionWebhookEvent
|
|
379
|
+
from .unsafe_unwrap_webhook_event import UnsafeUnwrapWebhookEvent as UnsafeUnwrapWebhookEvent
|
|
379
380
|
from .verified_number_list_params import VerifiedNumberListParams as VerifiedNumberListParams
|
|
380
381
|
from .advanced_order_create_params import AdvancedOrderCreateParams as AdvancedOrderCreateParams
|
|
381
382
|
from .call_initiated_webhook_event import CallInitiatedWebhookEvent as CallInitiatedWebhookEvent
|
|
@@ -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
|
|
@@ -0,0 +1,58 @@
|
|
|
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__ = ["CallBridgedWebhookEvent", "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
|
+
from_: Optional[str] = FieldInfo(alias="from", default=None)
|
|
35
|
+
"""Number or SIP URI placing the call."""
|
|
36
|
+
|
|
37
|
+
to: Optional[str] = None
|
|
38
|
+
"""Destination number or SIP URI of the call."""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class Data(BaseModel):
|
|
42
|
+
id: Optional[str] = None
|
|
43
|
+
"""Identifies the type of resource."""
|
|
44
|
+
|
|
45
|
+
event_type: Optional[Literal["call.bridged"]] = None
|
|
46
|
+
"""The type of event being delivered."""
|
|
47
|
+
|
|
48
|
+
occurred_at: Optional[datetime] = None
|
|
49
|
+
"""ISO 8601 datetime of when the event occurred."""
|
|
50
|
+
|
|
51
|
+
payload: Optional[DataPayload] = None
|
|
52
|
+
|
|
53
|
+
record_type: Optional[Literal["event"]] = None
|
|
54
|
+
"""Identifies the type of the resource."""
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class CallBridgedWebhookEvent(BaseModel):
|
|
58
|
+
data: Optional[Data] = None
|
|
@@ -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
|
|
@@ -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
|