zavudev 0.6.0 → 0.8.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 (426) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/README.md +1 -1
  4. data/lib/zavudev/client.rb +32 -0
  5. data/lib/zavudev/models/balance_retrieve_params.rb +14 -0
  6. data/lib/zavudev/models/balance_retrieve_response.rb +48 -0
  7. data/lib/zavudev/models/broadcast_contact.rb +10 -1
  8. data/lib/zavudev/models/broadcast_content.rb +18 -3
  9. data/lib/zavudev/models/broadcast_escalate_review_params.rb +20 -0
  10. data/lib/zavudev/models/broadcast_escalate_review_response.rb +16 -0
  11. data/lib/zavudev/models/broadcast_retry_review_params.rb +20 -0
  12. data/lib/zavudev/models/broadcast_retry_review_response.rb +16 -0
  13. data/lib/zavudev/models/broadcasts/contact_add_params.rb +18 -3
  14. data/lib/zavudev/models/contact.rb +4 -154
  15. data/lib/zavudev/models/contact_channel.rb +155 -0
  16. data/lib/zavudev/models/contact_create_params.rb +99 -0
  17. data/lib/zavudev/models/contact_dismiss_merge_suggestion_params.rb +20 -0
  18. data/lib/zavudev/models/contact_merge_params.rb +33 -0
  19. data/lib/zavudev/models/contacts/channel_add_params.rb +77 -0
  20. data/lib/zavudev/models/contacts/channel_add_response.rb +19 -0
  21. data/lib/zavudev/models/contacts/channel_remove_params.rb +28 -0
  22. data/lib/zavudev/models/contacts/channel_set_primary_params.rb +28 -0
  23. data/lib/zavudev/models/contacts/channel_set_primary_response.rb +19 -0
  24. data/lib/zavudev/models/contacts/channel_update_params.rb +53 -0
  25. data/lib/zavudev/models/contacts/channel_update_response.rb +19 -0
  26. data/lib/zavudev/models/data_export.rb +122 -0
  27. data/lib/zavudev/models/export_create_params.rb +54 -0
  28. data/lib/zavudev/models/export_create_response.rb +16 -0
  29. data/lib/zavudev/models/export_list_params.rb +49 -0
  30. data/lib/zavudev/models/export_retrieve_params.rb +20 -0
  31. data/lib/zavudev/models/export_retrieve_response.rb +16 -0
  32. data/lib/zavudev/models/invitation.rb +135 -0
  33. data/lib/zavudev/models/invitation_cancel_params.rb +20 -0
  34. data/lib/zavudev/models/invitation_cancel_response.rb +16 -0
  35. data/lib/zavudev/models/invitation_create_params.rb +68 -0
  36. data/lib/zavudev/models/invitation_create_response.rb +16 -0
  37. data/lib/zavudev/models/invitation_list_params.rb +50 -0
  38. data/lib/zavudev/models/invitation_retrieve_params.rb +20 -0
  39. data/lib/zavudev/models/invitation_retrieve_response.rb +16 -0
  40. data/lib/zavudev/models/message_content.rb +96 -3
  41. data/lib/zavudev/models/message_type.rb +1 -0
  42. data/lib/zavudev/models/number_10dlc/brand_create_params.rb +158 -0
  43. data/lib/zavudev/models/number_10dlc/brand_create_response.rb +18 -0
  44. data/lib/zavudev/models/number_10dlc/brand_delete_params.rb +22 -0
  45. data/lib/zavudev/models/number_10dlc/brand_list_params.rb +28 -0
  46. data/lib/zavudev/models/number_10dlc/brand_list_use_cases_params.rb +16 -0
  47. data/lib/zavudev/models/number_10dlc/brand_list_use_cases_response.rb +36 -0
  48. data/lib/zavudev/models/number_10dlc/brand_retrieve_params.rb +22 -0
  49. data/lib/zavudev/models/number_10dlc/brand_retrieve_response.rb +18 -0
  50. data/lib/zavudev/models/number_10dlc/brand_submit_params.rb +22 -0
  51. data/lib/zavudev/models/number_10dlc/brand_submit_response.rb +18 -0
  52. data/lib/zavudev/models/number_10dlc/brand_sync_status_params.rb +22 -0
  53. data/lib/zavudev/models/number_10dlc/brand_sync_status_response.rb +18 -0
  54. data/lib/zavudev/models/number_10dlc/brand_update_params.rb +159 -0
  55. data/lib/zavudev/models/number_10dlc/brand_update_response.rb +18 -0
  56. data/lib/zavudev/models/number_10dlc/campaign_create_params.rb +151 -0
  57. data/lib/zavudev/models/number_10dlc/campaign_create_response.rb +18 -0
  58. data/lib/zavudev/models/number_10dlc/campaign_delete_params.rb +22 -0
  59. data/lib/zavudev/models/number_10dlc/campaign_list_params.rb +38 -0
  60. data/lib/zavudev/models/number_10dlc/campaign_retrieve_params.rb +22 -0
  61. data/lib/zavudev/models/number_10dlc/campaign_retrieve_response.rb +18 -0
  62. data/lib/zavudev/models/number_10dlc/campaign_submit_params.rb +22 -0
  63. data/lib/zavudev/models/number_10dlc/campaign_submit_response.rb +18 -0
  64. data/lib/zavudev/models/number_10dlc/campaign_sync_status_params.rb +22 -0
  65. data/lib/zavudev/models/number_10dlc/campaign_sync_status_response.rb +18 -0
  66. data/lib/zavudev/models/number_10dlc/campaign_update_params.rb +64 -0
  67. data/lib/zavudev/models/number_10dlc/campaign_update_response.rb +18 -0
  68. data/lib/zavudev/models/number_10dlc/campaigns/phone_number_assign_params.rb +33 -0
  69. data/lib/zavudev/models/number_10dlc/campaigns/phone_number_assign_response.rb +20 -0
  70. data/lib/zavudev/models/number_10dlc/campaigns/phone_number_list_params.rb +24 -0
  71. data/lib/zavudev/models/number_10dlc/campaigns/phone_number_list_response.rb +27 -0
  72. data/lib/zavudev/models/number_10dlc/campaigns/phone_number_unassign_params.rb +30 -0
  73. data/lib/zavudev/models/number_10dlc/campaigns/ten_dlc_phone_number_assignment.rb +83 -0
  74. data/lib/zavudev/models/number_10dlc/ten_dlc_brand.rb +238 -0
  75. data/lib/zavudev/models/number_10dlc/ten_dlc_campaign.rb +243 -0
  76. data/lib/zavudev/models/plan_retrieve_params.rb +14 -0
  77. data/lib/zavudev/models/plan_retrieve_response.rb +155 -0
  78. data/lib/zavudev/models/senders/agent/agent_flow.rb +6 -101
  79. data/lib/zavudev/models/senders/agent/agent_tool.rb +3 -53
  80. data/lib/zavudev/models/senders/agent/flow_create_params.rb +6 -100
  81. data/lib/zavudev/models/senders/agent/flow_step.rb +61 -0
  82. data/lib/zavudev/models/senders/agent/flow_trigger.rb +51 -0
  83. data/lib/zavudev/models/senders/agent/flow_update_params.rb +6 -100
  84. data/lib/zavudev/models/senders/agent/tool_create_params.rb +3 -52
  85. data/lib/zavudev/models/senders/agent/tool_parameters.rb +58 -0
  86. data/lib/zavudev/models/senders/agent/tool_update_params.rb +3 -52
  87. data/lib/zavudev/models/senders/whats_app_sync_contacts.rb +51 -0
  88. data/lib/zavudev/models/senders/whats_app_sync_history.rb +60 -0
  89. data/lib/zavudev/models/senders/whats_app_sync_status.rb +60 -0
  90. data/lib/zavudev/models/senders/whatsapp_sync_retrieve_params.rb +22 -0
  91. data/lib/zavudev/models/senders/whatsapp_sync_retrieve_response.rb +19 -0
  92. data/lib/zavudev/models/senders/whatsapp_sync_start_contacts_sync_params.rb +22 -0
  93. data/lib/zavudev/models/senders/whatsapp_sync_start_contacts_sync_response.rb +27 -0
  94. data/lib/zavudev/models/senders/whatsapp_sync_start_history_sync_params.rb +22 -0
  95. data/lib/zavudev/models/senders/whatsapp_sync_start_history_sync_response.rb +27 -0
  96. data/lib/zavudev/models/sub_account.rb +91 -0
  97. data/lib/zavudev/models/sub_account_create_params.rb +49 -0
  98. data/lib/zavudev/models/sub_account_create_response.rb +16 -0
  99. data/lib/zavudev/models/sub_account_deactivate_params.rb +20 -0
  100. data/lib/zavudev/models/sub_account_deactivate_response.rb +24 -0
  101. data/lib/zavudev/models/sub_account_get_balance_params.rb +20 -0
  102. data/lib/zavudev/models/sub_account_get_balance_response.rb +48 -0
  103. data/lib/zavudev/models/sub_account_list_params.rb +26 -0
  104. data/lib/zavudev/models/sub_account_retrieve_params.rb +20 -0
  105. data/lib/zavudev/models/sub_account_retrieve_response.rb +16 -0
  106. data/lib/zavudev/models/sub_account_update_params.rb +60 -0
  107. data/lib/zavudev/models/sub_account_update_response.rb +16 -0
  108. data/lib/zavudev/models/sub_accounts/api_key_create_params.rb +50 -0
  109. data/lib/zavudev/models/sub_accounts/api_key_create_response.rb +59 -0
  110. data/lib/zavudev/models/sub_accounts/api_key_list_params.rb +22 -0
  111. data/lib/zavudev/models/sub_accounts/api_key_list_response.rb +98 -0
  112. data/lib/zavudev/models/sub_accounts/api_key_revoke_params.rb +28 -0
  113. data/lib/zavudev/models/template.rb +13 -1
  114. data/lib/zavudev/models/template_create_params.rb +53 -3
  115. data/lib/zavudev/models/url_list_verified_params.rb +49 -0
  116. data/lib/zavudev/models/url_retrieve_details_params.rb +20 -0
  117. data/lib/zavudev/models/url_retrieve_details_response.rb +16 -0
  118. data/lib/zavudev/models/url_submit_for_verification_params.rb +22 -0
  119. data/lib/zavudev/models/url_submit_for_verification_response.rb +16 -0
  120. data/lib/zavudev/models/usage_retrieve_params.rb +14 -0
  121. data/lib/zavudev/models/usage_retrieve_response.rb +77 -0
  122. data/lib/zavudev/models/verified_url.rb +90 -0
  123. data/lib/zavudev/models.rb +64 -0
  124. data/lib/zavudev/resources/balance.rb +33 -0
  125. data/lib/zavudev/resources/broadcasts.rb +40 -0
  126. data/lib/zavudev/resources/contacts/channels.rb +136 -0
  127. data/lib/zavudev/resources/contacts.rb +78 -0
  128. data/lib/zavudev/resources/exports.rb +89 -0
  129. data/lib/zavudev/resources/invitations.rb +118 -0
  130. data/lib/zavudev/resources/number_10dlc/brands.rb +251 -0
  131. data/lib/zavudev/resources/number_10dlc/campaigns/phone_numbers.rb +90 -0
  132. data/lib/zavudev/resources/number_10dlc/campaigns.rb +225 -0
  133. data/lib/zavudev/resources/number_10dlc.rb +22 -0
  134. data/lib/zavudev/resources/plan.rb +33 -0
  135. data/lib/zavudev/resources/senders/agent/flows.rb +4 -4
  136. data/lib/zavudev/resources/senders/agent/tools.rb +2 -2
  137. data/lib/zavudev/resources/senders/whatsapp_sync.rb +79 -0
  138. data/lib/zavudev/resources/senders.rb +4 -0
  139. data/lib/zavudev/resources/sub_accounts/api_keys.rb +91 -0
  140. data/lib/zavudev/resources/sub_accounts.rb +169 -0
  141. data/lib/zavudev/resources/templates.rb +7 -1
  142. data/lib/zavudev/resources/urls.rb +89 -0
  143. data/lib/zavudev/resources/usage.rb +33 -0
  144. data/lib/zavudev/version.rb +1 -1
  145. data/lib/zavudev.rb +118 -0
  146. data/rbi/zavudev/client.rbi +24 -0
  147. data/rbi/zavudev/models/balance_retrieve_params.rbi +27 -0
  148. data/rbi/zavudev/models/balance_retrieve_response.rbi +73 -0
  149. data/rbi/zavudev/models/broadcast_contact.rbi +9 -0
  150. data/rbi/zavudev/models/broadcast_content.rbi +17 -2
  151. data/rbi/zavudev/models/broadcast_escalate_review_params.rbi +38 -0
  152. data/rbi/zavudev/models/broadcast_escalate_review_response.rbi +31 -0
  153. data/rbi/zavudev/models/broadcast_retry_review_params.rbi +35 -0
  154. data/rbi/zavudev/models/broadcast_retry_review_response.rbi +31 -0
  155. data/rbi/zavudev/models/broadcasts/contact_add_params.rbi +23 -3
  156. data/rbi/zavudev/models/contact.rbi +4 -235
  157. data/rbi/zavudev/models/contact_channel.rbi +231 -0
  158. data/rbi/zavudev/models/contact_create_params.rbi +191 -0
  159. data/rbi/zavudev/models/contact_dismiss_merge_suggestion_params.rbi +38 -0
  160. data/rbi/zavudev/models/contact_merge_params.rbi +51 -0
  161. data/rbi/zavudev/models/contacts/channel_add_params.rbi +142 -0
  162. data/rbi/zavudev/models/contacts/channel_add_response.rbi +39 -0
  163. data/rbi/zavudev/models/contacts/channel_remove_params.rbi +48 -0
  164. data/rbi/zavudev/models/contacts/channel_set_primary_params.rbi +48 -0
  165. data/rbi/zavudev/models/contacts/channel_set_primary_response.rbi +39 -0
  166. data/rbi/zavudev/models/contacts/channel_update_params.rbi +80 -0
  167. data/rbi/zavudev/models/contacts/channel_update_response.rbi +39 -0
  168. data/rbi/zavudev/models/data_export.rbi +151 -0
  169. data/rbi/zavudev/models/export_create_params.rbi +106 -0
  170. data/rbi/zavudev/models/export_create_response.rbi +31 -0
  171. data/rbi/zavudev/models/export_list_params.rbi +89 -0
  172. data/rbi/zavudev/models/export_retrieve_params.rbi +35 -0
  173. data/rbi/zavudev/models/export_retrieve_response.rbi +31 -0
  174. data/rbi/zavudev/models/invitation.rbi +149 -0
  175. data/rbi/zavudev/models/invitation_cancel_params.rbi +35 -0
  176. data/rbi/zavudev/models/invitation_cancel_response.rbi +33 -0
  177. data/rbi/zavudev/models/invitation_create_params.rbi +103 -0
  178. data/rbi/zavudev/models/invitation_create_response.rbi +33 -0
  179. data/rbi/zavudev/models/invitation_list_params.rbi +99 -0
  180. data/rbi/zavudev/models/invitation_retrieve_params.rbi +35 -0
  181. data/rbi/zavudev/models/invitation_retrieve_response.rbi +33 -0
  182. data/rbi/zavudev/models/message_content.rbi +145 -2
  183. data/rbi/zavudev/models/message_type.rbi +1 -0
  184. data/rbi/zavudev/models/number_10dlc/brand_create_params.rbi +228 -0
  185. data/rbi/zavudev/models/number_10dlc/brand_create_response.rbi +35 -0
  186. data/rbi/zavudev/models/number_10dlc/brand_delete_params.rbi +40 -0
  187. data/rbi/zavudev/models/number_10dlc/brand_list_params.rbi +54 -0
  188. data/rbi/zavudev/models/number_10dlc/brand_list_use_cases_params.rbi +32 -0
  189. data/rbi/zavudev/models/number_10dlc/brand_list_use_cases_response.rbi +82 -0
  190. data/rbi/zavudev/models/number_10dlc/brand_retrieve_params.rbi +40 -0
  191. data/rbi/zavudev/models/number_10dlc/brand_retrieve_response.rbi +35 -0
  192. data/rbi/zavudev/models/number_10dlc/brand_submit_params.rbi +40 -0
  193. data/rbi/zavudev/models/number_10dlc/brand_submit_response.rbi +35 -0
  194. data/rbi/zavudev/models/number_10dlc/brand_sync_status_params.rbi +40 -0
  195. data/rbi/zavudev/models/number_10dlc/brand_sync_status_response.rbi +35 -0
  196. data/rbi/zavudev/models/number_10dlc/brand_update_params.rbi +261 -0
  197. data/rbi/zavudev/models/number_10dlc/brand_update_response.rbi +35 -0
  198. data/rbi/zavudev/models/number_10dlc/campaign_create_params.rbi +173 -0
  199. data/rbi/zavudev/models/number_10dlc/campaign_create_response.rbi +39 -0
  200. data/rbi/zavudev/models/number_10dlc/campaign_delete_params.rbi +40 -0
  201. data/rbi/zavudev/models/number_10dlc/campaign_list_params.rbi +69 -0
  202. data/rbi/zavudev/models/number_10dlc/campaign_retrieve_params.rbi +40 -0
  203. data/rbi/zavudev/models/number_10dlc/campaign_retrieve_response.rbi +39 -0
  204. data/rbi/zavudev/models/number_10dlc/campaign_submit_params.rbi +40 -0
  205. data/rbi/zavudev/models/number_10dlc/campaign_submit_response.rbi +39 -0
  206. data/rbi/zavudev/models/number_10dlc/campaign_sync_status_params.rbi +40 -0
  207. data/rbi/zavudev/models/number_10dlc/campaign_sync_status_response.rbi +39 -0
  208. data/rbi/zavudev/models/number_10dlc/campaign_update_params.rbi +109 -0
  209. data/rbi/zavudev/models/number_10dlc/campaign_update_response.rbi +39 -0
  210. data/rbi/zavudev/models/number_10dlc/campaigns/phone_number_assign_params.rbi +56 -0
  211. data/rbi/zavudev/models/number_10dlc/campaigns/phone_number_assign_response.rbi +54 -0
  212. data/rbi/zavudev/models/number_10dlc/campaigns/phone_number_list_params.rbi +42 -0
  213. data/rbi/zavudev/models/number_10dlc/campaigns/phone_number_list_response.rbi +57 -0
  214. data/rbi/zavudev/models/number_10dlc/campaigns/phone_number_unassign_params.rbi +50 -0
  215. data/rbi/zavudev/models/number_10dlc/campaigns/ten_dlc_phone_number_assignment.rbi +132 -0
  216. data/rbi/zavudev/models/number_10dlc/ten_dlc_brand.rbi +298 -0
  217. data/rbi/zavudev/models/number_10dlc/ten_dlc_campaign.rbi +269 -0
  218. data/rbi/zavudev/models/plan_retrieve_params.rbi +27 -0
  219. data/rbi/zavudev/models/plan_retrieve_response.rbi +306 -0
  220. data/rbi/zavudev/models/senders/agent/agent_flow.rbi +7 -233
  221. data/rbi/zavudev/models/senders/agent/agent_tool.rbi +4 -130
  222. data/rbi/zavudev/models/senders/agent/flow_create_params.rbi +7 -245
  223. data/rbi/zavudev/models/senders/agent/flow_step.rbi +115 -0
  224. data/rbi/zavudev/models/senders/agent/flow_trigger.rbi +108 -0
  225. data/rbi/zavudev/models/senders/agent/flow_update_params.rbi +8 -255
  226. data/rbi/zavudev/models/senders/agent/tool_create_params.rbi +4 -132
  227. data/rbi/zavudev/models/senders/agent/tool_parameters.rbi +124 -0
  228. data/rbi/zavudev/models/senders/agent/tool_update_params.rbi +4 -136
  229. data/rbi/zavudev/models/senders/whats_app_sync_contacts.rbi +104 -0
  230. data/rbi/zavudev/models/senders/whats_app_sync_history.rbi +117 -0
  231. data/rbi/zavudev/models/senders/whats_app_sync_status.rbi +126 -0
  232. data/rbi/zavudev/models/senders/whatsapp_sync_retrieve_params.rbi +40 -0
  233. data/rbi/zavudev/models/senders/whatsapp_sync_retrieve_response.rbi +39 -0
  234. data/rbi/zavudev/models/senders/whatsapp_sync_start_contacts_sync_params.rbi +40 -0
  235. data/rbi/zavudev/models/senders/whatsapp_sync_start_contacts_sync_response.rbi +50 -0
  236. data/rbi/zavudev/models/senders/whatsapp_sync_start_history_sync_params.rbi +40 -0
  237. data/rbi/zavudev/models/senders/whatsapp_sync_start_history_sync_response.rbi +50 -0
  238. data/rbi/zavudev/models/sub_account.rbi +111 -0
  239. data/rbi/zavudev/models/sub_account_create_params.rbi +76 -0
  240. data/rbi/zavudev/models/sub_account_create_response.rbi +33 -0
  241. data/rbi/zavudev/models/sub_account_deactivate_params.rbi +35 -0
  242. data/rbi/zavudev/models/sub_account_deactivate_response.rbi +36 -0
  243. data/rbi/zavudev/models/sub_account_get_balance_params.rbi +35 -0
  244. data/rbi/zavudev/models/sub_account_get_balance_response.rbi +73 -0
  245. data/rbi/zavudev/models/sub_account_list_params.rbi +49 -0
  246. data/rbi/zavudev/models/sub_account_retrieve_params.rbi +35 -0
  247. data/rbi/zavudev/models/sub_account_retrieve_response.rbi +33 -0
  248. data/rbi/zavudev/models/sub_account_update_params.rbi +113 -0
  249. data/rbi/zavudev/models/sub_account_update_response.rbi +33 -0
  250. data/rbi/zavudev/models/sub_accounts/api_key_create_params.rbi +117 -0
  251. data/rbi/zavudev/models/sub_accounts/api_key_create_response.rbi +136 -0
  252. data/rbi/zavudev/models/sub_accounts/api_key_list_params.rbi +40 -0
  253. data/rbi/zavudev/models/sub_accounts/api_key_list_response.rbi +177 -0
  254. data/rbi/zavudev/models/sub_accounts/api_key_revoke_params.rbi +48 -0
  255. data/rbi/zavudev/models/template.rbi +13 -0
  256. data/rbi/zavudev/models/template_create_params.rbi +91 -0
  257. data/rbi/zavudev/models/url_list_verified_params.rbi +97 -0
  258. data/rbi/zavudev/models/url_retrieve_details_params.rbi +35 -0
  259. data/rbi/zavudev/models/url_retrieve_details_response.rbi +31 -0
  260. data/rbi/zavudev/models/url_submit_for_verification_params.rbi +43 -0
  261. data/rbi/zavudev/models/url_submit_for_verification_response.rbi +31 -0
  262. data/rbi/zavudev/models/usage_retrieve_params.rbi +27 -0
  263. data/rbi/zavudev/models/usage_retrieve_response.rbi +150 -0
  264. data/rbi/zavudev/models/verified_url.rbi +133 -0
  265. data/rbi/zavudev/models.rbi +66 -0
  266. data/rbi/zavudev/resources/balance.rbi +22 -0
  267. data/rbi/zavudev/resources/broadcasts.rbi +22 -0
  268. data/rbi/zavudev/resources/contacts/channels.rbi +100 -0
  269. data/rbi/zavudev/resources/contacts.rbi +52 -0
  270. data/rbi/zavudev/resources/exports.rbi +62 -0
  271. data/rbi/zavudev/resources/invitations.rbi +83 -0
  272. data/rbi/zavudev/resources/number_10dlc/brands.rbi +198 -0
  273. data/rbi/zavudev/resources/number_10dlc/campaigns/phone_numbers.rbi +69 -0
  274. data/rbi/zavudev/resources/number_10dlc/campaigns.rbi +177 -0
  275. data/rbi/zavudev/resources/number_10dlc.rbi +18 -0
  276. data/rbi/zavudev/resources/plan.rbi +22 -0
  277. data/rbi/zavudev/resources/senders/agent/flows.rbi +4 -12
  278. data/rbi/zavudev/resources/senders/agent/tools.rbi +2 -4
  279. data/rbi/zavudev/resources/senders/whatsapp_sync.rbi +54 -0
  280. data/rbi/zavudev/resources/senders.rbi +3 -0
  281. data/rbi/zavudev/resources/sub_accounts/api_keys.rbi +66 -0
  282. data/rbi/zavudev/resources/sub_accounts.rbi +119 -0
  283. data/rbi/zavudev/resources/templates.rbi +9 -0
  284. data/rbi/zavudev/resources/urls.rbi +60 -0
  285. data/rbi/zavudev/resources/usage.rbi +22 -0
  286. data/sig/zavudev/client.rbs +16 -0
  287. data/sig/zavudev/models/balance_retrieve_params.rbs +15 -0
  288. data/sig/zavudev/models/balance_retrieve_response.rbs +42 -0
  289. data/sig/zavudev/models/broadcast_contact.rbs +9 -0
  290. data/sig/zavudev/models/broadcast_content.rbs +9 -0
  291. data/sig/zavudev/models/broadcast_escalate_review_params.rbs +23 -0
  292. data/sig/zavudev/models/broadcast_escalate_review_response.rbs +13 -0
  293. data/sig/zavudev/models/broadcast_retry_review_params.rbs +23 -0
  294. data/sig/zavudev/models/broadcast_retry_review_response.rbs +13 -0
  295. data/sig/zavudev/models/broadcasts/contact_add_params.rbs +13 -1
  296. data/sig/zavudev/models/contact.rbs +6 -153
  297. data/sig/zavudev/models/contact_channel.rbs +150 -0
  298. data/sig/zavudev/models/contact_create_params.rbs +97 -0
  299. data/sig/zavudev/models/contact_dismiss_merge_suggestion_params.rbs +23 -0
  300. data/sig/zavudev/models/contact_merge_params.rbs +28 -0
  301. data/sig/zavudev/models/contacts/channel_add_params.rbs +73 -0
  302. data/sig/zavudev/models/contacts/channel_add_response.rbs +15 -0
  303. data/sig/zavudev/models/contacts/channel_remove_params.rbs +30 -0
  304. data/sig/zavudev/models/contacts/channel_set_primary_params.rbs +30 -0
  305. data/sig/zavudev/models/contacts/channel_set_primary_response.rbs +15 -0
  306. data/sig/zavudev/models/contacts/channel_update_params.rbs +52 -0
  307. data/sig/zavudev/models/contacts/channel_update_response.rbs +15 -0
  308. data/sig/zavudev/models/data_export.rbs +102 -0
  309. data/sig/zavudev/models/export_create_params.rbs +59 -0
  310. data/sig/zavudev/models/export_create_response.rbs +13 -0
  311. data/sig/zavudev/models/export_list_params.rbs +57 -0
  312. data/sig/zavudev/models/export_retrieve_params.rbs +23 -0
  313. data/sig/zavudev/models/export_retrieve_response.rbs +13 -0
  314. data/sig/zavudev/models/invitation.rbs +104 -0
  315. data/sig/zavudev/models/invitation_cancel_params.rbs +23 -0
  316. data/sig/zavudev/models/invitation_cancel_response.rbs +13 -0
  317. data/sig/zavudev/models/invitation_create_params.rbs +63 -0
  318. data/sig/zavudev/models/invitation_create_response.rbs +13 -0
  319. data/sig/zavudev/models/invitation_list_params.rbs +58 -0
  320. data/sig/zavudev/models/invitation_retrieve_params.rbs +23 -0
  321. data/sig/zavudev/models/invitation_retrieve_response.rbs +13 -0
  322. data/sig/zavudev/models/message_content.rbs +66 -0
  323. data/sig/zavudev/models/message_type.rbs +2 -0
  324. data/sig/zavudev/models/number_10dlc/brand_create_params.rbs +141 -0
  325. data/sig/zavudev/models/number_10dlc/brand_create_response.rbs +15 -0
  326. data/sig/zavudev/models/number_10dlc/brand_delete_params.rbs +25 -0
  327. data/sig/zavudev/models/number_10dlc/brand_list_params.rbs +34 -0
  328. data/sig/zavudev/models/number_10dlc/brand_list_use_cases_params.rbs +17 -0
  329. data/sig/zavudev/models/number_10dlc/brand_list_use_cases_response.rbs +38 -0
  330. data/sig/zavudev/models/number_10dlc/brand_retrieve_params.rbs +25 -0
  331. data/sig/zavudev/models/number_10dlc/brand_retrieve_response.rbs +16 -0
  332. data/sig/zavudev/models/number_10dlc/brand_submit_params.rbs +25 -0
  333. data/sig/zavudev/models/number_10dlc/brand_submit_response.rbs +15 -0
  334. data/sig/zavudev/models/number_10dlc/brand_sync_status_params.rbs +25 -0
  335. data/sig/zavudev/models/number_10dlc/brand_sync_status_response.rbs +16 -0
  336. data/sig/zavudev/models/number_10dlc/brand_update_params.rbs +168 -0
  337. data/sig/zavudev/models/number_10dlc/brand_update_response.rbs +15 -0
  338. data/sig/zavudev/models/number_10dlc/campaign_create_params.rbs +128 -0
  339. data/sig/zavudev/models/number_10dlc/campaign_create_response.rbs +16 -0
  340. data/sig/zavudev/models/number_10dlc/campaign_delete_params.rbs +25 -0
  341. data/sig/zavudev/models/number_10dlc/campaign_list_params.rbs +40 -0
  342. data/sig/zavudev/models/number_10dlc/campaign_retrieve_params.rbs +25 -0
  343. data/sig/zavudev/models/number_10dlc/campaign_retrieve_response.rbs +16 -0
  344. data/sig/zavudev/models/number_10dlc/campaign_submit_params.rbs +25 -0
  345. data/sig/zavudev/models/number_10dlc/campaign_submit_response.rbs +16 -0
  346. data/sig/zavudev/models/number_10dlc/campaign_sync_status_params.rbs +25 -0
  347. data/sig/zavudev/models/number_10dlc/campaign_sync_status_response.rbs +16 -0
  348. data/sig/zavudev/models/number_10dlc/campaign_update_params.rbs +77 -0
  349. data/sig/zavudev/models/number_10dlc/campaign_update_response.rbs +16 -0
  350. data/sig/zavudev/models/number_10dlc/campaigns/phone_number_assign_params.rbs +32 -0
  351. data/sig/zavudev/models/number_10dlc/campaigns/phone_number_assign_response.rbs +24 -0
  352. data/sig/zavudev/models/number_10dlc/campaigns/phone_number_list_params.rbs +27 -0
  353. data/sig/zavudev/models/number_10dlc/campaigns/phone_number_list_response.rbs +29 -0
  354. data/sig/zavudev/models/number_10dlc/campaigns/phone_number_unassign_params.rbs +32 -0
  355. data/sig/zavudev/models/number_10dlc/campaigns/ten_dlc_phone_number_assignment.rbs +71 -0
  356. data/sig/zavudev/models/number_10dlc/ten_dlc_brand.rbs +179 -0
  357. data/sig/zavudev/models/number_10dlc/ten_dlc_campaign.rbs +175 -0
  358. data/sig/zavudev/models/plan_retrieve_params.rbs +15 -0
  359. data/sig/zavudev/models/plan_retrieve_response.rbs +158 -0
  360. data/sig/zavudev/models/senders/agent/agent_flow.rbs +8 -100
  361. data/sig/zavudev/models/senders/agent/agent_tool.rbs +4 -57
  362. data/sig/zavudev/models/senders/agent/flow_create_params.rbs +8 -100
  363. data/sig/zavudev/models/senders/agent/flow_step.rbs +55 -0
  364. data/sig/zavudev/models/senders/agent/flow_trigger.rbs +51 -0
  365. data/sig/zavudev/models/senders/agent/flow_update_params.rbs +12 -104
  366. data/sig/zavudev/models/senders/agent/tool_create_params.rbs +4 -57
  367. data/sig/zavudev/models/senders/agent/tool_parameters.rbs +60 -0
  368. data/sig/zavudev/models/senders/agent/tool_update_params.rbs +6 -59
  369. data/sig/zavudev/models/senders/whats_app_sync_contacts.rbs +45 -0
  370. data/sig/zavudev/models/senders/whats_app_sync_history.rbs +52 -0
  371. data/sig/zavudev/models/senders/whats_app_sync_status.rbs +56 -0
  372. data/sig/zavudev/models/senders/whatsapp_sync_retrieve_params.rbs +25 -0
  373. data/sig/zavudev/models/senders/whatsapp_sync_retrieve_response.rbs +16 -0
  374. data/sig/zavudev/models/senders/whatsapp_sync_start_contacts_sync_params.rbs +25 -0
  375. data/sig/zavudev/models/senders/whatsapp_sync_start_contacts_sync_response.rbs +24 -0
  376. data/sig/zavudev/models/senders/whatsapp_sync_start_history_sync_params.rbs +25 -0
  377. data/sig/zavudev/models/senders/whatsapp_sync_start_history_sync_response.rbs +24 -0
  378. data/sig/zavudev/models/sub_account.rbs +73 -0
  379. data/sig/zavudev/models/sub_account_create_params.rbs +47 -0
  380. data/sig/zavudev/models/sub_account_create_response.rbs +13 -0
  381. data/sig/zavudev/models/sub_account_deactivate_params.rbs +20 -0
  382. data/sig/zavudev/models/sub_account_deactivate_response.rbs +16 -0
  383. data/sig/zavudev/models/sub_account_get_balance_params.rbs +20 -0
  384. data/sig/zavudev/models/sub_account_get_balance_response.rbs +42 -0
  385. data/sig/zavudev/models/sub_account_list_params.rbs +32 -0
  386. data/sig/zavudev/models/sub_account_retrieve_params.rbs +20 -0
  387. data/sig/zavudev/models/sub_account_retrieve_response.rbs +13 -0
  388. data/sig/zavudev/models/sub_account_update_params.rbs +72 -0
  389. data/sig/zavudev/models/sub_account_update_response.rbs +13 -0
  390. data/sig/zavudev/models/sub_accounts/api_key_create_params.rbs +60 -0
  391. data/sig/zavudev/models/sub_accounts/api_key_create_response.rbs +63 -0
  392. data/sig/zavudev/models/sub_accounts/api_key_list_params.rbs +22 -0
  393. data/sig/zavudev/models/sub_accounts/api_key_list_response.rbs +94 -0
  394. data/sig/zavudev/models/sub_accounts/api_key_revoke_params.rbs +30 -0
  395. data/sig/zavudev/models/template.rbs +7 -0
  396. data/sig/zavudev/models/template_create_params.rbs +43 -0
  397. data/sig/zavudev/models/url_list_verified_params.rbs +57 -0
  398. data/sig/zavudev/models/url_retrieve_details_params.rbs +23 -0
  399. data/sig/zavudev/models/url_retrieve_details_response.rbs +13 -0
  400. data/sig/zavudev/models/url_submit_for_verification_params.rbs +20 -0
  401. data/sig/zavudev/models/url_submit_for_verification_response.rbs +13 -0
  402. data/sig/zavudev/models/usage_retrieve_params.rbs +15 -0
  403. data/sig/zavudev/models/usage_retrieve_response.rbs +69 -0
  404. data/sig/zavudev/models/verified_url.rbs +80 -0
  405. data/sig/zavudev/models.rbs +64 -0
  406. data/sig/zavudev/resources/balance.rbs +11 -0
  407. data/sig/zavudev/resources/broadcasts.rbs +10 -0
  408. data/sig/zavudev/resources/contacts/channels.rbs +40 -0
  409. data/sig/zavudev/resources/contacts.rbs +20 -0
  410. data/sig/zavudev/resources/exports.rbs +26 -0
  411. data/sig/zavudev/resources/invitations.rbs +34 -0
  412. data/sig/zavudev/resources/number_10dlc/brands.rbs +82 -0
  413. data/sig/zavudev/resources/number_10dlc/campaigns/phone_numbers.rbs +28 -0
  414. data/sig/zavudev/resources/number_10dlc/campaigns.rbs +73 -0
  415. data/sig/zavudev/resources/number_10dlc.rbs +11 -0
  416. data/sig/zavudev/resources/plan.rbs +11 -0
  417. data/sig/zavudev/resources/senders/agent/flows.rbs +4 -4
  418. data/sig/zavudev/resources/senders/agent/tools.rbs +2 -2
  419. data/sig/zavudev/resources/senders/whatsapp_sync.rbs +24 -0
  420. data/sig/zavudev/resources/senders.rbs +2 -0
  421. data/sig/zavudev/resources/sub_accounts/api_keys.rbs +28 -0
  422. data/sig/zavudev/resources/sub_accounts.rbs +48 -0
  423. data/sig/zavudev/resources/templates.rbs +3 -0
  424. data/sig/zavudev/resources/urls.rbs +24 -0
  425. data/sig/zavudev/resources/usage.rbs +11 -0
  426. metadata +356 -2
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::URLs#submit_for_verification
6
+ class URLSubmitForVerificationParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute url
11
+ # The URL to submit for verification.
12
+ #
13
+ # @return [String]
14
+ required :url, String
15
+
16
+ # @!method initialize(url:, request_options: {})
17
+ # @param url [String] The URL to submit for verification.
18
+ #
19
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::URLs#submit_for_verification
6
+ class URLSubmitForVerificationResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute url
8
+ #
9
+ # @return [Zavudev::Models::VerifiedURL]
10
+ required :url, -> { Zavudev::VerifiedURL }
11
+
12
+ # @!method initialize(url:)
13
+ # @param url [Zavudev::Models::VerifiedURL]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Usage#retrieve
6
+ class UsageRetrieveParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Usage#retrieve
6
+ class UsageRetrieveResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute emails_sent
8
+ # Emails sent this month.
9
+ #
10
+ # @return [Integer]
11
+ required :emails_sent, Integer, api_name: :emailsSent
12
+
13
+ # @!attribute limits
14
+ #
15
+ # @return [Zavudev::Models::UsageRetrieveResponse::Limits]
16
+ required :limits, -> { Zavudev::Models::UsageRetrieveResponse::Limits }
17
+
18
+ # @!attribute messages_a2_p
19
+ # A2P messages sent this month (WhatsApp replies + Telegram).
20
+ #
21
+ # @return [Integer]
22
+ required :messages_a2_p, Integer, api_name: :messagesA2P
23
+
24
+ # @!attribute month_key
25
+ # Current month in YYYY-MM format.
26
+ #
27
+ # @return [String]
28
+ required :month_key, String, api_name: :monthKey
29
+
30
+ # @!attribute tier
31
+ #
32
+ # @return [Symbol, Zavudev::Models::UsageRetrieveResponse::Tier]
33
+ required :tier, enum: -> { Zavudev::Models::UsageRetrieveResponse::Tier }
34
+
35
+ # @!method initialize(emails_sent:, limits:, messages_a2_p:, month_key:, tier:)
36
+ # @param emails_sent [Integer] Emails sent this month.
37
+ #
38
+ # @param limits [Zavudev::Models::UsageRetrieveResponse::Limits]
39
+ #
40
+ # @param messages_a2_p [Integer] A2P messages sent this month (WhatsApp replies + Telegram).
41
+ #
42
+ # @param month_key [String] Current month in YYYY-MM format.
43
+ #
44
+ # @param tier [Symbol, Zavudev::Models::UsageRetrieveResponse::Tier]
45
+
46
+ # @see Zavudev::Models::UsageRetrieveResponse#limits
47
+ class Limits < Zavudev::Internal::Type::BaseModel
48
+ # @!attribute emails
49
+ #
50
+ # @return [Integer, nil]
51
+ optional :emails, Integer
52
+
53
+ # @!attribute messages_a2_p
54
+ #
55
+ # @return [Integer, nil]
56
+ optional :messages_a2_p, Integer, api_name: :messagesA2P
57
+
58
+ # @!method initialize(emails: nil, messages_a2_p: nil)
59
+ # @param emails [Integer]
60
+ # @param messages_a2_p [Integer]
61
+ end
62
+
63
+ # @see Zavudev::Models::UsageRetrieveResponse#tier
64
+ module Tier
65
+ extend Zavudev::Internal::Type::Enum
66
+
67
+ FREE = :free
68
+ PRO = :pro
69
+ SCALE = :scale
70
+ ENTERPRISE = :enterprise
71
+
72
+ # @!method self.values
73
+ # @return [Array<Symbol>]
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::URLs#list_verified
6
+ class VerifiedURL < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute created_at
13
+ #
14
+ # @return [Time]
15
+ required :created_at, Time, api_name: :createdAt
16
+
17
+ # @!attribute domain
18
+ # Domain extracted from the URL.
19
+ #
20
+ # @return [String]
21
+ required :domain, String
22
+
23
+ # @!attribute status
24
+ # Status of a verified URL.
25
+ #
26
+ # @return [Symbol, Zavudev::Models::VerifiedURL::Status]
27
+ required :status, enum: -> { Zavudev::VerifiedURL::Status }
28
+
29
+ # @!attribute url
30
+ # The verified URL.
31
+ #
32
+ # @return [String]
33
+ required :url, String
34
+
35
+ # @!attribute approval_type
36
+ # How the URL was approved or rejected.
37
+ #
38
+ # @return [Symbol, Zavudev::Models::VerifiedURL::ApprovalType, nil]
39
+ optional :approval_type, enum: -> { Zavudev::VerifiedURL::ApprovalType }, api_name: :approvalType
40
+
41
+ # @!attribute updated_at
42
+ #
43
+ # @return [Time, nil]
44
+ optional :updated_at, Time, api_name: :updatedAt
45
+
46
+ # @!method initialize(id:, created_at:, domain:, status:, url:, approval_type: nil, updated_at: nil)
47
+ # @param id [String]
48
+ #
49
+ # @param created_at [Time]
50
+ #
51
+ # @param domain [String] Domain extracted from the URL.
52
+ #
53
+ # @param status [Symbol, Zavudev::Models::VerifiedURL::Status] Status of a verified URL.
54
+ #
55
+ # @param url [String] The verified URL.
56
+ #
57
+ # @param approval_type [Symbol, Zavudev::Models::VerifiedURL::ApprovalType] How the URL was approved or rejected.
58
+ #
59
+ # @param updated_at [Time]
60
+
61
+ # Status of a verified URL.
62
+ #
63
+ # @see Zavudev::Models::VerifiedURL#status
64
+ module Status
65
+ extend Zavudev::Internal::Type::Enum
66
+
67
+ PENDING = :pending
68
+ APPROVED = :approved
69
+ REJECTED = :rejected
70
+ MALICIOUS = :malicious
71
+
72
+ # @!method self.values
73
+ # @return [Array<Symbol>]
74
+ end
75
+
76
+ # How the URL was approved or rejected.
77
+ #
78
+ # @see Zavudev::Models::VerifiedURL#approval_type
79
+ module ApprovalType
80
+ extend Zavudev::Internal::Type::Enum
81
+
82
+ MANUAL = :manual
83
+ AUTO_WEB_RISK = :auto_web_risk
84
+
85
+ # @!method self.values
86
+ # @return [Array<Symbol>]
87
+ end
88
+ end
89
+ end
90
+ end
@@ -53,6 +53,8 @@ module Zavudev
53
53
 
