sentdm 0.26.0 → 0.28.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +40 -0
- data/README.md +1 -27
- data/lib/sentdm/client.rb +71 -8
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- data/lib/sentdm/models/contact_create_response.rb +249 -0
- data/lib/sentdm/models/contact_delete_params.rb +16 -2
- data/lib/sentdm/models/contact_list_response.rb +299 -16
- data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
- data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
- data/lib/sentdm/models/contact_update_response.rb +249 -0
- data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
- data/lib/sentdm/models/conversation_list_response.rb +433 -0
- data/lib/sentdm/models/inbound_message_event.rb +52 -0
- data/lib/sentdm/models/inbound_message_event_payload.rb +81 -0
- data/lib/sentdm/models/me_retrieve_response.rb +242 -12
- data/lib/sentdm/models/message_event.rb +53 -0
- data/lib/sentdm/models/message_event_payload.rb +92 -0
- data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
- data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
- data/lib/sentdm/models/message_send_response.rb +113 -28
- data/lib/sentdm/models/number_lookup_response.rb +74 -6
- data/lib/sentdm/models/profile_complete_response.rb +74 -6
- data/lib/sentdm/models/profile_create_params.rb +378 -26
- data/lib/sentdm/models/profile_create_response.rb +760 -0
- data/lib/sentdm/models/profile_delete_params.rb +16 -2
- data/lib/sentdm/models/profile_list_response.rb +825 -14
- data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
- data/lib/sentdm/models/profile_update_params.rb +391 -24
- data/lib/sentdm/models/profile_update_response.rb +760 -0
- data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
- data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
- data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
- data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
- data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
- data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
- data/lib/sentdm/models/template_create_response.rb +209 -0
- data/lib/sentdm/models/template_event.rb +52 -0
- data/lib/sentdm/models/template_event_payload.rb +88 -0
- data/lib/sentdm/models/template_list_params.rb +9 -2
- data/lib/sentdm/models/template_list_response.rb +262 -16
- data/lib/sentdm/models/template_retrieve_response.rb +209 -0
- data/lib/sentdm/models/template_update_response.rb +209 -0
- data/lib/sentdm/models/user_invite_response.rb +201 -0
- data/lib/sentdm/models/user_list_response.rb +259 -14
- data/lib/sentdm/models/user_remove_params.rb +16 -2
- data/lib/sentdm/models/user_retrieve_response.rb +201 -0
- data/lib/sentdm/models/user_update_role_response.rb +201 -0
- data/lib/sentdm/models/webhook_create_response.rb +229 -0
- data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
- data/lib/sentdm/models/webhook_list_events_response.rb +207 -16
- data/lib/sentdm/models/webhook_list_response.rb +280 -15
- data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
- data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
- data/lib/sentdm/models/webhook_test_response.rb +74 -6
- data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
- data/lib/sentdm/models/webhook_update_response.rb +229 -0
- data/lib/sentdm/models.rb +11 -51
- data/lib/sentdm/resources/contacts.rb +30 -13
- data/lib/sentdm/resources/conversations.rb +12 -4
- data/lib/sentdm/resources/me.rb +6 -1
- data/lib/sentdm/resources/messages.rb +17 -5
- data/lib/sentdm/resources/numbers.rb +6 -1
- data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
- data/lib/sentdm/resources/profiles.rb +137 -61
- data/lib/sentdm/resources/templates.rb +14 -8
- data/lib/sentdm/resources/users.rb +15 -10
- data/lib/sentdm/resources/webhooks.rb +19 -9
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +28 -32
- data/rbi/sentdm/client.rbi +71 -8
- data/rbi/sentdm/models/contact_create_response.rbi +407 -0
- data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
- data/rbi/sentdm/models/contact_list_response.rbi +527 -21
- data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
- data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
- data/rbi/sentdm/models/contact_update_response.rbi +407 -0
- data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
- data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
- data/rbi/sentdm/models/inbound_message_event.rbi +88 -0
- data/rbi/sentdm/models/inbound_message_event_payload.rbi +122 -0
- data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
- data/rbi/sentdm/models/message_event.rbi +86 -0
- data/rbi/sentdm/models/message_event_payload.rbi +132 -0
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
- data/rbi/sentdm/models/message_send_response.rbi +178 -32
- data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
- data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
- data/rbi/sentdm/models/profile_create_params.rbi +592 -42
- data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
- data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
- data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
- data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
- data/rbi/sentdm/models/profile_update_params.rbi +610 -30
- data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
- data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
- data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
- data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
- data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
- data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
- data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
- data/rbi/sentdm/models/template_create_response.rbi +349 -0
- data/rbi/sentdm/models/template_event.rbi +84 -0
- data/rbi/sentdm/models/template_event_payload.rbi +131 -0
- data/rbi/sentdm/models/template_list_params.rbi +10 -2
- data/rbi/sentdm/models/template_list_response.rbi +469 -21
- data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
- data/rbi/sentdm/models/template_update_response.rbi +349 -0
- data/rbi/sentdm/models/user_invite_response.rbi +336 -0
- data/rbi/sentdm/models/user_list_response.rbi +463 -18
- data/rbi/sentdm/models/user_remove_params.rbi +19 -2
- data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
- data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
- data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
- data/rbi/sentdm/models/webhook_list_events_response.rbi +379 -19
- data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
- data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
- data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
- data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
- data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
- data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
- data/rbi/sentdm/models.rbi +11 -53
- data/rbi/sentdm/resources/contacts.rbi +24 -9
- data/rbi/sentdm/resources/conversations.rbi +10 -2
- data/rbi/sentdm/resources/me.rbi +6 -1
- data/rbi/sentdm/resources/messages.rbi +17 -5
- data/rbi/sentdm/resources/numbers.rbi +6 -1
- data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
- data/rbi/sentdm/resources/profiles.rbi +177 -68
- data/rbi/sentdm/resources/templates.rbi +15 -5
- data/rbi/sentdm/resources/users.rbi +12 -6
- data/rbi/sentdm/resources/webhooks.rbi +15 -5
- data/sig/sentdm/models/contact_create_response.rbs +216 -0
- data/sig/sentdm/models/contact_delete_params.rbs +10 -6
- data/sig/sentdm/models/contact_list_response.rbs +263 -20
- data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
- data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
- data/sig/sentdm/models/contact_update_response.rbs +216 -0
- data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
- data/sig/sentdm/models/conversation_list_response.rbs +404 -0
- data/sig/sentdm/models/inbound_message_event.rbs +39 -0
- data/sig/sentdm/models/inbound_message_event_payload.rbs +69 -0
- data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
- data/sig/sentdm/models/message_event.rbs +39 -0
- data/sig/sentdm/models/message_event_payload.rbs +72 -0
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
- data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
- data/sig/sentdm/models/message_send_response.rbs +71 -9
- data/sig/sentdm/models/number_lookup_response.rbs +71 -9
- data/sig/sentdm/models/profile_complete_response.rbs +71 -9
- data/sig/sentdm/models/profile_create_params.rbs +271 -24
- data/sig/sentdm/models/profile_create_response.rbs +559 -0
- data/sig/sentdm/models/profile_delete_params.rbs +10 -6
- data/sig/sentdm/models/profile_list_response.rbs +615 -15
- data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
- data/sig/sentdm/models/profile_update_params.rbs +263 -12
- data/sig/sentdm/models/profile_update_response.rbs +559 -0
- data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
- data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
- data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
- data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
- data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
- data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
- data/sig/sentdm/models/template_create_response.rbs +182 -0
- data/sig/sentdm/models/template_event.rbs +39 -0
- data/sig/sentdm/models/template_event_payload.rbs +76 -0
- data/sig/sentdm/models/template_list_response.rbs +230 -19
- data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
- data/sig/sentdm/models/template_update_response.rbs +182 -0
- data/sig/sentdm/models/user_invite_response.rbs +177 -0
- data/sig/sentdm/models/user_list_response.rbs +233 -15
- data/sig/sentdm/models/user_remove_params.rbs +10 -6
- data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
- data/sig/sentdm/models/user_update_role_response.rbs +177 -0
- data/sig/sentdm/models/webhook_create_response.rbs +208 -0
- data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
- data/sig/sentdm/models/webhook_list_events_response.rbs +160 -19
- data/sig/sentdm/models/webhook_list_response.rbs +255 -20
- data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
- data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
- data/sig/sentdm/models/webhook_test_response.rbs +71 -9
- data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
- data/sig/sentdm/models/webhook_update_response.rbs +208 -0
- data/sig/sentdm/models.rbs +11 -51
- data/sig/sentdm/resources/contacts.rbs +4 -4
- data/sig/sentdm/resources/conversations.rbs +2 -2
- data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
- data/sig/sentdm/resources/profiles.rbs +11 -11
- data/sig/sentdm/resources/templates.rbs +3 -3
- data/sig/sentdm/resources/users.rbs +3 -3
- data/sig/sentdm/resources/webhooks.rbs +4 -4
- metadata +86 -98
- data/lib/sentdm/models/api_meta.rb +0 -34
- data/lib/sentdm/models/api_response_of_contact.rb +0 -46
- data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
- data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
- data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
- data/lib/sentdm/models/api_response_of_user.rb +0 -43
- data/lib/sentdm/models/api_response_template.rb +0 -43
- data/lib/sentdm/models/api_response_webhook.rb +0 -43
- data/lib/sentdm/models/billing_contact_info.rb +0 -47
- data/lib/sentdm/models/brand_business_info.rb +0 -114
- data/lib/sentdm/models/brand_compliance_info.rb +0 -67
- data/lib/sentdm/models/brand_contact_info.rb +0 -58
- data/lib/sentdm/models/brands_brand_data.rb +0 -34
- data/lib/sentdm/models/contact_message_summary.rb +0 -76
- data/lib/sentdm/models/contact_response.rb +0 -126
- data/lib/sentdm/models/conversation_messages_list.rb +0 -245
- data/lib/sentdm/models/error_detail.rb +0 -42
- data/lib/sentdm/models/mutation_request.rb +0 -20
- data/lib/sentdm/models/pagination_meta.rb +0 -80
- data/lib/sentdm/models/payment_details.rb +0 -44
- data/lib/sentdm/models/profile_detail.rb +0 -597
- data/lib/sentdm/models/profile_settings.rb +0 -66
- data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
- data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
- data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
- data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
- data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
- data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
- data/lib/sentdm/models/template.rb +0 -90
- data/lib/sentdm/models/user_response.rb +0 -82
- data/lib/sentdm/models/webhook_event_type.rb +0 -45
- data/lib/sentdm/models/webhook_response.rb +0 -95
- data/rbi/sentdm/models/api_meta.rbi +0 -55
- data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
- data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
- data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
- data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
- data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
- data/rbi/sentdm/models/api_response_template.rbi +0 -74
- data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
- data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
- data/rbi/sentdm/models/brand_business_info.rbi +0 -162
- data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
- data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
- data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
- data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
- data/rbi/sentdm/models/contact_response.rbi +0 -183
- data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
- data/rbi/sentdm/models/error_detail.rbi +0 -66
- data/rbi/sentdm/models/mutation_request.rbi +0 -32
- data/rbi/sentdm/models/pagination_meta.rbi +0 -135
- data/rbi/sentdm/models/payment_details.rbi +0 -59
- data/rbi/sentdm/models/profile_detail.rbi +0 -866
- data/rbi/sentdm/models/profile_settings.rbi +0 -86
- data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
- data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
- data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
- data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
- data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
- data/rbi/sentdm/models/template.rbi +0 -129
- data/rbi/sentdm/models/user_response.rbi +0 -118
- data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
- data/rbi/sentdm/models/webhook_response.rbi +0 -140
- data/sig/sentdm/models/api_meta.rbs +0 -27
- data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
- data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
- data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
- data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
- data/sig/sentdm/models/api_response_of_user.rbs +0 -39
- data/sig/sentdm/models/api_response_template.rbs +0 -39
- data/sig/sentdm/models/api_response_webhook.rbs +0 -39
- data/sig/sentdm/models/billing_contact_info.rbs +0 -30
- data/sig/sentdm/models/brand_business_info.rbs +0 -89
- data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
- data/sig/sentdm/models/brand_contact_info.rbs +0 -45
- data/sig/sentdm/models/brands_brand_data.rbs +0 -30
- data/sig/sentdm/models/contact_message_summary.rbs +0 -84
- data/sig/sentdm/models/contact_response.rbs +0 -111
- data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
- data/sig/sentdm/models/error_detail.rbs +0 -39
- data/sig/sentdm/models/mutation_request.rbs +0 -15
- data/sig/sentdm/models/pagination_meta.rbs +0 -67
- data/sig/sentdm/models/payment_details.rbs +0 -30
- data/sig/sentdm/models/profile_detail.rbs +0 -469
- data/sig/sentdm/models/profile_settings.rbs +0 -50
- data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
- data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
- data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
- data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
- data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
- data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
- data/sig/sentdm/models/template.rbs +0 -79
- data/sig/sentdm/models/user_response.rbs +0 -72
- data/sig/sentdm/models/webhook_event_type.rbs +0 -51
- data/sig/sentdm/models/webhook_response.rbs +0 -103
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class MessageEvent < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Sentdm::MessageEvent, Sentdm::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
# The specific event within the family, for example message.delivered or
|
|
10
|
+
# message.received. Absent on events that have no subtype, so treat it as
|
|
11
|
+
# optional.
|
|
12
|
+
sig { returns(T.nilable(String)) }
|
|
13
|
+
attr_accessor :event
|
|
14
|
+
|
|
15
|
+
# The event family, for example message or templates. Route on this first, then on
|
|
16
|
+
# event for the specific change.
|
|
17
|
+
sig { returns(T.nilable(String)) }
|
|
18
|
+
attr_reader :field
|
|
19
|
+
|
|
20
|
+
sig { params(field: String).void }
|
|
21
|
+
attr_writer :field
|
|
22
|
+
|
|
23
|
+
# Body of an outbound message lifecycle event. Delivered once per status change,
|
|
24
|
+
# so a single message produces several of these as it moves toward a terminal
|
|
25
|
+
# status.
|
|
26
|
+
sig { returns(T.nilable(Sentdm::MessageEventPayload)) }
|
|
27
|
+
attr_reader :payload
|
|
28
|
+
|
|
29
|
+
sig do
|
|
30
|
+
params(payload: T.nilable(Sentdm::MessageEventPayload::OrHash)).void
|
|
31
|
+
end
|
|
32
|
+
attr_writer :payload
|
|
33
|
+
|
|
34
|
+
# When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
|
|
35
|
+
# time, not the time the underlying change happened. Use the timestamp inside the
|
|
36
|
+
# payload for the latter.
|
|
37
|
+
sig { returns(T.nilable(String)) }
|
|
38
|
+
attr_reader :timestamp
|
|
39
|
+
|
|
40
|
+
sig { params(timestamp: String).void }
|
|
41
|
+
attr_writer :timestamp
|
|
42
|
+
|
|
43
|
+
# The envelope Sent POSTs to a subscribed webhook endpoint. Every event shares
|
|
44
|
+
# this shape and varies only in Payload.
|
|
45
|
+
sig do
|
|
46
|
+
params(
|
|
47
|
+
event: T.nilable(String),
|
|
48
|
+
field: String,
|
|
49
|
+
payload: T.nilable(Sentdm::MessageEventPayload::OrHash),
|
|
50
|
+
timestamp: String
|
|
51
|
+
).returns(T.attached_class)
|
|
52
|
+
end
|
|
53
|
+
def self.new(
|
|
54
|
+
# The specific event within the family, for example message.delivered or
|
|
55
|
+
# message.received. Absent on events that have no subtype, so treat it as
|
|
56
|
+
# optional.
|
|
57
|
+
event: nil,
|
|
58
|
+
# The event family, for example message or templates. Route on this first, then on
|
|
59
|
+
# event for the specific change.
|
|
60
|
+
field: nil,
|
|
61
|
+
# Body of an outbound message lifecycle event. Delivered once per status change,
|
|
62
|
+
# so a single message produces several of these as it moves toward a terminal
|
|
63
|
+
# status.
|
|
64
|
+
payload: nil,
|
|
65
|
+
# When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
|
|
66
|
+
# time, not the time the underlying change happened. Use the timestamp inside the
|
|
67
|
+
# payload for the latter.
|
|
68
|
+
timestamp: nil
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
sig do
|
|
73
|
+
override.returns(
|
|
74
|
+
{
|
|
75
|
+
event: T.nilable(String),
|
|
76
|
+
field: String,
|
|
77
|
+
payload: T.nilable(Sentdm::MessageEventPayload),
|
|
78
|
+
timestamp: String
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
end
|
|
82
|
+
def to_hash
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class MessageEventPayload < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Sentdm::MessageEventPayload, Sentdm::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The account the message belongs to.
|
|
12
|
+
sig { returns(T.nilable(String)) }
|
|
13
|
+
attr_reader :account_id
|
|
14
|
+
|
|
15
|
+
sig { params(account_id: String).void }
|
|
16
|
+
attr_writer :account_id
|
|
17
|
+
|
|
18
|
+
# The agent attributed to the send, when the send was attributed to one.
|
|
19
|
+
sig { returns(T.nilable(String)) }
|
|
20
|
+
attr_accessor :agent_id
|
|
21
|
+
|
|
22
|
+
# The channel the message went out on, for example sms or whatsapp. A message that
|
|
23
|
+
# falls back to another channel reports the channel actually used.
|
|
24
|
+
sig { returns(T.nilable(String)) }
|
|
25
|
+
attr_reader :channel
|
|
26
|
+
|
|
27
|
+
sig { params(channel: String).void }
|
|
28
|
+
attr_writer :channel
|
|
29
|
+
|
|
30
|
+
# The message this event describes. Stable across every event in the message's
|
|
31
|
+
# lifecycle, so use it to correlate them.
|
|
32
|
+
sig { returns(T.nilable(String)) }
|
|
33
|
+
attr_reader :message_id
|
|
34
|
+
|
|
35
|
+
sig { params(message_id: String).void }
|
|
36
|
+
attr_writer :message_id
|
|
37
|
+
|
|
38
|
+
# The status the message just reached, for example SENT, DELIVERED, or FAILED.
|
|
39
|
+
# Sent means dispatched and delivered means confirmed, so treat them as distinct
|
|
40
|
+
# outcomes.
|
|
41
|
+
sig { returns(T.nilable(String)) }
|
|
42
|
+
attr_reader :message_status
|
|
43
|
+
|
|
44
|
+
sig { params(message_status: String).void }
|
|
45
|
+
attr_writer :message_status
|
|
46
|
+
|
|
47
|
+
# The recipient's number in E.164 format.
|
|
48
|
+
sig { returns(T.nilable(String)) }
|
|
49
|
+
attr_reader :outbound_number
|
|
50
|
+
|
|
51
|
+
sig { params(outbound_number: String).void }
|
|
52
|
+
attr_writer :outbound_number
|
|
53
|
+
|
|
54
|
+
# The template the message was sent from, when it was sent from one.
|
|
55
|
+
sig { returns(T.nilable(String)) }
|
|
56
|
+
attr_accessor :template_id
|
|
57
|
+
|
|
58
|
+
# Name of the template the message was sent from. Omitted when the message wasn't
|
|
59
|
+
# template-based.
|
|
60
|
+
sig { returns(T.nilable(String)) }
|
|
61
|
+
attr_accessor :template_name
|
|
62
|
+
|
|
63
|
+
# When the message reached MessageStatus, in UTC (yyyy-MM-ddTHH:mm:ssZ).
|
|
64
|
+
sig { returns(T.nilable(String)) }
|
|
65
|
+
attr_reader :updated_at
|
|
66
|
+
|
|
67
|
+
sig { params(updated_at: String).void }
|
|
68
|
+
attr_writer :updated_at
|
|
69
|
+
|
|
70
|
+
# Body of an outbound message lifecycle event. Delivered once per status change,
|
|
71
|
+
# so a single message produces several of these as it moves toward a terminal
|
|
72
|
+
# status.
|
|
73
|
+
sig do
|
|
74
|
+
params(
|
|
75
|
+
account_id: String,
|
|
76
|
+
agent_id: T.nilable(String),
|
|
77
|
+
channel: String,
|
|
78
|
+
message_id: String,
|
|
79
|
+
message_status: String,
|
|
80
|
+
outbound_number: String,
|
|
81
|
+
template_id: T.nilable(String),
|
|
82
|
+
template_name: T.nilable(String),
|
|
83
|
+
updated_at: String
|
|
84
|
+
).returns(T.attached_class)
|
|
85
|
+
end
|
|
86
|
+
def self.new(
|
|
87
|
+
# The account the message belongs to.
|
|
88
|
+
account_id: nil,
|
|
89
|
+
# The agent attributed to the send, when the send was attributed to one.
|
|
90
|
+
agent_id: nil,
|
|
91
|
+
# The channel the message went out on, for example sms or whatsapp. A message that
|
|
92
|
+
# falls back to another channel reports the channel actually used.
|
|
93
|
+
channel: nil,
|
|
94
|
+
# The message this event describes. Stable across every event in the message's
|
|
95
|
+
# lifecycle, so use it to correlate them.
|
|
96
|
+
message_id: nil,
|
|
97
|
+
# The status the message just reached, for example SENT, DELIVERED, or FAILED.
|
|
98
|
+
# Sent means dispatched and delivered means confirmed, so treat them as distinct
|
|
99
|
+
# outcomes.
|
|
100
|
+
message_status: nil,
|
|
101
|
+
# The recipient's number in E.164 format.
|
|
102
|
+
outbound_number: nil,
|
|
103
|
+
# The template the message was sent from, when it was sent from one.
|
|
104
|
+
template_id: nil,
|
|
105
|
+
# Name of the template the message was sent from. Omitted when the message wasn't
|
|
106
|
+
# template-based.
|
|
107
|
+
template_name: nil,
|
|
108
|
+
# When the message reached MessageStatus, in UTC (yyyy-MM-ddTHH:mm:ssZ).
|
|
109
|
+
updated_at: nil
|
|
110
|
+
)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
sig do
|
|
114
|
+
override.returns(
|
|
115
|
+
{
|
|
116
|
+
account_id: String,
|
|
117
|
+
agent_id: T.nilable(String),
|
|
118
|
+
channel: String,
|
|
119
|
+
message_id: String,
|
|
120
|
+
message_status: String,
|
|
121
|
+
outbound_number: String,
|
|
122
|
+
template_id: T.nilable(String),
|
|
123
|
+
template_name: T.nilable(String),
|
|
124
|
+
updated_at: String
|
|
125
|
+
}
|
|
126
|
+
)
|
|
127
|
+
end
|
|
128
|
+
def to_hash
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
@@ -30,17 +30,36 @@ module Sentdm
|
|
|
30
30
|
attr_writer :data
|
|
31
31
|
|
|
32
32
|
# Error information
|
|
33
|
-
sig
|
|
33
|
+
sig do
|
|
34
|
+
returns(
|
|
35
|
+
T.nilable(Sentdm::Models::MessageRetrieveActivitiesResponse::Error)
|
|
36
|
+
)
|
|
37
|
+
end
|
|
34
38
|
attr_reader :error
|
|
35
39
|
|
|
36
|
-
sig
|
|
40
|
+
sig do
|
|
41
|
+
params(
|
|
42
|
+
error:
|
|
43
|
+
T.nilable(
|
|
44
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Error::OrHash
|
|
45
|
+
)
|
|
46
|
+
).void
|
|
47
|
+
end
|
|
37
48
|
attr_writer :error
|
|
38
49
|
|
|
39
50
|
# Request and response metadata
|
|
40
|
-
sig
|
|
51
|
+
sig do
|
|
52
|
+
returns(
|
|
53
|
+
T.nilable(Sentdm::Models::MessageRetrieveActivitiesResponse::Meta)
|
|
54
|
+
)
|
|
55
|
+
end
|
|
41
56
|
attr_reader :meta
|
|
42
57
|
|
|
43
|
-
sig
|
|
58
|
+
sig do
|
|
59
|
+
params(
|
|
60
|
+
meta: Sentdm::Models::MessageRetrieveActivitiesResponse::Meta::OrHash
|
|
61
|
+
).void
|
|
62
|
+
end
|
|
44
63
|
attr_writer :meta
|
|
45
64
|
|
|
46
65
|
# Indicates whether the request was successful
|
|
@@ -57,8 +76,11 @@ module Sentdm
|
|
|
57
76
|
T.nilable(
|
|
58
77
|
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::OrHash
|
|
59
78
|
),
|
|
60
|
-
error:
|
|
61
|
-
|
|
79
|
+
error:
|
|
80
|
+
T.nilable(
|
|
81
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Error::OrHash
|
|
82
|
+
),
|
|
83
|
+
meta: Sentdm::Models::MessageRetrieveActivitiesResponse::Meta::OrHash,
|
|
62
84
|
success: T::Boolean
|
|
63
85
|
).returns(T.attached_class)
|
|
64
86
|
end
|
|
@@ -81,8 +103,11 @@ module Sentdm
|
|
|
81
103
|
T.nilable(
|
|
82
104
|
Sentdm::Models::MessageRetrieveActivitiesResponse::Data
|
|
83
105
|
),
|
|
84
|
-
error:
|
|
85
|
-
|
|
106
|
+
error:
|
|
107
|
+
T.nilable(
|
|
108
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Error
|
|
109
|
+
),
|
|
110
|
+
meta: Sentdm::Models::MessageRetrieveActivitiesResponse::Meta,
|
|
86
111
|
success: T::Boolean
|
|
87
112
|
}
|
|
88
113
|
)
|
|
@@ -128,6 +153,24 @@ module Sentdm
|
|
|
128
153
|
sig { params(message_id: String).void }
|
|
129
154
|
attr_writer :message_id
|
|
130
155
|
|
|
156
|
+
# Pagination metadata for list responses
|
|
157
|
+
sig do
|
|
158
|
+
returns(
|
|
159
|
+
T.nilable(
|
|
160
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination
|
|
161
|
+
)
|
|
162
|
+
)
|
|
163
|
+
end
|
|
164
|
+
attr_reader :pagination
|
|
165
|
+
|
|
166
|
+
sig do
|
|
167
|
+
params(
|
|
168
|
+
pagination:
|
|
169
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination::OrHash
|
|
170
|
+
).void
|
|
171
|
+
end
|
|
172
|
+
attr_writer :pagination
|
|
173
|
+
|
|
131
174
|
# Response for GET /messages/{id}/activities
|
|
132
175
|
sig do
|
|
133
176
|
params(
|
|
@@ -135,14 +178,18 @@ module Sentdm
|
|
|
135
178
|
T::Array[
|
|
136
179
|
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Activity::OrHash
|
|
137
180
|
],
|
|
138
|
-
message_id: String
|
|
181
|
+
message_id: String,
|
|
182
|
+
pagination:
|
|
183
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination::OrHash
|
|
139
184
|
).returns(T.attached_class)
|
|
140
185
|
end
|
|
141
186
|
def self.new(
|
|
142
187
|
# List of activity events ordered by most recent first
|
|
143
188
|
activities: nil,
|
|
144
189
|
# The message ID these activities belong to
|
|
145
|
-
message_id: nil
|
|
190
|
+
message_id: nil,
|
|
191
|
+
# Pagination metadata for list responses
|
|
192
|
+
pagination: nil
|
|
146
193
|
)
|
|
147
194
|
end
|
|
148
195
|
|
|
@@ -153,7 +200,9 @@ module Sentdm
|
|
|
153
200
|
T::Array[
|
|
154
201
|
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Activity
|
|
155
202
|
],
|
|
156
|
-
message_id: String
|
|
203
|
+
message_id: String,
|
|
204
|
+
pagination:
|
|
205
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination
|
|
157
206
|
}
|
|
158
207
|
)
|
|
159
208
|
end
|
|
@@ -254,6 +303,281 @@ module Sentdm
|
|
|
254
303
|
def to_hash
|
|
255
304
|
end
|
|
256
305
|
end
|
|
306
|
+
|
|
307
|
+
class Pagination < Sentdm::Internal::Type::BaseModel
|
|
308
|
+
OrHash =
|
|
309
|
+
T.type_alias do
|
|
310
|
+
T.any(
|
|
311
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination,
|
|
312
|
+
Sentdm::Internal::AnyHash
|
|
313
|
+
)
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
# Cursor-based pagination. Never populated — see Cursors.
|
|
317
|
+
sig do
|
|
318
|
+
returns(
|
|
319
|
+
T.nilable(
|
|
320
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination::Cursors
|
|
321
|
+
)
|
|
322
|
+
)
|
|
323
|
+
end
|
|
324
|
+
attr_reader :cursors
|
|
325
|
+
|
|
326
|
+
sig do
|
|
327
|
+
params(
|
|
328
|
+
cursors:
|
|
329
|
+
T.nilable(
|
|
330
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination::Cursors::OrHash
|
|
331
|
+
)
|
|
332
|
+
).void
|
|
333
|
+
end
|
|
334
|
+
attr_writer :cursors
|
|
335
|
+
|
|
336
|
+
# Whether there are more pages after this one
|
|
337
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
338
|
+
attr_reader :has_more
|
|
339
|
+
|
|
340
|
+
sig { params(has_more: T::Boolean).void }
|
|
341
|
+
attr_writer :has_more
|
|
342
|
+
|
|
343
|
+
# Current page number (1-indexed)
|
|
344
|
+
sig { returns(T.nilable(Integer)) }
|
|
345
|
+
attr_reader :page
|
|
346
|
+
|
|
347
|
+
sig { params(page: Integer).void }
|
|
348
|
+
attr_writer :page
|
|
349
|
+
|
|
350
|
+
# Number of items per page
|
|
351
|
+
sig { returns(T.nilable(Integer)) }
|
|
352
|
+
attr_reader :page_size
|
|
353
|
+
|
|
354
|
+
sig { params(page_size: Integer).void }
|
|
355
|
+
attr_writer :page_size
|
|
356
|
+
|
|
357
|
+
# Total number of items across all pages
|
|
358
|
+
sig { returns(T.nilable(Integer)) }
|
|
359
|
+
attr_reader :total_count
|
|
360
|
+
|
|
361
|
+
sig { params(total_count: Integer).void }
|
|
362
|
+
attr_writer :total_count
|
|
363
|
+
|
|
364
|
+
# Total number of pages
|
|
365
|
+
sig { returns(T.nilable(Integer)) }
|
|
366
|
+
attr_reader :total_pages
|
|
367
|
+
|
|
368
|
+
sig { params(total_pages: Integer).void }
|
|
369
|
+
attr_writer :total_pages
|
|
370
|
+
|
|
371
|
+
# Pagination metadata for list responses
|
|
372
|
+
sig do
|
|
373
|
+
params(
|
|
374
|
+
cursors:
|
|
375
|
+
T.nilable(
|
|
376
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination::Cursors::OrHash
|
|
377
|
+
),
|
|
378
|
+
has_more: T::Boolean,
|
|
379
|
+
page: Integer,
|
|
380
|
+
page_size: Integer,
|
|
381
|
+
total_count: Integer,
|
|
382
|
+
total_pages: Integer
|
|
383
|
+
).returns(T.attached_class)
|
|
384
|
+
end
|
|
385
|
+
def self.new(
|
|
386
|
+
# Cursor-based pagination. Never populated — see Cursors.
|
|
387
|
+
cursors: nil,
|
|
388
|
+
# Whether there are more pages after this one
|
|
389
|
+
has_more: nil,
|
|
390
|
+
# Current page number (1-indexed)
|
|
391
|
+
page: nil,
|
|
392
|
+
# Number of items per page
|
|
393
|
+
page_size: nil,
|
|
394
|
+
# Total number of items across all pages
|
|
395
|
+
total_count: nil,
|
|
396
|
+
# Total number of pages
|
|
397
|
+
total_pages: nil
|
|
398
|
+
)
|
|
399
|
+
end
|
|
400
|
+
|
|
401
|
+
sig do
|
|
402
|
+
override.returns(
|
|
403
|
+
{
|
|
404
|
+
cursors:
|
|
405
|
+
T.nilable(
|
|
406
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination::Cursors
|
|
407
|
+
),
|
|
408
|
+
has_more: T::Boolean,
|
|
409
|
+
page: Integer,
|
|
410
|
+
page_size: Integer,
|
|
411
|
+
total_count: Integer,
|
|
412
|
+
total_pages: Integer
|
|
413
|
+
}
|
|
414
|
+
)
|
|
415
|
+
end
|
|
416
|
+
def to_hash
|
|
417
|
+
end
|
|
418
|
+
|
|
419
|
+
class Cursors < Sentdm::Internal::Type::BaseModel
|
|
420
|
+
OrHash =
|
|
421
|
+
T.type_alias do
|
|
422
|
+
T.any(
|
|
423
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Data::Pagination::Cursors,
|
|
424
|
+
Sentdm::Internal::AnyHash
|
|
425
|
+
)
|
|
426
|
+
end
|
|
427
|
+
|
|
428
|
+
# Cursor to fetch the next page.
|
|
429
|
+
sig { returns(T.nilable(String)) }
|
|
430
|
+
attr_accessor :after
|
|
431
|
+
|
|
432
|
+
# Cursor to fetch the previous page.
|
|
433
|
+
sig { returns(T.nilable(String)) }
|
|
434
|
+
attr_accessor :before
|
|
435
|
+
|
|
436
|
+
# Cursor-based pagination. Never populated — see Cursors.
|
|
437
|
+
sig do
|
|
438
|
+
params(
|
|
439
|
+
after: T.nilable(String),
|
|
440
|
+
before: T.nilable(String)
|
|
441
|
+
).returns(T.attached_class)
|
|
442
|
+
end
|
|
443
|
+
def self.new(
|
|
444
|
+
# Cursor to fetch the next page.
|
|
445
|
+
after: nil,
|
|
446
|
+
# Cursor to fetch the previous page.
|
|
447
|
+
before: nil
|
|
448
|
+
)
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
sig do
|
|
452
|
+
override.returns(
|
|
453
|
+
{ after: T.nilable(String), before: T.nilable(String) }
|
|
454
|
+
)
|
|
455
|
+
end
|
|
456
|
+
def to_hash
|
|
457
|
+
end
|
|
458
|
+
end
|
|
459
|
+
end
|
|
460
|
+
end
|
|
461
|
+
|
|
462
|
+
class Error < Sentdm::Internal::Type::BaseModel
|
|
463
|
+
OrHash =
|
|
464
|
+
T.type_alias do
|
|
465
|
+
T.any(
|
|
466
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Error,
|
|
467
|
+
Sentdm::Internal::AnyHash
|
|
468
|
+
)
|
|
469
|
+
end
|
|
470
|
+
|
|
471
|
+
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
472
|
+
sig { returns(T.nilable(String)) }
|
|
473
|
+
attr_reader :code
|
|
474
|
+
|
|
475
|
+
sig { params(code: String).void }
|
|
476
|
+
attr_writer :code
|
|
477
|
+
|
|
478
|
+
# Additional validation error details (field-level errors)
|
|
479
|
+
sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
|
|
480
|
+
attr_accessor :details
|
|
481
|
+
|
|
482
|
+
# URL to documentation about this error
|
|
483
|
+
sig { returns(T.nilable(String)) }
|
|
484
|
+
attr_accessor :doc_url
|
|
485
|
+
|
|
486
|
+
# Human-readable error message
|
|
487
|
+
sig { returns(T.nilable(String)) }
|
|
488
|
+
attr_reader :message
|
|
489
|
+
|
|
490
|
+
sig { params(message: String).void }
|
|
491
|
+
attr_writer :message
|
|
492
|
+
|
|
493
|
+
# Error information
|
|
494
|
+
sig do
|
|
495
|
+
params(
|
|
496
|
+
code: String,
|
|
497
|
+
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
498
|
+
doc_url: T.nilable(String),
|
|
499
|
+
message: String
|
|
500
|
+
).returns(T.attached_class)
|
|
501
|
+
end
|
|
502
|
+
def self.new(
|
|
503
|
+
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
504
|
+
code: nil,
|
|
505
|
+
# Additional validation error details (field-level errors)
|
|
506
|
+
details: nil,
|
|
507
|
+
# URL to documentation about this error
|
|
508
|
+
doc_url: nil,
|
|
509
|
+
# Human-readable error message
|
|
510
|
+
message: nil
|
|
511
|
+
)
|
|
512
|
+
end
|
|
513
|
+
|
|
514
|
+
sig do
|
|
515
|
+
override.returns(
|
|
516
|
+
{
|
|
517
|
+
code: String,
|
|
518
|
+
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
519
|
+
doc_url: T.nilable(String),
|
|
520
|
+
message: String
|
|
521
|
+
}
|
|
522
|
+
)
|
|
523
|
+
end
|
|
524
|
+
def to_hash
|
|
525
|
+
end
|
|
526
|
+
end
|
|
527
|
+
|
|
528
|
+
class Meta < Sentdm::Internal::Type::BaseModel
|
|
529
|
+
OrHash =
|
|
530
|
+
T.type_alias do
|
|
531
|
+
T.any(
|
|
532
|
+
Sentdm::Models::MessageRetrieveActivitiesResponse::Meta,
|
|
533
|
+
Sentdm::Internal::AnyHash
|
|
534
|
+
)
|
|
535
|
+
end
|
|
536
|
+
|
|
537
|
+
# Unique identifier for this request (for tracing and support)
|
|
538
|
+
sig { returns(T.nilable(String)) }
|
|
539
|
+
attr_reader :request_id
|
|
540
|
+
|
|
541
|
+
sig { params(request_id: String).void }
|
|
542
|
+
attr_writer :request_id
|
|
543
|
+
|
|
544
|
+
# Server timestamp when the response was generated
|
|
545
|
+
sig { returns(T.nilable(Time)) }
|
|
546
|
+
attr_reader :timestamp
|
|
547
|
+
|
|
548
|
+
sig { params(timestamp: Time).void }
|
|
549
|
+
attr_writer :timestamp
|
|
550
|
+
|
|
551
|
+
# API version used for this request
|
|
552
|
+
sig { returns(T.nilable(String)) }
|
|
553
|
+
attr_reader :version
|
|
554
|
+
|
|
555
|
+
sig { params(version: String).void }
|
|
556
|
+
attr_writer :version
|
|
557
|
+
|
|
558
|
+
# Request and response metadata
|
|
559
|
+
sig do
|
|
560
|
+
params(request_id: String, timestamp: Time, version: String).returns(
|
|
561
|
+
T.attached_class
|
|
562
|
+
)
|
|
563
|
+
end
|
|
564
|
+
def self.new(
|
|
565
|
+
# Unique identifier for this request (for tracing and support)
|
|
566
|
+
request_id: nil,
|
|
567
|
+
# Server timestamp when the response was generated
|
|
568
|
+
timestamp: nil,
|
|
569
|
+
# API version used for this request
|
|
570
|
+
version: nil
|
|
571
|
+
)
|
|
572
|
+
end
|
|
573
|
+
|
|
574
|
+
sig do
|
|
575
|
+
override.returns(
|
|
576
|
+
{ request_id: String, timestamp: Time, version: String }
|
|
577
|
+
)
|
|
578
|
+
end
|
|
579
|
+
def to_hash
|
|
580
|
+
end
|
|
257
581
|
end
|
|
258
582
|
end
|
|
259
583
|
end
|