sentdm 0.29.0 → 0.30.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 +11 -0
- data/README.md +27 -1
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- data/lib/sentdm/models/api_meta.rb +34 -0
- data/lib/sentdm/models/api_response_of_contact.rb +46 -0
- data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
- data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
- data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
- data/lib/sentdm/models/api_response_of_user.rb +43 -0
- data/lib/sentdm/models/api_response_template.rb +43 -0
- data/lib/sentdm/models/api_response_webhook.rb +43 -0
- data/lib/sentdm/models/billing_contact_info.rb +47 -0
- data/lib/sentdm/models/brand_business_info.rb +114 -0
- data/lib/sentdm/models/brand_compliance_info.rb +59 -0
- data/lib/sentdm/models/brand_contact_info.rb +58 -0
- data/lib/sentdm/models/brands_brand_data.rb +34 -0
- data/lib/sentdm/models/contact_delete_params.rb +2 -16
- data/lib/sentdm/models/contact_list_response.rb +12 -295
- data/lib/sentdm/models/contact_message_summary.rb +76 -0
- data/lib/sentdm/models/contact_response.rb +139 -0
- data/lib/sentdm/models/conversation_messages_list.rb +245 -0
- data/lib/sentdm/models/error_detail.rb +42 -0
- data/lib/sentdm/models/me_retrieve_response.rb +12 -242
- data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
- data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
- data/lib/sentdm/models/message_send_response.rb +6 -74
- data/lib/sentdm/models/mutation_request.rb +20 -0
- data/lib/sentdm/models/number_lookup_response.rb +6 -74
- data/lib/sentdm/models/pagination_meta.rb +84 -0
- data/lib/sentdm/models/payment_details.rb +40 -0
- data/lib/sentdm/models/profile_complete_response.rb +6 -74
- data/lib/sentdm/models/profile_create_params.rb +9 -345
- data/lib/sentdm/models/profile_delete_params.rb +2 -16
- data/lib/sentdm/models/profile_detail.rb +650 -0
- data/lib/sentdm/models/profile_list_response.rb +12 -815
- data/lib/sentdm/models/profile_settings.rb +85 -0
- data/lib/sentdm/models/profile_update_params.rb +9 -345
- data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
- data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
- data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
- data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
- data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
- data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
- data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
- data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
- data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
- data/lib/sentdm/models/template.rb +102 -0
- data/lib/sentdm/models/template_list_response.rb +12 -258
- data/lib/sentdm/models/user_list_response.rb +12 -249
- data/lib/sentdm/models/user_remove_params.rb +2 -16
- data/lib/sentdm/models/user_response.rb +94 -0
- data/lib/sentdm/models/webhook_event_type.rb +45 -0
- data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
- data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
- data/lib/sentdm/models/webhook_list_response.rb +12 -276
- data/lib/sentdm/models/webhook_response.rb +120 -0
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
- data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
- data/lib/sentdm/models/webhook_test_response.rb +6 -74
- data/lib/sentdm/models.rb +52 -0
- data/lib/sentdm/resources/contacts.rb +8 -8
- data/lib/sentdm/resources/conversations.rb +4 -4
- data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
- data/lib/sentdm/resources/profiles.rb +12 -12
- data/lib/sentdm/resources/templates.rb +6 -6
- data/lib/sentdm/resources/users.rb +6 -6
- data/lib/sentdm/resources/webhooks.rb +8 -8
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +32 -22
- data/rbi/sentdm/models/api_meta.rbi +55 -0
- data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
- data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
- data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
- data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
- data/rbi/sentdm/models/api_response_template.rbi +74 -0
- data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
- data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
- data/rbi/sentdm/models/brand_business_info.rbi +162 -0
- data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
- data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
- data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
- data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
- data/rbi/sentdm/models/contact_list_response.rbi +16 -522
- data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
- data/rbi/sentdm/models/contact_response.rbi +200 -0
- data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
- data/rbi/sentdm/models/error_detail.rbi +66 -0
- data/rbi/sentdm/models/me_retrieve_response.rbi +16 -367
- data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
- data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
- data/rbi/sentdm/models/message_send_response.rbi +8 -135
- data/rbi/sentdm/models/mutation_request.rbi +32 -0
- data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
- data/rbi/sentdm/models/pagination_meta.rbi +135 -0
- data/rbi/sentdm/models/payment_details.rbi +56 -0
- data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
- data/rbi/sentdm/models/profile_create_params.rbi +12 -546
- data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
- data/rbi/sentdm/models/profile_detail.rbi +918 -0
- data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
- data/rbi/sentdm/models/profile_settings.rbi +102 -0
- data/rbi/sentdm/models/profile_update_params.rbi +12 -546
- data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
- data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
- data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
- data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
- data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
- data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
- data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
- data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
- data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
- data/rbi/sentdm/models/template.rbi +139 -0
- data/rbi/sentdm/models/template_list_response.rbi +16 -464
- data/rbi/sentdm/models/user_list_response.rbi +16 -444
- data/rbi/sentdm/models/user_remove_params.rbi +2 -19
- data/rbi/sentdm/models/user_response.rbi +131 -0
- data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
- data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
- data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
- data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
- data/rbi/sentdm/models/webhook_response.rbi +153 -0
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
- data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
- data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
- data/rbi/sentdm/models.rbi +54 -0
- data/rbi/sentdm/resources/contacts.rbi +4 -4
- data/rbi/sentdm/resources/conversations.rbi +2 -2
- data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
- data/rbi/sentdm/resources/profiles.rbi +9 -13
- data/rbi/sentdm/resources/templates.rbi +3 -3
- data/rbi/sentdm/resources/users.rbi +3 -3
- data/rbi/sentdm/resources/webhooks.rbi +4 -4
- data/sig/sentdm/models/api_meta.rbs +27 -0
- data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
- data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
- data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
- data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
- data/sig/sentdm/models/api_response_of_user.rbs +39 -0
- data/sig/sentdm/models/api_response_template.rbs +39 -0
- data/sig/sentdm/models/api_response_webhook.rbs +39 -0
- data/sig/sentdm/models/billing_contact_info.rbs +30 -0
- data/sig/sentdm/models/brand_business_info.rbs +89 -0
- data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
- data/sig/sentdm/models/brand_contact_info.rbs +45 -0
- data/sig/sentdm/models/brands_brand_data.rbs +30 -0
- data/sig/sentdm/models/contact_delete_params.rbs +6 -10
- data/sig/sentdm/models/contact_list_response.rbs +20 -263
- data/sig/sentdm/models/contact_message_summary.rbs +84 -0
- data/sig/sentdm/models/contact_response.rbs +118 -0
- data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
- data/sig/sentdm/models/error_detail.rbs +39 -0
- data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
- data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
- data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
- data/sig/sentdm/models/message_send_response.rbs +9 -71
- data/sig/sentdm/models/mutation_request.rbs +15 -0
- data/sig/sentdm/models/number_lookup_response.rbs +9 -71
- data/sig/sentdm/models/pagination_meta.rbs +67 -0
- data/sig/sentdm/models/payment_details.rbs +30 -0
- data/sig/sentdm/models/profile_complete_response.rbs +9 -71
- data/sig/sentdm/models/profile_create_params.rbs +12 -263
- data/sig/sentdm/models/profile_delete_params.rbs +6 -10
- data/sig/sentdm/models/profile_detail.rbs +461 -0
- data/sig/sentdm/models/profile_list_response.rbs +20 -606
- data/sig/sentdm/models/profile_settings.rbs +50 -0
- data/sig/sentdm/models/profile_update_params.rbs +12 -263
- data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
- data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
- data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
- data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
- data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
- data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
- data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
- data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
- data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
- data/sig/sentdm/models/template.rbs +84 -0
- data/sig/sentdm/models/template_list_response.rbs +19 -230
- data/sig/sentdm/models/user_list_response.rbs +20 -224
- data/sig/sentdm/models/user_remove_params.rbs +6 -10
- data/sig/sentdm/models/user_response.rbs +79 -0
- data/sig/sentdm/models/webhook_event_type.rbs +51 -0
- data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
- data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
- data/sig/sentdm/models/webhook_list_response.rbs +20 -255
- data/sig/sentdm/models/webhook_response.rbs +110 -0
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
- data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
- data/sig/sentdm/models/webhook_test_response.rbs +9 -71
- data/sig/sentdm/models.rbs +52 -0
- 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 +9 -9
- 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 +98 -68
- data/lib/sentdm/models/contact_create_response.rb +0 -249
- data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
- data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
- data/lib/sentdm/models/contact_update_response.rb +0 -249
- data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
- data/lib/sentdm/models/conversation_list_response.rb +0 -433
- data/lib/sentdm/models/profile_create_response.rb +0 -760
- data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
- data/lib/sentdm/models/profile_update_response.rb +0 -760
- data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
- data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
- data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
- data/lib/sentdm/models/template_create_response.rb +0 -209
- data/lib/sentdm/models/template_retrieve_response.rb +0 -209
- data/lib/sentdm/models/template_update_response.rb +0 -209
- data/lib/sentdm/models/user_invite_response.rb +0 -201
- data/lib/sentdm/models/user_retrieve_response.rb +0 -201
- data/lib/sentdm/models/user_update_role_response.rb +0 -201
- data/lib/sentdm/models/webhook_create_response.rb +0 -229
- data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
- data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
- data/lib/sentdm/models/webhook_update_response.rb +0 -229
- data/rbi/sentdm/models/contact_create_response.rbi +0 -407
- data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
- data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
- data/rbi/sentdm/models/contact_update_response.rbi +0 -407
- data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
- data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
- data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
- data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
- data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
- data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
- data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
- data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
- data/rbi/sentdm/models/template_create_response.rbi +0 -349
- data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
- data/rbi/sentdm/models/template_update_response.rbi +0 -349
- data/rbi/sentdm/models/user_invite_response.rbi +0 -336
- data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
- data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
- data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
- data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
- data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
- data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
- data/sig/sentdm/models/contact_create_response.rbs +0 -216
- data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
- data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
- data/sig/sentdm/models/contact_update_response.rbs +0 -216
- data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
- data/sig/sentdm/models/conversation_list_response.rbs +0 -404
- data/sig/sentdm/models/profile_create_response.rbs +0 -559
- data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
- data/sig/sentdm/models/profile_update_response.rbs +0 -559
- data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
- data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
- data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
- data/sig/sentdm/models/template_create_response.rbs +0 -182
- data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
- data/sig/sentdm/models/template_update_response.rbs +0 -182
- data/sig/sentdm/models/user_invite_response.rbs +0 -177
- data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
- data/sig/sentdm/models/user_update_role_response.rbs +0 -177
- data/sig/sentdm/models/webhook_create_response.rbs +0 -208
- data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
- data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
- data/sig/sentdm/models/webhook_update_response.rbs +0 -208
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class Template < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Sentdm::Template, Sentdm::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
# Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
10
|
+
# Says whose resource this is, which the resource's own id does not.
|
|
11
|
+
sig { returns(String) }
|
|
12
|
+
attr_accessor :customer_id
|
|
13
|
+
|
|
14
|
+
# Unique template identifier
|
|
15
|
+
sig { returns(T.nilable(String)) }
|
|
16
|
+
attr_reader :id
|
|
17
|
+
|
|
18
|
+
sig { params(id: String).void }
|
|
19
|
+
attr_writer :id
|
|
20
|
+
|
|
21
|
+
# Template category: MARKETING, UTILITY, AUTHENTICATION
|
|
22
|
+
sig { returns(T.nilable(String)) }
|
|
23
|
+
attr_reader :category
|
|
24
|
+
|
|
25
|
+
sig { params(category: String).void }
|
|
26
|
+
attr_writer :category
|
|
27
|
+
|
|
28
|
+
# Supported channels: sms, whatsapp
|
|
29
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
30
|
+
attr_accessor :channels
|
|
31
|
+
|
|
32
|
+
# When the template was created
|
|
33
|
+
sig { returns(T.nilable(Time)) }
|
|
34
|
+
attr_reader :created_at
|
|
35
|
+
|
|
36
|
+
sig { params(created_at: Time).void }
|
|
37
|
+
attr_writer :created_at
|
|
38
|
+
|
|
39
|
+
# Whether the template is published and active
|
|
40
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
41
|
+
attr_reader :is_published
|
|
42
|
+
|
|
43
|
+
sig { params(is_published: T::Boolean).void }
|
|
44
|
+
attr_writer :is_published
|
|
45
|
+
|
|
46
|
+
# Template language code (e.g., en_US)
|
|
47
|
+
sig { returns(T.nilable(String)) }
|
|
48
|
+
attr_reader :language
|
|
49
|
+
|
|
50
|
+
sig { params(language: String).void }
|
|
51
|
+
attr_writer :language
|
|
52
|
+
|
|
53
|
+
# Template display name
|
|
54
|
+
sig { returns(T.nilable(String)) }
|
|
55
|
+
attr_reader :name
|
|
56
|
+
|
|
57
|
+
sig { params(name: String).void }
|
|
58
|
+
attr_writer :name
|
|
59
|
+
|
|
60
|
+
# Template status: APPROVED, PENDING, REJECTED
|
|
61
|
+
sig { returns(T.nilable(String)) }
|
|
62
|
+
attr_reader :status
|
|
63
|
+
|
|
64
|
+
sig { params(status: String).void }
|
|
65
|
+
attr_writer :status
|
|
66
|
+
|
|
67
|
+
# When the template was last updated
|
|
68
|
+
sig { returns(T.nilable(Time)) }
|
|
69
|
+
attr_accessor :updated_at
|
|
70
|
+
|
|
71
|
+
# Template variables for personalization
|
|
72
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
73
|
+
attr_accessor :variables
|
|
74
|
+
|
|
75
|
+
# Template response for v3 API
|
|
76
|
+
sig do
|
|
77
|
+
params(
|
|
78
|
+
customer_id: String,
|
|
79
|
+
id: String,
|
|
80
|
+
category: String,
|
|
81
|
+
channels: T.nilable(T::Array[String]),
|
|
82
|
+
created_at: Time,
|
|
83
|
+
is_published: T::Boolean,
|
|
84
|
+
language: String,
|
|
85
|
+
name: String,
|
|
86
|
+
status: String,
|
|
87
|
+
updated_at: T.nilable(Time),
|
|
88
|
+
variables: T.nilable(T::Array[String])
|
|
89
|
+
).returns(T.attached_class)
|
|
90
|
+
end
|
|
91
|
+
def self.new(
|
|
92
|
+
# Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
93
|
+
# Says whose resource this is, which the resource's own id does not.
|
|
94
|
+
customer_id:,
|
|
95
|
+
# Unique template identifier
|
|
96
|
+
id: nil,
|
|
97
|
+
# Template category: MARKETING, UTILITY, AUTHENTICATION
|
|
98
|
+
category: nil,
|
|
99
|
+
# Supported channels: sms, whatsapp
|
|
100
|
+
channels: nil,
|
|
101
|
+
# When the template was created
|
|
102
|
+
created_at: nil,
|
|
103
|
+
# Whether the template is published and active
|
|
104
|
+
is_published: nil,
|
|
105
|
+
# Template language code (e.g., en_US)
|
|
106
|
+
language: nil,
|
|
107
|
+
# Template display name
|
|
108
|
+
name: nil,
|
|
109
|
+
# Template status: APPROVED, PENDING, REJECTED
|
|
110
|
+
status: nil,
|
|
111
|
+
# When the template was last updated
|
|
112
|
+
updated_at: nil,
|
|
113
|
+
# Template variables for personalization
|
|
114
|
+
variables: nil
|
|
115
|
+
)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
sig do
|
|
119
|
+
override.returns(
|
|
120
|
+
{
|
|
121
|
+
customer_id: String,
|
|
122
|
+
id: String,
|
|
123
|
+
category: String,
|
|
124
|
+
channels: T.nilable(T::Array[String]),
|
|
125
|
+
created_at: Time,
|
|
126
|
+
is_published: T::Boolean,
|
|
127
|
+
language: String,
|
|
128
|
+
name: String,
|
|
129
|
+
status: String,
|
|
130
|
+
updated_at: T.nilable(Time),
|
|
131
|
+
variables: T.nilable(T::Array[String])
|
|
132
|
+
}
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
def to_hash
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
@@ -20,23 +20,17 @@ module Sentdm
|
|
|
20
20
|
attr_writer :data
|
|
21
21
|
|
|
22
22
|
# Error information
|
|
23
|
-
sig { returns(T.nilable(Sentdm::
|
|
23
|
+
sig { returns(T.nilable(Sentdm::ErrorDetail)) }
|
|
24
24
|
attr_reader :error
|
|
25
25
|
|
|
26
|
-
sig
|
|
27
|
-
params(
|
|
28
|
-
error: T.nilable(Sentdm::Models::TemplateListResponse::Error::OrHash)
|
|
29
|
-
).void
|
|
30
|
-
end
|
|
26
|
+
sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
|
|
31
27
|
attr_writer :error
|
|
32
28
|
|
|
33
29
|
# Request and response metadata
|
|
34
|
-
sig { returns(T.nilable(Sentdm::
|
|
30
|
+
sig { returns(T.nilable(Sentdm::APIMeta)) }
|
|
35
31
|
attr_reader :meta
|
|
36
32
|
|
|
37
|
-
sig
|
|
38
|
-
params(meta: Sentdm::Models::TemplateListResponse::Meta::OrHash).void
|
|
39
|
-
end
|
|
33
|
+
sig { params(meta: Sentdm::APIMeta::OrHash).void }
|
|
40
34
|
attr_writer :meta
|
|
41
35
|
|
|
42
36
|
# Indicates whether the request was successful
|
|
@@ -50,8 +44,8 @@ module Sentdm
|
|
|
50
44
|
sig do
|
|
51
45
|
params(
|
|
52
46
|
data: T.nilable(Sentdm::Models::TemplateListResponse::Data::OrHash),
|
|
53
|
-
error: T.nilable(Sentdm::
|
|
54
|
-
meta: Sentdm::
|
|
47
|
+
error: T.nilable(Sentdm::ErrorDetail::OrHash),
|
|
48
|
+
meta: Sentdm::APIMeta::OrHash,
|
|
55
49
|
success: T::Boolean
|
|
56
50
|
).returns(T.attached_class)
|
|
57
51
|
end
|
|
@@ -71,8 +65,8 @@ module Sentdm
|
|
|
71
65
|
override.returns(
|
|
72
66
|
{
|
|
73
67
|
data: T.nilable(Sentdm::Models::TemplateListResponse::Data),
|
|
74
|
-
error: T.nilable(Sentdm::
|
|
75
|
-
meta: Sentdm::
|
|
68
|
+
error: T.nilable(Sentdm::ErrorDetail),
|
|
69
|
+
meta: Sentdm::APIMeta,
|
|
76
70
|
success: T::Boolean
|
|
77
71
|
}
|
|
78
72
|
)
|
|
@@ -90,50 +84,24 @@ module Sentdm
|
|
|
90
84
|
end
|
|
91
85
|
|
|
92
86
|
# Pagination metadata for list responses
|
|
93
|
-
sig
|
|
94
|
-
returns(
|
|
95
|
-
T.nilable(Sentdm::Models::TemplateListResponse::Data::Pagination)
|
|
96
|
-
)
|
|
97
|
-
end
|
|
87
|
+
sig { returns(T.nilable(Sentdm::PaginationMeta)) }
|
|
98
88
|
attr_reader :pagination
|
|
99
89
|
|
|
100
|
-
sig
|
|
101
|
-
params(
|
|
102
|
-
pagination:
|
|
103
|
-
Sentdm::Models::TemplateListResponse::Data::Pagination::OrHash
|
|
104
|
-
).void
|
|
105
|
-
end
|
|
90
|
+
sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
|
|
106
91
|
attr_writer :pagination
|
|
107
92
|
|
|
108
93
|
# The templates on this page.
|
|
109
|
-
sig
|
|
110
|
-
returns(
|
|
111
|
-
T.nilable(
|
|
112
|
-
T::Array[Sentdm::Models::TemplateListResponse::Data::Template]
|
|
113
|
-
)
|
|
114
|
-
)
|
|
115
|
-
end
|
|
94
|
+
sig { returns(T.nilable(T::Array[Sentdm::Template])) }
|
|
116
95
|
attr_reader :templates
|
|
117
96
|
|
|
118
|
-
sig
|
|
119
|
-
params(
|
|
120
|
-
templates:
|
|
121
|
-
T::Array[
|
|
122
|
-
Sentdm::Models::TemplateListResponse::Data::Template::OrHash
|
|
123
|
-
]
|
|
124
|
-
).void
|
|
125
|
-
end
|
|
97
|
+
sig { params(templates: T::Array[Sentdm::Template::OrHash]).void }
|
|
126
98
|
attr_writer :templates
|
|
127
99
|
|
|
128
100
|
# A paginated list of templates.
|
|
129
101
|
sig do
|
|
130
102
|
params(
|
|
131
|
-
pagination:
|
|
132
|
-
|
|
133
|
-
templates:
|
|
134
|
-
T::Array[
|
|
135
|
-
Sentdm::Models::TemplateListResponse::Data::Template::OrHash
|
|
136
|
-
]
|
|
103
|
+
pagination: Sentdm::PaginationMeta::OrHash,
|
|
104
|
+
templates: T::Array[Sentdm::Template::OrHash]
|
|
137
105
|
).returns(T.attached_class)
|
|
138
106
|
end
|
|
139
107
|
def self.new(
|
|
@@ -147,429 +115,13 @@ module Sentdm
|
|
|
147
115
|
sig do
|
|
148
116
|
override.returns(
|
|
149
117
|
{
|
|
150
|
-
pagination:
|
|
151
|
-
|
|
152
|
-
templates:
|
|
153
|
-
T::Array[Sentdm::Models::TemplateListResponse::Data::Template]
|
|
118
|
+
pagination: Sentdm::PaginationMeta,
|
|
119
|
+
templates: T::Array[Sentdm::Template]
|
|
154
120
|
}
|
|
155
121
|
)
|
|
156
122
|
end
|
|
157
123
|
def to_hash
|
|
158
124
|
end
|
|
159
|
-
|
|
160
|
-
class Pagination < Sentdm::Internal::Type::BaseModel
|
|
161
|
-
OrHash =
|
|
162
|
-
T.type_alias do
|
|
163
|
-
T.any(
|
|
164
|
-
Sentdm::Models::TemplateListResponse::Data::Pagination,
|
|
165
|
-
Sentdm::Internal::AnyHash
|
|
166
|
-
)
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
# Cursor-based pagination. Never populated — see Cursors.
|
|
170
|
-
sig do
|
|
171
|
-
returns(
|
|
172
|
-
T.nilable(
|
|
173
|
-
Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors
|
|
174
|
-
)
|
|
175
|
-
)
|
|
176
|
-
end
|
|
177
|
-
attr_reader :cursors
|
|
178
|
-
|
|
179
|
-
sig do
|
|
180
|
-
params(
|
|
181
|
-
cursors:
|
|
182
|
-
T.nilable(
|
|
183
|
-
Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors::OrHash
|
|
184
|
-
)
|
|
185
|
-
).void
|
|
186
|
-
end
|
|
187
|
-
attr_writer :cursors
|
|
188
|
-
|
|
189
|
-
# Whether there are more pages after this one
|
|
190
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
191
|
-
attr_reader :has_more
|
|
192
|
-
|
|
193
|
-
sig { params(has_more: T::Boolean).void }
|
|
194
|
-
attr_writer :has_more
|
|
195
|
-
|
|
196
|
-
# Current page number (1-indexed)
|
|
197
|
-
sig { returns(T.nilable(Integer)) }
|
|
198
|
-
attr_reader :page
|
|
199
|
-
|
|
200
|
-
sig { params(page: Integer).void }
|
|
201
|
-
attr_writer :page
|
|
202
|
-
|
|
203
|
-
# Number of items per page
|
|
204
|
-
sig { returns(T.nilable(Integer)) }
|
|
205
|
-
attr_reader :page_size
|
|
206
|
-
|
|
207
|
-
sig { params(page_size: Integer).void }
|
|
208
|
-
attr_writer :page_size
|
|
209
|
-
|
|
210
|
-
# Total number of items across all pages
|
|
211
|
-
sig { returns(T.nilable(Integer)) }
|
|
212
|
-
attr_reader :total_count
|
|
213
|
-
|
|
214
|
-
sig { params(total_count: Integer).void }
|
|
215
|
-
attr_writer :total_count
|
|
216
|
-
|
|
217
|
-
# Total number of pages
|
|
218
|
-
sig { returns(T.nilable(Integer)) }
|
|
219
|
-
attr_reader :total_pages
|
|
220
|
-
|
|
221
|
-
sig { params(total_pages: Integer).void }
|
|
222
|
-
attr_writer :total_pages
|
|
223
|
-
|
|
224
|
-
# Pagination metadata for list responses
|
|
225
|
-
sig do
|
|
226
|
-
params(
|
|
227
|
-
cursors:
|
|
228
|
-
T.nilable(
|
|
229
|
-
Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors::OrHash
|
|
230
|
-
),
|
|
231
|
-
has_more: T::Boolean,
|
|
232
|
-
page: Integer,
|
|
233
|
-
page_size: Integer,
|
|
234
|
-
total_count: Integer,
|
|
235
|
-
total_pages: Integer
|
|
236
|
-
).returns(T.attached_class)
|
|
237
|
-
end
|
|
238
|
-
def self.new(
|
|
239
|
-
# Cursor-based pagination. Never populated — see Cursors.
|
|
240
|
-
cursors: nil,
|
|
241
|
-
# Whether there are more pages after this one
|
|
242
|
-
has_more: nil,
|
|
243
|
-
# Current page number (1-indexed)
|
|
244
|
-
page: nil,
|
|
245
|
-
# Number of items per page
|
|
246
|
-
page_size: nil,
|
|
247
|
-
# Total number of items across all pages
|
|
248
|
-
total_count: nil,
|
|
249
|
-
# Total number of pages
|
|
250
|
-
total_pages: nil
|
|
251
|
-
)
|
|
252
|
-
end
|
|
253
|
-
|
|
254
|
-
sig do
|
|
255
|
-
override.returns(
|
|
256
|
-
{
|
|
257
|
-
cursors:
|
|
258
|
-
T.nilable(
|
|
259
|
-
Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors
|
|
260
|
-
),
|
|
261
|
-
has_more: T::Boolean,
|
|
262
|
-
page: Integer,
|
|
263
|
-
page_size: Integer,
|
|
264
|
-
total_count: Integer,
|
|
265
|
-
total_pages: Integer
|
|
266
|
-
}
|
|
267
|
-
)
|
|
268
|
-
end
|
|
269
|
-
def to_hash
|
|
270
|
-
end
|
|
271
|
-
|
|
272
|
-
class Cursors < Sentdm::Internal::Type::BaseModel
|
|
273
|
-
OrHash =
|
|
274
|
-
T.type_alias do
|
|
275
|
-
T.any(
|
|
276
|
-
Sentdm::Models::TemplateListResponse::Data::Pagination::Cursors,
|
|
277
|
-
Sentdm::Internal::AnyHash
|
|
278
|
-
)
|
|
279
|
-
end
|
|
280
|
-
|
|
281
|
-
# Cursor to fetch the next page.
|
|
282
|
-
sig { returns(T.nilable(String)) }
|
|
283
|
-
attr_accessor :after
|
|
284
|
-
|
|
285
|
-
# Cursor to fetch the previous page.
|
|
286
|
-
sig { returns(T.nilable(String)) }
|
|
287
|
-
attr_accessor :before
|
|
288
|
-
|
|
289
|
-
# Cursor-based pagination. Never populated — see Cursors.
|
|
290
|
-
sig do
|
|
291
|
-
params(
|
|
292
|
-
after: T.nilable(String),
|
|
293
|
-
before: T.nilable(String)
|
|
294
|
-
).returns(T.attached_class)
|
|
295
|
-
end
|
|
296
|
-
def self.new(
|
|
297
|
-
# Cursor to fetch the next page.
|
|
298
|
-
after: nil,
|
|
299
|
-
# Cursor to fetch the previous page.
|
|
300
|
-
before: nil
|
|
301
|
-
)
|
|
302
|
-
end
|
|
303
|
-
|
|
304
|
-
sig do
|
|
305
|
-
override.returns(
|
|
306
|
-
{ after: T.nilable(String), before: T.nilable(String) }
|
|
307
|
-
)
|
|
308
|
-
end
|
|
309
|
-
def to_hash
|
|
310
|
-
end
|
|
311
|
-
end
|
|
312
|
-
end
|
|
313
|
-
|
|
314
|
-
class Template < Sentdm::Internal::Type::BaseModel
|
|
315
|
-
OrHash =
|
|
316
|
-
T.type_alias do
|
|
317
|
-
T.any(
|
|
318
|
-
Sentdm::Models::TemplateListResponse::Data::Template,
|
|
319
|
-
Sentdm::Internal::AnyHash
|
|
320
|
-
)
|
|
321
|
-
end
|
|
322
|
-
|
|
323
|
-
# Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
324
|
-
# Says whose resource this is, which the resource's own id does not.
|
|
325
|
-
sig { returns(String) }
|
|
326
|
-
attr_accessor :customer_id
|
|
327
|
-
|
|
328
|
-
# Unique template identifier
|
|
329
|
-
sig { returns(T.nilable(String)) }
|
|
330
|
-
attr_reader :id
|
|
331
|
-
|
|
332
|
-
sig { params(id: String).void }
|
|
333
|
-
attr_writer :id
|
|
334
|
-
|
|
335
|
-
# Template category: MARKETING, UTILITY, AUTHENTICATION
|
|
336
|
-
sig { returns(T.nilable(String)) }
|
|
337
|
-
attr_reader :category
|
|
338
|
-
|
|
339
|
-
sig { params(category: String).void }
|
|
340
|
-
attr_writer :category
|
|
341
|
-
|
|
342
|
-
# Supported channels: sms, whatsapp
|
|
343
|
-
sig { returns(T.nilable(T::Array[String])) }
|
|
344
|
-
attr_accessor :channels
|
|
345
|
-
|
|
346
|
-
# When the template was created
|
|
347
|
-
sig { returns(T.nilable(Time)) }
|
|
348
|
-
attr_reader :created_at
|
|
349
|
-
|
|
350
|
-
sig { params(created_at: Time).void }
|
|
351
|
-
attr_writer :created_at
|
|
352
|
-
|
|
353
|
-
# Whether the template is published and active
|
|
354
|
-
sig { returns(T.nilable(T::Boolean)) }
|
|
355
|
-
attr_reader :is_published
|
|
356
|
-
|
|
357
|
-
sig { params(is_published: T::Boolean).void }
|
|
358
|
-
attr_writer :is_published
|
|
359
|
-
|
|
360
|
-
# Template language code (e.g., en_US)
|
|
361
|
-
sig { returns(T.nilable(String)) }
|
|
362
|
-
attr_reader :language
|
|
363
|
-
|
|
364
|
-
sig { params(language: String).void }
|
|
365
|
-
attr_writer :language
|
|
366
|
-
|
|
367
|
-
# Template display name
|
|
368
|
-
sig { returns(T.nilable(String)) }
|
|
369
|
-
attr_reader :name
|
|
370
|
-
|
|
371
|
-
sig { params(name: String).void }
|
|
372
|
-
attr_writer :name
|
|
373
|
-
|
|
374
|
-
# Template status: APPROVED, PENDING, REJECTED
|
|
375
|
-
sig { returns(T.nilable(String)) }
|
|
376
|
-
attr_reader :status
|
|
377
|
-
|
|
378
|
-
sig { params(status: String).void }
|
|
379
|
-
attr_writer :status
|
|
380
|
-
|
|
381
|
-
# When the template was last updated
|
|
382
|
-
sig { returns(T.nilable(Time)) }
|
|
383
|
-
attr_accessor :updated_at
|
|
384
|
-
|
|
385
|
-
# Template variables for personalization
|
|
386
|
-
sig { returns(T.nilable(T::Array[String])) }
|
|
387
|
-
attr_accessor :variables
|
|
388
|
-
|
|
389
|
-
# Template response for v3 API
|
|
390
|
-
sig do
|
|
391
|
-
params(
|
|
392
|
-
customer_id: String,
|
|
393
|
-
id: String,
|
|
394
|
-
category: String,
|
|
395
|
-
channels: T.nilable(T::Array[String]),
|
|
396
|
-
created_at: Time,
|
|
397
|
-
is_published: T::Boolean,
|
|
398
|
-
language: String,
|
|
399
|
-
name: String,
|
|
400
|
-
status: String,
|
|
401
|
-
updated_at: T.nilable(Time),
|
|
402
|
-
variables: T.nilable(T::Array[String])
|
|
403
|
-
).returns(T.attached_class)
|
|
404
|
-
end
|
|
405
|
-
def self.new(
|
|
406
|
-
# Which customer owns this — the key's own, or the profile named in x-profile-id.
|
|
407
|
-
# Says whose resource this is, which the resource's own id does not.
|
|
408
|
-
customer_id:,
|
|
409
|
-
# Unique template identifier
|
|
410
|
-
id: nil,
|
|
411
|
-
# Template category: MARKETING, UTILITY, AUTHENTICATION
|
|
412
|
-
category: nil,
|
|
413
|
-
# Supported channels: sms, whatsapp
|
|
414
|
-
channels: nil,
|
|
415
|
-
# When the template was created
|
|
416
|
-
created_at: nil,
|
|
417
|
-
# Whether the template is published and active
|
|
418
|
-
is_published: nil,
|
|
419
|
-
# Template language code (e.g., en_US)
|
|
420
|
-
language: nil,
|
|
421
|
-
# Template display name
|
|
422
|
-
name: nil,
|
|
423
|
-
# Template status: APPROVED, PENDING, REJECTED
|
|
424
|
-
status: nil,
|
|
425
|
-
# When the template was last updated
|
|
426
|
-
updated_at: nil,
|
|
427
|
-
# Template variables for personalization
|
|
428
|
-
variables: nil
|
|
429
|
-
)
|
|
430
|
-
end
|
|
431
|
-
|
|
432
|
-
sig do
|
|
433
|
-
override.returns(
|
|
434
|
-
{
|
|
435
|
-
customer_id: String,
|
|
436
|
-
id: String,
|
|
437
|
-
category: String,
|
|
438
|
-
channels: T.nilable(T::Array[String]),
|
|
439
|
-
created_at: Time,
|
|
440
|
-
is_published: T::Boolean,
|
|
441
|
-
language: String,
|
|
442
|
-
name: String,
|
|
443
|
-
status: String,
|
|
444
|
-
updated_at: T.nilable(Time),
|
|
445
|
-
variables: T.nilable(T::Array[String])
|
|
446
|
-
}
|
|
447
|
-
)
|
|
448
|
-
end
|
|
449
|
-
def to_hash
|
|
450
|
-
end
|
|
451
|
-
end
|
|
452
|
-
end
|
|
453
|
-
|
|
454
|
-
class Error < Sentdm::Internal::Type::BaseModel
|
|
455
|
-
OrHash =
|
|
456
|
-
T.type_alias do
|
|
457
|
-
T.any(
|
|
458
|
-
Sentdm::Models::TemplateListResponse::Error,
|
|
459
|
-
Sentdm::Internal::AnyHash
|
|
460
|
-
)
|
|
461
|
-
end
|
|
462
|
-
|
|
463
|
-
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
464
|
-
sig { returns(T.nilable(String)) }
|
|
465
|
-
attr_reader :code
|
|
466
|
-
|
|
467
|
-
sig { params(code: String).void }
|
|
468
|
-
attr_writer :code
|
|
469
|
-
|
|
470
|
-
# Additional validation error details (field-level errors)
|
|
471
|
-
sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
|
|
472
|
-
attr_accessor :details
|
|
473
|
-
|
|
474
|
-
# URL to documentation about this error
|
|
475
|
-
sig { returns(T.nilable(String)) }
|
|
476
|
-
attr_accessor :doc_url
|
|
477
|
-
|
|
478
|
-
# Human-readable error message
|
|
479
|
-
sig { returns(T.nilable(String)) }
|
|
480
|
-
attr_reader :message
|
|
481
|
-
|
|
482
|
-
sig { params(message: String).void }
|
|
483
|
-
attr_writer :message
|
|
484
|
-
|
|
485
|
-
# Error information
|
|
486
|
-
sig do
|
|
487
|
-
params(
|
|
488
|
-
code: String,
|
|
489
|
-
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
490
|
-
doc_url: T.nilable(String),
|
|
491
|
-
message: String
|
|
492
|
-
).returns(T.attached_class)
|
|
493
|
-
end
|
|
494
|
-
def self.new(
|
|
495
|
-
# Machine-readable error code (e.g., "RESOURCE_001")
|
|
496
|
-
code: nil,
|
|
497
|
-
# Additional validation error details (field-level errors)
|
|
498
|
-
details: nil,
|
|
499
|
-
# URL to documentation about this error
|
|
500
|
-
doc_url: nil,
|
|
501
|
-
# Human-readable error message
|
|
502
|
-
message: nil
|
|
503
|
-
)
|
|
504
|
-
end
|
|
505
|
-
|
|
506
|
-
sig do
|
|
507
|
-
override.returns(
|
|
508
|
-
{
|
|
509
|
-
code: String,
|
|
510
|
-
details: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
511
|
-
doc_url: T.nilable(String),
|
|
512
|
-
message: String
|
|
513
|
-
}
|
|
514
|
-
)
|
|
515
|
-
end
|
|
516
|
-
def to_hash
|
|
517
|
-
end
|
|
518
|
-
end
|
|
519
|
-
|
|
520
|
-
class Meta < Sentdm::Internal::Type::BaseModel
|
|
521
|
-
OrHash =
|
|
522
|
-
T.type_alias do
|
|
523
|
-
T.any(
|
|
524
|
-
Sentdm::Models::TemplateListResponse::Meta,
|
|
525
|
-
Sentdm::Internal::AnyHash
|
|
526
|
-
)
|
|
527
|
-
end
|
|
528
|
-
|
|
529
|
-
# Unique identifier for this request (for tracing and support)
|
|
530
|
-
sig { returns(T.nilable(String)) }
|
|
531
|
-
attr_reader :request_id
|
|
532
|
-
|
|
533
|
-
sig { params(request_id: String).void }
|
|
534
|
-
attr_writer :request_id
|
|
535
|
-
|
|
536
|
-
# Server timestamp when the response was generated
|
|
537
|
-
sig { returns(T.nilable(Time)) }
|
|
538
|
-
attr_reader :timestamp
|
|
539
|
-
|
|
540
|
-
sig { params(timestamp: Time).void }
|
|
541
|
-
attr_writer :timestamp
|
|
542
|
-
|
|
543
|
-
# API version used for this request
|
|
544
|
-
sig { returns(T.nilable(String)) }
|
|
545
|
-
attr_reader :version
|
|
546
|
-
|
|
547
|
-
sig { params(version: String).void }
|
|
548
|
-
attr_writer :version
|
|
549
|
-
|
|
550
|
-
# Request and response metadata
|
|
551
|
-
sig do
|
|
552
|
-
params(request_id: String, timestamp: Time, version: String).returns(
|
|
553
|
-
T.attached_class
|
|
554
|
-
)
|
|
555
|
-
end
|
|
556
|
-
def self.new(
|
|
557
|
-
# Unique identifier for this request (for tracing and support)
|
|
558
|
-
request_id: nil,
|
|
559
|
-
# Server timestamp when the response was generated
|
|
560
|
-
timestamp: nil,
|
|
561
|
-
# API version used for this request
|
|
562
|
-
version: nil
|
|
563
|
-
)
|
|
564
|
-
end
|
|
565
|
-
|
|
566
|
-
sig do
|
|
567
|
-
override.returns(
|
|
568
|
-
{ request_id: String, timestamp: Time, version: String }
|
|
569
|
-
)
|
|
570
|
-
end
|
|
571
|
-
def to_hash
|
|
572
|
-
end
|
|
573
125
|
end
|
|
574
126
|
end
|
|
575
127
|
end
|