54
54
  AvailablePhoneNumber = Zavudev::Models::AvailablePhoneNumber
55
55
 
56
+ BalanceRetrieveParams = Zavudev::Models::BalanceRetrieveParams
57
+
56
58
  Broadcast = Zavudev::Models::Broadcast
57
59
 
58
60
  BroadcastCancelParams = Zavudev::Models::BroadcastCancelParams
@@ -69,6 +71,8 @@ module Zavudev
69
71
 
70
72
  BroadcastDeleteParams = Zavudev::Models::BroadcastDeleteParams
71
73
 
74
+ BroadcastEscalateReviewParams = Zavudev::Models::BroadcastEscalateReviewParams
75
+
72
76
  BroadcastListParams = Zavudev::Models::BroadcastListParams
73
77
 
74
78
  BroadcastMessageType = Zavudev::Models::BroadcastMessageType
@@ -81,6 +85,8 @@ module Zavudev
81
85
 
82
86
  BroadcastRetrieveParams = Zavudev::Models::BroadcastRetrieveParams
83
87
 
88
+ BroadcastRetryReviewParams = Zavudev::Models::BroadcastRetryReviewParams
89
+
84
90
  Broadcasts = Zavudev::Models::Broadcasts
85
91
 
86
92
  BroadcastSendParams = Zavudev::Models::BroadcastSendParams
