surge_api 0.24.0 → 0.25.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.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +9 -9
  4. data/lib/surge_api/client.rb +4 -0
  5. data/lib/surge_api/internal/type/union.rb +2 -2
  6. data/lib/surge_api/models/call_ended_webhook_event.rb +8 -3
  7. data/lib/surge_api/models/campaign.rb +15 -7
  8. data/lib/surge_api/models/campaign_approved_webhook_event.rb +9 -1
  9. data/lib/surge_api/models/campaign_params.rb +6 -6
  10. data/lib/surge_api/models/campaign_rejected_webhook_event.rb +135 -0
  11. data/lib/surge_api/models/campaign_submitted_webhook_event.rb +74 -0
  12. data/lib/surge_api/models/campaign_update_params.rb +188 -1
  13. data/lib/surge_api/models/campaign_warning_webhook_event.rb +134 -0
  14. data/lib/surge_api/models/message.rb +18 -2
  15. data/lib/surge_api/models/message_delivered_webhook_event.rb +9 -1
  16. data/lib/surge_api/models/message_failed_webhook_event.rb +5 -4
  17. data/lib/surge_api/models/message_received_webhook_event.rb +9 -1
  18. data/lib/surge_api/models/message_sent_webhook_event.rb +9 -1
  19. data/lib/surge_api/models/phone_number.rb +9 -1
  20. data/lib/surge_api/models/phone_number_attached_to_campaign_webhook_event.rb +9 -1
  21. data/lib/surge_api/models/phone_number_imported_webhook_event.rb +9 -1
  22. data/lib/surge_api/models/phone_number_purchase_params.rb +9 -1
  23. data/lib/surge_api/models/phone_number_update_params.rb +9 -1
  24. data/lib/surge_api/models/toll_free_campaign.rb +132 -0
  25. data/lib/surge_api/models/toll_free_campaign_consent_flow.rb +176 -0
  26. data/lib/surge_api/models/toll_free_campaign_create_params.rb +22 -0
  27. data/lib/surge_api/models/toll_free_campaign_list_params.rb +42 -0
  28. data/lib/surge_api/models/toll_free_campaign_params.rb +286 -0
  29. data/lib/surge_api/models/toll_free_campaign_retrieve_params.rb +22 -0
  30. data/lib/surge_api/models/toll_free_campaign_update_params.rb +278 -0
  31. data/lib/surge_api/models/unwrap_webhook_event.rb +7 -1
  32. data/lib/surge_api/models/user_create_token_params.rb +15 -1
  33. data/lib/surge_api/models.rb +20 -0
  34. data/lib/surge_api/resources/accounts.rb +2 -2
  35. data/lib/surge_api/resources/campaigns.rb +26 -8
  36. data/lib/surge_api/resources/phone_numbers.rb +6 -2
  37. data/lib/surge_api/resources/toll_free_campaigns.rb +140 -0
  38. data/lib/surge_api/resources/users.rb +6 -1
  39. data/lib/surge_api/resources/webhooks.rb +1 -1
  40. data/lib/surge_api/version.rb +1 -1
  41. data/lib/surge_api.rb +11 -0
  42. data/rbi/surge_api/client.rbi +3 -0
  43. data/rbi/surge_api/models/call_ended_webhook_event.rbi +6 -3
  44. data/rbi/surge_api/models/campaign.rbi +17 -9
  45. data/rbi/surge_api/models/campaign_approved_webhook_event.rbi +8 -0
  46. data/rbi/surge_api/models/campaign_params.rbi +9 -9
  47. data/rbi/surge_api/models/campaign_rejected_webhook_event.rbi +269 -0
  48. data/rbi/surge_api/models/campaign_submitted_webhook_event.rbi +149 -0
  49. data/rbi/surge_api/models/campaign_update_params.rbi +378 -1
  50. data/rbi/surge_api/models/campaign_warning_webhook_event.rbi +259 -0
  51. data/rbi/surge_api/models/message.rbi +16 -0
  52. data/rbi/surge_api/models/message_delivered_webhook_event.rbi +8 -0
  53. data/rbi/surge_api/models/message_failed_webhook_event.rbi +7 -5
  54. data/rbi/surge_api/models/message_received_webhook_event.rbi +8 -0
  55. data/rbi/surge_api/models/message_sent_webhook_event.rbi +8 -0
  56. data/rbi/surge_api/models/phone_number.rbi +8 -0
  57. data/rbi/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbi +8 -0
  58. data/rbi/surge_api/models/phone_number_imported_webhook_event.rbi +8 -0
  59. data/rbi/surge_api/models/phone_number_purchase_params.rbi +11 -0
  60. data/rbi/surge_api/models/phone_number_update_params.rbi +11 -0
  61. data/rbi/surge_api/models/toll_free_campaign.rbi +230 -0
  62. data/rbi/surge_api/models/toll_free_campaign_consent_flow.rbi +476 -0
  63. data/rbi/surge_api/models/toll_free_campaign_create_params.rbi +43 -0
  64. data/rbi/surge_api/models/toll_free_campaign_list_params.rbi +70 -0
  65. data/rbi/surge_api/models/toll_free_campaign_params.rbi +711 -0
  66. data/rbi/surge_api/models/toll_free_campaign_retrieve_params.rbi +43 -0
  67. data/rbi/surge_api/models/toll_free_campaign_update_params.rbi +760 -0
  68. data/rbi/surge_api/models/unwrap_webhook_event.rbi +3 -0
  69. data/rbi/surge_api/models/user_create_token_params.rbi +17 -0
  70. data/rbi/surge_api/models.rbi +22 -0
  71. data/rbi/surge_api/resources/accounts.rbi +2 -2
  72. data/rbi/surge_api/resources/campaigns.rbi +94 -12
  73. data/rbi/surge_api/resources/phone_numbers.rbi +6 -0
  74. data/rbi/surge_api/resources/toll_free_campaigns.rbi +129 -0
  75. data/rbi/surge_api/resources/users.rbi +6 -0
  76. data/rbi/surge_api/resources/webhooks.rbi +3 -0
  77. data/sig/surge_api/client.rbs +2 -0
  78. data/sig/surge_api/models/campaign.rbs +5 -0
  79. data/sig/surge_api/models/campaign_approved_webhook_event.rbs +5 -0
  80. data/sig/surge_api/models/campaign_rejected_webhook_event.rbs +115 -0
  81. data/sig/surge_api/models/campaign_submitted_webhook_event.rbs +67 -0
  82. data/sig/surge_api/models/campaign_update_params.rbs +128 -2
  83. data/sig/surge_api/models/campaign_warning_webhook_event.rbs +114 -0
  84. data/sig/surge_api/models/message.rbs +10 -0
  85. data/sig/surge_api/models/message_delivered_webhook_event.rbs +5 -0
  86. data/sig/surge_api/models/message_failed_webhook_event.rbs +4 -4
  87. data/sig/surge_api/models/message_received_webhook_event.rbs +5 -0
  88. data/sig/surge_api/models/message_sent_webhook_event.rbs +5 -0
  89. data/sig/surge_api/models/phone_number.rbs +5 -0
  90. data/sig/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbs +5 -0
  91. data/sig/surge_api/models/phone_number_imported_webhook_event.rbs +5 -0
  92. data/sig/surge_api/models/phone_number_purchase_params.rbs +7 -0
  93. data/sig/surge_api/models/phone_number_update_params.rbs +12 -1
  94. data/sig/surge_api/models/toll_free_campaign.rbs +126 -0
  95. data/sig/surge_api/models/toll_free_campaign_consent_flow.rbs +207 -0
  96. data/sig/surge_api/models/toll_free_campaign_create_params.rbs +25 -0
  97. data/sig/surge_api/models/toll_free_campaign_list_params.rbs +36 -0
  98. data/sig/surge_api/models/toll_free_campaign_params.rbs +321 -0
  99. data/sig/surge_api/models/toll_free_campaign_retrieve_params.rbs +23 -0
  100. data/sig/surge_api/models/toll_free_campaign_update_params.rbs +332 -0
  101. data/sig/surge_api/models/unwrap_webhook_event.rbs +3 -0
  102. data/sig/surge_api/models/user_create_token_params.rbs +7 -1
  103. data/sig/surge_api/models.rbs +20 -0
  104. data/sig/surge_api/resources/campaigns.rbs +9 -1
  105. data/sig/surge_api/resources/phone_numbers.rbs +2 -0
  106. data/sig/surge_api/resources/toll_free_campaigns.rbs +44 -0
  107. data/sig/surge_api/resources/users.rbs +1 -0
  108. data/sig/surge_api/resources/webhooks.rbs +3 -0
  109. metadata +50 -7
