surge_api 0.1.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 (212) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +28 -0
  4. data/README.md +286 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/surge_api/client.rb +106 -0
  7. data/lib/surge_api/errors.rb +228 -0
  8. data/lib/surge_api/file_part.rb +55 -0
  9. data/lib/surge_api/internal/transport/base_client.rb +567 -0
  10. data/lib/surge_api/internal/transport/pooled_net_requester.rb +201 -0
  11. data/lib/surge_api/internal/type/array_of.rb +168 -0
  12. data/lib/surge_api/internal/type/base_model.rb +531 -0
  13. data/lib/surge_api/internal/type/base_page.rb +55 -0
  14. data/lib/surge_api/internal/type/boolean.rb +77 -0
  15. data/lib/surge_api/internal/type/converter.rb +327 -0
  16. data/lib/surge_api/internal/type/enum.rb +131 -0
  17. data/lib/surge_api/internal/type/file_input.rb +108 -0
  18. data/lib/surge_api/internal/type/hash_of.rb +188 -0
  19. data/lib/surge_api/internal/type/request_parameters.rb +42 -0
  20. data/lib/surge_api/internal/type/union.rb +250 -0
  21. data/lib/surge_api/internal/type/unknown.rb +81 -0
  22. data/lib/surge_api/internal/util.rb +915 -0
  23. data/lib/surge_api/internal.rb +20 -0
  24. data/lib/surge_api/models/account.rb +60 -0
  25. data/lib/surge_api/models/account_create_params.rb +481 -0
  26. data/lib/surge_api/models/account_retrieve_status_params.rb +32 -0
  27. data/lib/surge_api/models/account_status.rb +104 -0
  28. data/lib/surge_api/models/account_update_params.rb +480 -0
  29. data/lib/surge_api/models/blast.rb +61 -0
  30. data/lib/surge_api/models/blast_create_params.rb +90 -0
  31. data/lib/surge_api/models/call_ended_webhook_event.rb +106 -0
  32. data/lib/surge_api/models/campaign.rb +208 -0
  33. data/lib/surge_api/models/campaign_approved_webhook_event.rb +74 -0
  34. data/lib/surge_api/models/campaign_create_params.rb +202 -0
  35. data/lib/surge_api/models/contact.rb +59 -0
  36. data/lib/surge_api/models/contact_create_params.rb +54 -0
  37. data/lib/surge_api/models/contact_retrieve_params.rb +14 -0
  38. data/lib/surge_api/models/contact_update_params.rb +54 -0
  39. data/lib/surge_api/models/conversation_created_webhook_event.rb +70 -0
  40. data/lib/surge_api/models/error.rb +34 -0
  41. data/lib/surge_api/models/message.rb +146 -0
  42. data/lib/surge_api/models/message_create_params.rb +153 -0
  43. data/lib/surge_api/models/message_delivered_webhook_event.rb +159 -0
  44. data/lib/surge_api/models/message_failed_webhook_event.rb +167 -0
  45. data/lib/surge_api/models/message_received_webhook_event.rb +159 -0
  46. data/lib/surge_api/models/message_sent_webhook_event.rb +159 -0
  47. data/lib/surge_api/models/organization.rb +419 -0
  48. data/lib/surge_api/models/phone_number.rb +48 -0
  49. data/lib/surge_api/models/phone_number_purchase_params.rb +65 -0
  50. data/lib/surge_api/models/unwrap_webhook_event.rb +26 -0
  51. data/lib/surge_api/models/user.rb +51 -0
  52. data/lib/surge_api/models/user_create_params.rb +46 -0
  53. data/lib/surge_api/models/user_create_token_params.rb +22 -0
  54. data/lib/surge_api/models/user_retrieve_params.rb +14 -0
  55. data/lib/surge_api/models/user_token_response.rb +19 -0
  56. data/lib/surge_api/models/user_update_params.rb +46 -0
  57. data/lib/surge_api/models/verification.rb +58 -0
  58. data/lib/surge_api/models/verification_check.rb +43 -0
  59. data/lib/surge_api/models/verification_check_params.rb +22 -0
  60. data/lib/surge_api/models/verification_create_params.rb +22 -0
  61. data/lib/surge_api/models/webhook_unwrap_params.rb +14 -0
  62. data/lib/surge_api/models.rb +117 -0
  63. data/lib/surge_api/request_options.rb +77 -0
  64. data/lib/surge_api/resources/accounts.rb +102 -0
  65. data/lib/surge_api/resources/blasts.rb +53 -0
  66. data/lib/surge_api/resources/campaigns.rb +57 -0
  67. data/lib/surge_api/resources/contacts.rb +99 -0
  68. data/lib/surge_api/resources/messages.rb +75 -0
  69. data/lib/surge_api/resources/phone_numbers.rb +48 -0
  70. data/lib/surge_api/resources/users.rb +119 -0
  71. data/lib/surge_api/resources/verifications.rb +60 -0
  72. data/lib/surge_api/resources/webhooks.rb +22 -0
  73. data/lib/surge_api/version.rb +5 -0
  74. data/lib/surge_api.rb +100 -0
  75. data/manifest.yaml +15 -0
  76. data/rbi/surge_api/client.rbi +73 -0
  77. data/rbi/surge_api/errors.rbi +205 -0
  78. data/rbi/surge_api/file_part.rbi +37 -0
  79. data/rbi/surge_api/internal/transport/base_client.rbi +292 -0
  80. data/rbi/surge_api/internal/transport/pooled_net_requester.rbi +79 -0
  81. data/rbi/surge_api/internal/type/array_of.rbi +104 -0
  82. data/rbi/surge_api/internal/type/base_model.rbi +302 -0
  83. data/rbi/surge_api/internal/type/base_page.rbi +42 -0
  84. data/rbi/surge_api/internal/type/boolean.rbi +58 -0
  85. data/rbi/surge_api/internal/type/converter.rbi +216 -0
  86. data/rbi/surge_api/internal/type/enum.rbi +82 -0
  87. data/rbi/surge_api/internal/type/file_input.rbi +59 -0
  88. data/rbi/surge_api/internal/type/hash_of.rbi +104 -0
  89. data/rbi/surge_api/internal/type/request_parameters.rbi +29 -0
  90. data/rbi/surge_api/internal/type/union.rbi +128 -0
  91. data/rbi/surge_api/internal/type/unknown.rbi +58 -0
  92. data/rbi/surge_api/internal/util.rbi +487 -0
  93. data/rbi/surge_api/internal.rbi +16 -0
  94. data/rbi/surge_api/models/account.rbi +83 -0
  95. data/rbi/surge_api/models/account_create_params.rbi +1104 -0
  96. data/rbi/surge_api/models/account_retrieve_status_params.rbi +96 -0
  97. data/rbi/surge_api/models/account_status.rbi +185 -0
  98. data/rbi/surge_api/models/account_update_params.rbi +1105 -0
  99. data/rbi/surge_api/models/blast.rbi +108 -0
  100. data/rbi/surge_api/models/blast_create_params.rbi +145 -0
  101. data/rbi/surge_api/models/call_ended_webhook_event.rbi +205 -0
  102. data/rbi/surge_api/models/campaign.rbi +331 -0
  103. data/rbi/surge_api/models/campaign_approved_webhook_event.rbi +149 -0
  104. data/rbi/surge_api/models/campaign_create_params.rbi +386 -0
  105. data/rbi/surge_api/models/contact.rbi +88 -0
  106. data/rbi/surge_api/models/contact_create_params.rbi +87 -0
  107. data/rbi/surge_api/models/contact_retrieve_params.rbi +27 -0
  108. data/rbi/surge_api/models/contact_update_params.rbi +87 -0
  109. data/rbi/surge_api/models/conversation_created_webhook_event.rbi +129 -0
  110. data/rbi/surge_api/models/error.rbi +51 -0
  111. data/rbi/surge_api/models/message.rbi +283 -0
  112. data/rbi/surge_api/models/message_create_params.rbi +281 -0
  113. data/rbi/surge_api/models/message_delivered_webhook_event.rbi +331 -0
  114. data/rbi/surge_api/models/message_failed_webhook_event.rbi +335 -0
  115. data/rbi/surge_api/models/message_received_webhook_event.rbi +331 -0
  116. data/rbi/surge_api/models/message_sent_webhook_event.rbi +322 -0
  117. data/rbi/surge_api/models/organization.rbi +649 -0
  118. data/rbi/surge_api/models/phone_number.rbi +72 -0
  119. data/rbi/surge_api/models/phone_number_purchase_params.rbi +122 -0
  120. data/rbi/surge_api/models/unwrap_webhook_event.rbi +26 -0
  121. data/rbi/surge_api/models/user.rbi +80 -0
  122. data/rbi/surge_api/models/user_create_params.rbi +76 -0
  123. data/rbi/surge_api/models/user_create_token_params.rbi +46 -0
  124. data/rbi/surge_api/models/user_retrieve_params.rbi +27 -0
  125. data/rbi/surge_api/models/user_token_response.rbi +31 -0
  126. data/rbi/surge_api/models/user_update_params.rbi +76 -0
  127. data/rbi/surge_api/models/verification.rbi +86 -0
  128. data/rbi/surge_api/models/verification_check.rbi +84 -0
  129. data/rbi/surge_api/models/verification_check_params.rbi +40 -0
  130. data/rbi/surge_api/models/verification_create_params.rbi +40 -0
  131. data/rbi/surge_api/models/webhook_unwrap_params.rbi +27 -0
  132. data/rbi/surge_api/models.rbi +80 -0
  133. data/rbi/surge_api/request_options.rbi +59 -0
  134. data/rbi/surge_api/resources/accounts.rbi +94 -0
  135. data/rbi/surge_api/resources/blasts.rbi +48 -0
  136. data/rbi/surge_api/resources/campaigns.rbi +115 -0
  137. data/rbi/surge_api/resources/contacts.rbi +85 -0
  138. data/rbi/surge_api/resources/messages.rbi +72 -0
  139. data/rbi/surge_api/resources/phone_numbers.rbi +43 -0
  140. data/rbi/surge_api/resources/users.rbi +96 -0
  141. data/rbi/surge_api/resources/verifications.rbi +43 -0
  142. data/rbi/surge_api/resources/webhooks.rbi +31 -0
  143. data/rbi/surge_api/version.rbi +5 -0
  144. data/sig/surge_api/client.rbs +42 -0
  145. data/sig/surge_api/errors.rbs +117 -0
  146. data/sig/surge_api/file_part.rbs +21 -0
  147. data/sig/surge_api/internal/transport/base_client.rbs +131 -0
  148. data/sig/surge_api/internal/transport/pooled_net_requester.rbs +45 -0
  149. data/sig/surge_api/internal/type/array_of.rbs +48 -0
  150. data/sig/surge_api/internal/type/base_model.rbs +102 -0
  151. data/sig/surge_api/internal/type/base_page.rbs +24 -0
  152. data/sig/surge_api/internal/type/boolean.rbs +26 -0
  153. data/sig/surge_api/internal/type/converter.rbs +79 -0
  154. data/sig/surge_api/internal/type/enum.rbs +32 -0
  155. data/sig/surge_api/internal/type/file_input.rbs +25 -0
  156. data/sig/surge_api/internal/type/hash_of.rbs +48 -0
  157. data/sig/surge_api/internal/type/request_parameters.rbs +17 -0
  158. data/sig/surge_api/internal/type/union.rbs +52 -0
  159. data/sig/surge_api/internal/type/unknown.rbs +26 -0
  160. data/sig/surge_api/internal/util.rbs +185 -0
  161. data/sig/surge_api/internal.rbs +9 -0
  162. data/sig/surge_api/models/account.rbs +40 -0
  163. data/sig/surge_api/models/account_create_params.rbs +433 -0
  164. data/sig/surge_api/models/account_retrieve_status_params.rbs +40 -0
  165. data/sig/surge_api/models/account_status.rbs +71 -0
  166. data/sig/surge_api/models/account_update_params.rbs +435 -0
  167. data/sig/surge_api/models/blast.rbs +64 -0
  168. data/sig/surge_api/models/blast_create_params.rbs +82 -0
  169. data/sig/surge_api/models/call_ended_webhook_event.rbs +99 -0
  170. data/sig/surge_api/models/campaign.rbs +122 -0
  171. data/sig/surge_api/models/campaign_approved_webhook_event.rbs +67 -0
  172. data/sig/surge_api/models/campaign_create_params.rbs +127 -0
  173. data/sig/surge_api/models/contact.rbs +53 -0
  174. data/sig/surge_api/models/contact_create_params.rbs +54 -0
  175. data/sig/surge_api/models/contact_retrieve_params.rbs +15 -0
  176. data/sig/surge_api/models/contact_update_params.rbs +54 -0
  177. data/sig/surge_api/models/conversation_created_webhook_event.rbs +62 -0
  178. data/sig/surge_api/models/error.rbs +27 -0
  179. data/sig/surge_api/models/message.rbs +138 -0
  180. data/sig/surge_api/models/message_create_params.rbs +140 -0
  181. data/sig/surge_api/models/message_delivered_webhook_event.rbs +143 -0
  182. data/sig/surge_api/models/message_failed_webhook_event.rbs +148 -0
  183. data/sig/surge_api/models/message_received_webhook_event.rbs +143 -0
  184. data/sig/surge_api/models/message_sent_webhook_event.rbs +143 -0
  185. data/sig/surge_api/models/organization.rbs +385 -0
  186. data/sig/surge_api/models/phone_number.rbs +37 -0
  187. data/sig/surge_api/models/phone_number_purchase_params.rbs +62 -0
  188. data/sig/surge_api/models/unwrap_webhook_event.rbs +18 -0
  189. data/sig/surge_api/models/user.rbs +48 -0
  190. data/sig/surge_api/models/user_create_params.rbs +47 -0
  191. data/sig/surge_api/models/user_create_token_params.rbs +26 -0
  192. data/sig/surge_api/models/user_retrieve_params.rbs +15 -0
  193. data/sig/surge_api/models/user_token_response.rbs +15 -0
  194. data/sig/surge_api/models/user_update_params.rbs +47 -0
  195. data/sig/surge_api/models/verification.rbs +48 -0
  196. data/sig/surge_api/models/verification_check.rbs +45 -0
  197. data/sig/surge_api/models/verification_check_params.rbs +23 -0
  198. data/sig/surge_api/models/verification_create_params.rbs +23 -0
  199. data/sig/surge_api/models/webhook_unwrap_params.rbs +15 -0
  200. data/sig/surge_api/models.rbs +77 -0
  201. data/sig/surge_api/request_options.rbs +34 -0
  202. data/sig/surge_api/resources/accounts.rbs +30 -0
  203. data/sig/surge_api/resources/blasts.rbs +19 -0
  204. data/sig/surge_api/resources/campaigns.rbs +21 -0
  205. data/sig/surge_api/resources/contacts.rbs +32 -0
  206. data/sig/surge_api/resources/messages.rbs +18 -0
  207. data/sig/surge_api/resources/phone_numbers.rbs +16 -0
  208. data/sig/surge_api/resources/users.rbs +36 -0
  209. data/sig/surge_api/resources/verifications.rbs +18 -0
  210. data/sig/surge_api/resources/webhooks.rbs +17 -0
  211. data/sig/surge_api/version.rbs +3 -0
  212. metadata +269 -0