@@ -93,16 +99,44 @@ module Zavudev
93
99
 
94
100
  Contact = Zavudev::Models::Contact
95
101
 
102
+ ContactChannel = Zavudev::Models::ContactChannel
103
+
104
+ ContactCreateParams = Zavudev::Models::ContactCreateParams
105
+
106
+ ContactDismissMergeSuggestionParams = Zavudev::Models::ContactDismissMergeSuggestionParams
107
+
96
108
  ContactListParams = Zavudev::Models::ContactListParams
97
109
 
110
+ ContactMergeParams = Zavudev::Models::ContactMergeParams
111
+
98
112
  ContactRetrieveByPhoneParams = Zavudev::Models::ContactRetrieveByPhoneParams
99
113
 
100
114
  ContactRetrieveParams = Zavudev::Models::ContactRetrieveParams
101
115
 
116
+ Contacts = Zavudev::Models::Contacts
117
+
102
118
  ContactUpdateParams = Zavudev::Models::ContactUpdateParams
103
119
 
120
+ DataExport = Zavudev::Models::DataExport
121
+
122
+ ExportCreateParams = Zavudev::Models::ExportCreateParams
123
+
124
+ ExportListParams = Zavudev::Models::ExportListParams
125
+
126
+ ExportRetrieveParams = Zavudev::Models::ExportRetrieveParams
127
+
104
128
  IntrospectValidatePhoneParams = Zavudev::Models::IntrospectValidatePhoneParams
