surge_api 0.14.0 → 0.16.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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/surge_api/client.rb +4 -0
  5. data/lib/surge_api/models/attachment_get_file_params.rb +14 -0
  6. data/lib/surge_api/models/attachment_get_file_response.rb +19 -0
  7. data/lib/surge_api/models/audience_create_params.rb +22 -0
  8. data/lib/surge_api/models/audience_create_response.rb +27 -0
  9. data/lib/surge_api/models/campaign_params.rb +12 -12
  10. data/lib/surge_api/models/campaign_update_params.rb +26 -0
  11. data/lib/surge_api/models/link_followed_webhook_event.rb +15 -5
  12. data/lib/surge_api/models/message.rb +9 -1
  13. data/lib/surge_api/models/phone_number.rb +9 -1
  14. data/lib/surge_api/models/phone_number_attached_to_campaign_webhook_event.rb +9 -1
  15. data/lib/surge_api/models/phone_number_purchase_params.rb +10 -1
  16. data/lib/surge_api/models.rb +6 -0
  17. data/lib/surge_api/resources/attachments.rb +35 -0
  18. data/lib/surge_api/resources/audiences.rb +24 -0
  19. data/lib/surge_api/resources/campaigns.rb +35 -0
  20. data/lib/surge_api/resources/phone_numbers.rb +3 -1
  21. data/lib/surge_api/version.rb +1 -1
  22. data/lib/surge_api.rb +6 -0
  23. data/rbi/surge_api/client.rbi +3 -0
  24. data/rbi/surge_api/models/attachment_get_file_params.rbi +27 -0
  25. data/rbi/surge_api/models/attachment_get_file_response.rbi +34 -0
  26. data/rbi/surge_api/models/audience_create_params.rbi +40 -0
  27. data/rbi/surge_api/models/audience_create_response.rbi +37 -0
  28. data/rbi/surge_api/models/campaign_params.rbi +17 -20
  29. data/rbi/surge_api/models/campaign_update_params.rbi +60 -0
  30. data/rbi/surge_api/models/link_followed_webhook_event.rbi +26 -7
  31. data/rbi/surge_api/models/message.rbi +8 -0
  32. data/rbi/surge_api/models/phone_number.rbi +8 -0
  33. data/rbi/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbi +8 -0
  34. data/rbi/surge_api/models/phone_number_purchase_params.rbi +13 -0
  35. data/rbi/surge_api/models.rbi +6 -0
  36. data/rbi/surge_api/resources/attachments.rbi +27 -0
  37. data/rbi/surge_api/resources/audiences.rbi +17 -0
  38. data/rbi/surge_api/resources/campaigns.rbi +21 -0
  39. data/rbi/surge_api/resources/phone_numbers.rbi +4 -0
  40. data/sig/surge_api/client.rbs +2 -0
  41. data/sig/surge_api/models/attachment_get_file_params.rbs +15 -0
  42. data/sig/surge_api/models/attachment_get_file_response.rbs +13 -0
  43. data/sig/surge_api/models/audience_create_params.rbs +23 -0
  44. data/sig/surge_api/models/audience_create_response.rbs +15 -0
  45. data/sig/surge_api/models/campaign_params.rbs +8 -10
  46. data/sig/surge_api/models/campaign_update_params.rbs +28 -0
  47. data/sig/surge_api/models/link_followed_webhook_event.rbs +22 -4
  48. data/sig/surge_api/models/message.rbs +5 -0
  49. data/sig/surge_api/models/phone_number.rbs +5 -0
  50. data/sig/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbs +5 -0
  51. data/sig/surge_api/models/phone_number_purchase_params.rbs +7 -0
  52. data/sig/surge_api/models.rbs +6 -0
  53. data/sig/surge_api/resources/attachments.rbs +12 -0
  54. data/sig/surge_api/resources/audiences.rbs +6 -0
  55. data/sig/surge_api/resources/campaigns.rbs +6 -0
  56. data/sig/surge_api/resources/phone_numbers.rbs +1 -0
  57. metadata +20 -2
@@ -13,11 +13,11 @@ module SurgeAPI
13
13
  description: String,
14
14
  message_samples: ::Array[String],
15
15
  privacy_policy_url: String,
16
+ terms_and_conditions_url: String,
16
17
  use_cases: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::use_case],
17
18
  volume: SurgeAPI::Models::CampaignParams::StandardCampaignParams::volume,
18
19
  includes: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_],
