surge_api 0.9.0 → 0.10.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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/lib/surge_api/client.rb +4 -0
  5. data/lib/surge_api/internal/util.rb +1 -1
  6. data/lib/surge_api/models/campaign.rb +27 -1
  7. data/lib/surge_api/models/campaign_retrieve_params.rb +14 -0
  8. data/lib/surge_api/models/message.rb +2 -2
  9. data/lib/surge_api/models/recording_completed_webhook_event.rb +136 -0
  10. data/lib/surge_api/models/recording_get_file_params.rb +14 -0
  11. data/lib/surge_api/models/recording_get_file_response.rb +19 -0
  12. data/lib/surge_api/models/unwrap_webhook_event.rb +5 -1
  13. data/lib/surge_api/models/voicemail_received_webhook_event.rb +144 -0
  14. data/lib/surge_api/models.rb +8 -0
  15. data/lib/surge_api/resources/campaigns.rb +20 -0
  16. data/lib/surge_api/resources/recordings.rb +35 -0
  17. data/lib/surge_api/resources/webhooks.rb +1 -1
  18. data/lib/surge_api/version.rb +1 -1
  19. data/lib/surge_api.rb +6 -0
  20. data/rbi/surge_api/client.rbi +3 -0
  21. data/rbi/surge_api/internal/util.rbi +1 -1
  22. data/rbi/surge_api/models/campaign.rbi +32 -0
  23. data/rbi/surge_api/models/campaign_retrieve_params.rbi +27 -0
  24. data/rbi/surge_api/models/message.rbi +3 -6
  25. data/rbi/surge_api/models/recording_completed_webhook_event.rbi +277 -0
  26. data/rbi/surge_api/models/recording_get_file_params.rbi +27 -0
  27. data/rbi/surge_api/models/recording_get_file_response.rbi +34 -0
  28. data/rbi/surge_api/models/unwrap_webhook_event.rbi +3 -1
  29. data/rbi/surge_api/models/voicemail_received_webhook_event.rbi +283 -0
  30. data/rbi/surge_api/models.rbi +10 -0
  31. data/rbi/surge_api/resources/campaigns.rbi +14 -0
  32. data/rbi/surge_api/resources/recordings.rbi +27 -0
  33. data/rbi/surge_api/resources/webhooks.rbi +3 -1
  34. data/sig/surge_api/client.rbs +2 -0
  35. data/sig/surge_api/models/campaign.rbs +28 -0
  36. data/sig/surge_api/models/campaign_retrieve_params.rbs +15 -0
  37. data/sig/surge_api/models/message.rbs +4 -6
  38. data/sig/surge_api/models/recording_completed_webhook_event.rbs +126 -0
  39. data/sig/surge_api/models/recording_get_file_params.rbs +15 -0
  40. data/sig/surge_api/models/recording_get_file_response.rbs +13 -0
  41. data/sig/surge_api/models/unwrap_webhook_event.rbs +2 -0
  42. data/sig/surge_api/models/voicemail_received_webhook_event.rbs +131 -0
  43. data/sig/surge_api/models.rbs +8 -0
  44. data/sig/surge_api/resources/campaigns.rbs +5 -0
  45. data/sig/surge_api/resources/recordings.rbs +12 -0
  46. data/sig/surge_api/resources/webhooks.rbs +3 -1
  47. metadata +20 -2