105
129
 
130
+ Invitation = Zavudev::Models::Invitation
131
+
132
+ InvitationCancelParams = Zavudev::Models::InvitationCancelParams
133
+
134
+ InvitationCreateParams = Zavudev::Models::InvitationCreateParams
135
+
136
+ InvitationListParams = Zavudev::Models::InvitationListParams
137
+
138
+ InvitationRetrieveParams = Zavudev::Models::InvitationRetrieveParams
139
+
106
140
  LineType = Zavudev::Models::LineType
107
141
 
108
142
  Message = Zavudev::Models::Message
@@ -123,6 +157,8 @@ module Zavudev
123
157
 
124
158
  MessageType = Zavudev::Models::MessageType
125
159
 
160
+ Number10dlc = Zavudev::Models::Number10dlc
161
+
126
162
  OwnedPhoneNumber = Zavudev::Models::OwnedPhoneNumber
127
163
 
128
164
  OwnedPhoneNumberPricing = Zavudev::Models::OwnedPhoneNumberPricing
@@ -149,6 +185,8 @@ module Zavudev
149
185
 
150
186
  PhoneNumberUpdateParams = Zavudev::Models::PhoneNumberUpdateParams
151
187
 
188
+ PlanRetrieveParams = Zavudev::Models::PlanRetrieveParams
189
+
152
190
  RegulatoryDocument = Zavudev::Models::RegulatoryDocument