19
- link_sample: String,
20
- terms_and_conditions_url: String
20
+ link_sample: String
21
21
  }
22
22
 
23
23
  class StandardCampaignParams < SurgeAPI::Internal::Type::BaseModel
@@ -29,6 +29,8 @@ module SurgeAPI
29
29
 
30
30
  attr_accessor privacy_policy_url: String
31
31
 
32
+ attr_accessor terms_and_conditions_url: String
33
+
32
34
  attr_accessor use_cases: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::use_case]
33
35
 
34
36
  attr_accessor volume: SurgeAPI::Models::CampaignParams::StandardCampaignParams::volume
@@ -43,20 +45,16 @@ module SurgeAPI
43
45
 
44
46
  def link_sample=: (String) -> String
45
47
 
46
- attr_reader terms_and_conditions_url: String?
47
-
48
- def terms_and_conditions_url=: (String) -> String
49
-
50
48
  def initialize: (
51
49
  consent_flow: String,
52
50
  description: String,
53
51
  message_samples: ::Array[String],
54
52
  privacy_policy_url: String,
53
+ terms_and_conditions_url: String,
55
54
  use_cases: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::use_case],
56
55
  volume: SurgeAPI::Models::CampaignParams::StandardCampaignParams::volume,
57
56
  ?includes: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_],
58
- ?link_sample: String,
59
- ?terms_and_conditions_url: String
57
+ ?link_sample: String
60
58
  ) -> void
61
59
 
62
60
  def to_hash: -> {
@@ -64,11 +62,11 @@ module SurgeAPI
64
62
  description: String,
65
63
  message_samples: ::Array[String],
66
64
  privacy_policy_url: String,
65
+ terms_and_conditions_url: String,
67
66
  use_cases: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::use_case],
68
67
  volume: SurgeAPI::Models::CampaignParams::StandardCampaignParams::volume,
69
68
  includes: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_],
70
- link_sample: String,
71
- terms_and_conditions_url: String
69
+ link_sample: String
72
70
  }
73
71
 
74
72
  type use_case =
@@ -0,0 +1,28 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type campaign_update_params =
4
+ { campaign_params: SurgeAPI::Models::campaign_params }
5
+ & SurgeAPI::Internal::Type::request_parameters
6
+
7
+ class CampaignUpdateParams < SurgeAPI::Internal::Type::BaseModel
8
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
9
+ include SurgeAPI::Internal::Type::RequestParameters
10
+
11
+ def campaign_params: -> SurgeAPI::Models::campaign_params
12
+
13
+ def campaign_params=: (
14
+ SurgeAPI::Models::campaign_params _
15
+ ) -> SurgeAPI::Models::campaign_params
16
+
17
+ def initialize: (
18
+ campaign_params: SurgeAPI::Models::campaign_params,
19
+ ?request_options: SurgeAPI::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ campaign_params: SurgeAPI::Models::campaign_params,
24
+ request_options: SurgeAPI::RequestOptions
25
+ }
26
+ end
27
+ end
28
+ end
@@ -31,18 +31,36 @@ module SurgeAPI
31
31
  type: :"link.followed"
32
32
  }
33
33
 
34
- type data = { id: String, message_id: String, url: String }
34
+ type data =
35
+ {
36
+ id: String,
37
+ message: SurgeAPI::Message?,
38
+ message_id: String?,
39
+ url: String
40
+ }
35
41
 
36
42
  class Data < SurgeAPI::Internal::Type::BaseModel
37
43
  attr_accessor id: String
38
44
 
39
- attr_accessor message_id: String
45
+ attr_accessor message: SurgeAPI::Message?
46
+
47
+ attr_accessor message_id: String?
40
48
 
41
49
  attr_accessor url: String
42
50
 
43
- def initialize: (id: String, message_id: String, url: String) -> void
51
+ def initialize: (
52
+ id: String,
53
+ message: SurgeAPI::Message?,
54
+ message_id: String?,
55
+ url: String
56
+ ) -> void
44
57
 
45
- def to_hash: -> { id: String, message_id: String, url: String }
58
+ def to_hash: -> {
59
+ id: String,
60
+ message: SurgeAPI::Message?,
61
+ message_id: String?,
62
+ url: String
63
+ }
46
64
  end
47
65
  end
48
66
  end
@@ -134,6 +134,7 @@ module SurgeAPI
134
134
  type phone_number =
135
135
  {
136
136
  id: String,
137
+ name: String?,
137
138
  number: String,
138
139
  type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
139
140
  }