@@ -1,7 +1,19 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type campaign_update_params =
4
- { id: String } & SurgeAPI::Internal::Type::request_parameters
4
+ {
5
+ id: String,
6
+ consent_flow: String,
7
+ description: String,
8
+ includes: ::Array[SurgeAPI::Models::CampaignUpdateParams::include_],
9
+ link_sample: String?,
10
+ message_samples: ::Array[String],
11
+ privacy_policy_url: String,
12
+ terms_and_conditions_url: String,
13
+ use_cases: ::Array[SurgeAPI::Models::CampaignUpdateParams::use_case],
14
+ volume: SurgeAPI::Models::CampaignUpdateParams::volume
15
+ }
16
+ & SurgeAPI::Internal::Type::request_parameters
5
17
 
6
18
  class CampaignUpdateParams < SurgeAPI::Internal::Type::BaseModel
7
19
  extend SurgeAPI::Internal::Type::RequestParameters::Converter
@@ -9,12 +21,126 @@ module SurgeAPI
9
21
 
10
22
  attr_accessor id: String
11
23
 
24
+ attr_reader consent_flow: String?
25
+
26
+ def consent_flow=: (String) -> String
27
+
28
+ attr_reader description: String?
29
+
30
+ def description=: (String) -> String
31
+
32
+ attr_reader includes: ::Array[SurgeAPI::Models::CampaignUpdateParams::include_]?
33
+
34
+ def includes=: (
35
+ ::Array[SurgeAPI::Models::CampaignUpdateParams::include_]
36
+ ) -> ::Array[SurgeAPI::Models::CampaignUpdateParams::include_]
37
+
38
+ attr_accessor link_sample: String?
39
+
40
+ attr_reader message_samples: ::Array[String]?
41
+
42
+ def message_samples=: (::Array[String]) -> ::Array[String]
43
+
44
+ attr_reader privacy_policy_url: String?
45
+
46
+ def privacy_policy_url=: (String) -> String
47
+
48
+ attr_reader terms_and_conditions_url: String?
49
+
50
+ def terms_and_conditions_url=: (String) -> String
51
+
52
+ attr_reader use_cases: ::Array[SurgeAPI::Models::CampaignUpdateParams::use_case]?
53
+
54
+ def use_cases=: (
55
+ ::Array[SurgeAPI::Models::CampaignUpdateParams::use_case]
56
+ ) -> ::Array[SurgeAPI::Models::CampaignUpdateParams::use_case]
57
+
58
+ attr_reader volume: SurgeAPI::Models::CampaignUpdateParams::volume?
59
+
60
+ def volume=: (
61
+ SurgeAPI::Models::CampaignUpdateParams::volume
62
+ ) -> SurgeAPI::Models::CampaignUpdateParams::volume
63
+
12
64
  def initialize: (
13
65
  id: String,
66
+ ?consent_flow: String,
67
+ ?description: String,
68
+ ?includes: ::Array[SurgeAPI::Models::CampaignUpdateParams::include_],
69
+ ?link_sample: String?,
70
+ ?message_samples: ::Array[String],
71
+ ?privacy_policy_url: String,
72
+ ?terms_and_conditions_url: String,
73
+ ?use_cases: ::Array[SurgeAPI::Models::CampaignUpdateParams::use_case],
74
+ ?volume: SurgeAPI::Models::CampaignUpdateParams::volume,
14
75
  ?request_options: SurgeAPI::request_opts
15
76
  ) -> void
