wavix-ruby-sdk 1.0.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 (485) hide show
  1. checksums.yaml +7 -0
  2. data/.fern/metadata.json +10 -0
  3. data/.fernignore +5 -0
  4. data/.rubocop.yml +103 -0
  5. data/CONTRIBUTING.md +120 -0
  6. data/LICENSE +21 -0
  7. data/README.md +271 -0
  8. data/Rakefile +20 -0
  9. data/SECURITY.md +25 -0
  10. data/custom.gemspec.rb +16 -0
  11. data/lib/wavix/api_keys/client.rb +158 -0
  12. data/lib/wavix/api_keys/types/api_key_create_request.rb +45 -0
  13. data/lib/wavix/api_keys/types/api_key_update_request.rb +47 -0
  14. data/lib/wavix/api_keys/types/delete_api_keys_request.rb +11 -0
  15. data/lib/wavix/api_keys/types/list_api_keys_request.rb +11 -0
  16. data/lib/wavix/billing/client.rb +24 -0
  17. data/lib/wavix/billing/invoices/client.rb +89 -0
  18. data/lib/wavix/billing/invoices/types/download_invoices_request.rb +13 -0
  19. data/lib/wavix/billing/invoices/types/list_invoices_request.rb +15 -0
  20. data/lib/wavix/billing/invoices/types/list_invoices_response.rb +17 -0
  21. data/lib/wavix/billing/transactions/client.rb +67 -0
  22. data/lib/wavix/billing/transactions/types/list_transactions_request.rb +25 -0
  23. data/lib/wavix/billing/transactions/types/list_transactions_response.rb +17 -0
  24. data/lib/wavix/buy/cities/client.rb +56 -0
  25. data/lib/wavix/buy/cities/types/list_cities_request.rb +15 -0
  26. data/lib/wavix/buy/cities/types/list_cities_response.rb +13 -0
  27. data/lib/wavix/buy/client.rb +39 -0
  28. data/lib/wavix/buy/countries/client.rb +54 -0
  29. data/lib/wavix/buy/countries/types/list_countries_request.rb +13 -0
  30. data/lib/wavix/buy/countries/types/list_countries_response.rb +13 -0
  31. data/lib/wavix/buy/numbers/client.rb +60 -0
  32. data/lib/wavix/buy/numbers/types/list_numbers_request.rb +21 -0
  33. data/lib/wavix/buy/numbers/types/list_numbers_response.rb +15 -0
  34. data/lib/wavix/buy/region_cities/client.rb +56 -0
  35. data/lib/wavix/buy/region_cities/types/list_region_cities_request.rb +17 -0
  36. data/lib/wavix/buy/region_cities/types/list_region_cities_response.rb +13 -0
  37. data/lib/wavix/buy/regions/client.rb +55 -0
  38. data/lib/wavix/buy/regions/types/list_regions_request.rb +15 -0
  39. data/lib/wavix/buy/regions/types/list_regions_response.rb +13 -0
  40. data/lib/wavix/call_control/audio/client.rb +89 -0
  41. data/lib/wavix/call_control/audio/types/call_audio_play_request.rb +15 -0
  42. data/lib/wavix/call_control/audio/types/stop_audio_request.rb +13 -0
  43. data/lib/wavix/call_control/client.rb +275 -0
  44. data/lib/wavix/call_control/streams/client.rb +91 -0
  45. data/lib/wavix/call_control/streams/types/call_stream_create_request.rb +19 -0
  46. data/lib/wavix/call_control/streams/types/delete_streams_request.rb +15 -0
  47. data/lib/wavix/call_control/types/call_answer_request.rb +21 -0
  48. data/lib/wavix/call_control/types/call_dtmf_collect_request.rb +21 -0
  49. data/lib/wavix/call_control/types/call_dtmf_collect_request_prompt.rb +15 -0
  50. data/lib/wavix/call_control/types/call_dtmf_collect_request_prompt_say.rb +16 -0
  51. data/lib/wavix/call_control/types/call_request.rb +23 -0
  52. data/lib/wavix/call_control/types/delete_call_control_request.rb +11 -0
  53. data/lib/wavix/call_control/types/get_call_control_request.rb +11 -0
  54. data/lib/wavix/call_control/types/update_call_request.rb +13 -0
  55. data/lib/wavix/call_recording/client.rb +168 -0
  56. data/lib/wavix/call_recording/types/delete_call_recording_request.rb +11 -0
  57. data/lib/wavix/call_recording/types/get_by_call_call_recording_request.rb +11 -0
  58. data/lib/wavix/call_recording/types/get_call_recording_request.rb +11 -0
  59. data/lib/wavix/call_recording/types/list_call_recording_request.rb +25 -0
  60. data/lib/wavix/call_webhooks/client.rb +120 -0
  61. data/lib/wavix/call_webhooks/types/call_webhooks_create_request.rb +13 -0
  62. data/lib/wavix/call_webhooks/types/call_webhooks_create_request_event_type.rb +14 -0
  63. data/lib/wavix/call_webhooks/types/delete_call_webhooks_request.rb +11 -0
  64. data/lib/wavix/call_webhooks/types/delete_call_webhooks_request_event_type.rb +14 -0
  65. data/lib/wavix/cart/client.rb +147 -0
  66. data/lib/wavix/cart/types/add_cart_request.rb +11 -0
  67. data/lib/wavix/cart/types/checkout_cart_request.rb +11 -0
  68. data/lib/wavix/cart/types/checkout_cart_response.rb +11 -0
  69. data/lib/wavix/cart/types/get_cart_response.rb +13 -0
  70. data/lib/wavix/cart/types/remove_cart_request.rb +11 -0
  71. data/lib/wavix/cart/types/remove_cart_response.rb +11 -0
  72. data/lib/wavix/cdrs/client.rb +277 -0
  73. data/lib/wavix/cdrs/transcription/client.rb +51 -0
  74. data/lib/wavix/cdrs/transcription/types/get_transcription_request.rb +13 -0
  75. data/lib/wavix/cdrs/types/cdr_retranscription_request.rb +15 -0
  76. data/lib/wavix/cdrs/types/cdr_search_request.rb +33 -0
  77. data/lib/wavix/cdrs/types/cdr_search_request_disposition.rb +17 -0
  78. data/lib/wavix/cdrs/types/cdr_search_request_type.rb +14 -0
  79. data/lib/wavix/cdrs/types/get_cdrs_request.rb +13 -0
  80. data/lib/wavix/cdrs/types/list_all_cdrs_request.rb +29 -0
  81. data/lib/wavix/cdrs/types/list_cdrs_request.rb +29 -0
  82. data/lib/wavix/cdrs/types/transcriptions_cdrs_request.rb +11 -0
  83. data/lib/wavix/client.rb +122 -0
  84. data/lib/wavix/environment.rb +7 -0
  85. data/lib/wavix/errors/api_error.rb +8 -0
  86. data/lib/wavix/errors/client_error.rb +17 -0
  87. data/lib/wavix/errors/redirect_error.rb +8 -0
  88. data/lib/wavix/errors/response_error.rb +42 -0
  89. data/lib/wavix/errors/server_error.rb +11 -0
  90. data/lib/wavix/errors/timeout_error.rb +8 -0
  91. data/lib/wavix/internal/errors/constraint_error.rb +10 -0
  92. data/lib/wavix/internal/errors/type_error.rb +10 -0
  93. data/lib/wavix/internal/http/base_request.rb +51 -0
  94. data/lib/wavix/internal/http/raw_client.rb +215 -0
  95. data/lib/wavix/internal/iterators/cursor_item_iterator.rb +28 -0
  96. data/lib/wavix/internal/iterators/cursor_page_iterator.rb +63 -0
  97. data/lib/wavix/internal/iterators/item_iterator.rb +65 -0
  98. data/lib/wavix/internal/iterators/offset_item_iterator.rb +30 -0
  99. data/lib/wavix/internal/iterators/offset_page_iterator.rb +103 -0
  100. data/lib/wavix/internal/json/request.rb +41 -0
  101. data/lib/wavix/internal/json/serializable.rb +25 -0
  102. data/lib/wavix/internal/multipart/multipart_encoder.rb +141 -0
  103. data/lib/wavix/internal/multipart/multipart_form_data.rb +78 -0
  104. data/lib/wavix/internal/multipart/multipart_form_data_part.rb +51 -0
  105. data/lib/wavix/internal/multipart/multipart_request.rb +40 -0
  106. data/lib/wavix/internal/types/array.rb +47 -0
  107. data/lib/wavix/internal/types/boolean.rb +34 -0
  108. data/lib/wavix/internal/types/enum.rb +56 -0
  109. data/lib/wavix/internal/types/hash.rb +36 -0
  110. data/lib/wavix/internal/types/model/field.rb +38 -0
  111. data/lib/wavix/internal/types/model.rb +208 -0
  112. data/lib/wavix/internal/types/type.rb +35 -0
  113. data/lib/wavix/internal/types/union.rb +161 -0
  114. data/lib/wavix/internal/types/unknown.rb +15 -0
  115. data/lib/wavix/internal/types/utils.rb +116 -0
  116. data/lib/wavix/link_shortener/client.rb +53 -0
  117. data/lib/wavix/link_shortener/metrics/client.rb +65 -0
  118. data/lib/wavix/link_shortener/metrics/types/list_metrics_request.rb +23 -0
  119. data/lib/wavix/link_shortener/types/short_link_create_request.rb +19 -0
  120. data/lib/wavix/number_validator/client.rb +94 -0
  121. data/lib/wavix/number_validator/results/client.rb +50 -0
  122. data/lib/wavix/number_validator/results/types/get_results_request.rb +13 -0
  123. data/lib/wavix/number_validator/types/get_number_validator_request.rb +13 -0
  124. data/lib/wavix/number_validator/types/get_number_validator_response.rb +43 -0
  125. data/lib/wavix/number_validator/types/phone_validation_request.rb +17 -0
  126. data/lib/wavix/numbers/client.rb +216 -0
  127. data/lib/wavix/numbers/papers/client.rb +69 -0
  128. data/lib/wavix/numbers/papers/types/upload_papers_request.rb +11 -0
  129. data/lib/wavix/numbers/types/bulk_update_numbers_response.rb +11 -0
  130. data/lib/wavix/numbers/types/delete_numbers_request.rb +13 -0
  131. data/lib/wavix/numbers/types/delete_numbers_response.rb +11 -0
  132. data/lib/wavix/numbers/types/get_numbers_request.rb +11 -0
  133. data/lib/wavix/numbers/types/list_numbers_request.rb +21 -0
  134. data/lib/wavix/numbers/types/number_bulk_update_request.rb +25 -0
  135. data/lib/wavix/numbers/types/number_update_request.rb +25 -0
  136. data/lib/wavix/profile/client.rb +85 -0
  137. data/lib/wavix/profile/config/client.rb +48 -0
  138. data/lib/wavix/profile/config/types/get_config_response.rb +15 -0
  139. data/lib/wavix/profile/types/profile_update_request.rb +31 -0
  140. data/lib/wavix/profile/types/profile_update_request_company_info.rb +21 -0
  141. data/lib/wavix/profile/types/profile_update_request_company_info_industry.rb +25 -0
  142. data/lib/wavix/sip_trunks/client.rb +194 -0
  143. data/lib/wavix/sip_trunks/types/delete_sip_trunks_request.rb +11 -0
  144. data/lib/wavix/sip_trunks/types/get_sip_trunks_request.rb +11 -0
  145. data/lib/wavix/sip_trunks/types/list_sip_trunks_request.rb +13 -0
  146. data/lib/wavix/sip_trunks/types/update_sip_trunks_request.rb +13 -0
  147. data/lib/wavix/sms_and_mms/client.rb +29 -0
  148. data/lib/wavix/sms_and_mms/messages/client.rb +194 -0
  149. data/lib/wavix/sms_and_mms/messages/types/get_messages_request.rb +13 -0
  150. data/lib/wavix/sms_and_mms/messages/types/get_messages_response.rb +45 -0
  151. data/lib/wavix/sms_and_mms/messages/types/list_all_messages_request.rb +27 -0
  152. data/lib/wavix/sms_and_mms/messages/types/list_all_messages_request_message_type.rb +16 -0
  153. data/lib/wavix/sms_and_mms/messages/types/list_messages_request.rb +31 -0
  154. data/lib/wavix/sms_and_mms/messages/types/list_messages_request_message_type.rb +16 -0
  155. data/lib/wavix/sms_and_mms/messages/types/list_messages_response.rb +15 -0
  156. data/lib/wavix/sms_and_mms/messages/types/send_messages_request.rb +23 -0
  157. data/lib/wavix/sms_and_mms/opt_outs/client.rb +99 -0
  158. data/lib/wavix/sms_and_mms/opt_outs/types/create_opt_outs_response.rb +13 -0
  159. data/lib/wavix/sms_and_mms/opt_outs/types/list_opt_outs_request.rb +23 -0
  160. data/lib/wavix/sms_and_mms/opt_outs/types/opt_out_create_request.rb +13 -0
  161. data/lib/wavix/sms_and_mms/sender_ids/client.rb +150 -0
  162. data/lib/wavix/sms_and_mms/sender_ids/types/delete_sender_ids_request.rb +13 -0
  163. data/lib/wavix/sms_and_mms/sender_ids/types/delete_sender_ids_response.rb +13 -0
  164. data/lib/wavix/sms_and_mms/sender_ids/types/get_sender_ids_request.rb +13 -0
  165. data/lib/wavix/sms_and_mms/sender_ids/types/sender_id_create_request.rb +23 -0
  166. data/lib/wavix/sms_and_mms/sender_ids/types/sender_id_create_request_monthly_volume.rb +19 -0
  167. data/lib/wavix/sms_and_mms/sender_ids/types/sender_id_create_request_usecase.rb +17 -0
  168. data/lib/wavix/speech_analytics/client.rb +157 -0
  169. data/lib/wavix/speech_analytics/file/client.rb +48 -0
  170. data/lib/wavix/speech_analytics/file/types/get_file_request.rb +13 -0
  171. data/lib/wavix/speech_analytics/types/create_speech_analytics_request.rb +9 -0
  172. data/lib/wavix/speech_analytics/types/create_speech_analytics_response.rb +15 -0
  173. data/lib/wavix/speech_analytics/types/get_speech_analytics_request.rb +11 -0
  174. data/lib/wavix/speech_analytics/types/get_speech_analytics_response.rb +31 -0
  175. data/lib/wavix/speech_analytics/types/get_speech_analytics_response_language.rb +17 -0
  176. data/lib/wavix/speech_analytics/types/get_speech_analytics_response_status.rb +14 -0
  177. data/lib/wavix/speech_analytics/types/speech_analytics_retranscribe_request.rb +15 -0
  178. data/lib/wavix/sub_accounts/client.rb +165 -0
  179. data/lib/wavix/sub_accounts/transactions/client.rb +64 -0
  180. data/lib/wavix/sub_accounts/transactions/types/list_transactions_request.rb +23 -0
  181. data/lib/wavix/sub_accounts/types/get_sub_accounts_request.rb +11 -0
  182. data/lib/wavix/sub_accounts/types/list_sub_accounts_request.rb +11 -0
  183. data/lib/wavix/sub_accounts/types/list_sub_accounts_request_status.rb +14 -0
  184. data/lib/wavix/sub_accounts/types/sub_accounts_create_request.rb +13 -0
  185. data/lib/wavix/sub_accounts/types/sub_accounts_create_request_default_destinations.rb +14 -0
  186. data/lib/wavix/sub_accounts/types/sub_accounts_update_request.rb +17 -0
  187. data/lib/wavix/sub_accounts/types/sub_accounts_update_request_default_destinations.rb +14 -0
  188. data/lib/wavix/sub_accounts/types/sub_accounts_update_request_status.rb +14 -0
  189. data/lib/wavix/ten_dlc/brand_appeals/client.rb +93 -0
  190. data/lib/wavix/ten_dlc/brand_appeals/types/create_brand_appeals_request.rb +19 -0
  191. data/lib/wavix/ten_dlc/brand_appeals/types/create_brand_appeals_response.rb +13 -0
  192. data/lib/wavix/ten_dlc/brand_appeals/types/list_brand_appeals_request.rb +13 -0
  193. data/lib/wavix/ten_dlc/brand_evidence/client.rb +158 -0
  194. data/lib/wavix/ten_dlc/brand_evidence/types/delete_brand_evidence_request.rb +15 -0
  195. data/lib/wavix/ten_dlc/brand_evidence/types/delete_brand_evidence_response.rb +13 -0
  196. data/lib/wavix/ten_dlc/brand_evidence/types/get_brand_evidence_request.rb +15 -0
  197. data/lib/wavix/ten_dlc/brand_evidence/types/list_brand_evidence_request.rb +13 -0
  198. data/lib/wavix/ten_dlc/brand_evidence/types/upload_brand_evidence_request.rb +13 -0
  199. data/lib/wavix/ten_dlc/brand_evidence/types/upload_brand_evidence_response.rb +19 -0
  200. data/lib/wavix/ten_dlc/brand_vetting_appeals/client.rb +87 -0
  201. data/lib/wavix/ten_dlc/brand_vetting_appeals/types/create_brand_vetting_appeals_response.rb +13 -0
  202. data/lib/wavix/ten_dlc/brand_vetting_appeals/types/list_brand_vetting_appeals_request.rb +13 -0
  203. data/lib/wavix/ten_dlc/brand_vetting_appeals/types/ten_dlc_brand_vetting_appeal_create_request.rb +23 -0
  204. data/lib/wavix/ten_dlc/brand_vettings/client.rb +127 -0
  205. data/lib/wavix/ten_dlc/brand_vettings/types/list_brand_vettings_request.rb +13 -0
  206. data/lib/wavix/ten_dlc/brand_vettings/types/ten_dlc_brand_vetting_create_request.rb +17 -0
  207. data/lib/wavix/ten_dlc/brand_vettings/types/ten_dlc_brand_vetting_import_request.rb +19 -0
  208. data/lib/wavix/ten_dlc/brands/client.rb +257 -0
  209. data/lib/wavix/ten_dlc/brands/types/create_brands_response.rb +61 -0
  210. data/lib/wavix/ten_dlc/brands/types/create_brands_response_entity_type.rb +18 -0
  211. data/lib/wavix/ten_dlc/brands/types/create_brands_response_status.rb +19 -0
  212. data/lib/wavix/ten_dlc/brands/types/delete_brands_request.rb +13 -0
  213. data/lib/wavix/ten_dlc/brands/types/delete_brands_response.rb +13 -0
  214. data/lib/wavix/ten_dlc/brands/types/get_brands_request.rb +13 -0
  215. data/lib/wavix/ten_dlc/brands/types/get_brands_response.rb +61 -0
  216. data/lib/wavix/ten_dlc/brands/types/get_brands_response_entity_type.rb +18 -0
  217. data/lib/wavix/ten_dlc/brands/types/get_brands_response_status.rb +19 -0
  218. data/lib/wavix/ten_dlc/brands/types/list_brands_request.rb +35 -0
  219. data/lib/wavix/ten_dlc/brands/types/list_brands_response.rb +16 -0
  220. data/lib/wavix/ten_dlc/brands/types/list_brands_response_pagination.rb +20 -0
  221. data/lib/wavix/ten_dlc/brands/types/qualify_usecase_brands_request.rb +15 -0
  222. data/lib/wavix/ten_dlc/brands/types/qualify_usecase_brands_request_use_case.rb +40 -0
  223. data/lib/wavix/ten_dlc/brands/types/qualify_usecase_brands_response.rb +17 -0
  224. data/lib/wavix/ten_dlc/brands/types/ten_dlc_brand_update_request.rb +51 -0
  225. data/lib/wavix/ten_dlc/brands/types/ten_dlc_brand_update_request_entity_type.rb +18 -0
  226. data/lib/wavix/ten_dlc/brands/types/ten_dlc_brand_update_request_vertical.rb +23 -0
  227. data/lib/wavix/ten_dlc/brands/types/update_brands_response.rb +61 -0
  228. data/lib/wavix/ten_dlc/brands/types/update_brands_response_entity_type.rb +18 -0
  229. data/lib/wavix/ten_dlc/brands/types/update_brands_response_status.rb +19 -0
  230. data/lib/wavix/ten_dlc/campaign_numbers/client.rb +123 -0
  231. data/lib/wavix/ten_dlc/campaign_numbers/types/link_campaign_numbers_request.rb +17 -0
  232. data/lib/wavix/ten_dlc/campaign_numbers/types/link_campaign_numbers_response.rb +13 -0
  233. data/lib/wavix/ten_dlc/campaign_numbers/types/list_campaign_numbers_request.rb +15 -0
  234. data/lib/wavix/ten_dlc/campaign_numbers/types/list_campaign_numbers_response.rb +17 -0
  235. data/lib/wavix/ten_dlc/campaign_numbers/types/unlink_campaign_numbers_request.rb +17 -0
  236. data/lib/wavix/ten_dlc/campaign_numbers/types/unlink_campaign_numbers_response.rb +13 -0
  237. data/lib/wavix/ten_dlc/campaigns/client.rb +316 -0
  238. data/lib/wavix/ten_dlc/campaigns/types/create_campaigns_response.rb +89 -0
  239. data/lib/wavix/ten_dlc/campaigns/types/delete_campaigns_request.rb +15 -0
  240. data/lib/wavix/ten_dlc/campaigns/types/delete_campaigns_response.rb +13 -0
  241. data/lib/wavix/ten_dlc/campaigns/types/get_campaigns_request.rb +15 -0
  242. data/lib/wavix/ten_dlc/campaigns/types/get_campaigns_response.rb +89 -0
  243. data/lib/wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_request.rb +29 -0
  244. data/lib/wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_response.rb +16 -0
  245. data/lib/wavix/ten_dlc/campaigns/types/list_by_brand_campaigns_response_pagination.rb +20 -0
  246. data/lib/wavix/ten_dlc/campaigns/types/list_campaigns_request.rb +27 -0
  247. data/lib/wavix/ten_dlc/campaigns/types/list_campaigns_response.rb +16 -0
  248. data/lib/wavix/ten_dlc/campaigns/types/list_campaigns_response_pagination.rb +20 -0
  249. data/lib/wavix/ten_dlc/campaigns/types/nudge_campaigns_request.rb +19 -0
  250. data/lib/wavix/ten_dlc/campaigns/types/ten_dlc_campaign_create_request.rb +69 -0
  251. data/lib/wavix/ten_dlc/campaigns/types/ten_dlc_campaign_update_request.rb +67 -0
  252. data/lib/wavix/ten_dlc/campaigns/types/ten_dlc_campaign_update_request_usecase.rb +20 -0
  253. data/lib/wavix/ten_dlc/campaigns/types/update_campaigns_response.rb +89 -0
  254. data/lib/wavix/ten_dlc/client.rb +54 -0
  255. data/lib/wavix/ten_dlc/subscriptions/client.rb +118 -0
  256. data/lib/wavix/ten_dlc/subscriptions/types/create_subscriptions_response.rb +16 -0
  257. data/lib/wavix/ten_dlc/subscriptions/types/delete_subscriptions_request.rb +13 -0
  258. data/lib/wavix/ten_dlc/subscriptions/types/delete_subscriptions_response.rb +13 -0
  259. data/lib/wavix/two_fa/client.rb +29 -0
  260. data/lib/wavix/two_fa/events/client.rb +49 -0
  261. data/lib/wavix/two_fa/events/types/list_events_request.rb +13 -0
  262. data/lib/wavix/two_fa/sessions/client.rb +55 -0
  263. data/lib/wavix/two_fa/sessions/types/list_sessions_request.rb +17 -0
  264. data/lib/wavix/two_fa/verification/client.rb +171 -0
  265. data/lib/wavix/two_fa/verification/types/cancel_verification_request.rb +13 -0
  266. data/lib/wavix/two_fa/verification/types/check_verification_response.rb +13 -0
  267. data/lib/wavix/two_fa/verification/types/create_verification_response.rb +25 -0
  268. data/lib/wavix/two_fa/verification/types/resend_verification_response.rb +19 -0
  269. data/lib/wavix/two_fa/verification/types/two_factor_verification_check_request.rb +15 -0
  270. data/lib/wavix/two_fa/verification/types/two_factor_verification_create_request.rb +17 -0
  271. data/lib/wavix/two_fa/verification/types/two_factor_verification_resend_request.rb +15 -0
  272. data/lib/wavix/two_fa/verification/types/two_factor_verification_resend_request_channel.rb +16 -0
  273. data/lib/wavix/types/account_error_response.rb +12 -0
  274. data/lib/wavix/types/account_limits.rb +13 -0
  275. data/lib/wavix/types/allowed_i_ps.rb +23 -0
  276. data/lib/wavix/types/allowed_i_ps_item.rb +11 -0
  277. data/lib/wavix/types/api_key.rb +52 -0
  278. data/lib/wavix/types/api_key_calls_scope_permission.rb +10 -0
  279. data/lib/wavix/types/api_key_calls_scope_permission_allow.rb +13 -0
  280. data/lib/wavix/types/api_key_scope_permission.rb +10 -0
  281. data/lib/wavix/types/api_key_scope_permission_allow.rb +13 -0
  282. data/lib/wavix/types/available_number.rb +38 -0
  283. data/lib/wavix/types/available_number_list_response.rb +11 -0
  284. data/lib/wavix/types/bad_request_error_body.rb +11 -0
  285. data/lib/wavix/types/billing_transaction_list_response.rb +13 -0
  286. data/lib/wavix/types/brand_status_updated_webhook.rb +11 -0
  287. data/lib/wavix/types/brand_status_updated_webhook_status.rb +16 -0
  288. data/lib/wavix/types/call.rb +33 -0
  289. data/lib/wavix/types/call_control_validation_error_response.rb +13 -0
  290. data/lib/wavix/types/call_create_response.rb +33 -0
  291. data/lib/wavix/types/call_create_response_event_type.rb +19 -0
  292. data/lib/wavix/types/call_direction.rb +12 -0
  293. data/lib/wavix/types/call_disposition.rb +15 -0
  294. data/lib/wavix/types/call_event_type.rb +19 -0
  295. data/lib/wavix/types/call_list_response.rb +11 -0
  296. data/lib/wavix/types/call_recording_list_response.rb +13 -0
  297. data/lib/wavix/types/call_response.rb +11 -0
  298. data/lib/wavix/types/call_status_webhook.rb +28 -0
  299. data/lib/wavix/types/call_status_webhook_direction.rb +12 -0
  300. data/lib/wavix/types/call_stream_channel.rb +13 -0
  301. data/lib/wavix/types/call_stream_response.rb +11 -0
  302. data/lib/wavix/types/call_stream_type.rb +12 -0
  303. data/lib/wavix/types/call_webhook.rb +14 -0
  304. data/lib/wavix/types/call_webhook_event_type.rb +12 -0
  305. data/lib/wavix/types/call_webhook_list_response.rb +23 -0
  306. data/lib/wavix/types/call_webhook_list_response_item.rb +11 -0
  307. data/lib/wavix/types/call_webhook_list_response_item_event_type.rb +12 -0
  308. data/lib/wavix/types/campaign_status_updated_webhook.rb +13 -0
  309. data/lib/wavix/types/campaign_status_updated_webhook_status.rb +17 -0
  310. data/lib/wavix/types/cart_response.rb +11 -0
  311. data/lib/wavix/types/cdr.rb +38 -0
  312. data/lib/wavix/types/cdr_list_response.rb +11 -0
  313. data/lib/wavix/types/cdr_response.rb +41 -0
  314. data/lib/wavix/types/cdr_transcription_completed_webhook.rb +11 -0
  315. data/lib/wavix/types/cdr_transcription_completed_webhook_status.rb +12 -0
  316. data/lib/wavix/types/cdr_transcription_response.rb +31 -0
  317. data/lib/wavix/types/cdr_transcription_search_response.rb +11 -0
  318. data/lib/wavix/types/cdr_with_transcription.rb +40 -0
  319. data/lib/wavix/types/city.rb +13 -0
  320. data/lib/wavix/types/city_list_response.rb +9 -0
  321. data/lib/wavix/types/country.rb +13 -0
  322. data/lib/wavix/types/country_has_no_regions_error_response.rb +11 -0
  323. data/lib/wavix/types/country_list_response.rb +9 -0
  324. data/lib/wavix/types/document_type.rb +13 -0
  325. data/lib/wavix/types/document_type_id.rb +23 -0
  326. data/lib/wavix/types/file_transcript_response.rb +11 -0
  327. data/lib/wavix/types/file_transcript_turn.rb +18 -0
  328. data/lib/wavix/types/file_transcription_completed_webhook.rb +13 -0
  329. data/lib/wavix/types/file_transcription_response.rb +29 -0
  330. data/lib/wavix/types/file_transcription_response_language.rb +15 -0
  331. data/lib/wavix/types/file_transcription_response_status.rb +12 -0
  332. data/lib/wavix/types/financial_transaction.rb +24 -0
  333. data/lib/wavix/types/forbidden_error_response.rb +11 -0
  334. data/lib/wavix/types/inbound_call_destination.rb +22 -0
  335. data/lib/wavix/types/inbound_call_transport.rb +23 -0
  336. data/lib/wavix/types/inbound_message.rb +18 -0
  337. data/lib/wavix/types/invalid_recording.rb +12 -0
  338. data/lib/wavix/types/invoice.rb +16 -0
  339. data/lib/wavix/types/invoice_list_response.rb +13 -0
  340. data/lib/wavix/types/list_brand_evidence_response.rb +9 -0
  341. data/lib/wavix/types/list_sessions_response_item.rb +23 -0
  342. data/lib/wavix/types/message.rb +42 -0
  343. data/lib/wavix/types/message_body.rb +11 -0
  344. data/lib/wavix/types/message_create_request.rb +19 -0
  345. data/lib/wavix/types/message_delivery_status.rb +18 -0
  346. data/lib/wavix/types/message_list_response.rb +11 -0
  347. data/lib/wavix/types/message_response.rb +41 -0
  348. data/lib/wavix/types/messages_delivery_report.rb +32 -0
  349. data/lib/wavix/types/not_found_error_body.rb +11 -0
  350. data/lib/wavix/types/not_found_error_response.rb +11 -0
  351. data/lib/wavix/types/number.rb +63 -0
  352. data/lib/wavix/types/number_destination.rb +16 -0
  353. data/lib/wavix/types/number_document.rb +24 -0
  354. data/lib/wavix/types/number_list_response.rb +13 -0
  355. data/lib/wavix/types/number_status_updated_webhook.rb +15 -0
  356. data/lib/wavix/types/number_status_updated_webhook_status.rb +13 -0
  357. data/lib/wavix/types/number_validator_create_bulk_response.rb +13 -0
  358. data/lib/wavix/types/number_validator_create_bulk_response_request_id.rb +10 -0
  359. data/lib/wavix/types/on_call_event_payload.rb +12 -0
  360. data/lib/wavix/types/on_call_event_payload_type.rb +12 -0
  361. data/lib/wavix/types/opt_out.rb +11 -0
  362. data/lib/wavix/types/opt_out_item.rb +15 -0
  363. data/lib/wavix/types/opt_outs_list_response.rb +11 -0
  364. data/lib/wavix/types/pagination.rb +15 -0
  365. data/lib/wavix/types/phone_lookup_details.rb +13 -0
  366. data/lib/wavix/types/phone_number_validation_type.rb +13 -0
  367. data/lib/wavix/types/phone_validation_batch_response.rb +15 -0
  368. data/lib/wavix/types/phone_validation_batch_result_response.rb +15 -0
  369. data/lib/wavix/types/phone_validation_response.rb +41 -0
  370. data/lib/wavix/types/phone_validation_result_response.rb +42 -0
  371. data/lib/wavix/types/profile_config_response.rb +11 -0
  372. data/lib/wavix/types/profile_response.rb +31 -0
  373. data/lib/wavix/types/profile_response_company_info.rb +20 -0
  374. data/lib/wavix/types/profile_response_company_info_country.rb +12 -0
  375. data/lib/wavix/types/profile_response_company_info_industry.rb +23 -0
  376. data/lib/wavix/types/profile_response_default_destinations_item.rb +11 -0
  377. data/lib/wavix/types/record_not_found_error_response.rb +11 -0
  378. data/lib/wavix/types/recording.rb +22 -0
  379. data/lib/wavix/types/recording_deleted_error_response.rb +15 -0
  380. data/lib/wavix/types/region.rb +12 -0
  381. data/lib/wavix/types/region_list_response.rb +9 -0
  382. data/lib/wavix/types/send_messages_response.rb +41 -0
  383. data/lib/wavix/types/sender_id.rb +20 -0
  384. data/lib/wavix/types/sender_id_details.rb +19 -0
  385. data/lib/wavix/types/sender_id_list_response.rb +9 -0
  386. data/lib/wavix/types/sender_id_response.rb +19 -0
  387. data/lib/wavix/types/sender_id_response_type.rb +13 -0
  388. data/lib/wavix/types/sender_id_type.rb +12 -0
  389. data/lib/wavix/types/short_link_metrics_item.rb +27 -0
  390. data/lib/wavix/types/short_link_metrics_response.rb +11 -0
  391. data/lib/wavix/types/short_link_response.rb +9 -0
  392. data/lib/wavix/types/sip_trunk_create_request.rb +51 -0
  393. data/lib/wavix/types/sip_trunk_create_request_allowed_ips_item.rb +9 -0
  394. data/lib/wavix/types/sip_trunk_create_request_host_request.rb +11 -0
  395. data/lib/wavix/types/sip_trunk_list_response.rb +11 -0
  396. data/lib/wavix/types/sip_trunk_response.rb +59 -0
  397. data/lib/wavix/types/sip_trunk_summary.rb +42 -0
  398. data/lib/wavix/types/sip_trunk_summary_host_request.rb +12 -0
  399. data/lib/wavix/types/sub_accounts_list_response.rb +11 -0
  400. data/lib/wavix/types/sub_accounts_transactions_list_response.rb +11 -0
  401. data/lib/wavix/types/sub_accounts_transactions_list_response_transactions_item.rb +19 -0
  402. data/lib/wavix/types/sub_organization_response.rb +22 -0
  403. data/lib/wavix/types/sub_organization_response_default_destinations.rb +12 -0
  404. data/lib/wavix/types/sub_organization_response_status.rb +12 -0
  405. data/lib/wavix/types/submit_file_transcription_response.rb +13 -0
  406. data/lib/wavix/types/success_response.rb +9 -0
  407. data/lib/wavix/types/tcr_error_message.rb +11 -0
  408. data/lib/wavix/types/tcr_feedback.rb +9 -0
  409. data/lib/wavix/types/tcr_feedback_category.rb +18 -0
  410. data/lib/wavix/types/ten_dlc_brand.rb +57 -0
  411. data/lib/wavix/types/ten_dlc_brand_appeal.rb +21 -0
  412. data/lib/wavix/types/ten_dlc_brand_appeal_create_request.rb +14 -0
  413. data/lib/wavix/types/ten_dlc_brand_appeal_outcome.rb +14 -0
  414. data/lib/wavix/types/ten_dlc_brand_appeal_outcome_feedback.rb +10 -0
  415. data/lib/wavix/types/ten_dlc_brand_appeal_outcome_vetting_status.rb +15 -0
  416. data/lib/wavix/types/ten_dlc_brand_create_request.rb +14 -0
  417. data/lib/wavix/types/ten_dlc_brand_create_request_entity_type.rb +14 -0
  418. data/lib/wavix/types/ten_dlc_brand_create_request_stock_exchange.rb +14 -0
  419. data/lib/wavix/types/ten_dlc_brand_create_request_stock_exchange_entity_type.rb +13 -0
  420. data/lib/wavix/types/ten_dlc_brand_create_request_vertical.rb +19 -0
  421. data/lib/wavix/types/ten_dlc_brand_create_request_zero.rb +10 -0
  422. data/lib/wavix/types/ten_dlc_brand_create_request_zero_entity_type.rb +11 -0
  423. data/lib/wavix/types/ten_dlc_brand_entity_type.rb +14 -0
  424. data/lib/wavix/types/ten_dlc_brand_evidence.rb +15 -0
  425. data/lib/wavix/types/ten_dlc_brand_identity_verification_status.rb +15 -0
  426. data/lib/wavix/types/ten_dlc_brand_list_response.rb +12 -0
  427. data/lib/wavix/types/ten_dlc_brand_list_response_pagination.rb +16 -0
  428. data/lib/wavix/types/ten_dlc_brand_qualification_result.rb +13 -0
  429. data/lib/wavix/types/ten_dlc_brand_status.rb +15 -0
  430. data/lib/wavix/types/ten_dlc_brand_vetting.rb +29 -0
  431. data/lib/wavix/types/ten_dlc_brand_vetting_appeal.rb +31 -0
  432. data/lib/wavix/types/ten_dlc_brand_vetting_appeal_appeal_outcome.rb +14 -0
  433. data/lib/wavix/types/ten_dlc_brand_vetting_appeal_appeal_outcome_feedback.rb +10 -0
  434. data/lib/wavix/types/ten_dlc_brand_vetting_appeal_outcome.rb +13 -0
  435. data/lib/wavix/types/ten_dlc_brand_vetting_appeal_outcome_feedback.rb +10 -0
  436. data/lib/wavix/types/ten_dlc_brand_vetting_appeal_outcome_reason.rb +9 -0
  437. data/lib/wavix/types/ten_dlc_campaign.rb +85 -0
  438. data/lib/wavix/types/ten_dlc_campaign_list_response.rb +12 -0
  439. data/lib/wavix/types/ten_dlc_campaign_list_response_pagination.rb +16 -0
  440. data/lib/wavix/types/ten_dlc_campaign_nudge_request.rb +13 -0
  441. data/lib/wavix/types/ten_dlc_campaign_number.rb +11 -0
  442. data/lib/wavix/types/ten_dlc_campaign_number_list_response.rb +13 -0
  443. data/lib/wavix/types/ten_dlc_event_subscription.rb +12 -0
  444. data/lib/wavix/types/ten_dlcmno_metadata.rb +40 -0
  445. data/lib/wavix/types/transaction_status.rb +14 -0
  446. data/lib/wavix/types/transaction_type.rb +23 -0
  447. data/lib/wavix/types/transcript_turn.rb +19 -0
  448. data/lib/wavix/types/transcription_filter.rb +13 -0
  449. data/lib/wavix/types/transcription_filter_agent.rb +14 -0
  450. data/lib/wavix/types/transcription_filter_any.rb +14 -0
  451. data/lib/wavix/types/transcription_filter_client.rb +14 -0
  452. data/lib/wavix/types/transcription_language.rb +15 -0
  453. data/lib/wavix/types/transcription_reference.rb +11 -0
  454. data/lib/wavix/types/transcription_status.rb +12 -0
  455. data/lib/wavix/types/tts_language.rb +14 -0
  456. data/lib/wavix/types/tts_voice_id.rb +26 -0
  457. data/lib/wavix/types/two_factor_verification_check_response.rb +9 -0
  458. data/lib/wavix/types/two_factor_verification_event.rb +17 -0
  459. data/lib/wavix/types/two_factor_verification_resend_response.rb +15 -0
  460. data/lib/wavix/types/two_factor_verification_response.rb +21 -0
  461. data/lib/wavix/types/unauthorized_error_response.rb +13 -0
  462. data/lib/wavix/types/unprocessable_entity_error_body.rb +11 -0
  463. data/lib/wavix/types/validation_error_response.rb +11 -0
  464. data/lib/wavix/types/voice_campaign_create_request.rb +9 -0
  465. data/lib/wavix/types/voice_campaign_response.rb +16 -0
  466. data/lib/wavix/types/voice_campaigns_create_response.rb +9 -0
  467. data/lib/wavix/types/voice_campaigns_create_response_voice_campaign.rb +17 -0
  468. data/lib/wavix/types/voice_campaigns_get_response.rb +9 -0
  469. data/lib/wavix/types/voice_campaigns_get_response_voice_campaign.rb +17 -0
  470. data/lib/wavix/types/web_rtc_token.rb +16 -0
  471. data/lib/wavix/types/web_rtc_token_response.rb +17 -0
  472. data/lib/wavix/types/web_rtc_tokens_list_response.rb +12 -0
  473. data/lib/wavix/version.rb +5 -0
  474. data/lib/wavix/voice_campaigns/client.rb +83 -0
  475. data/lib/wavix/voice_campaigns/types/create_voice_campaigns_request.rb +11 -0
  476. data/lib/wavix/voice_campaigns/types/get_voice_campaigns_request.rb +11 -0
  477. data/lib/wavix/webrtc/client.rb +19 -0
  478. data/lib/wavix/webrtc/tokens/client.rb +191 -0
  479. data/lib/wavix/webrtc/tokens/types/delete_tokens_request.rb +13 -0
  480. data/lib/wavix/webrtc/tokens/types/get_tokens_request.rb +13 -0
  481. data/lib/wavix/webrtc/tokens/types/web_rtc_token_create_request.rb +17 -0
  482. data/lib/wavix/webrtc/tokens/types/web_rtc_token_update_request.rb +15 -0
  483. data/lib/wavix.rb +477 -0
  484. data/reference.md +10623 -0
  485. metadata +526 -0
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ # Represents a 10DLC campaign registered under a Brand. A Campaign defines the messaging use case, opt-in and
8
+ # opt-out flows, and the phone numbers permitted to send its traffic.
9
+ class GetCampaignsResponse < Internal::Types::Model
10
+ field :affiliate_marketing, -> { Internal::Types::Boolean }, optional: false, nullable: false
11
+
12
+ field :age_gated, -> { Internal::Types::Boolean }, optional: false, nullable: false
13
+
14
+ field :auto_renewal, -> { Internal::Types::Boolean }, optional: false, nullable: false
15
+
16
+ field :last_bill_date, -> { String }, optional: false, nullable: true
17
+
18
+ field :next_bill_date, -> { String }, optional: false, nullable: true
19
+
20
+ field :direct_lending, -> { Internal::Types::Boolean }, optional: false, nullable: false
21
+
22
+ field :embedded_links, -> { Internal::Types::Boolean }, optional: false, nullable: false
23
+
24
+ field :embedded_phones, -> { Internal::Types::Boolean }, optional: false, nullable: false
25
+
26
+ field :embedded_link_sample, -> { String }, optional: false, nullable: true
27
+
28
+ field :brand_id, -> { String }, optional: false, nullable: false
29
+
30
+ field :campaign_id, -> { String }, optional: false, nullable: false
31
+
32
+ field :description, -> { String }, optional: false, nullable: true
33
+
34
+ field :optin_workflow, -> { String }, optional: false, nullable: true
35
+
36
+ field :feedback, -> { String }, optional: false, nullable: true
37
+
38
+ field :help, -> { Internal::Types::Boolean }, optional: false, nullable: false
39
+
40
+ field :help_keywords, -> { String }, optional: false, nullable: false
41
+
42
+ field :help_message, -> { String }, optional: false, nullable: true
43
+
44
+ field :optin, -> { Internal::Types::Boolean }, optional: false, nullable: false
45
+
46
+ field :optin_keywords, -> { String }, optional: false, nullable: false
47
+
48
+ field :optin_message, -> { String }, optional: false, nullable: true
49
+
50
+ field :optout, -> { Internal::Types::Boolean }, optional: false, nullable: false
51
+
52
+ field :optout_keywords, -> { String }, optional: false, nullable: false
53
+
54
+ field :optout_message, -> { String }, optional: false, nullable: true
55
+
56
+ field :name, -> { String }, optional: false, nullable: false
57
+
58
+ field :created_at, -> { String }, optional: false, nullable: false
59
+
60
+ field :sample1, -> { String }, optional: false, nullable: true
61
+
62
+ field :sample2, -> { String }, optional: false, nullable: true
63
+
64
+ field :sample3, -> { String }, optional: false, nullable: true
65
+
66
+ field :sample4, -> { String }, optional: false, nullable: true
67
+
68
+ field :sample5, -> { String }, optional: false, nullable: true
69
+
70
+ field :updated_at, -> { String }, optional: false, nullable: false
71
+
72
+ field :mock, -> { Internal::Types::Boolean }, optional: false, nullable: false
73
+
74
+ field :usecase, -> { String }, optional: false, nullable: false
75
+
76
+ field :monthly_fee, -> { String }, optional: false, nullable: false
77
+
78
+ field :privacy_policy, -> { String }, optional: false, nullable: true
79
+
80
+ field :terms_conditions, -> { String }, optional: false, nullable: true
81
+
82
+ field :status, -> { String }, optional: false, nullable: false
83
+
84
+ field :phone_numbers, -> { Internal::Types::Array[String] }, optional: false, nullable: false
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ class ListByBrandCampaignsRequest < Internal::Types::Model
8
+ field :brand_id, -> { String }, optional: false, nullable: false
9
+
10
+ field :name, -> { String }, optional: true, nullable: false
11
+
12
+ field :usecase, -> { String }, optional: true, nullable: false
13
+
14
+ field :status, -> { String }, optional: true, nullable: false
15
+
16
+ field :mock, -> { Internal::Types::Boolean }, optional: true, nullable: false
17
+
18
+ field :created_before, -> { String }, optional: true, nullable: false
19
+
20
+ field :created_after, -> { String }, optional: true, nullable: false
21
+
22
+ field :page, -> { Integer }, optional: true, nullable: false
23
+
24
+ field :per_page, -> { Integer }, optional: true, nullable: false
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ # Paginated list of 10DLC Campaigns.
8
+ class ListByBrandCampaignsResponse < Internal::Types::Model
9
+ field :items, -> { Internal::Types::Array[Wavix::Types::TenDlcCampaign] }, optional: false, nullable: false
10
+
11
+ field :pagination, -> { Wavix::TenDlc::Campaigns::Types::ListByBrandCampaignsResponsePagination }, optional: false, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ # Pagination metadata for the result set.
8
+ class ListByBrandCampaignsResponsePagination < Internal::Types::Model
9
+ field :current_page, -> { Integer }, optional: false, nullable: false
10
+
11
+ field :per_page, -> { Integer }, optional: false, nullable: false
12
+
13
+ field :total, -> { Integer }, optional: false, nullable: false
14
+
15
+ field :total_pages, -> { Integer }, optional: false, nullable: false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ class ListCampaignsRequest < Internal::Types::Model
8
+ field :name, -> { String }, optional: true, nullable: false
9
+
10
+ field :usecase, -> { String }, optional: true, nullable: false
11
+
12
+ field :status, -> { String }, optional: true, nullable: false
13
+
14
+ field :mock, -> { Internal::Types::Boolean }, optional: true, nullable: false
15
+
16
+ field :created_before, -> { String }, optional: true, nullable: false
17
+
18
+ field :created_after, -> { String }, optional: true, nullable: false
19
+
20
+ field :page, -> { Integer }, optional: true, nullable: false
21
+
22
+ field :per_page, -> { Integer }, optional: true, nullable: false
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ # Paginated list of 10DLC Campaigns.
8
+ class ListCampaignsResponse < Internal::Types::Model
9
+ field :items, -> { Internal::Types::Array[Wavix::Types::TenDlcCampaign] }, optional: false, nullable: false
10
+
11
+ field :pagination, -> { Wavix::TenDlc::Campaigns::Types::ListCampaignsResponsePagination }, optional: false, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ # Pagination metadata for the result set.
8
+ class ListCampaignsResponsePagination < Internal::Types::Model
9
+ field :current_page, -> { Integer }, optional: false, nullable: false
10
+
11
+ field :per_page, -> { Integer }, optional: false, nullable: false
12
+
13
+ field :total, -> { Integer }, optional: false, nullable: false
14
+
15
+ field :total_pages, -> { Integer }, optional: false, nullable: false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ class NudgeCampaignsRequest < Internal::Types::Model
8
+ field :brand_id, -> { String }, optional: false, nullable: false
9
+
10
+ field :campaign_id, -> { String }, optional: false, nullable: false
11
+
12
+ field :nudge_intent, -> { String }, optional: false, nullable: false
13
+
14
+ field :description, -> { String }, optional: false, nullable: false
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ class TenDlcCampaignCreateRequest < Internal::Types::Model
8
+ field :brand_id, -> { String }, optional: false, nullable: false
9
+
10
+ field :affiliate_marketing, -> { Internal::Types::Boolean }, optional: false, nullable: false
11
+
12
+ field :age_gated, -> { Internal::Types::Boolean }, optional: false, nullable: false
13
+
14
+ field :auto_renewal, -> { Internal::Types::Boolean }, optional: false, nullable: false
15
+
16
+ field :direct_lending, -> { Internal::Types::Boolean }, optional: false, nullable: false
17
+
18
+ field :embedded_links, -> { Internal::Types::Boolean }, optional: false, nullable: false
19
+
20
+ field :embedded_phones, -> { Internal::Types::Boolean }, optional: false, nullable: true
21
+
22
+ field :embedded_link_sample, -> { String }, optional: false, nullable: true
23
+
24
+ field :description, -> { String }, optional: false, nullable: false
25
+
26
+ field :optin_workflow, -> { String }, optional: false, nullable: false
27
+
28
+ field :help, -> { Internal::Types::Boolean }, optional: false, nullable: false
29
+
30
+ field :help_keywords, -> { String }, optional: false, nullable: false
31
+
32
+ field :help_message, -> { String }, optional: false, nullable: false
33
+
34
+ field :optin, -> { Internal::Types::Boolean }, optional: false, nullable: false
35
+
36
+ field :optin_keywords, -> { String }, optional: false, nullable: false
37
+
38
+ field :optin_message, -> { String }, optional: false, nullable: false
39
+
40
+ field :optout, -> { Internal::Types::Boolean }, optional: false, nullable: false
41
+
42
+ field :optout_keywords, -> { String }, optional: false, nullable: false
43
+
44
+ field :optout_message, -> { String }, optional: false, nullable: false
45
+
46
+ field :name, -> { String }, optional: false, nullable: false
47
+
48
+ field :sample1, -> { String }, optional: false, nullable: false
49
+
50
+ field :sample2, -> { String }, optional: false, nullable: true
51
+
52
+ field :sample3, -> { String }, optional: false, nullable: true
53
+
54
+ field :sample4, -> { String }, optional: false, nullable: true
55
+
56
+ field :sample5, -> { String }, optional: false, nullable: true
57
+
58
+ field :mock, -> { Internal::Types::Boolean }, optional: false, nullable: false
59
+
60
+ field :usecase, -> { String }, optional: false, nullable: false
61
+
62
+ field :privacy_policy, -> { String }, optional: true, nullable: false
63
+
64
+ field :terms_conditions, -> { String }, optional: false, nullable: false
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ class TenDlcCampaignUpdateRequest < Internal::Types::Model
8
+ field :brand_id, -> { String }, optional: false, nullable: false
9
+
10
+ field :campaign_id, -> { String }, optional: false, nullable: false
11
+
12
+ field :name, -> { String }, optional: true, nullable: false
13
+
14
+ field :usecase, -> { Wavix::TenDlc::Campaigns::Types::TenDlcCampaignUpdateRequestUsecase }, optional: true, nullable: false
15
+
16
+ field :description, -> { String }, optional: true, nullable: false
17
+
18
+ field :embedded_links, -> { Internal::Types::Boolean }, optional: true, nullable: false
19
+
20
+ field :embedded_phones, -> { Internal::Types::Boolean }, optional: true, nullable: false
21
+
22
+ field :age_gated, -> { Internal::Types::Boolean }, optional: true, nullable: false
23
+
24
+ field :direct_lending, -> { Internal::Types::Boolean }, optional: true, nullable: false
25
+
26
+ field :optin, -> { Internal::Types::Boolean }, optional: true, nullable: false
27
+
28
+ field :optout, -> { Internal::Types::Boolean }, optional: true, nullable: false
29
+
30
+ field :help, -> { Internal::Types::Boolean }, optional: true, nullable: false
31
+
32
+ field :sample1, -> { String }, optional: true, nullable: false
33
+
34
+ field :sample2, -> { String }, optional: true, nullable: false
35
+
36
+ field :sample3, -> { String }, optional: true, nullable: false
37
+
38
+ field :sample4, -> { String }, optional: true, nullable: false
39
+
40
+ field :sample5, -> { String }, optional: true, nullable: false
41
+
42
+ field :optin_workflow, -> { String }, optional: true, nullable: false
43
+
44
+ field :help_message, -> { String }, optional: true, nullable: false
45
+
46
+ field :optin_message, -> { String }, optional: true, nullable: false
47
+
48
+ field :optout_message, -> { String }, optional: true, nullable: false
49
+
50
+ field :auto_renewal, -> { Internal::Types::Boolean }, optional: true, nullable: false
51
+
52
+ field :optin_keywords, -> { String }, optional: true, nullable: false
53
+
54
+ field :help_keywords, -> { String }, optional: true, nullable: false
55
+
56
+ field :optout_keywords, -> { String }, optional: true, nullable: false
57
+
58
+ field :terms_conditions, -> { String }, optional: true, nullable: false
59
+
60
+ field :privacy_policy, -> { String }, optional: true, nullable: false
61
+
62
+ field :embedded_link_sample, -> { String }, optional: true, nullable: false
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ module TenDlcCampaignUpdateRequestUsecase
8
+ extend Wavix::Internal::Types::Enum
9
+
10
+ CUSTOMER_CARE = "CUSTOMER_CARE"
11
+ MARKETING = "MARKETING"
12
+ ACCOUNT_NOTIFICATION = "ACCOUNT_NOTIFICATION"
13
+ FRAUD_ALERT = "FRAUD_ALERT"
14
+ PUBLIC_SERVICE_ANNOUNCEMENT = "PUBLIC_SERVICE_ANNOUNCEMENT"
15
+ SECURITY_ALERT = "SECURITY_ALERT"
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Campaigns
6
+ module Types
7
+ # Represents a 10DLC campaign registered under a Brand. A Campaign defines the messaging use case, opt-in and
8
+ # opt-out flows, and the phone numbers permitted to send its traffic.
9
+ class UpdateCampaignsResponse < Internal::Types::Model
10
+ field :affiliate_marketing, -> { Internal::Types::Boolean }, optional: false, nullable: false
11
+
12
+ field :age_gated, -> { Internal::Types::Boolean }, optional: false, nullable: false
13
+
14
+ field :auto_renewal, -> { Internal::Types::Boolean }, optional: false, nullable: false
15
+
16
+ field :last_bill_date, -> { String }, optional: false, nullable: true
17
+
18
+ field :next_bill_date, -> { String }, optional: false, nullable: true
19
+
20
+ field :direct_lending, -> { Internal::Types::Boolean }, optional: false, nullable: false
21
+
22
+ field :embedded_links, -> { Internal::Types::Boolean }, optional: false, nullable: false
23
+
24
+ field :embedded_phones, -> { Internal::Types::Boolean }, optional: false, nullable: false
25
+
26
+ field :embedded_link_sample, -> { String }, optional: false, nullable: true
27
+
28
+ field :brand_id, -> { String }, optional: false, nullable: false
29
+
30
+ field :campaign_id, -> { String }, optional: false, nullable: false
31
+
32
+ field :description, -> { String }, optional: false, nullable: true
33
+
34
+ field :optin_workflow, -> { String }, optional: false, nullable: true
35
+
36
+ field :feedback, -> { String }, optional: false, nullable: true
37
+
38
+ field :help, -> { Internal::Types::Boolean }, optional: false, nullable: false
39
+
40
+ field :help_keywords, -> { String }, optional: false, nullable: false
41
+
42
+ field :help_message, -> { String }, optional: false, nullable: true
43
+
44
+ field :optin, -> { Internal::Types::Boolean }, optional: false, nullable: false
45
+
46
+ field :optin_keywords, -> { String }, optional: false, nullable: false
47
+
48
+ field :optin_message, -> { String }, optional: false, nullable: true
49
+
50
+ field :optout, -> { Internal::Types::Boolean }, optional: false, nullable: false
51
+
52
+ field :optout_keywords, -> { String }, optional: false, nullable: false
53
+
54
+ field :optout_message, -> { String }, optional: false, nullable: true
55
+
56
+ field :name, -> { String }, optional: false, nullable: false
57
+
58
+ field :created_at, -> { String }, optional: false, nullable: false
59
+
60
+ field :sample1, -> { String }, optional: false, nullable: true
61
+
62
+ field :sample2, -> { String }, optional: false, nullable: true
63
+
64
+ field :sample3, -> { String }, optional: false, nullable: true
65
+
66
+ field :sample4, -> { String }, optional: false, nullable: true
67
+
68
+ field :sample5, -> { String }, optional: false, nullable: true
69
+
70
+ field :updated_at, -> { String }, optional: false, nullable: false
71
+
72
+ field :mock, -> { Internal::Types::Boolean }, optional: false, nullable: false
73
+
74
+ field :usecase, -> { String }, optional: false, nullable: false
75
+
76
+ field :monthly_fee, -> { String }, optional: false, nullable: false
77
+
78
+ field :privacy_policy, -> { String }, optional: false, nullable: true
79
+
80
+ field :terms_conditions, -> { String }, optional: false, nullable: true
81
+
82
+ field :status, -> { String }, optional: false, nullable: false
83
+
84
+ field :phone_numbers, -> { Internal::Types::Array[String] }, optional: false, nullable: false
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ class Client
6
+ # @param client [Wavix::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
9
+ def initialize(client:)
10
+ @client = client
11
+ end
12
+
13
+ # @return [Wavix::Brands::Client]
14
+ def brands
15
+ @brands ||= Wavix::TenDlc::Brands::Client.new(client: @client)
16
+ end
17
+
18
+ # @return [Wavix::BrandAppeals::Client]
19
+ def brand_appeals
20
+ @brand_appeals ||= Wavix::TenDlc::BrandAppeals::Client.new(client: @client)
21
+ end
22
+
23
+ # @return [Wavix::BrandEvidence::Client]
24
+ def brand_evidence
25
+ @brand_evidence ||= Wavix::TenDlc::BrandEvidence::Client.new(client: @client)
26
+ end
27
+
28
+ # @return [Wavix::BrandVettings::Client]
29
+ def brand_vettings
30
+ @brand_vettings ||= Wavix::TenDlc::BrandVettings::Client.new(client: @client)
31
+ end
32
+
33
+ # @return [Wavix::BrandVettingAppeals::Client]
34
+ def brand_vetting_appeals
35
+ @brand_vetting_appeals ||= Wavix::TenDlc::BrandVettingAppeals::Client.new(client: @client)
36
+ end
37
+
38
+ # @return [Wavix::Campaigns::Client]
39
+ def campaigns
40
+ @campaigns ||= Wavix::TenDlc::Campaigns::Client.new(client: @client)
41
+ end
42
+
43
+ # @return [Wavix::Subscriptions::Client]
44
+ def subscriptions
45
+ @subscriptions ||= Wavix::TenDlc::Subscriptions::Client.new(client: @client)
46
+ end
47
+
48
+ # @return [Wavix::CampaignNumbers::Client]
49
+ def campaign_numbers
50
+ @campaign_numbers ||= Wavix::TenDlc::CampaignNumbers::Client.new(client: @client)
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Subscriptions
6
+ class Client
7
+ # @param client [Wavix::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
10
+ def initialize(client:)
11
+ @client = client
12
+ end
13
+
14
+ # Returns the 10DLC event subscriptions for the authenticated account.
15
+ #
16
+ # @param request_options [Hash]
17
+ # @param _params [Hash]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ #
24
+ # @return [Array[Wavix::Types::TenDlcEventSubscription]]
25
+ def list(request_options: {}, **_params)
26
+ request = Wavix::Internal::JSON::Request.new(
27
+ base_url: request_options[:base_url],
28
+ method: "GET",
29
+ path: "v3/10dlc/subscriptions",
30
+ request_options: request_options
31
+ )
32
+ begin
33
+ response = @client.send(request)
34
+ rescue Net::HTTPRequestTimeout
35
+ raise Wavix::Errors::TimeoutError
36
+ end
37
+ code = response.code.to_i
38
+ return if code.between?(200, 299)
39
+
40
+ error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
41
+ raise error_class.new(response.body, code: code)
42
+ end
43
+
44
+ # Registers a callback URL to receive Wavix 10DLC event notifications.
45
+ #
46
+ # @param request_options [Hash]
47
+ # @param params [Wavix::Types::TenDlcEventSubscription]
48
+ # @option request_options [String] :base_url
49
+ # @option request_options [Hash{String => Object}] :additional_headers
50
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
51
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
52
+ # @option request_options [Integer] :timeout_in_seconds
53
+ #
54
+ # @return [Wavix::TenDlc::Subscriptions::Types::CreateSubscriptionsResponse]
55
+ def create(request_options: {}, **params)
56
+ params = Wavix::Internal::Types::Utils.normalize_keys(params)
57
+ request = Wavix::Internal::JSON::Request.new(
58
+ base_url: request_options[:base_url],
59
+ method: "POST",
60
+ path: "v3/10dlc/subscriptions",
61
+ body: Wavix::Types::TenDlcEventSubscription.new(params).to_h,
62
+ request_options: request_options
63
+ )
64
+ begin
65
+ response = @client.send(request)
66
+ rescue Net::HTTPRequestTimeout
67
+ raise Wavix::Errors::TimeoutError
68
+ end
69
+ code = response.code.to_i
70
+ if code.between?(200, 299)
71
+ Wavix::TenDlc::Subscriptions::Types::CreateSubscriptionsResponse.load(response.body)
72
+ else
73
+ error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
74
+ raise error_class.new(response.body, code: code)
75
+ end
76
+ end
77
+
78
+ # Removes the 10DLC event subscription for the specified event category.
79
+ #
80
+ # @param request_options [Hash]
81
+ # @param params [Hash]
82
+ # @option request_options [String] :base_url
83
+ # @option request_options [Hash{String => Object}] :additional_headers
84
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
85
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
86
+ # @option request_options [Integer] :timeout_in_seconds
87
+ # @option params [String] :subscription_category
88
+ #
89
+ # @return [Wavix::TenDlc::Subscriptions::Types::DeleteSubscriptionsResponse]
90
+ def delete(request_options: {}, **params)
91
+ params = Wavix::Internal::Types::Utils.normalize_keys(params)
92
+ query_params = {}
93
+ query_params["subscription_category"] = params[:subscription_category] if params.key?(:subscription_category)
94
+
95
+ request = Wavix::Internal::JSON::Request.new(
96
+ base_url: request_options[:base_url],
97
+ method: "DELETE",
98
+ path: "v3/10dlc/subscriptions",
99
+ query: query_params,
100
+ request_options: request_options
101
+ )
102
+ begin
103
+ response = @client.send(request)
104
+ rescue Net::HTTPRequestTimeout
105
+ raise Wavix::Errors::TimeoutError
106
+ end
107
+ code = response.code.to_i
108
+ if code.between?(200, 299)
109
+ Wavix::TenDlc::Subscriptions::Types::DeleteSubscriptionsResponse.load(response.body)
110
+ else
111
+ error_class = Wavix::Errors::ResponseError.subclass_for_code(code)
112
+ raise error_class.new(response.body, code: code)
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Wavix
4
+ module TenDlc
5
+ module Subscriptions
6
+ module Types
7
+ # Represents a subscription that delivers 10DLC lifecycle events to a webhook URL.
8
+ class CreateSubscriptionsResponse < Internal::Types::Model
9
+ field :subscription_category, -> { String }, optional: false, nullable: false
10
+
11
+ field :url, -> { String }, optional: false, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end