@@ -0,0 +1,131 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type voicemail_received_webhook_event =
4
+ {
5
+ account_id: String,
6
+ data: SurgeAPI::VoicemailReceivedWebhookEvent::Data,
7
+ timestamp: Time,
8
+ type: :"voicemail.received"
9
+ }
10
+
11
+ class VoicemailReceivedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
12
+ attr_accessor account_id: String
13
+
14
+ attr_accessor data: SurgeAPI::VoicemailReceivedWebhookEvent::Data
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: :"voicemail.received"
19
+
20
+ def initialize: (
21
+ account_id: String,
22
+ data: SurgeAPI::VoicemailReceivedWebhookEvent::Data,
23
+ timestamp: Time,
24
+ ?type: :"voicemail.received"
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ account_id: String,
29
+ data: SurgeAPI::VoicemailReceivedWebhookEvent::Data,
30
+ timestamp: Time,
31
+ type: :"voicemail.received"
32
+ }
33
+
34
+ type data =
35
+ {
36
+ id: String,
37
+ call: SurgeAPI::VoicemailReceivedWebhookEvent::Data::Call,
38
+ duration: Integer,
39
+ recording_id: String
40
+ }
41
+
42
+ class Data < SurgeAPI::Internal::Type::BaseModel
43
+ attr_accessor id: String
44
+
45
+ attr_accessor call: SurgeAPI::VoicemailReceivedWebhookEvent::Data::Call
46
+
47
+ attr_accessor duration: Integer
48
+
49
+ attr_accessor recording_id: String
50
+
51
+ def initialize: (
52
+ id: String,
53
+ call: SurgeAPI::VoicemailReceivedWebhookEvent::Data::Call,
54
+ duration: Integer,
55
+ recording_id: String
56
+ ) -> void
57
+
58
+ def to_hash: -> {
59
+ id: String,
60
+ call: SurgeAPI::VoicemailReceivedWebhookEvent::Data::Call,
61
+ duration: Integer,
62
+ recording_id: String
63
+ }
64
+
65
+ type call =
66
+ {
67
+ id: String,
68
+ contact: SurgeAPI::Contact,
69
+ duration: Integer,
70
+ initiated_at: Time,
71
+ status: SurgeAPI::Models::VoicemailReceivedWebhookEvent::Data::Call::status
72
+ }
73
+
74
+ class Call < SurgeAPI::Internal::Type::BaseModel
75
+ attr_accessor id: String
76
+
77
+ attr_accessor contact: SurgeAPI::Contact
78
+
79
+ attr_accessor duration: Integer
80
+
81
+ attr_accessor initiated_at: Time
82
+
83
+ attr_accessor status: SurgeAPI::Models::VoicemailReceivedWebhookEvent::Data::Call::status
84
+
85
+ def initialize: (
86
+ id: String,
87
+ contact: SurgeAPI::Contact,
88
+ duration: Integer,
89
+ initiated_at: Time,
90
+ status: SurgeAPI::Models::VoicemailReceivedWebhookEvent::Data::Call::status
91
+ ) -> void
92
+
93
+ def to_hash: -> {
94
+ id: String,
95
+ contact: SurgeAPI::Contact,
96
+ duration: Integer,
97
+ initiated_at: Time,
98
+ status: SurgeAPI::Models::VoicemailReceivedWebhookEvent::Data::Call::status
99
+ }
100
+
101
+ type status =
102
+ :busy
103
+ | :canceled
104
+ | :completed
105
+ | :failed
106
+ | :in_progress
107
+ | :missed
108
+ | :no_answer
109
+ | :queued
110
+ | :ringing
111
+
112
+ module Status
113
+ extend SurgeAPI::Internal::Type::Enum
114
+
115
+ BUSY: :busy
116
+ CANCELED: :canceled
117
+ COMPLETED: :completed
118
+ FAILED: :failed
119
+ IN_PROGRESS: :in_progress
120
+ MISSED: :missed
121
+ NO_ANSWER: :no_answer
122
+ QUEUED: :queued
123
+ RINGING: :ringing
124
+
125
+ def self?.values: -> ::Array[SurgeAPI::Models::VoicemailReceivedWebhookEvent::Data::Call::status]
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
@@ -25,6 +25,8 @@ module SurgeAPI
25
25
 
26
26
  module CampaignParams = SurgeAPI::Models::CampaignParams
27
27
 
28
+ class CampaignRetrieveParams = SurgeAPI::Models::CampaignRetrieveParams
29
+
28
30
  class Contact = SurgeAPI::Models::Contact
29
31
 
30
32
  class ContactCreateParams = SurgeAPI::Models::ContactCreateParams
@@ -71,6 +73,10 @@ module SurgeAPI
71
73
 
72
74
  class PhoneNumberPurchaseParams = SurgeAPI::Models::PhoneNumberPurchaseParams
73
75
 
76
+ class RecordingCompletedWebhookEvent = SurgeAPI::Models::RecordingCompletedWebhookEvent
77
+
78
+ class RecordingGetFileParams = SurgeAPI::Models::RecordingGetFileParams
79
+
74
80
  module UnwrapWebhookEvent = SurgeAPI::Models::UnwrapWebhookEvent
75
81
 
76
82
  class User = SurgeAPI::Models::User
@@ -95,5 +101,7 @@ module SurgeAPI
95
101
 