16
77
 
17
- def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
78
+ def to_hash: -> {
79
+ id: String,
80
+ consent_flow: String,
81
+ description: String,
82
+ includes: ::Array[SurgeAPI::Models::CampaignUpdateParams::include_],
83
+ link_sample: String?,
84
+ message_samples: ::Array[String],
85
+ privacy_policy_url: String,
86
+ terms_and_conditions_url: String,
87
+ use_cases: ::Array[SurgeAPI::Models::CampaignUpdateParams::use_case],
88
+ volume: SurgeAPI::Models::CampaignUpdateParams::volume,
89
+ request_options: SurgeAPI::RequestOptions
90
+ }
91
+
92
+ type include_ = :links | :phone_numbers | :age_gated | :direct_lending
93
+
94
+ module Include
95
+ extend SurgeAPI::Internal::Type::Enum
96
+
97
+ LINKS: :links
98
+ PHONE_NUMBERS: :phone_numbers
99
+ AGE_GATED: :age_gated
100
+ DIRECT_LENDING: :direct_lending
101
+
102
+ def self?.values: -> ::Array[SurgeAPI::Models::CampaignUpdateParams::include_]
103
+ end
104
+
105
+ type use_case =
106
+ :account_notification
107
+ | :customer_care
108
+ | :delivery_notification
109
+ | :fraud_alert
110
+ | :higher_education
111
+ | :marketing
112
+ | :polling_voting
113
+ | :public_service_announcement
114
+ | :security_alert
115
+ | :two_factor_authentication
116
+
117
+ module UseCase
118
+ extend SurgeAPI::Internal::Type::Enum
119
+
120
+ ACCOUNT_NOTIFICATION: :account_notification
121
+ CUSTOMER_CARE: :customer_care
122
+ DELIVERY_NOTIFICATION: :delivery_notification
123
+ FRAUD_ALERT: :fraud_alert
124
+ HIGHER_EDUCATION: :higher_education
125
+ MARKETING: :marketing
126
+ POLLING_VOTING: :polling_voting
127
+ PUBLIC_SERVICE_ANNOUNCEMENT: :public_service_announcement
128
+ SECURITY_ALERT: :security_alert
129
+ TWO_FACTOR_AUTHENTICATION: :two_factor_authentication
130
+
131
+ def self?.values: -> ::Array[SurgeAPI::Models::CampaignUpdateParams::use_case]
132
+ end
133
+
134
+ type volume = :high | :low
135
+
136
+ module Volume
137
+ extend SurgeAPI::Internal::Type::Enum
138
+
139
+ HIGH: :high
140
+ LOW: :low
141
+
142
+ def self?.values: -> ::Array[SurgeAPI::Models::CampaignUpdateParams::volume]
143
+ end
18
144
  end