153
191
 
154
192
  RegulatoryDocumentCreateParams = Zavudev::Models::RegulatoryDocumentCreateParams
@@ -193,6 +231,22 @@ module Zavudev
193
231
 
194
232
  SenderWebhook = Zavudev::Models::SenderWebhook
195
233
 
234
+ SubAccount = Zavudev::Models::SubAccount
235
+
236
+ SubAccountCreateParams = Zavudev::Models::SubAccountCreateParams
237
+
238
+ SubAccountDeactivateParams = Zavudev::Models::SubAccountDeactivateParams
239
+
240
+ SubAccountGetBalanceParams = Zavudev::Models::SubAccountGetBalanceParams
241
+
242
+ SubAccountListParams = Zavudev::Models::SubAccountListParams
243
+
244
+ SubAccountRetrieveParams = Zavudev::Models::SubAccountRetrieveParams
245
+
246
+ SubAccounts = Zavudev::Models::SubAccounts
247
+
248
+ SubAccountUpdateParams = Zavudev::Models::SubAccountUpdateParams
249
+
196
250
  Template = Zavudev::Models::Template
197
251
 
198
252
  TemplateCreateParams = Zavudev::Models::TemplateCreateParams
@@ -205,6 +259,16 @@ module Zavudev
205
259
 