@@ -141,18 +142,22 @@ module SurgeAPI
141
142
  class PhoneNumber < SurgeAPI::Internal::Type::BaseModel
142
143
  attr_accessor id: String
143
144
 
145
+ attr_accessor name: String?
146
+
144
147
  attr_accessor number: String
145
148
 
146
149
  attr_accessor type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
147
150
 
148
151
  def initialize: (
149
152
  id: String,
153
+ name: String?,
150
154
  number: String,
151
155
  type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
152
156
  ) -> void
153
157
 
154
158
  def to_hash: -> {
155
159
  id: String,
160
+ name: String?,
156
161
  number: String,
157
162
  type: SurgeAPI::Models::Message::Conversation::PhoneNumber::type_
158
163
  }
@@ -4,6 +4,7 @@ module SurgeAPI
4
4
  {
5
5
  id: String,
6
6
  campaign_id: String?,
7
+ name: String?,
7
8
  number: String,
8
9
  type: SurgeAPI::Models::PhoneNumber::type_
9
10
  }
@@ -13,6 +14,8 @@ module SurgeAPI
13
14
 
14
15
  attr_accessor campaign_id: String?
15
16
 
17
+ attr_accessor name: String?
18
+
16
19
  attr_accessor number: String
17
20
 
18
21
  attr_accessor type: SurgeAPI::Models::PhoneNumber::type_
@@ -20,6 +23,7 @@ module SurgeAPI
20
23
  def initialize: (
21
24
  id: String,
22
25
  campaign_id: String?,
26
+ name: String?,
23
27
  number: String,
24
28
  type: SurgeAPI::Models::PhoneNumber::type_
25
29
  ) -> void
@@ -27,6 +31,7 @@ module SurgeAPI
27
31
  def to_hash: -> {
28
32
  id: String,
29
33
  campaign_id: String?,
34
+ name: String?,
30
35
  number: String,
31
36
  type: SurgeAPI::Models::PhoneNumber::type_
32
37
  }
@@ -35,6 +35,7 @@ module SurgeAPI
35
35
  {
36
36
  id: String,
37
37
  campaign_id: String,
38
+ name: String?,
38
39
  number: String,
39
40
  type: SurgeAPI::Models::PhoneNumberAttachedToCampaignWebhookEvent::Data::type_
40
41
  }
@@ -44,6 +45,8 @@ module SurgeAPI
44
45
 
45
46
  attr_accessor campaign_id: String
46
47
 
48
+ attr_accessor name: String?
49
+
47
50
  attr_accessor number: String
48
51
 
49
52
  attr_accessor type: SurgeAPI::Models::PhoneNumberAttachedToCampaignWebhookEvent::Data::type_
@@ -51,6 +54,7 @@ module SurgeAPI
51
54
  def initialize: (
52
55
  id: String,
53
56
  campaign_id: String,
57
+ name: String?,
54
58
  number: String,
55
59
  type: SurgeAPI::Models::PhoneNumberAttachedToCampaignWebhookEvent::Data::type_
56
60
  ) -> void
@@ -58,6 +62,7 @@ module SurgeAPI
58
62
  def to_hash: -> {
59
63
  id: String,
60
64
  campaign_id: String,
65
+ name: String?,
61
66
  number: String,
62
67
  type: SurgeAPI::Models::PhoneNumberAttachedToCampaignWebhookEvent::Data::type_
63
68
  }
@@ -5,6 +5,7 @@ module SurgeAPI
5
5
  area_code: String,
6
6
  latitude: Float,
7
7
  longitude: Float,
8
+ name: String,
8
9
  type: SurgeAPI::Models::PhoneNumberPurchaseParams::type_
9
10
  }
10
11
  & SurgeAPI::Internal::Type::request_parameters
@@ -25,6 +26,10 @@ module SurgeAPI
25
26
 
26
27
  def longitude=: (Float) -> Float
27
28
 
29
+ attr_reader name: String?
30
+
31
+ def name=: (String) -> String
32
+
28
33
  attr_reader type: SurgeAPI::Models::PhoneNumberPurchaseParams::type_?
29
34
 
30
35
  def type=: (
@@ -35,6 +40,7 @@ module SurgeAPI
35
40
  ?area_code: String,
36
41
  ?latitude: Float,
37
42
  ?longitude: Float,
43
+ ?name: String,
38
44
  ?type: SurgeAPI::Models::PhoneNumberPurchaseParams::type_,
39
45
  ?request_options: SurgeAPI::request_opts
40
46
  ) -> void