19
145
  end
20
146
  end
@@ -0,0 +1,114 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type campaign_warning_webhook_event =
4
+ {
5
+ account_id: String,
6
+ data: SurgeAPI::CampaignWarningWebhookEvent::Data,
7
+ timestamp: Time,
8
+ type: :"campaign.warning"
9
+ }
10
+
11
+ class CampaignWarningWebhookEvent < SurgeAPI::Internal::Type::BaseModel
12
+ attr_accessor account_id: String
13
+
14
+ attr_accessor data: SurgeAPI::CampaignWarningWebhookEvent::Data
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: :"campaign.warning"
19
+
20
+ def initialize: (
21
+ account_id: String,
22
+ data: SurgeAPI::CampaignWarningWebhookEvent::Data,
23
+ timestamp: Time,
24
+ ?type: :"campaign.warning"
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ account_id: String,
29
+ data: SurgeAPI::CampaignWarningWebhookEvent::Data,
30
+ timestamp: Time,
31
+ type: :"campaign.warning"
32
+ }
33
+
34
+ type data =
35
+ {
36
+ id: String,
37
+ feedback: ::Array[SurgeAPI::CampaignWarningWebhookEvent::Data::Feedback],
38
+ status: SurgeAPI::Models::CampaignWarningWebhookEvent::Data::status
39
+ }
40
+
41
+ class Data < SurgeAPI::Internal::Type::BaseModel
42
+ attr_accessor id: String
43
+
44
+ attr_accessor feedback: ::Array[SurgeAPI::CampaignWarningWebhookEvent::Data::Feedback]
45
+
46
+ attr_accessor status: SurgeAPI::Models::CampaignWarningWebhookEvent::Data::status
47
+
48
+ def initialize: (
49
+ id: String,
50
+ feedback: ::Array[SurgeAPI::CampaignWarningWebhookEvent::Data::Feedback],
51
+ status: SurgeAPI::Models::CampaignWarningWebhookEvent::Data::status
52
+ ) -> void
53
+
54
+ def to_hash: -> {
55
+ id: String,
56
+ feedback: ::Array[SurgeAPI::CampaignWarningWebhookEvent::Data::Feedback],
57
+ status: SurgeAPI::Models::CampaignWarningWebhookEvent::Data::status
58
+ }
59
+
60
+ type feedback =
61
+ {
62
+ field: String,
63
+ message: String,
64
+ outcome: SurgeAPI::Models::CampaignWarningWebhookEvent::Data::Feedback::outcome,
65
+ suggested_value: String?
66
+ }
67
+
68
+ class Feedback < SurgeAPI::Internal::Type::BaseModel
69
+ attr_accessor field: String
70
+
71
+ attr_accessor message: String
72
+
73
+ attr_accessor outcome: SurgeAPI::Models::CampaignWarningWebhookEvent::Data::Feedback::outcome
74
+
75
+ attr_accessor suggested_value: String?
76
+
77
+ def initialize: (
78
+ field: String,
79
+ message: String,
80
+ outcome: SurgeAPI::Models::CampaignWarningWebhookEvent::Data::Feedback::outcome,
81
+ suggested_value: String?
82
+ ) -> void
83
+
84
+ def to_hash: -> {
85
+ field: String,
86
+ message: String,
87
+ outcome: SurgeAPI::Models::CampaignWarningWebhookEvent::Data::Feedback::outcome,
88
+ suggested_value: String?
89
+ }
90
+
91
+ type outcome = :warning
92
+
93
+ module Outcome
94
+ extend SurgeAPI::Internal::Type::Enum
95
+
96
+ WARNING: :warning
97
+
98
+ def self?.values: -> ::Array[SurgeAPI::Models::CampaignWarningWebhookEvent::Data::Feedback::outcome]
99
+ end
100
+ end
101
+
102
+ type status = :in_review
103
+
104
+ module Status
105
+ extend SurgeAPI::Internal::Type::Enum
106
+
107
+ IN_REVIEW: :in_review
108
+
109
+ def self?.values: -> ::Array[SurgeAPI::Models::CampaignWarningWebhookEvent::Data::status]
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
@@ -7,6 +7,7 @@ module SurgeAPI
7
7
  blast_id: String?,