206
260
  TemplateSubmitParams = Zavudev::Models::TemplateSubmitParams
207
261
 
262
+ URLListVerifiedParams = Zavudev::Models::URLListVerifiedParams
263
+
264
+ URLRetrieveDetailsParams = Zavudev::Models::URLRetrieveDetailsParams
265
+
266
+ URLSubmitForVerificationParams = Zavudev::Models::URLSubmitForVerificationParams
267
+
268
+ UsageRetrieveParams = Zavudev::Models::UsageRetrieveParams
269
+
270
+ VerifiedURL = Zavudev::Models::VerifiedURL
271
+
208
272
  WebhookEvent = Zavudev::Models::WebhookEvent
209
273
 
210
274
  WebhookSecretResponse = Zavudev::Models::WebhookSecretResponse
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Balance
6
+ # Get balance for the API key's team. If the API key belongs to a sub-account,
7
+ # also includes the sub-account's total spending and credit limit.
8
+ #
9
+ # @overload retrieve(request_options: {})
10
+ #
11
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
12
+ #
13
+ # @return [Zavudev::Models::BalanceRetrieveResponse]
14
+ #
15
+ # @see Zavudev::Models::BalanceRetrieveParams
16
+ def retrieve(params = {})
17
+ @client.request(
18
+ method: :get,
19
+ path: "v1/balance",
20
+ model: Zavudev::Models::BalanceRetrieveResponse,
21
+ options: params[:request_options]
22
+ )
23
+ end
24
+
25
+ # @api private
26
+ #
27
+ # @param client [Zavudev::Client]
28
+ def initialize(client:)
29
+ @client = client
30
+ end
31
+ end
32
+ end
33
+ end
@@ -168,6 +168,26 @@ module Zavudev
168
168
  )