@@ -0,0 +1,435 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type account_update_params =
4
+ {
5
+ brand_name: String,
6
+ name: String,
7
+ organization: SurgeAPI::AccountUpdateParams::Organization,
8
+ time_zone: String?
9
+ }
10
+ & SurgeAPI::Internal::Type::request_parameters
11
+
12
+ class AccountUpdateParams < SurgeAPI::Internal::Type::BaseModel
13
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
14
+ include SurgeAPI::Internal::Type::RequestParameters
15
+
16
+ attr_reader brand_name: String?
17
+
18
+ def brand_name=: (String) -> String
19
+
20
+ attr_reader name: String?
21
+
22
+ def name=: (String) -> String
23
+
24
+ attr_reader organization: SurgeAPI::AccountUpdateParams::Organization?
25
+
26
+ def organization=: (
27
+ SurgeAPI::AccountUpdateParams::Organization
28
+ ) -> SurgeAPI::AccountUpdateParams::Organization
29
+
30
+ attr_accessor time_zone: String?
31
+
32
+ def initialize: (
33
+ ?brand_name: String,
34
+ ?name: String,
35
+ ?organization: SurgeAPI::AccountUpdateParams::Organization,
36
+ ?time_zone: String?,
37
+ ?request_options: SurgeAPI::request_opts
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ brand_name: String,
42
+ name: String,
43
+ organization: SurgeAPI::AccountUpdateParams::Organization,
44
+ time_zone: String?,
45
+ request_options: SurgeAPI::RequestOptions
46
+ }
47
+
48
+ type organization =
49
+ {
50
+ address: SurgeAPI::AccountUpdateParams::Organization::Address,
51
+ contact: SurgeAPI::AccountUpdateParams::Organization::Contact?,
52
+ country: String?,
53
+ email: String?,
54
+ identifier: String?,
55
+ identifier_type: SurgeAPI::Models::AccountUpdateParams::Organization::identifier_type?,
56
+ industry: SurgeAPI::Models::AccountUpdateParams::Organization::industry?,
57
+ mobile_number: String?,
58
+ regions_of_operation: ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::regions_of_operation]?,
59
+ registered_name: String?,
60
+ stock_exchange: SurgeAPI::Models::AccountUpdateParams::Organization::stock_exchange?,
61
+ stock_symbol: String?,
62
+ type: SurgeAPI::Models::AccountUpdateParams::Organization::type_?,
63
+ website: String?
64
+ }
65
+
66
+ class Organization < SurgeAPI::Internal::Type::BaseModel
67
+ attr_reader address: SurgeAPI::AccountUpdateParams::Organization::Address?
68
+
69
+ def address=: (
70
+ SurgeAPI::AccountUpdateParams::Organization::Address
71
+ ) -> SurgeAPI::AccountUpdateParams::Organization::Address
72
+
73
+ attr_accessor contact: SurgeAPI::AccountUpdateParams::Organization::Contact?
74
+
75
+ attr_accessor country: String?
76
+
77
+ attr_accessor email: String?
78
+
79
+ attr_accessor identifier: String?
80
+
81
+ attr_accessor identifier_type: SurgeAPI::Models::AccountUpdateParams::Organization::identifier_type?
82
+
83
+ attr_accessor industry: SurgeAPI::Models::AccountUpdateParams::Organization::industry?
84
+
85
+ attr_accessor mobile_number: String?
86
+
87
+ attr_accessor regions_of_operation: ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::regions_of_operation]?
88
+
89
+ attr_accessor registered_name: String?
90
+
91
+ attr_accessor stock_exchange: SurgeAPI::Models::AccountUpdateParams::Organization::stock_exchange?
92
+
93
+ attr_accessor stock_symbol: String?
94
+
95
+ attr_accessor type: SurgeAPI::Models::AccountUpdateParams::Organization::type_?
96
+
97
+ attr_accessor website: String?
98
+
99
+ def initialize: (
100
+ ?address: SurgeAPI::AccountUpdateParams::Organization::Address,
101
+ ?contact: SurgeAPI::AccountUpdateParams::Organization::Contact?,
102
+ ?country: String?,
103
+ ?email: String?,
104
+ ?identifier: String?,
105
+ ?identifier_type: SurgeAPI::Models::AccountUpdateParams::Organization::identifier_type?,
106
+ ?industry: SurgeAPI::Models::AccountUpdateParams::Organization::industry?,
107
+ ?mobile_number: String?,
108
+ ?regions_of_operation: ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::regions_of_operation]?,
109
+ ?registered_name: String?,
110
+ ?stock_exchange: SurgeAPI::Models::AccountUpdateParams::Organization::stock_exchange?,
111
+ ?stock_symbol: String?,
112
+ ?type: SurgeAPI::Models::AccountUpdateParams::Organization::type_?,
113
+ ?website: String?
114
+ ) -> void
115
+
116
+ def to_hash: -> {
117
+ address: SurgeAPI::AccountUpdateParams::Organization::Address,
118
+ contact: SurgeAPI::AccountUpdateParams::Organization::Contact?,
119
+ country: String?,
120
+ email: String?,
121
+ identifier: String?,
122
+ identifier_type: SurgeAPI::Models::AccountUpdateParams::Organization::identifier_type?,
123
+ industry: SurgeAPI::Models::AccountUpdateParams::Organization::industry?,
124
+ mobile_number: String?,
125
+ regions_of_operation: ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::regions_of_operation]?,
126
+ registered_name: String?,
127
+ stock_exchange: SurgeAPI::Models::AccountUpdateParams::Organization::stock_exchange?,
128
+ stock_symbol: String?,
129
+ type: SurgeAPI::Models::AccountUpdateParams::Organization::type_?,
130
+ website: String?
131
+ }
132
+
133
+ type address =
134
+ {
135
+ country: String?,
136
+ :line1 => String?,
137
+ :line2 => String?,
138
+ locality: String?,
139
+ name: String?,
140
+ postal_code: String?,
141
+ region: String?
142
+ }
143
+
144
+ class Address < SurgeAPI::Internal::Type::BaseModel
145
+ attr_accessor country: String?
146
+
147
+ attr_accessor line1: String?
148
+
149
+ attr_accessor line2: String?
150
+
151
+ attr_accessor locality: String?
152
+
153
+ attr_accessor name: String?
154
+
155
+ attr_accessor postal_code: String?
156
+
157
+ attr_accessor region: String?
158
+
159
+ def initialize: (
160
+ ?country: String?,
161
+ ?line1: String?,
162
+ ?line2: String?,
163
+ ?locality: String?,
164
+ ?name: String?,
165
+ ?postal_code: String?,
166
+ ?region: String?
167
+ ) -> void
168
+
169
+ def to_hash: -> {
170
+ country: String?,
171
+ :line1 => String?,
172
+ :line2 => String?,
173
+ locality: String?,
174
+ name: String?,
175
+ postal_code: String?,
176
+ region: String?
177
+ }
178
+ end
179
+
180
+ type contact =
181
+ {
182
+ email: String?,
183
+ first_name: String?,
184
+ last_name: String?,
185
+ phone_number: String?,
186
+ title: SurgeAPI::Models::AccountUpdateParams::Organization::Contact::title?,
187
+ title_other: String?
188
+ }
189
+
190
+ class Contact < SurgeAPI::Internal::Type::BaseModel
191
+ attr_accessor email: String?
192
+
193
+ attr_accessor first_name: String?
194
+
195
+ attr_accessor last_name: String?
196
+
197
+ attr_accessor phone_number: String?
198
+
199
+ attr_accessor title: SurgeAPI::Models::AccountUpdateParams::Organization::Contact::title?
200
+
201
+ attr_accessor title_other: String?
202
+
203
+ def initialize: (
204
+ ?email: String?,
205
+ ?first_name: String?,
206
+ ?last_name: String?,
207
+ ?phone_number: String?,
208
+ ?title: SurgeAPI::Models::AccountUpdateParams::Organization::Contact::title?,
209
+ ?title_other: String?
210
+ ) -> void
211
+
212
+ def to_hash: -> {
213
+ email: String?,
214
+ first_name: String?,
215
+ last_name: String?,
216
+ phone_number: String?,
217
+ title: SurgeAPI::Models::AccountUpdateParams::Organization::Contact::title?,
218
+ title_other: String?
219
+ }
220
+
221
+ type title =
222
+ :ceo | :cfo | :director | :gm | :vp | :general_counsel | :other
223
+
224
+ module Title
225
+ extend SurgeAPI::Internal::Type::Enum
226
+
227
+ CEO: :ceo
228
+ CFO: :cfo
229
+ DIRECTOR: :director
230
+ GM: :gm
231
+ VP: :vp
232
+ GENERAL_COUNSEL: :general_counsel
233
+ OTHER: :other
234
+
235
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::Contact::title]
236
+ end
237
+ end
238
+
239
+ type identifier_type = :ein
240
+
241
+ module IdentifierType
242
+ extend SurgeAPI::Internal::Type::Enum
243
+
244
+ EIN: :ein
245
+
246
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::identifier_type]
247
+ end
248
+
249
+ type industry =
250
+ :agriculture
251
+ | :automotive
252
+ | :banking
253
+ | :construction
254
+ | :consumer
255
+ | :education
256
+ | :electronics
257
+ | :energy
258
+ | :engineering
259
+ | :fast_moving_consumer_goods
260
+ | :financial
261
+ | :fintech
262
+ | :food_and_beverage
263
+ | :government
264
+ | :healthcare
265
+ | :hospitality
266
+ | :insurance
267
+ | :jewelry
268
+ | :legal
269
+ | :manufacturing
270
+ | :media
271
+ | :not_for_profit
272
+ | :oil_and_gas
273
+ | :online
274
+ | :professional_services
275
+ | :raw_materials
276
+ | :real_estate
277
+ | :religion
278
+ | :retail
279
+ | :technology
280
+ | :telecommunications
281
+ | :transportation
282
+ | :travel
283
+
284
+ module Industry
285
+ extend SurgeAPI::Internal::Type::Enum
286
+
287
+ AGRICULTURE: :agriculture
288
+ AUTOMOTIVE: :automotive
289
+ BANKING: :banking
290
+ CONSTRUCTION: :construction
291
+ CONSUMER: :consumer
292
+ EDUCATION: :education
293
+ ELECTRONICS: :electronics
294
+ ENERGY: :energy
295
+ ENGINEERING: :engineering
296
+ FAST_MOVING_CONSUMER_GOODS: :fast_moving_consumer_goods
297
+ FINANCIAL: :financial
298
+ FINTECH: :fintech
299
+ FOOD_AND_BEVERAGE: :food_and_beverage
300
+ GOVERNMENT: :government
301
+ HEALTHCARE: :healthcare
302
+ HOSPITALITY: :hospitality
303
+ INSURANCE: :insurance
304
+ JEWELRY: :jewelry
305
+ LEGAL: :legal
306
+ MANUFACTURING: :manufacturing
307
+ MEDIA: :media
308
+ NOT_FOR_PROFIT: :not_for_profit
309
+ OIL_AND_GAS: :oil_and_gas
310
+ ONLINE: :online
311
+ PROFESSIONAL_SERVICES: :professional_services
312
+ RAW_MATERIALS: :raw_materials
313
+ REAL_ESTATE: :real_estate
314
+ RELIGION: :religion
315
+ RETAIL: :retail
316
+ TECHNOLOGY: :technology
317
+ TELECOMMUNICATIONS: :telecommunications
318
+ TRANSPORTATION: :transportation
319
+ TRAVEL: :travel
320
+
321
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::industry]
322
+ end
323
+
324
+ type regions_of_operation =
325
+ :africa
326
+ | :asia
327
+ | :australia
328
+ | :europe
329
+ | :latin_america
330
+ | :usa_and_canada
331
+
332
+ module RegionsOfOperation
333
+ extend SurgeAPI::Internal::Type::Enum
334
+
335
+ AFRICA: :africa
336
+ ASIA: :asia
337
+ AUSTRALIA: :australia
338
+ EUROPE: :europe
339
+ LATIN_AMERICA: :latin_america
340
+ USA_AND_CANADA: :usa_and_canada
341
+
342
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::regions_of_operation]
343
+ end
344
+
345
+ type stock_exchange =
346
+ :amex
347
+ | :amx
348
+ | :asx
349
+ | :b3
350
+ | :bme
351
+ | :bse
352
+ | :fra
353
+ | :icex
354
+ | :jpx
355
+ | :jse
356
+ | :krx
357
+ | :lon
358
+ | :nasdaq
359
+ | :none
360
+ | :nyse
361
+ | :nse
362
+ | :omx
363
+ | :other
364
+ | :sehk
365
+ | :sgx
366
+ | :sse
367
+ | :sto
368
+ | :swx
369
+ | :szse
370
+ | :tsx
371
+ | :twse
372
+ | :vse
373
+
374
+ module StockExchange
375
+ extend SurgeAPI::Internal::Type::Enum
376
+
377
+ AMEX: :amex
378
+ AMX: :amx
379
+ ASX: :asx
380
+ B3: :b3
381
+ BME: :bme
382
+ BSE: :bse
383
+ FRA: :fra
384
+ ICEX: :icex
385
+ JPX: :jpx
386
+ JSE: :jse
387
+ KRX: :krx
388
+ LON: :lon
389
+ NASDAQ: :nasdaq
390
+ NONE: :none
391
+ NYSE: :nyse
392
+ NSE: :nse
393
+ OMX: :omx
394
+ OTHER: :other
395
+ SEHK: :sehk
396
+ SGX: :sgx
397
+ SSE: :sse
398
+ STO: :sto
399
+ SWX: :swx
400
+ SZSE: :szse
401
+ TSX: :tsx
402
+ TWSE: :twse
403
+ VSE: :vse
404
+
405
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::stock_exchange]
406
+ end
407
+
408
+ type type_ =
409
+ :co_op
410
+ | :government
411
+ | :llc
412
+ | :non_profit
413
+ | :partnership
414
+ | :private_corporation
415
+ | :public_corporation
416
+ | :sole_proprietor
417
+
418
+ module Type
419
+ extend SurgeAPI::Internal::Type::Enum
420
+
421
+ CO_OP: :co_op
422
+ GOVERNMENT: :government
423
+ LLC: :llc
424
+ NON_PROFIT: :non_profit
425
+ PARTNERSHIP: :partnership
426
+ PRIVATE_CORPORATION: :private_corporation
427
+ PUBLIC_CORPORATION: :public_corporation
428
+ SOLE_PROPRIETOR: :sole_proprietor
429
+
430
+ def self?.values: -> ::Array[SurgeAPI::Models::AccountUpdateParams::Organization::type_]
431
+ end
432
+ end
433
+ end
434
+ end
435
+ end
@@ -0,0 +1,64 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type blast =
4
+ {
5
+ id: String,
6
+ attachments: ::Array[SurgeAPI::Blast::Attachment],
7
+ body: String,
8
+ name: String,
9
+ send_at: Time
10
+ }
11
+
12
+ class Blast < SurgeAPI::Internal::Type::BaseModel
13
+ attr_reader id: String?
14
+
15
+ def id=: (String) -> String
16
+
17
+ attr_reader attachments: ::Array[SurgeAPI::Blast::Attachment]?
18
+
19
+ def attachments=: (
20
+ ::Array[SurgeAPI::Blast::Attachment]
21
+ ) -> ::Array[SurgeAPI::Blast::Attachment]
22
+
23
+ attr_reader body: String?
24
+
25
+ def body=: (String) -> String
26
+
27
+ attr_reader name: String?
28
+
29
+ def name=: (String) -> String
30
+
31
+ attr_reader send_at: Time?
32
+
33
+ def send_at=: (Time) -> Time
34
+
35
+ def initialize: (
36
+ ?id: String,
37
+ ?attachments: ::Array[SurgeAPI::Blast::Attachment],
38
+ ?body: String,
39
+ ?name: String,
40
+ ?send_at: Time
41
+ ) -> void
42
+
43
+ def to_hash: -> {
44
+ id: String,
45
+ attachments: ::Array[SurgeAPI::Blast::Attachment],
46
+ body: String,
47
+ name: String,
48
+ send_at: Time
49
+ }
50
+
51
+ type attachment = { url: String }
52
+
53
+ class Attachment < SurgeAPI::Internal::Type::BaseModel
54
+ attr_reader url: String?
55
+
56
+ def url=: (String) -> String
57
+
58
+ def initialize: (?url: String) -> void
59
+
60
+ def to_hash: -> { url: String }
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,82 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type blast_create_params =
4
+ {
5
+ attachments: ::Array[SurgeAPI::BlastCreateParams::Attachment],
6
+ body: String,
7
+ contacts: ::Array[String],
8
+ name: String,
9
+ segments: ::Array[String],
10
+ send_at: Time,
11
+ to: ::Array[String]
12
+ }
13
+ & SurgeAPI::Internal::Type::request_parameters
14
+
15
+ class BlastCreateParams < SurgeAPI::Internal::Type::BaseModel
16
+ extend SurgeAPI::Internal::Type::RequestParameters::Converter
17
+ include SurgeAPI::Internal::Type::RequestParameters
18
+
19
+ attr_reader attachments: ::Array[SurgeAPI::BlastCreateParams::Attachment]?
20
+
21
+ def attachments=: (
22
+ ::Array[SurgeAPI::BlastCreateParams::Attachment]
23
+ ) -> ::Array[SurgeAPI::BlastCreateParams::Attachment]
24
+
25
+ attr_reader body: String?
26
+
27
+ def body=: (String) -> String
28
+
29
+ attr_reader contacts: ::Array[String]?
30
+
31
+ def contacts=: (::Array[String]) -> ::Array[String]
32
+
33
+ attr_reader name: String?
34
+
35
+ def name=: (String) -> String
36
+
37
+ attr_reader segments: ::Array[String]?
38
+
39
+ def segments=: (::Array[String]) -> ::Array[String]
40
+
41
+ attr_reader send_at: Time?
42
+
43
+ def send_at=: (Time) -> Time
44
+
45
+ attr_reader to: ::Array[String]?
46
+
47
+ def to=: (::Array[String]) -> ::Array[String]
48
+
49
+ def initialize: (
50
+ ?attachments: ::Array[SurgeAPI::BlastCreateParams::Attachment],
51
+ ?body: String,
52
+ ?contacts: ::Array[String],
53
+ ?name: String,
54
+ ?segments: ::Array[String],
55
+ ?send_at: Time,
56
+ ?to: ::Array[String],
57
+ ?request_options: SurgeAPI::request_opts
58
+ ) -> void
59
+
60
+ def to_hash: -> {
61
+ attachments: ::Array[SurgeAPI::BlastCreateParams::Attachment],
62
+ body: String,
63
+ contacts: ::Array[String],
64
+ name: String,
65
+ segments: ::Array[String],
66
+ send_at: Time,
67
+ to: ::Array[String],
68
+ request_options: SurgeAPI::RequestOptions
69
+ }
70
+
71
+ type attachment = { url: String }
72
+
73
+ class Attachment < SurgeAPI::Internal::Type::BaseModel
74
+ attr_accessor url: String
75
+
76
+ def initialize: (url: String) -> void
77
+
78
+ def to_hash: -> { url: String }
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,99 @@
1
+ module SurgeAPI
2
+ module Models
3
+ type call_ended_webhook_event =
4
+ {
5
+ account_id: String,
6
+ data: SurgeAPI::CallEndedWebhookEvent::Data,
7
+ timestamp: Time,
8
+ type: :"call.ended"
9
+ }
10
+
11
+ class CallEndedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
12
+ attr_accessor account_id: String
13
+
14
+ attr_accessor data: SurgeAPI::CallEndedWebhookEvent::Data
15
+
16
+ attr_accessor timestamp: Time
17
+
18
+ attr_accessor type: :"call.ended"
19
+
20
+ def initialize: (
21
+ account_id: String,
22
+ data: SurgeAPI::CallEndedWebhookEvent::Data,
23
+ timestamp: Time,
24
+ ?type: :"call.ended"
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ account_id: String,
29
+ data: SurgeAPI::CallEndedWebhookEvent::Data,
30
+ timestamp: Time,
31
+ type: :"call.ended"
32
+ }
33
+
34
+ type data =
35
+ {
36
+ id: String,
37
+ contact: SurgeAPI::Contact,
38
+ duration: Integer,
39
+ initiated_at: Time,
40
+ status: SurgeAPI::Models::CallEndedWebhookEvent::Data::status
41
+ }
42
+
43
+ class Data < SurgeAPI::Internal::Type::BaseModel
44
+ attr_accessor id: String
45
+
46
+ attr_accessor contact: SurgeAPI::Contact
47
+
48
+ attr_accessor duration: Integer
49
+
50
+ attr_accessor initiated_at: Time
51
+
52
+ attr_accessor status: SurgeAPI::Models::CallEndedWebhookEvent::Data::status
53
+
54
+ def initialize: (
55
+ id: String,
56
+ contact: SurgeAPI::Contact,
57
+ duration: Integer,
58
+ initiated_at: Time,
59
+ status: SurgeAPI::Models::CallEndedWebhookEvent::Data::status
60
+ ) -> void
61
+
62
+ def to_hash: -> {
63
+ id: String,
64
+ contact: SurgeAPI::Contact,
65
+ duration: Integer,
66
+ initiated_at: Time,
67
+ status: SurgeAPI::Models::CallEndedWebhookEvent::Data::status
68
+ }
69
+
70
+ type status =
71
+ :busy
72
+ | :canceled
73
+ | :completed
74
+ | :failed
75
+ | :in_progress
76
+ | :missed
77
+ | :no_answer
78
+ | :queued
79
+ | :ringing
80
+
81
+ module Status
82
+ extend SurgeAPI::Internal::Type::Enum
83
+
84
+ BUSY: :busy
85
+ CANCELED: :canceled
86
+ COMPLETED: :completed
87
+ FAILED: :failed
88
+ IN_PROGRESS: :in_progress
89
+ MISSED: :missed
90
+ NO_ANSWER: :no_answer
91
+ QUEUED: :queued
92
+ RINGING: :ringing
93
+
94
+ def self?.values: -> ::Array[SurgeAPI::Models::CallEndedWebhookEvent::Data::status]
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end