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.

Files changed (72) hide show
  1. telnyx/_version.py +1 -1
  2. telnyx/resources/webhooks.py +19 -0
  3. telnyx/types/__init__.py +1 -0
  4. telnyx/types/call_ai_gather_ended_webhook_event1.py +78 -0
  5. telnyx/types/call_ai_gather_message_history_updated_webhook_event1.py +69 -0
  6. telnyx/types/call_ai_gather_partial_results_webhook_event1.py +75 -0
  7. telnyx/types/call_answered_webhook_event1.py +75 -0
  8. telnyx/types/call_bridged_webhook_event1.py +58 -0
  9. telnyx/types/call_conversation_ended_webhook_event1.py +84 -0
  10. telnyx/types/call_conversation_insights_generated_webhook_event1.py +67 -0
  11. telnyx/types/call_dtmf_received_webhook_event1.py +61 -0
  12. telnyx/types/call_enqueued_webhook_event1.py +59 -0
  13. telnyx/types/call_fork_started_webhook_event1.py +53 -0
  14. telnyx/types/call_fork_stopped_webhook_event1.py +53 -0
  15. telnyx/types/call_gather_ended_webhook_event1.py +64 -0
  16. telnyx/types/call_hangup_webhook_event1.py +150 -0
  17. telnyx/types/call_initiated_webhook_event1.py +96 -0
  18. telnyx/types/call_left_queue_webhook_event1.py +62 -0
  19. telnyx/types/call_machine_detection_ended_webhook_event1.py +61 -0
  20. telnyx/types/call_machine_greeting_ended_webhook_event1.py +61 -0
  21. telnyx/types/call_machine_premium_detection_ended_webhook_event1.py +63 -0
  22. telnyx/types/call_machine_premium_greeting_ended_webhook_event1.py +61 -0
  23. telnyx/types/call_playback_ended_webhook_event1.py +70 -0
  24. telnyx/types/call_playback_started_webhook_event1.py +62 -0
  25. telnyx/types/call_recording_error_webhook_event1.py +60 -0
  26. telnyx/types/call_recording_saved_webhook_event1.py +94 -0
  27. telnyx/types/call_recording_transcription_saved_webhook_event1.py +71 -0
  28. telnyx/types/call_refer_completed_webhook_event1.py +61 -0
  29. telnyx/types/call_refer_failed_webhook_event1.py +61 -0
  30. telnyx/types/call_refer_started_webhook_event1.py +61 -0
  31. telnyx/types/call_siprec_failed_webhook_event1.py +53 -0
  32. telnyx/types/call_siprec_started_webhook_event1.py +50 -0
  33. telnyx/types/call_siprec_stopped_webhook_event1.py +53 -0
  34. telnyx/types/call_speak_ended_webhook_event1.py +53 -0
  35. telnyx/types/call_speak_started_webhook_event1.py +50 -0
  36. telnyx/types/call_streaming_failed_webhook_event1.py +70 -0
  37. telnyx/types/call_streaming_started_webhook_event1.py +53 -0
  38. telnyx/types/call_streaming_stopped_webhook_event1.py +53 -0
  39. telnyx/types/campaign_status_update_webhook_event1.py +26 -0
  40. telnyx/types/conference_created_webhook_event1.py +53 -0
  41. telnyx/types/conference_ended_webhook_event1.py +56 -0
  42. telnyx/types/conference_floor_changed_webhook_event1.py +45 -0
  43. telnyx/types/conference_participant_joined_webhook_event1.py +53 -0
  44. telnyx/types/conference_participant_left_webhook_event1.py +53 -0
  45. telnyx/types/conference_participant_playback_ended_webhook_event1.py +65 -0
  46. telnyx/types/conference_participant_playback_started_webhook_event1.py +65 -0
  47. telnyx/types/conference_participant_speak_ended_webhook_event1.py +56 -0
  48. telnyx/types/conference_participant_speak_started_webhook_event1.py +56 -0
  49. telnyx/types/conference_playback_ended_webhook_event1.py +49 -0
  50. telnyx/types/conference_playback_started_webhook_event1.py +49 -0
  51. telnyx/types/conference_recording_saved_webhook_event1.py +103 -0
  52. telnyx/types/conference_speak_ended_webhook_event1.py +40 -0
  53. telnyx/types/conference_speak_started_webhook_event1.py +40 -0
  54. telnyx/types/customer_service_record_status_changed_webhook_event1.py +55 -0
  55. telnyx/types/delivery_update_webhook_event1.py +40 -0
  56. telnyx/types/fax_delivered_webhook_event1.py +69 -0
  57. telnyx/types/fax_failed_webhook_event1.py +66 -0
  58. telnyx/types/fax_media_processed_webhook_event1.py +63 -0
  59. telnyx/types/fax_queued_webhook_event1.py +63 -0
  60. telnyx/types/fax_sending_started_webhook_event1.py +63 -0
  61. telnyx/types/inbound_message_webhook_event1.py +227 -0
  62. telnyx/types/number_order_status_update_webhook_event1.py +38 -0
  63. telnyx/types/replaced_link_click_webhook_event1.py +32 -0
  64. telnyx/types/streaming_failed_webhook_event1.py +70 -0
  65. telnyx/types/streaming_started_webhook_event1.py +53 -0
  66. telnyx/types/streaming_stopped_webhook_event1.py +53 -0
  67. telnyx/types/transcription_webhook_event1.py +72 -0
  68. telnyx/types/unsafe_unwrap_webhook_event.py +138 -0
  69. {telnyx-3.6.0.dist-info → telnyx-3.7.0.dist-info}/METADATA +1 -1
  70. {telnyx-3.6.0.dist-info → telnyx-3.7.0.dist-info}/RECORD +72 -7
  71. {telnyx-3.6.0.dist-info → telnyx-3.7.0.dist-info}/WHEEL +0 -0
  72. {telnyx-3.6.0.dist-info → telnyx-3.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,65 @@
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__ = ["ConferenceParticipantPlaybackEndedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Participant's 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
+ conference_id: Optional[str] = None
30
+ """ID of the conference the text was spoken in."""
31
+
32
+ connection_id: Optional[str] = None
33
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
34
+
35
+ creator_call_session_id: Optional[str] = None
36
+ """ID that is unique to the call session that started the conference."""
37
+
38
+ media_name: Optional[str] = None
39
+ """
40
+ The name of the audio media file being played back, if media_name has been used
41
+ to start.
42
+ """
43
+
44
+ media_url: Optional[str] = None
45
+ """The audio URL being played back, if audio_url has been used to start."""
46
+
47
+ occurred_at: Optional[datetime] = None
48
+ """ISO 8601 datetime of when the event occurred."""
49
+
50
+
51
+ class Data(BaseModel):
52
+ id: Optional[str] = None
53
+ """Identifies the type of resource."""
54
+
55
+ event_type: Optional[Literal["conference.participant.playback.ended"]] = None
56
+ """The type of event being delivered."""
57
+
58
+ payload: Optional[DataPayload] = None
59
+
60
+ record_type: Optional[Literal["event"]] = None
61
+ """Identifies the type of the resource."""
62
+
63
+
64
+ class ConferenceParticipantPlaybackEndedWebhookEvent(BaseModel):
65
+ data: Optional[Data] = None
@@ -0,0 +1,65 @@
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__ = ["ConferenceParticipantPlaybackStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Participant's 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
+ conference_id: Optional[str] = None
30
+ """ID of the conference the text was spoken in."""
31
+
32
+ connection_id: Optional[str] = None
33
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
34
+
35
+ creator_call_session_id: Optional[str] = None
36
+ """ID that is unique to the call session that started the conference."""
37
+
38
+ media_name: Optional[str] = None
39
+ """
40
+ The name of the audio media file being played back, if media_name has been used
41
+ to start.
42
+ """
43
+
44
+ media_url: Optional[str] = None
45
+ """The audio URL being played back, if audio_url has been used to start."""
46
+
47
+ occurred_at: Optional[datetime] = None
48
+ """ISO 8601 datetime of when the event occurred."""
49
+
50
+
51
+ class Data(BaseModel):
52
+ id: Optional[str] = None
53
+ """Identifies the type of resource."""
54
+
55
+ event_type: Optional[Literal["conference.participant.playback.started"]] = None
56
+ """The type of event being delivered."""
57
+
58
+ payload: Optional[DataPayload] = None
59
+
60
+ record_type: Optional[Literal["event"]] = None
61
+ """Identifies the type of the resource."""
62
+
63
+
64
+ class ConferenceParticipantPlaybackStartedWebhookEvent(BaseModel):
65
+ data: Optional[Data] = None
@@ -0,0 +1,56 @@
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__ = ["ConferenceParticipantSpeakEndedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Participant's 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
+ conference_id: Optional[str] = None
30
+ """ID of the conference the text was spoken in."""
31
+
32
+ connection_id: Optional[str] = None
33
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
34
+
35
+ creator_call_session_id: Optional[str] = None
36
+ """ID that is unique to the call session that started the conference."""
37
+
38
+ occurred_at: Optional[datetime] = None
39
+ """ISO 8601 datetime of when the event occurred."""
40
+
41
+
42
+ class Data(BaseModel):
43
+ id: Optional[str] = None
44
+ """Identifies the type of resource."""
45
+
46
+ event_type: Optional[Literal["conference.participant.speak.ended"]] = None
47
+ """The type of event being delivered."""
48
+
49
+ payload: Optional[DataPayload] = None
50
+
51
+ record_type: Optional[Literal["event"]] = None
52
+ """Identifies the type of the resource."""
53
+
54
+
55
+ class ConferenceParticipantSpeakEndedWebhookEvent(BaseModel):
56
+ data: Optional[Data] = None
@@ -0,0 +1,56 @@
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__ = ["ConferenceParticipantSpeakStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ call_control_id: Optional[str] = None
14
+ """Participant's 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
+ conference_id: Optional[str] = None
30
+ """ID of the conference the text was spoken in."""
31
+
32
+ connection_id: Optional[str] = None
33
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
34
+
35
+ creator_call_session_id: Optional[str] = None
36
+ """ID that is unique to the call session that started the conference."""
37
+
38
+ occurred_at: Optional[datetime] = None
39
+ """ISO 8601 datetime of when the event occurred."""
40
+
41
+
42
+ class Data(BaseModel):
43
+ id: Optional[str] = None
44
+ """Identifies the type of resource."""
45
+
46
+ event_type: Optional[Literal["conference.participant.speak.started"]] = None
47
+ """The type of event being delivered."""
48
+
49
+ payload: Optional[DataPayload] = None
50
+
51
+ record_type: Optional[Literal["event"]] = None
52
+ """Identifies the type of the resource."""
53
+
54
+
55
+ class ConferenceParticipantSpeakStartedWebhookEvent(BaseModel):
56
+ data: Optional[Data] = None
@@ -0,0 +1,49 @@
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__ = ["ConferencePlaybackEndedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ conference_id: Optional[str] = None
14
+ """ID of the conference the text was spoken in."""
15
+
16
+ connection_id: Optional[str] = None
17
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
18
+
19
+ creator_call_session_id: Optional[str] = None
20
+ """ID that is unique to the call session that started the conference."""
21
+
22
+ media_name: Optional[str] = None
23
+ """
24
+ The name of the audio media file being played back, if media_name has been used
25
+ to start.
26
+ """
27
+
28
+ media_url: Optional[str] = None
29
+ """The audio URL being played back, if audio_url has been used to start."""
30
+
31
+ occurred_at: Optional[datetime] = None
32
+ """ISO 8601 datetime of when the event occurred."""
33
+
34
+
35
+ class Data(BaseModel):
36
+ id: Optional[str] = None
37
+ """Identifies the type of resource."""
38
+
39
+ event_type: Optional[Literal["conference.playback.ended"]] = None
40
+ """The type of event being delivered."""
41
+
42
+ payload: Optional[DataPayload] = None
43
+
44
+ record_type: Optional[Literal["event"]] = None
45
+ """Identifies the type of the resource."""
46
+
47
+
48
+ class ConferencePlaybackEndedWebhookEvent(BaseModel):
49
+ data: Optional[Data] = None
@@ -0,0 +1,49 @@
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__ = ["ConferencePlaybackStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ conference_id: Optional[str] = None
14
+ """ID of the conference the text was spoken in."""
15
+
16
+ connection_id: Optional[str] = None
17
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
18
+
19
+ creator_call_session_id: Optional[str] = None
20
+ """ID that is unique to the call session that started the conference."""
21
+
22
+ media_name: Optional[str] = None
23
+ """
24
+ The name of the audio media file being played back, if media_name has been used
25
+ to start.
26
+ """
27
+
28
+ media_url: Optional[str] = None
29
+ """The audio URL being played back, if audio_url has been used to start."""
30
+
31
+ occurred_at: Optional[datetime] = None
32
+ """ISO 8601 datetime of when the event occurred."""
33
+
34
+
35
+ class Data(BaseModel):
36
+ id: Optional[str] = None
37
+ """Identifies the type of resource."""
38
+
39
+ event_type: Optional[Literal["conference.playback.started"]] = None
40
+ """The type of event being delivered."""
41
+
42
+ payload: Optional[DataPayload] = None
43
+
44
+ record_type: Optional[Literal["event"]] = None
45
+ """Identifies the type of the resource."""
46
+
47
+
48
+ class ConferencePlaybackStartedWebhookEvent(BaseModel):
49
+ data: Optional[Data] = None
@@ -0,0 +1,103 @@
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__ = [
10
+ "ConferenceRecordingSavedWebhookEvent",
11
+ "Data",
12
+ "DataPayload",
13
+ "DataPayloadPublicRecordingURLs",
14
+ "DataPayloadRecordingURLs",
15
+ ]
16
+
17
+
18
+ class DataPayloadPublicRecordingURLs(BaseModel):
19
+ mp3: Optional[str] = None
20
+ """Recording URL in requested `mp3` format."""
21
+
22
+ wav: Optional[str] = None
23
+ """Recording URL in requested `wav` format."""
24
+
25
+
26
+ class DataPayloadRecordingURLs(BaseModel):
27
+ mp3: Optional[str] = None
28
+ """Recording URL in requested `mp3` format."""
29
+
30
+ wav: Optional[str] = None
31
+ """Recording URL in requested `wav` format."""
32
+
33
+
34
+ class DataPayload(BaseModel):
35
+ call_control_id: Optional[str] = None
36
+ """Participant's call ID used to issue commands via Call Control API."""
37
+
38
+ call_session_id: Optional[str] = None
39
+ """
40
+ ID that is unique to the call session and can be used to correlate webhook
41
+ events. Call session is a group of related call legs that logically belong to
42
+ the same phone call, e.g. an inbound and outbound leg of a transferred call.
43
+ """
44
+
45
+ channels: Optional[Literal["single", "dual"]] = None
46
+ """Whether recording was recorded in `single` or `dual` channel."""
47
+
48
+ client_state: Optional[str] = None
49
+ """State received from a command."""
50
+
51
+ conference_id: Optional[str] = None
52
+ """ID of the conference that is being recorded."""
53
+
54
+ connection_id: Optional[str] = None
55
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
56
+
57
+ format: Optional[Literal["wav", "mp3"]] = None
58
+ """The audio file format used when storing the call recording.
59
+
60
+ Can be either `mp3` or `wav`.
61
+ """
62
+
63
+ public_recording_urls: Optional[DataPayloadPublicRecordingURLs] = None
64
+ """Recording URLs in requested format.
65
+
66
+ The URL is valid for as long as the file exists. For security purposes, this
67
+ feature is activated on a per request basis. Please contact customer support
68
+ with your Account ID to request activation.
69
+ """
70
+
71
+ recording_ended_at: Optional[datetime] = None
72
+ """ISO 8601 datetime of when recording ended."""
73
+
74
+ recording_id: Optional[str] = None
75
+ """ID of the conference recording."""
76
+
77
+ recording_started_at: Optional[datetime] = None
78
+ """ISO 8601 datetime of when recording started."""
79
+
80
+ recording_urls: Optional[DataPayloadRecordingURLs] = None
81
+ """Recording URLs in requested format.
82
+
83
+ These URLs are valid for 10 minutes. After 10 minutes, you may retrieve
84
+ recordings via API using Reports -> Call Recordings documentation, or via
85
+ Mission Control under Reporting -> Recordings.
86
+ """
87
+
88
+
89
+ class Data(BaseModel):
90
+ id: Optional[str] = None
91
+ """Identifies the type of resource."""
92
+
93
+ event_type: Optional[Literal["conference.recording.saved"]] = None
94
+ """The type of event being delivered."""
95
+
96
+ payload: Optional[DataPayload] = None
97
+
98
+ record_type: Optional[Literal["event"]] = None
99
+ """Identifies the type of the resource."""
100
+
101
+
102
+ class ConferenceRecordingSavedWebhookEvent(BaseModel):
103
+ data: Optional[Data] = None
@@ -0,0 +1,40 @@
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__ = ["ConferenceSpeakEndedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ conference_id: Optional[str] = None
14
+ """ID of the conference the text was spoken in."""
15
+
16
+ connection_id: Optional[str] = None
17
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
18
+
19
+ creator_call_session_id: Optional[str] = None
20
+ """ID that is unique to the call session that started the conference."""
21
+
22
+ occurred_at: Optional[datetime] = None
23
+ """ISO 8601 datetime of when the event occurred."""
24
+
25
+
26
+ class Data(BaseModel):
27
+ id: Optional[str] = None
28
+ """Identifies the type of resource."""
29
+
30
+ event_type: Optional[Literal["conference.speak.ended"]] = None
31
+ """The type of event being delivered."""
32
+
33
+ payload: Optional[DataPayload] = None
34
+
35
+ record_type: Optional[Literal["event"]] = None
36
+ """Identifies the type of the resource."""
37
+
38
+
39
+ class ConferenceSpeakEndedWebhookEvent(BaseModel):
40
+ data: Optional[Data] = None
@@ -0,0 +1,40 @@
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__ = ["ConferenceSpeakStartedWebhookEvent", "Data", "DataPayload"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ conference_id: Optional[str] = None
14
+ """ID of the conference the text was spoken in."""
15
+
16
+ connection_id: Optional[str] = None
17
+ """Call Control App ID (formerly Telnyx connection ID) used in the call."""
18
+
19
+ creator_call_session_id: Optional[str] = None
20
+ """ID that is unique to the call session that started the conference."""
21
+
22
+ occurred_at: Optional[datetime] = None
23
+ """ISO 8601 datetime of when the event occurred."""
24
+
25
+
26
+ class Data(BaseModel):
27
+ id: Optional[str] = None
28
+ """Identifies the type of resource."""
29
+
30
+ event_type: Optional[Literal["conference.speak.started"]] = None
31
+ """The type of event being delivered."""
32
+
33
+ payload: Optional[DataPayload] = None
34
+
35
+ record_type: Optional[Literal["event"]] = None
36
+ """Identifies the type of the resource."""
37
+
38
+
39
+ class ConferenceSpeakStartedWebhookEvent(BaseModel):
40
+ data: Optional[Data] = None
@@ -0,0 +1,55 @@
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__ = ["CustomerServiceRecordStatusChangedWebhookEvent", "Data", "DataPayload", "Meta"]
10
+
11
+
12
+ class DataPayload(BaseModel):
13
+ id: Optional[str] = None
14
+ """Uniquely identifies the customer service record."""
15
+
16
+ phone_number: Optional[str] = None
17
+ """The phone number of the customer service record."""
18
+
19
+ status: Optional[Literal["pending", "completed", "failed"]] = None
20
+ """The status of the customer service record"""
21
+
22
+ updated_at: Optional[datetime] = None
23
+ """
24
+ ISO 8601 formatted date indicating the last time where the resource was updated.
25
+ """
26
+
27
+
28
+ class Data(BaseModel):
29
+ id: Optional[str] = None
30
+ """Uniquely identifies the callback event."""
31
+
32
+ event_type: Optional[Literal["customer_service_record.status_changed"]] = None
33
+ """The type of the callback event."""
34
+
35
+ occurred_at: Optional[datetime] = None
36
+ """ISO 8601 formatted date indicating when the callback event occurred."""
37
+
38
+ payload: Optional[DataPayload] = None
39
+
40
+ record_type: Optional[Literal["event"]] = None
41
+ """Identifies the type of the resource."""
42
+
43
+
44
+ class Meta(BaseModel):
45
+ attempt: Optional[int] = None
46
+ """The number of times the callback webhook has been attempted."""
47
+
48
+ delivered_to: Optional[str] = None
49
+ """The URL that the callback webhook was delivered to."""
50
+
51
+
52
+ class CustomerServiceRecordStatusChangedWebhookEvent(BaseModel):
53
+ data: Optional[Data] = None
54
+
55
+ meta: Optional[Meta] = None
@@ -0,0 +1,40 @@
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
+ from .outbound_message_payload import OutboundMessagePayload
9
+
10
+ __all__ = ["DeliveryUpdateWebhookEvent", "Data", "Meta"]
11
+
12
+
13
+ class Data(BaseModel):
14
+ id: Optional[str] = None
15
+ """Identifies the type of resource."""
16
+
17
+ event_type: Optional[Literal["message.sent", "message.finalized"]] = None
18
+ """The type of event being delivered."""
19
+
20
+ occurred_at: Optional[datetime] = None
21
+ """ISO 8601 formatted date indicating when the resource was created."""
22
+
23
+ payload: Optional[OutboundMessagePayload] = None
24
+
25
+ record_type: Optional[Literal["event"]] = None
26
+ """Identifies the type of the resource."""
27
+
28
+
29
+ class Meta(BaseModel):
30
+ attempt: Optional[int] = None
31
+ """Number of attempts to deliver the webhook event."""
32
+
33
+ delivered_to: Optional[str] = None
34
+ """The webhook URL the event was delivered to."""
35
+
36
+
37
+ class DeliveryUpdateWebhookEvent(BaseModel):
38
+ data: Optional[Data] = None
39
+
40
+ meta: Optional[Meta] = None