96
102
  class VerificationCreateParams = SurgeAPI::Models::VerificationCreateParams
97
103
 
104
+ class VoicemailReceivedWebhookEvent = SurgeAPI::Models::VoicemailReceivedWebhookEvent
105
+
98
106
  class WebhookUnwrapParams = SurgeAPI::Models::WebhookUnwrapParams
99
107
  end
@@ -7,6 +7,11 @@ module SurgeAPI
7
7
  ?request_options: SurgeAPI::request_opts
8
8
  ) -> SurgeAPI::Campaign
9
9
 
10
+ def retrieve: (
11
+ String id,
12
+ ?request_options: SurgeAPI::request_opts
13
+ ) -> SurgeAPI::Campaign
14
+
10
15
  def initialize: (client: SurgeAPI::Client) -> void
11
16
  end
12
17
  end
@@ -0,0 +1,12 @@
1
+ module SurgeAPI
2
+ module Resources
3
+ class Recordings
4
+ def get_file: (
5
+ String recording_id,
6
+ ?request_options: SurgeAPI::request_opts
7
+ ) -> SurgeAPI::Models::RecordingGetFileResponse
8
+
9
+ def initialize: (client: SurgeAPI::Client) -> void
10
+ end
11
+ end
12
+ end
@@ -12,7 +12,9 @@ module SurgeAPI
12
12
  | SurgeAPI::MessageDeliveredWebhookEvent
13
13
  | SurgeAPI::MessageFailedWebhookEvent
14
14
  | SurgeAPI::MessageReceivedWebhookEvent
15
- | SurgeAPI::MessageSentWebhookEvent)
15
+ | SurgeAPI::MessageSentWebhookEvent
16
+ | SurgeAPI::RecordingCompletedWebhookEvent
17
+ | SurgeAPI::VoicemailReceivedWebhookEvent)
16
18
 
17
19
  def initialize: (client: SurgeAPI::Client) -> void
18
20
  end
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.9.0
4
+ version: 0.10.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-02-05 00:00:00.000000000 Z
11
+ date: 2026-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -83,6 +83,7 @@ files:
83
83
  - lib/surge_api/models/campaign_approved_webhook_event.rb
84
84
  - lib/surge_api/models/campaign_create_params.rb
85
85
  - lib/surge_api/models/campaign_params.rb
86
+ - lib/surge_api/models/campaign_retrieve_params.rb
86
87
  - lib/surge_api/models/contact.rb
87
88
  - lib/surge_api/models/contact_create_params.rb
88
89
  - lib/surge_api/models/contact_list_params.rb
@@ -106,6 +107,9 @@ files:
106
107
  - lib/surge_api/models/phone_number.rb
107
108
  - lib/surge_api/models/phone_number_list_params.rb
108
109
  - lib/surge_api/models/phone_number_purchase_params.rb
110
+ - lib/surge_api/models/recording_completed_webhook_event.rb
111
+ - lib/surge_api/models/recording_get_file_params.rb
112
+ - lib/surge_api/models/recording_get_file_response.rb
109
113
  - lib/surge_api/models/unwrap_webhook_event.rb
110
114
  - lib/surge_api/models/user.rb
111
115
  - lib/surge_api/models/user_create_params.rb
@@ -118,6 +122,7 @@ files:
118
122
  - lib/surge_api/models/verification_check.rb
119
123
  - lib/surge_api/models/verification_check_params.rb
120
124
  - lib/surge_api/models/verification_create_params.rb
125
+ - lib/surge_api/models/voicemail_received_webhook_event.rb
121
126
  - lib/surge_api/models/webhook_unwrap_params.rb
122
127
  - lib/surge_api/request_options.rb
123
128
  - lib/surge_api/resources/accounts.rb
@@ -126,6 +131,7 @@ files:
126
131
  - lib/surge_api/resources/contacts.rb
127
132
  - lib/surge_api/resources/messages.rb
128
133
  - lib/surge_api/resources/phone_numbers.rb
134
+ - lib/surge_api/resources/recordings.rb
129
135
  - lib/surge_api/resources/users.rb
130
136
  - lib/surge_api/resources/verifications.rb
131
137
  - lib/surge_api/resources/webhooks.rb
@@ -164,6 +170,7 @@ files:
164
170
  - rbi/surge_api/models/campaign_approved_webhook_event.rbi
165
171
  - rbi/surge_api/models/campaign_create_params.rbi
