surge_api 0.1.0 → 0.2.1

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/README.md +12 -63
  4. data/lib/surge_api/file_part.rb +10 -7
  5. data/lib/surge_api/internal/transport/pooled_net_requester.rb +34 -31
  6. data/lib/surge_api/internal/type/file_input.rb +7 -4
  7. data/lib/surge_api/internal/type/union.rb +1 -1
  8. data/lib/surge_api/internal/util.rb +5 -5
  9. data/lib/surge_api/models/account_create_params.rb +13 -6
  10. data/lib/surge_api/models/account_update_params.rb +13 -6
  11. data/lib/surge_api/models/campaign_create_params.rb +7 -183
  12. data/lib/surge_api/models/campaign_params.rb +228 -0
  13. data/lib/surge_api/models/contact_opted_in_webhook_event.rb +54 -0
  14. data/lib/surge_api/models/contact_opted_out_webhook_event.rb +54 -0
  15. data/lib/surge_api/models/message_create_params.rb +8 -134
  16. data/lib/surge_api/models/message_params.rb +216 -0
  17. data/lib/surge_api/models/unwrap_webhook_event.rb +5 -1
  18. data/lib/surge_api/models.rb +8 -0
  19. data/lib/surge_api/resources/campaigns.rb +7 -18
  20. data/lib/surge_api/resources/messages.rb +7 -12
  21. data/lib/surge_api/resources/webhooks.rb +1 -1
  22. data/lib/surge_api/version.rb +1 -1
  23. data/lib/surge_api.rb +4 -0
  24. data/rbi/surge_api/file_part.rbi +1 -1
  25. data/rbi/surge_api/models/account_create_params.rbi +19 -8
  26. data/rbi/surge_api/models/account_update_params.rbi +19 -8
  27. data/rbi/surge_api/models/campaign_create_params.rbi +20 -346
  28. data/rbi/surge_api/models/campaign_params.rbi +481 -0
  29. data/rbi/surge_api/models/contact_opted_in_webhook_event.rbi +95 -0
  30. data/rbi/surge_api/models/contact_opted_out_webhook_event.rbi +95 -0
  31. data/rbi/surge_api/models/message_create_params.rbi +24 -243
  32. data/rbi/surge_api/models/message_params.rbi +430 -0
  33. data/rbi/surge_api/models/unwrap_webhook_event.rbi +2 -0
  34. data/rbi/surge_api/models.rbi +8 -0
  35. data/rbi/surge_api/resources/campaigns.rbi +4 -89
  36. data/rbi/surge_api/resources/messages.rbi +5 -22
  37. data/rbi/surge_api/resources/webhooks.rbi +2 -0
  38. data/sig/surge_api/file_part.rbs +1 -1
  39. data/sig/surge_api/models/campaign_create_params.rbs +7 -106
  40. data/sig/surge_api/models/campaign_params.rbs +141 -0
  41. data/sig/surge_api/models/contact_opted_in_webhook_event.rbs +45 -0
  42. data/sig/surge_api/models/contact_opted_out_webhook_event.rbs +45 -0
  43. data/sig/surge_api/models/message_create_params.rbs +7 -119
  44. data/sig/surge_api/models/message_params.rbs +189 -0
  45. data/sig/surge_api/models/unwrap_webhook_event.rbs +2 -0
  46. data/sig/surge_api/models.rbs +8 -0
  47. data/sig/surge_api/resources/campaigns.rbs +1 -9
  48. data/sig/surge_api/resources/messages.rbs +1 -6
  49. data/sig/surge_api/resources/webhooks.rbs +2 -0
  50. metadata +14 -2
@@ -3,6 +3,8 @@ module SurgeAPI
3
3
  type unwrap_webhook_event =
4
4
  SurgeAPI::CallEndedWebhookEvent
5
5
  | SurgeAPI::CampaignApprovedWebhookEvent