@@ -43,6 +49,7 @@ module SurgeAPI
43
49
  area_code: String,
44
50
  latitude: Float,
45
51
  longitude: Float,
52
+ name: String,
46
53
  type: SurgeAPI::Models::PhoneNumberPurchaseParams::type_,
47
54
  request_options: SurgeAPI::RequestOptions
48
55
  }
@@ -11,8 +11,12 @@ module SurgeAPI
11
11
 
12
12
  class AccountUpdateParams = SurgeAPI::Models::AccountUpdateParams
13
13
 
14
+ class AttachmentGetFileParams = SurgeAPI::Models::AttachmentGetFileParams
15
+
14
16
  class AudienceAddContactParams = SurgeAPI::Models::AudienceAddContactParams
15
17
 
18
+ class AudienceCreateParams = SurgeAPI::Models::AudienceCreateParams
19
+
16
20
  class AudienceListContactsParams = SurgeAPI::Models::AudienceListContactsParams
17
21
 
18
22
  class Blast = SurgeAPI::Models::Blast
@@ -33,6 +37,8 @@ module SurgeAPI
33
37
 
34
38
  class CampaignRetrieveParams = SurgeAPI::Models::CampaignRetrieveParams
35
39
 
40
+ class CampaignUpdateParams = SurgeAPI::Models::CampaignUpdateParams
41
+
36
42
  class Contact = SurgeAPI::Models::Contact
37
43
 
38
44
  class ContactCreateParams = SurgeAPI::Models::ContactCreateParams
@@ -0,0 +1,12 @@
1
+ module SurgeAPI
2
+ module Resources
3
+ class Attachments
4
+ def get_file: (
5
+ String attachment_id,
6
+ ?request_options: SurgeAPI::request_opts
7
+ ) -> SurgeAPI::Models::AttachmentGetFileResponse
8
+
9
+ def initialize: (client: SurgeAPI::Client) -> void
10
+ end
11
+ end
12
+ end
@@ -1,6 +1,12 @@
1
1
  module SurgeAPI
2
2
  module Resources
3
3
  class Audiences
4
+ def create: (
5
+ String account_id,
6
+ name: String,
7
+ ?request_options: SurgeAPI::request_opts
8
+ ) -> SurgeAPI::Models::AudienceCreateResponse
9
+
4
10
  def add_contact: (
5
11
  String audience_id,
6
12
  id: String,
@@ -12,6 +12,12 @@ module SurgeAPI
12
12
  ?request_options: SurgeAPI::request_opts
13
13
  ) -> SurgeAPI::Campaign
14
14
 
15
+ def update: (
16
+ String id,
17
+ campaign_params: SurgeAPI::Models::CampaignParams,
18
+ ?request_options: SurgeAPI::request_opts
19
+ ) -> SurgeAPI::Campaign
20
+
15
21
  def list: (
16
22
  String account_id,
17
23
  ?after: String,
@@ -13,6 +13,7 @@ module SurgeAPI
13
13
  ?area_code: String,
14
14
  ?latitude: Float,
15
15
  ?longitude: Float,
16
+ ?name: String,
16
17
  ?type: SurgeAPI::Models::PhoneNumberPurchaseParams::type_,
17
18
  ?request_options: SurgeAPI::request_opts
18
19
  ) -> SurgeAPI::PhoneNumber
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: surge_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Surge
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-01 00:00:00.000000000 Z
11
+ date: 2026-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -76,7 +76,11 @@ files:
76
76
  - lib/surge_api/models/account_retrieve_status_params.rb
77
77
  - lib/surge_api/models/account_status.rb
78
78
  - lib/surge_api/models/account_update_params.rb
79
+ - lib/surge_api/models/attachment_get_file_params.rb
80
+ - lib/surge_api/models/attachment_get_file_response.rb
79
81
  - lib/surge_api/models/audience_add_contact_params.rb
82
+ - lib/surge_api/models/audience_create_params.rb
83
+ - lib/surge_api/models/audience_create_response.rb
80
84
  - lib/surge_api/models/audience_list_contacts_params.rb
81
85
  - lib/surge_api/models/blast.rb
82
86
  - lib/surge_api/models/blast_create_params.rb
@@ -87,6 +91,7 @@ files:
87
91
  - lib/surge_api/models/campaign_list_params.rb
88
92
  - lib/surge_api/models/campaign_params.rb
89
93
  - lib/surge_api/models/campaign_retrieve_params.rb