169
169
  end
170
170
 
171
+ # Request manual review by the Zavu team for a rejected broadcast. Use this after
172
+ # automated review rejection if you believe the content is legitimate.
173
+ #
174
+ # @overload escalate_review(broadcast_id, request_options: {})
175
+ #
176
+ # @param broadcast_id [String]
177
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
178
+ #
179
+ # @return [Zavudev::Models::BroadcastEscalateReviewResponse]
180
+ #
181
+ # @see Zavudev::Models::BroadcastEscalateReviewParams
182
+ def escalate_review(broadcast_id, params = {})
183
+ @client.request(
184
+ method: :post,
185
+ path: ["v1/broadcasts/%1$s/escalate", broadcast_id],
186
+ model: Zavudev::Models::BroadcastEscalateReviewResponse,
187
+ options: params[:request_options]
188
+ )
189
+ end
190
+
171
191
  # Get real-time progress of a broadcast including delivery counts and estimated
172
192
  # completion time.
173
193
  #
@@ -213,6 +233,26 @@ module Zavudev
213
233
  )
214
234
  end
215
235
 
236
+ # Resubmit a rejected broadcast for AI review after editing content. Maximum 3
237
+ # review attempts allowed per broadcast.
238
+ #
239
+ # @overload retry_review(broadcast_id, request_options: {})
240
+ #
241
+ # @param broadcast_id [String]
242
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
243
+ #
244
+ # @return [Zavudev::Models::BroadcastRetryReviewResponse]
245
+ #
246
+ # @see Zavudev::Models::BroadcastRetryReviewParams
247
+ def retry_review(broadcast_id, params = {})
248
+ @client.request(
249
+ method: :post,
250
+ path: ["v1/broadcasts/%1$s/retry-review", broadcast_id],
251
+ model: Zavudev::Models::BroadcastRetryReviewResponse,
252
+ options: params[:request_options]
253
+ )
254
+ end
255
+
216
256
  # Start sending the broadcast immediately or schedule for later. Broadcasts go
217
257
  # through automated AI content review before sending. If the review passes, the
218
258
  # broadcast proceeds. If rejected, use PATCH to edit content, then call POST