6
+ | SurgeAPI::ContactOptedInWebhookEvent
7
+ | SurgeAPI::ContactOptedOutWebhookEvent
6
8
  | SurgeAPI::ConversationCreatedWebhookEvent
7
9
  | SurgeAPI::MessageDeliveredWebhookEvent
8
10
  | SurgeAPI::MessageFailedWebhookEvent
@@ -21,10 +21,16 @@ module SurgeAPI
21
21
 
22
22
  class CampaignCreateParams = SurgeAPI::Models::CampaignCreateParams
23
23
 
24
+ module CampaignParams = SurgeAPI::Models::CampaignParams
25
+
24
26
  class Contact = SurgeAPI::Models::Contact
25
27
 
26
28
  class ContactCreateParams = SurgeAPI::Models::ContactCreateParams
27
29
 
30
+ class ContactOptedInWebhookEvent = SurgeAPI::Models::ContactOptedInWebhookEvent
31
+
32
+ class ContactOptedOutWebhookEvent = SurgeAPI::Models::ContactOptedOutWebhookEvent
33
+
28
34
  class ContactRetrieveParams = SurgeAPI::Models::ContactRetrieveParams
29
35
 
30
36
  class ContactUpdateParams = SurgeAPI::Models::ContactUpdateParams
@@ -41,6 +47,8 @@ module SurgeAPI
41
47
 
42
48
  class MessageFailedWebhookEvent = SurgeAPI::Models::MessageFailedWebhookEvent
43
49
 
50
+ module MessageParams = SurgeAPI::Models::MessageParams
51
+
44
52
  class MessageReceivedWebhookEvent = SurgeAPI::Models::MessageReceivedWebhookEvent
45
53
 
46
54
  class MessageSentWebhookEvent = SurgeAPI::Models::MessageSentWebhookEvent
@@ -3,15 +3,7 @@ module SurgeAPI
3
3
  class Campaigns
4
4
  def create: (
5
5
  String account_id,
6
- consent_flow: String,
7
- description: String,
8
- message_samples: ::Array[String],
9
- privacy_policy_url: String,
10
- use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case],
11
- volume: SurgeAPI::Models::CampaignCreateParams::volume,
12
- ?includes: ::Array[SurgeAPI::Models::CampaignCreateParams::include_],
13
- ?link_sample: String,
14
- ?terms_and_conditions_url: String,
6
+ campaign_params: SurgeAPI::Models::CampaignParams,
15
7
  ?request_options: SurgeAPI::request_opts
16
8
  ) -> SurgeAPI::Campaign
17
9
 
@@ -3,12 +3,7 @@ module SurgeAPI
3
3
  class Messages
4
4
  def create: (
5
5
  String account_id,
6
- conversation: SurgeAPI::MessageCreateParams::Conversation,
7
- to: String,
8
- ?attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment],
9
- ?body: String,
10
- ?send_at: Time,
11
- ?from: String,
6
+ message_params: SurgeAPI::Models::MessageParams,
12
7
  ?request_options: SurgeAPI::request_opts
13
8
  ) -> SurgeAPI::Message
14
9
 
@@ -5,6 +5,8 @@ module SurgeAPI
5
5
  String payload