8
8
  body: String?,
9
9
  conversation: SurgeAPI::Message::Conversation,
10
+ failure_reason: String?,
10
11
  metadata: ::Hash[Symbol, String],
11
12
  status: SurgeAPI::Models::Message::status
12
13
  }
@@ -32,6 +33,8 @@ module SurgeAPI
32
33
  SurgeAPI::Message::Conversation
33
34
  ) -> SurgeAPI::Message::Conversation
34
35
 
36
+ attr_accessor failure_reason: String?
37
+
35
38
  attr_reader metadata: ::Hash[Symbol, String]?
36
39
 
37
40
  def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
@@ -48,6 +51,7 @@ module SurgeAPI
48
51
  ?blast_id: String?,
49
52
  ?body: String?,
50
53
  ?conversation: SurgeAPI::Message::Conversation,
54
+ ?failure_reason: String?,
51
55
  ?metadata: ::Hash[Symbol, String],
52
56
  ?status: SurgeAPI::Models::Message::status
53
57
  ) -> void
@@ -58,6 +62,7 @@ module SurgeAPI
58
62
  blast_id: String?,
59
63
  body: String?,
60
64
  conversation: SurgeAPI::Message::Conversation,
65
+ failure_reason: String?,
61
66
  metadata: ::Hash[Symbol, String],
62
67
  status: SurgeAPI::Models::Message::status
63
68
  }
@@ -144,6 +149,7 @@ module SurgeAPI
144
149
  type phone_number =