166
172
  - rbi/surge_api/models/campaign_params.rbi
173
+ - rbi/surge_api/models/campaign_retrieve_params.rbi
167
174
  - rbi/surge_api/models/contact.rbi
168
175
  - rbi/surge_api/models/contact_create_params.rbi
169
176
  - rbi/surge_api/models/contact_list_params.rbi
@@ -187,6 +194,9 @@ files:
187
194
  - rbi/surge_api/models/phone_number.rbi
188
195
  - rbi/surge_api/models/phone_number_list_params.rbi
189
196
  - rbi/surge_api/models/phone_number_purchase_params.rbi
197
+ - rbi/surge_api/models/recording_completed_webhook_event.rbi
198
+ - rbi/surge_api/models/recording_get_file_params.rbi
199
+ - rbi/surge_api/models/recording_get_file_response.rbi
190
200
  - rbi/surge_api/models/unwrap_webhook_event.rbi
191
201
  - rbi/surge_api/models/user.rbi
192
202
  - rbi/surge_api/models/user_create_params.rbi
@@ -199,6 +209,7 @@ files:
199
209
  - rbi/surge_api/models/verification_check.rbi
200
210
  - rbi/surge_api/models/verification_check_params.rbi
201
211
  - rbi/surge_api/models/verification_create_params.rbi
212
+ - rbi/surge_api/models/voicemail_received_webhook_event.rbi
202
213
  - rbi/surge_api/models/webhook_unwrap_params.rbi
203
214
  - rbi/surge_api/request_options.rbi
204
215
  - rbi/surge_api/resources/accounts.rbi
@@ -207,6 +218,7 @@ files:
207
218
  - rbi/surge_api/resources/contacts.rbi
208
219
  - rbi/surge_api/resources/messages.rbi
209
220
  - rbi/surge_api/resources/phone_numbers.rbi
221
+ - rbi/surge_api/resources/recordings.rbi
210
222
  - rbi/surge_api/resources/users.rbi
211
223
  - rbi/surge_api/resources/verifications.rbi
212
224
  - rbi/surge_api/resources/webhooks.rbi
@@ -244,6 +256,7 @@ files:
244
256
  - sig/surge_api/models/campaign_approved_webhook_event.rbs
245
257
  - sig/surge_api/models/campaign_create_params.rbs
246
258
  - sig/surge_api/models/campaign_params.rbs
259
+ - sig/surge_api/models/campaign_retrieve_params.rbs
247
260
  - sig/surge_api/models/contact.rbs
248
261
  - sig/surge_api/models/contact_create_params.rbs
249
262
  - sig/surge_api/models/contact_list_params.rbs
@@ -267,6 +280,9 @@ files:
267
280
  - sig/surge_api/models/phone_number.rbs
268
281
  - sig/surge_api/models/phone_number_list_params.rbs
269
282
  - sig/surge_api/models/phone_number_purchase_params.rbs
283
+ - sig/surge_api/models/recording_completed_webhook_event.rbs
284
+ - sig/surge_api/models/recording_get_file_params.rbs
285
+ - sig/surge_api/models/recording_get_file_response.rbs
270
286
  - sig/surge_api/models/unwrap_webhook_event.rbs
271
287
  - sig/surge_api/models/user.rbs
272
288
  - sig/surge_api/models/user_create_params.rbs
@@ -279,6 +295,7 @@ files:
279
295
  - sig/surge_api/models/verification_check.rbs
280
296
  - sig/surge_api/models/verification_check_params.rbs
281
297
  - sig/surge_api/models/verification_create_params.rbs
298
+ - sig/surge_api/models/voicemail_received_webhook_event.rbs
282
299
  - sig/surge_api/models/webhook_unwrap_params.rbs
283
300
  - sig/surge_api/request_options.rbs
284
301
  - sig/surge_api/resources/accounts.rbs
@@ -287,6 +304,7 @@ files:
287
304
  - sig/surge_api/resources/contacts.rbs
288
305
  - sig/surge_api/resources/messages.rbs
289
306
  - sig/surge_api/resources/phone_numbers.rbs
307
+ - sig/surge_api/resources/recordings.rbs
290
308
  - sig/surge_api/resources/users.rbs
291
309
  - sig/surge_api/resources/verifications.rbs
292
310
  - sig/surge_api/resources/webhooks.rbs