6
6
  ) -> (SurgeAPI::CallEndedWebhookEvent
7
7
  | SurgeAPI::CampaignApprovedWebhookEvent
8
+ | SurgeAPI::ContactOptedInWebhookEvent
9
+ | SurgeAPI::ContactOptedOutWebhookEvent
8
10
  | SurgeAPI::ConversationCreatedWebhookEvent
9
11
  | SurgeAPI::MessageDeliveredWebhookEvent
10
12
  | SurgeAPI::MessageFailedWebhookEvent
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.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Surge
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-09-26 00:00:00.000000000 Z
11
+ date: 2025-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool
@@ -66,8 +66,11 @@ files:
66
66
  - lib/surge_api/models/campaign.rb
67
67
  - lib/surge_api/models/campaign_approved_webhook_event.rb
68
68
  - lib/surge_api/models/campaign_create_params.rb
69
+ - lib/surge_api/models/campaign_params.rb
69
70
  - lib/surge_api/models/contact.rb
70
71
  - lib/surge_api/models/contact_create_params.rb
72
+ - lib/surge_api/models/contact_opted_in_webhook_event.rb
73
+ - lib/surge_api/models/contact_opted_out_webhook_event.rb
71
74
  - lib/surge_api/models/contact_retrieve_params.rb
72
75
  - lib/surge_api/models/contact_update_params.rb
73
76
  - lib/surge_api/models/conversation_created_webhook_event.rb
@@ -76,6 +79,7 @@ files:
76
79
  - lib/surge_api/models/message_create_params.rb
77
80
  - lib/surge_api/models/message_delivered_webhook_event.rb
78
81
  - lib/surge_api/models/message_failed_webhook_event.rb
82
+ - lib/surge_api/models/message_params.rb
79
83
  - lib/surge_api/models/message_received_webhook_event.rb
80
84
  - lib/surge_api/models/message_sent_webhook_event.rb
81
85
  - lib/surge_api/models/organization.rb
@@ -135,8 +139,11 @@ files:
135
139
  - rbi/surge_api/models/campaign.rbi
136
140
  - rbi/surge_api/models/campaign_approved_webhook_event.rbi
137
141
  - rbi/surge_api/models/campaign_create_params.rbi
142
+ - rbi/surge_api/models/campaign_params.rbi
138
143
  - rbi/surge_api/models/contact.rbi
139
144
  - rbi/surge_api/models/contact_create_params.rbi
145
+ - rbi/surge_api/models/contact_opted_in_webhook_event.rbi
146
+ - rbi/surge_api/models/contact_opted_out_webhook_event.rbi
140
147
  - rbi/surge_api/models/contact_retrieve_params.rbi
141
148
  - rbi/surge_api/models/contact_update_params.rbi
142
149
  - rbi/surge_api/models/conversation_created_webhook_event.rbi
@@ -145,6 +152,7 @@ files:
145
152
  - rbi/surge_api/models/message_create_params.rbi
146
153
  - rbi/surge_api/models/message_delivered_webhook_event.rbi
147
154
  - rbi/surge_api/models/message_failed_webhook_event.rbi
155
+ - rbi/surge_api/models/message_params.rbi
148
156
  - rbi/surge_api/models/message_received_webhook_event.rbi
149
157
  - rbi/surge_api/models/message_sent_webhook_event.rbi
150
158
  - rbi/surge_api/models/organization.rbi
@@ -203,8 +211,11 @@ files:
203
211
  - sig/surge_api/models/campaign.rbs
204
212
  - sig/surge_api/models/campaign_approved_webhook_event.rbs
205
213
  - sig/surge_api/models/campaign_create_params.rbs
214
+ - sig/surge_api/models/campaign_params.rbs
206
215
  - sig/surge_api/models/contact.rbs
207
216
  - sig/surge_api/models/contact_create_params.rbs
217
+ - sig/surge_api/models/contact_opted_in_webhook_event.rbs
218
+ - sig/surge_api/models/contact_opted_out_webhook_event.rbs
208
219
  - sig/surge_api/models/contact_retrieve_params.rbs
209
220
  - sig/surge_api/models/contact_update_params.rbs
210
221
  - sig/surge_api/models/conversation_created_webhook_event.rbs
@@ -213,6 +224,7 @@ files:
213
224
  - sig/surge_api/models/message_create_params.rbs
214
225
  - sig/surge_api/models/message_delivered_webhook_event.rbs
215
226
  - sig/surge_api/models/message_failed_webhook_event.rbs
227
+ - sig/surge_api/models/message_params.rbs
216
228
  - sig/surge_api/models/message_received_webhook_event.rbs
217
229
  - sig/surge_api/models/message_sent_webhook_event.rbs
218
230
  - sig/surge_api/models/organization.rbs