94
+ - lib/surge_api/models/campaign_update_params.rb
90
95
  - lib/surge_api/models/contact.rb
91
96
  - lib/surge_api/models/contact_create_params.rb
92
97
  - lib/surge_api/models/contact_list_params.rb
@@ -137,6 +142,7 @@ files:
137
142
  - lib/surge_api/models/webhook_unwrap_params.rb
138
143
  - lib/surge_api/request_options.rb
139
144
  - lib/surge_api/resources/accounts.rb
145
+ - lib/surge_api/resources/attachments.rb
140
146
  - lib/surge_api/resources/audiences.rb
141
147
  - lib/surge_api/resources/blasts.rb
142
148
  - lib/surge_api/resources/campaigns.rb
@@ -175,7 +181,11 @@ files:
175
181
  - rbi/surge_api/models/account_retrieve_status_params.rbi
176
182
  - rbi/surge_api/models/account_status.rbi
177
183
  - rbi/surge_api/models/account_update_params.rbi
184
+ - rbi/surge_api/models/attachment_get_file_params.rbi
185
+ - rbi/surge_api/models/attachment_get_file_response.rbi
178
186
  - rbi/surge_api/models/audience_add_contact_params.rbi
187
+ - rbi/surge_api/models/audience_create_params.rbi
188
+ - rbi/surge_api/models/audience_create_response.rbi
179
189
  - rbi/surge_api/models/audience_list_contacts_params.rbi
180
190
  - rbi/surge_api/models/blast.rbi
181
191
  - rbi/surge_api/models/blast_create_params.rbi
@@ -186,6 +196,7 @@ files:
186
196
  - rbi/surge_api/models/campaign_list_params.rbi
187
197
  - rbi/surge_api/models/campaign_params.rbi
188
198
  - rbi/surge_api/models/campaign_retrieve_params.rbi
199
+ - rbi/surge_api/models/campaign_update_params.rbi
189
200
  - rbi/surge_api/models/contact.rbi
190
201
  - rbi/surge_api/models/contact_create_params.rbi
191
202
  - rbi/surge_api/models/contact_list_params.rbi
@@ -236,6 +247,7 @@ files:
236
247
  - rbi/surge_api/models/webhook_unwrap_params.rbi
237
248
  - rbi/surge_api/request_options.rbi
238
249
  - rbi/surge_api/resources/accounts.rbi
250
+ - rbi/surge_api/resources/attachments.rbi
239
251
  - rbi/surge_api/resources/audiences.rbi
240
252
  - rbi/surge_api/resources/blasts.rbi
241
253
  - rbi/surge_api/resources/campaigns.rbi
@@ -273,7 +285,11 @@ files:
273
285
  - sig/surge_api/models/account_retrieve_status_params.rbs
274
286
  - sig/surge_api/models/account_status.rbs
275
287
  - sig/surge_api/models/account_update_params.rbs
288
+ - sig/surge_api/models/attachment_get_file_params.rbs
289
+ - sig/surge_api/models/attachment_get_file_response.rbs
276
290
  - sig/surge_api/models/audience_add_contact_params.rbs
291
+ - sig/surge_api/models/audience_create_params.rbs
292
+ - sig/surge_api/models/audience_create_response.rbs
277
293
  - sig/surge_api/models/audience_list_contacts_params.rbs
278
294
  - sig/surge_api/models/blast.rbs
279
295
  - sig/surge_api/models/blast_create_params.rbs
@@ -284,6 +300,7 @@ files:
284
300
  - sig/surge_api/models/campaign_list_params.rbs
285
301
  - sig/surge_api/models/campaign_params.rbs
286
302
  - sig/surge_api/models/campaign_retrieve_params.rbs
303
+ - sig/surge_api/models/campaign_update_params.rbs
287
304
  - sig/surge_api/models/contact.rbs
288
305
  - sig/surge_api/models/contact_create_params.rbs
289
306
  - sig/surge_api/models/contact_list_params.rbs
@@ -334,6 +351,7 @@ files:
334
351
  - sig/surge_api/models/webhook_unwrap_params.rbs
335
352
  - sig/surge_api/request_options.rbs
336
353
  - sig/surge_api/resources/accounts.rbs
354
+ - sig/surge_api/resources/attachments.rbs
337
355
  - sig/surge_api/resources/audiences.rbs
338
356
  - sig/surge_api/resources/blasts.rbs
339
357
  - sig/surge_api/resources/campaigns.rbs