@@ -0,0 +1,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Contacts
6
+ class Channels
7
+ # Update a contact's channel properties.
8
+ #
9
+ # @overload update(channel_id, contact_id:, label: nil, metadata: nil, verified: nil, request_options: {})
10
+ #
11
+ # @param channel_id [String] Path param: Channel ID.
12
+ #
13
+ # @param contact_id [String] Path param
14
+ #
15
+ # @param label [String, nil] Body param: Optional label for the channel. Set to null to clear.
16
+ #
17
+ # @param metadata [Hash{Symbol=>String}] Body param
18
+ #
19
+ # @param verified [Boolean] Body param: Whether the channel is verified.
20
+ #
21
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [Zavudev::Models::Contacts::ChannelUpdateResponse]
24
+ #
25
+ # @see Zavudev::Models::Contacts::ChannelUpdateParams
26
+ def update(channel_id, params)
27
+ parsed, options = Zavudev::Contacts::ChannelUpdateParams.dump_request(params)
28
+ contact_id =
29
+ parsed.delete(:contact_id) do
30
+ raise ArgumentError.new("missing required path argument #{_1}")
31
+ end
32
+ @client.request(
33
+ method: :patch,
34
+ path: ["v1/contacts/%1$s/channels/%2$s", contact_id, channel_id],
35
+ body: parsed,
36
+ model: Zavudev::Models::Contacts::ChannelUpdateResponse,
37
+ options: options
38
+ )
39
+ end
40
+
41
+ # Add a new communication channel to an existing contact.
42
+ #
43
+ # @overload add(contact_id, channel:, identifier:, country_code: nil, is_primary: nil, label: nil, request_options: {})
44
+ #
45
+ # @param contact_id [String]
46
+ #
47
+ # @param channel [Symbol, Zavudev::Models::Contacts::ChannelAddParams::Channel] Channel type.
48
+ #
49
+ # @param identifier [String] Channel identifier (phone number in E.164 format or email address).
50
+ #
51
+ # @param country_code [String] ISO country code for phone numbers.
52
+ #
53
+ # @param is_primary [Boolean] Whether this should be the primary channel for its type.
54
+ #
55
+ # @param label [String] Optional label for the channel.
56
+ #
57
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
58
+ #
59
+ # @return [Zavudev::Models::Contacts::ChannelAddResponse]
60
+ #
61
+ # @see Zavudev::Models::Contacts::ChannelAddParams
62
+ def add(contact_id, params)
63
+ parsed, options = Zavudev::Contacts::ChannelAddParams.dump_request(params)
64
+ @client.request(
65
+ method: :post,
66
+ path: ["v1/contacts/%1$s/channels", contact_id],
67
+ body: parsed,
68
+ model: Zavudev::Models::Contacts::ChannelAddResponse,
69
+ options: options
70
+ )
71
+ end
72
+
73
+ # Remove a communication channel from a contact. Cannot remove the last channel.
74
+ #
75
+ # @overload remove(channel_id, contact_id:, request_options: {})
76
+ #
77
+ # @param channel_id [String] Channel ID.
78
+ #
79
+ # @param contact_id [String]
80
+ #
81
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
82
+ #
83
+ # @return [nil]
84
+ #
85
+ # @see Zavudev::Models::Contacts::ChannelRemoveParams
86
+ def remove(channel_id, params)
87
+ parsed, options = Zavudev::Contacts::ChannelRemoveParams.dump_request(params)
88
+ contact_id =
89
+ parsed.delete(:contact_id) do
90
+ raise ArgumentError.new("missing required path argument #{_1}")
91
+ end
92
+ @client.request(
93
+ method: :delete,
94
+ path: ["v1/contacts/%1$s/channels/%2$s", contact_id, channel_id],
95
+ model: NilClass,
96
+ options: options
97
+ )
98
+ end
99
+
100
+ # Set a channel as the primary channel for its type.
101
+ #
102
+ # @overload set_primary(channel_id, contact_id:, request_options: {})
103
+ #
104
+ # @param channel_id [String] Channel ID.
105
+ #
106
+ # @param contact_id [String]
107
+ #
108
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
109
+ #
110
+ # @return [Zavudev::Models::Contacts::ChannelSetPrimaryResponse]
111
+ #
112
+ # @see Zavudev::Models::Contacts::ChannelSetPrimaryParams
113
+ def set_primary(channel_id, params)
114
+ parsed, options = Zavudev::Contacts::ChannelSetPrimaryParams.dump_request(params)
115
+ contact_id =
116
+ parsed.delete(:contact_id) do
117
+ raise ArgumentError.new("missing required path argument #{_1}")
118
+ end
119
+ @client.request(
120
+ method: :post,
121
+ path: ["v1/contacts/%1$s/channels/%2$s/primary", contact_id, channel_id],
122
+ model: Zavudev::Models::Contacts::ChannelSetPrimaryResponse,
123
+ options: options
124
+ )
125
+ end
126
+
127
+ # @api private
128
+ #
129
+ # @param client [Zavudev::Client]
130
+ def initialize(client:)
131
+ @client = client
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -3,6 +3,35 @@
3
3
  module Zavudev
4
4
  module Resources
5
5
  class Contacts
6
+ # @return [Zavudev::Resources::Contacts::Channels]
7
+ attr_reader :channels
8
+
9
+ # Create a new contact with one or more communication channels.
10
+ #
11
+ # @overload create(channels:, display_name: nil, metadata: nil, request_options: {})
12
+ #
13
+ # @param channels [Array<Zavudev::Models::ContactCreateParams::Channel>] Communication channels for the contact.
14
+ #
15
+ # @param display_name [String] Display name for the contact.
16
+ #
17
+ # @param metadata [Hash{Symbol=>String}] Arbitrary metadata to associate with the contact.
18
+ #
19
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
20
+ #
21
+ # @return [Zavudev::Models::Contact]
22
+ #
23
+ # @see Zavudev::Models::ContactCreateParams
24
+ def create(params)
25
+ parsed, options = Zavudev::ContactCreateParams.dump_request(params)
26
+ @client.request(
27
+ method: :post,
28
+ path: "v1/contacts",
29
+ body: parsed,
30
+ model: Zavudev::Contact,
31
+ options: options
32
+ )
33
+ end
34
+
6
35
  # Get contact
7
36
  #
8
37
  # @overload retrieve(contact_id, request_options: {})
@@ -73,6 +102,54 @@ module Zavudev
73
102
  )
74
103
  end
75
104
 
105
+ # Dismiss the merge suggestion for a contact.
106
+ #
107
+ # @overload dismiss_merge_suggestion(contact_id, request_options: {})
108
+ #
109
+ # @param contact_id [String]
110
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
111
+ #
112
+ # @return [nil]
113
+ #
114
+ # @see Zavudev::Models::ContactDismissMergeSuggestionParams
115
+ def dismiss_merge_suggestion(contact_id, params = {})
116
+ @client.request(
117
+ method: :delete,
118
+ path: ["v1/contacts/%1$s/merge-suggestion", contact_id],
119
+ model: NilClass,
120
+ options: params[:request_options]
121
+ )
122
+ end
123
+
124
+ # Some parameter documentations has been truncated, see
125
+ # {Zavudev::Models::ContactMergeParams} for more details.
126
+ #
127
+ # Merge a source contact into this contact. All channels from the source contact
128
+ # will be moved to the target contact, and the source contact will be marked as
129
+ # merged.
130
+ #
131
+ # @overload merge(contact_id, source_contact_id:, request_options: {})
132
+ #
133
+ # @param contact_id [String]
134
+ #
135
+ # @param source_contact_id [String] ID of the contact to merge into the target contact. The source contact will be m
136
+ #
137
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
138
+ #
139
+ # @return [Zavudev::Models::Contact]
140
+ #
141
+ # @see Zavudev::Models::ContactMergeParams
142
+ def merge(contact_id, params)
143
+ parsed, options = Zavudev::ContactMergeParams.dump_request(params)
144
+ @client.request(
145
+ method: :post,
146
+ path: ["v1/contacts/%1$s/merge", contact_id],
147
+ body: parsed,
148
+ model: Zavudev::Contact,
149
+ options: options
150
+ )
151
+ end
152
+
76
153
  # Get contact by phone number
77
154
  #
78
155
  # @overload retrieve_by_phone(phone_number, request_options: {})
@@ -98,6 +175,7 @@ module Zavudev
98
175
  # @param client [Zavudev::Client]
99
176
  def initialize(client:)
100
177
  @client = client
178
+ @channels = Zavudev::Resources::Contacts::Channels.new(client: client)
101
179
  end
102
180
  end
103
181
  end