145
150
  {
146
151
  id: String,
152
+ metadata: ::Hash[Symbol, String],
147
153
  name: String?,
148
154
  number: String,
149
155
  type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
@@ -152,6 +158,8 @@ module SurgeAPI
152
158
  class PhoneNumber < SurgeAPI::Internal::Type::BaseModel
153
159
  attr_accessor id: String
154
160
 
161
+ attr_accessor metadata: ::Hash[Symbol, String]
162
+
155
163
  attr_accessor name: String?
156
164
 
157
165
  attr_accessor number: String
@@ -160,6 +168,7 @@ module SurgeAPI
160
168
 
161
169
  def initialize: (
162
170
  id: String,
171
+ metadata: ::Hash[Symbol, String],
163
172
  name: String?,
164
173
  number: String,
165
174
  type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
@@ -167,6 +176,7 @@ module SurgeAPI
167
176
 
168
177
  def to_hash: -> {
169
178
  id: String,
179
+ metadata: ::Hash[Symbol, String],
170
180
  name: String?,
171
181
  number: String,
172
182
  type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
@@ -37,6 +37,7 @@ module SurgeAPI
37
37
  body: String?,
38
38
  conversation: SurgeAPI::MessageDeliveredWebhookEvent::Data::Conversation,
39
39
  delivered_at: Time,
40
+ failure_reason: String?,
40
41
  metadata: ::Hash[Symbol, String],
41
42
  status: SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::status,
42
43
  attachments: ::Array[SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment],
@@ -52,6 +53,8 @@ module SurgeAPI
52
53
 
53
54
  attr_accessor delivered_at: Time
54
55
 
56
+ attr_accessor failure_reason: String?
57
+
55
58
  attr_accessor metadata: ::Hash[Symbol, String]
56
59
 
57
60
  attr_accessor status: SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::status
@@ -71,6 +74,7 @@ module SurgeAPI
71
74
  body: String?,
72
75
  conversation: SurgeAPI::MessageDeliveredWebhookEvent::Data::Conversation,
73
76
  delivered_at: Time,
77
+ failure_reason: String?,
74
78
  metadata: ::Hash[Symbol, String],
75
79
  status: SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::status,
76
80
  ?attachments: ::Array[SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment],
@@ -82,6 +86,7 @@ module SurgeAPI
82
86
  body: String?,
83
87
  conversation: SurgeAPI::MessageDeliveredWebhookEvent::Data::Conversation,
84
88
  delivered_at: Time,
89
+ failure_reason: String?,
85
90
  metadata: ::Hash[Symbol, String],
86
91
  status: SurgeAPI::Models::MessageDeliveredWebhookEvent::Data::status,
87
92
  attachments: ::Array[SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment],
@@ -37,7 +37,7 @@ module SurgeAPI
37
37
  body: String?,
38
38
  conversation: SurgeAPI::MessageFailedWebhookEvent::Data::Conversation,
39
39
  failed_at: Time,
40
- failure_reason: String,
40
+ failure_reason: String?,
41
41
  metadata: ::Hash[Symbol, String],
42
42
  status: SurgeAPI::Models::MessageFailedWebhookEvent::Data::status,
43
43
  attachments: ::Array[SurgeAPI::MessageFailedWebhookEvent::Data::Attachment],
@@ -53,7 +53,7 @@ module SurgeAPI
53
53
 
54
54
  attr_accessor failed_at: Time
55
55
 
56
- attr_accessor failure_reason: String
56
+ attr_accessor failure_reason: String?
57
57
 
58
58
  attr_accessor metadata: ::Hash[Symbol, String]
59
59
 
@@ -74,7 +74,7 @@ module SurgeAPI
74
74
  body: String?,
75
75
  conversation: SurgeAPI::MessageFailedWebhookEvent::Data::Conversation,
76
76
  failed_at: Time,
77
- failure_reason: String,
77
+ failure_reason: String?,
78
78
  metadata: ::Hash[Symbol, String],
79
79
  status: SurgeAPI::Models::MessageFailedWebhookEvent::Data::status,
80
80
  ?attachments: ::Array[SurgeAPI::MessageFailedWebhookEvent::Data::Attachment],
@@ -86,7 +86,7 @@ module SurgeAPI
86
86
  body: String?,
87
87
  conversation: SurgeAPI::MessageFailedWebhookEvent::Data::Conversation,
88
88
  failed_at: Time,
89
- failure_reason: String,
89
+ failure_reason: String?,
90
90
  metadata: ::Hash[Symbol, String],
91
91
  status: SurgeAPI::Models::MessageFailedWebhookEvent::Data::status,
92
92
  attachments: ::Array[SurgeAPI::MessageFailedWebhookEvent::Data::Attachment],
@@ -36,6 +36,7 @@ module SurgeAPI
36
36
  id: String,
37
37
  body: String?,
38
38
  conversation: SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation,
39
+ failure_reason: String?,
39
40
  metadata: ::Hash[Symbol, String],
40
41
  received_at: Time,
41
42
  status: SurgeAPI::Models::MessageReceivedWebhookEvent::Data::status,
@@ -50,6 +51,8 @@ module SurgeAPI
50
51
 
51
52
  attr_accessor conversation: SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation
52
53
 
54
+ attr_accessor failure_reason: String?
55
+
53
56
  attr_accessor metadata: ::Hash[Symbol, String]
54
57
 
55
58
  attr_accessor received_at: Time
@@ -70,6 +73,7 @@ module SurgeAPI
70
73
  id: String,
71
74
  body: String?,
72
75
  conversation: SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation,
76
+ failure_reason: String?,
73
77
  metadata: ::Hash[Symbol, String],
74
78
  received_at: Time,
75
79
  status: SurgeAPI::Models::MessageReceivedWebhookEvent::Data::status,
@@ -81,6 +85,7 @@ module SurgeAPI
81
85
  id: String,
82
86
  body: String?,
83
87
  conversation: SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation,
88
+ failure_reason: String?,
84
89
  metadata: ::Hash[Symbol, String],
85
90
  received_at: Time,
86
91
  status: SurgeAPI::Models::MessageReceivedWebhookEvent::Data::status,
@@ -36,6 +36,7 @@ module SurgeAPI
36
36
  id: String,
37
37
  body: String?,
38
38
  conversation: SurgeAPI::MessageSentWebhookEvent::Data::Conversation,
39
+ failure_reason: String?,
39
40
  metadata: ::Hash[Symbol, String],
40
41
  sent_at: Time,
41
42
  status: SurgeAPI::Models::MessageSentWebhookEvent::Data::status,
@@ -50,6 +51,8 @@ module SurgeAPI
50
51
 
51
52
  attr_accessor conversation: SurgeAPI::MessageSentWebhookEvent::Data::Conversation
52
53
 
54
+ attr_accessor failure_reason: String?
55
+
53
56
  attr_accessor metadata: ::Hash[Symbol, String]
54
57
 
55
58
  attr_accessor sent_at: Time
@@ -70,6 +73,7 @@ module SurgeAPI
70
73
  id: String,
71
74
  body: String?,
72
75
  conversation: SurgeAPI::MessageSentWebhookEvent::Data::Conversation,
76
+ failure_reason: String?,
73
77
  metadata: ::Hash[Symbol, String],
74
78
  sent_at: Time,
75
79
  status: SurgeAPI::Models::MessageSentWebhookEvent::Data::status,
@@ -81,6 +85,7 @@ module SurgeAPI
81
85
  id: String,
82
86
  body: String?,
83
87
  conversation: SurgeAPI::MessageSentWebhookEvent::Data::Conversation,
88
+ failure_reason: String?,
84
89
  metadata: ::Hash[Symbol, String],
85
90
  sent_at: Time,
86
91
  status: SurgeAPI::Models::MessageSentWebhookEvent::Data::status,
@@ -5,6 +5,7 @@ module SurgeAPI
5
5
  id: String,
6
6
  campaign: SurgeAPI::PhoneNumber::Campaign?,
7
7
  campaign_id: String?,
8
+ metadata: ::Hash[Symbol, String],
8
9
  name: String?,
9
10
  number: String,
10
11
  type: SurgeAPI::Models::PhoneNumber::type_
@@ -17,6 +18,8 @@ module SurgeAPI
17
18
 
18
19
  attr_accessor campaign_id: String?
19
20
 
21
+ attr_accessor metadata: ::Hash[Symbol, String]
22
+
20
23
  attr_accessor name: String?
21
24
 
22
25
  attr_accessor number: String
@@ -27,6 +30,7 @@ module SurgeAPI
27
30
  id: String,
28
31
  campaign: SurgeAPI::PhoneNumber::Campaign?,
29
32
  campaign_id: String?,
33
+ metadata: ::Hash[Symbol, String],
30
34
  name: String?,
31
35
  number: String,
32
36
  type: SurgeAPI::Models::PhoneNumber::type_
@@ -36,6 +40,7 @@ module SurgeAPI
36
40
  id: String,
37
41
  campaign: SurgeAPI::PhoneNumber::Campaign?,
38
42
  campaign_id: String?,
43
+ metadata: ::Hash[Symbol, String],
39
44
  name: String?,
40
45
  number: String,
41
46
  type: SurgeAPI::Models::PhoneNumber::type_
@@ -36,6 +36,7 @@ module SurgeAPI
36
36
  id: String,
37
37
  campaign: SurgeAPI::PhoneNumberAttachedToCampaignWebhookEvent::Data::Campaign?,
38
38
  campaign_id: String,
39
+ metadata: ::Hash[Symbol, String],
39
40
  name: String?,
40
41
  number: String,
41
42
  type: SurgeAPI::Models::PhoneNumberAttachedToCampaignWebhookEvent::Data::type_
@@ -48,6 +49,8 @@ module SurgeAPI
48
49
 
49
50
  attr_accessor campaign_id: String
50
51
 
52
+ attr_accessor metadata: ::Hash[Symbol, String]
53
+
51
54
  attr_accessor name: String?
52
55
 
53
56
  attr_accessor number: String
@@ -58,6 +61,7 @@ module SurgeAPI
58
61
  id: String,
59
62
  campaign: SurgeAPI::PhoneNumberAttachedToCampaignWebhookEvent::Data::Campaign?,
60
63
  campaign_id: String,
64
+ metadata: ::Hash[Symbol, String],
61
65
  name: String?,
62
66
  number: String,
63
67
  type: SurgeAPI::Models::PhoneNumberAttachedToCampaignWebhookEvent::Data::type_
@@ -67,6 +71,7 @@ module SurgeAPI
67
71
  id: String,
68
72
  campaign: SurgeAPI::PhoneNumberAttachedToCampaignWebhookEvent::Data::Campaign?,
69
73
  campaign_id: String,
74
+ metadata: ::Hash[Symbol, String],
70
75
  name: String?,
71
76
  number: String,
72
77
  type: SurgeAPI::Models::PhoneNumberAttachedToCampaignWebhookEvent::Data::type_
@@ -36,6 +36,7 @@ module SurgeAPI
36
36
  id: String,
37
37
  campaign: SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign?,
38
38
  campaign_id: String?,
39
+ metadata: ::Hash[Symbol, String],
39
40
  name: String?,
40
41
  number: String,
41
42
  type: SurgeAPI::Models::PhoneNumberImportedWebhookEvent::Data::type_
@@ -48,6 +49,8 @@ module SurgeAPI
48
49
 
49
50
  attr_accessor campaign_id: String?
50
51
 
52
+ attr_accessor metadata: ::Hash[Symbol, String]
53
+
51
54
  attr_accessor name: String?
52
55
 
53
56
  attr_accessor number: String
@@ -58,6 +61,7 @@ module SurgeAPI
58
61
  id: String,
59
62
  campaign: SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign?,
60
63
  campaign_id: String?,
64
+ metadata: ::Hash[Symbol, String],
61
65
  name: String?,
62
66
  number: String,
63
67
  type: SurgeAPI::Models::PhoneNumberImportedWebhookEvent::Data::type_
@@ -67,6 +71,7 @@ module SurgeAPI
67
71
  id: String,
68
72
  campaign: SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign?,
69
73
  campaign_id: String?,
74
+ metadata: ::Hash[Symbol, String],
70
75
  name: String?,
71
76
  number: String,
72
77
  type: SurgeAPI::Models::PhoneNumberImportedWebhookEvent::Data::type_
@@ -6,6 +6,7 @@ module SurgeAPI
6
6
  area_code: String,
7
7
  latitude: Float,
8
8
  longitude: Float,
9
+ metadata: ::Hash[Symbol, String],
9
10
  name: String,
10
11
  phone_number: String,
11
12
  type: SurgeAPI::Models::PhoneNumberPurchaseParams::type_
@@ -30,6 +31,10 @@ module SurgeAPI
30
31
 
31
32
  def longitude=: (Float) -> Float
32
33
 
34
+ attr_reader metadata: ::Hash[Symbol, String]?
35
+
36
+ def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
37
+
33
38
  attr_reader name: String?
34
39
 
35
40
  def name=: (String) -> String
@@ -49,6 +54,7 @@ module SurgeAPI
49
54
  ?area_code: String,
50
55
  ?latitude: Float,
51
56
  ?longitude: Float,
57
+ ?metadata: ::Hash[Symbol, String],
52
58
  ?name: String,
53
59
  ?phone_number: String,
54
60
  ?type: SurgeAPI::Models::PhoneNumberPurchaseParams::type_,
@@ -60,6 +66,7 @@ module SurgeAPI
60
66
  area_code: String,
61
67
  latitude: Float,
62
68
  longitude: Float,
69
+ metadata: ::Hash[Symbol, String],
63
70
  name: String,
64
71
  phone_number: String,
65
72
  type: SurgeAPI::Models::PhoneNumberPurchaseParams::type_,
@@ -1,7 +1,12 @@
1
1
  module SurgeAPI
2
2
  module Models
3
3
  type phone_number_update_params =
4
- { id: String, campaign_id: String, name: String }
4
+ {
5
+ id: String,
6
+ campaign_id: String,
7
+ metadata: ::Hash[Symbol, String],
8
+ name: String
9
+ }
5
10
  & SurgeAPI::Internal::Type::request_parameters
6
11
 
7
12
  class PhoneNumberUpdateParams < SurgeAPI::Internal::Type::BaseModel
@@ -14,6 +19,10 @@ module SurgeAPI
14
19
 
15
20
  def campaign_id=: (String) -> String
16
21
 
22
+ attr_reader metadata: ::Hash[Symbol, String]?
23
+
24
+ def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
25
+
17
26
  attr_reader name: String?
18
27
 
19
28
  def name=: (String) -> String
@@ -21,6 +30,7 @@ module SurgeAPI
21
30
  def initialize: (
22
31
  id: String,
23
32
  ?campaign_id: String,
33
+ ?metadata: ::Hash[Symbol, String],
24
34
  ?name: String,
25
35
  ?request_options: SurgeAPI::request_opts
26
36
  ) -> void
@@ -28,6 +38,7 @@ module SurgeAPI
28
38
  def to_hash: -> {
29
39
  id: String,
30
40
  campaign_id: String,
41
+ metadata: ::Hash[Symbol, String],
31
42
  name: String,
32
43
  request_options: SurgeAPI::RequestOptions
33
44
  }