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,133 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Models
5
+ class VerifiedURL < Zavudev::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Zavudev::VerifiedURL, Zavudev::Internal::AnyHash) }
8
+
9
+ sig { returns(String) }
10
+ attr_accessor :id
11
+
12
+ sig { returns(Time) }
13
+ attr_accessor :created_at
14
+
15
+ # Domain extracted from the URL.
16
+ sig { returns(String) }
17
+ attr_accessor :domain
18
+
19
+ # Status of a verified URL.
20
+ sig { returns(Zavudev::VerifiedURL::Status::TaggedSymbol) }
21
+ attr_accessor :status
22
+
23
+ # The verified URL.
24
+ sig { returns(String) }
25
+ attr_accessor :url
26
+
27
+ # How the URL was approved or rejected.
28
+ sig do
29
+ returns(T.nilable(Zavudev::VerifiedURL::ApprovalType::TaggedSymbol))
30
+ end
31
+ attr_reader :approval_type
32
+
33
+ sig do
34
+ params(approval_type: Zavudev::VerifiedURL::ApprovalType::OrSymbol).void
35
+ end
36
+ attr_writer :approval_type
37
+
38
+ sig { returns(T.nilable(Time)) }
39
+ attr_reader :updated_at
40
+
41
+ sig { params(updated_at: Time).void }
42
+ attr_writer :updated_at
43
+
44
+ sig do
45
+ params(
46
+ id: String,
47
+ created_at: Time,
48
+ domain: String,
49
+ status: Zavudev::VerifiedURL::Status::OrSymbol,
50
+ url: String,
51
+ approval_type: Zavudev::VerifiedURL::ApprovalType::OrSymbol,
52
+ updated_at: Time
53
+ ).returns(T.attached_class)
54
+ end
55
+ def self.new(
56
+ id:,
57
+ created_at:,
58
+ # Domain extracted from the URL.
59
+ domain:,
60
+ # Status of a verified URL.
61
+ status:,
62
+ # The verified URL.
63
+ url:,
64
+ # How the URL was approved or rejected.
65
+ approval_type: nil,
66
+ updated_at: nil
67
+ )
68
+ end
69
+
70
+ sig do
71
+ override.returns(
72
+ {
73
+ id: String,
74
+ created_at: Time,
75
+ domain: String,
76
+ status: Zavudev::VerifiedURL::Status::TaggedSymbol,
77
+ url: String,
78
+ approval_type: Zavudev::VerifiedURL::ApprovalType::TaggedSymbol,
79
+ updated_at: Time
80
+ }
81
+ )
82
+ end
83
+ def to_hash
84
+ end
85
+
86
+ # Status of a verified URL.
87
+ module Status
88
+ extend Zavudev::Internal::Type::Enum
89
+
90
+ TaggedSymbol =
91
+ T.type_alias { T.all(Symbol, Zavudev::VerifiedURL::Status) }
92
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
93
+
94
+ PENDING = T.let(:pending, Zavudev::VerifiedURL::Status::TaggedSymbol)
95
+ APPROVED = T.let(:approved, Zavudev::VerifiedURL::Status::TaggedSymbol)
96
+ REJECTED = T.let(:rejected, Zavudev::VerifiedURL::Status::TaggedSymbol)
97
+ MALICIOUS =
98
+ T.let(:malicious, Zavudev::VerifiedURL::Status::TaggedSymbol)
99
+
100
+ sig do
101
+ override.returns(T::Array[Zavudev::VerifiedURL::Status::TaggedSymbol])
102
+ end
103
+ def self.values
104
+ end
105
+ end
106
+
107
+ # How the URL was approved or rejected.
108
+ module ApprovalType
109
+ extend Zavudev::Internal::Type::Enum
110
+
111
+ TaggedSymbol =
112
+ T.type_alias { T.all(Symbol, Zavudev::VerifiedURL::ApprovalType) }
113
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
114
+
115
+ MANUAL =
116
+ T.let(:manual, Zavudev::VerifiedURL::ApprovalType::TaggedSymbol)
117
+ AUTO_WEB_RISK =
118
+ T.let(
119
+ :auto_web_risk,
120
+ Zavudev::VerifiedURL::ApprovalType::TaggedSymbol
121
+ )
122
+
123
+ sig do
124
+ override.returns(
125
+ T::Array[Zavudev::VerifiedURL::ApprovalType::TaggedSymbol]
126
+ )
127
+ end
128
+ def self.values
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
@@ -15,6 +15,8 @@ module Zavudev
15
15
 
16
16
  AvailablePhoneNumber = Zavudev::Models::AvailablePhoneNumber
17
17
 
18
+ BalanceRetrieveParams = Zavudev::Models::BalanceRetrieveParams
19
+
18
20
  Broadcast = Zavudev::Models::Broadcast
19
21
 
20
22
  BroadcastCancelParams = Zavudev::Models::BroadcastCancelParams
@@ -31,6 +33,8 @@ module Zavudev
31
33
 
32
34
  BroadcastDeleteParams = Zavudev::Models::BroadcastDeleteParams
33
35
 
36
+ BroadcastEscalateReviewParams = Zavudev::Models::BroadcastEscalateReviewParams
37
+
34
38
  BroadcastListParams = Zavudev::Models::BroadcastListParams
35
39
 
36
40
  BroadcastMessageType = Zavudev::Models::BroadcastMessageType
@@ -43,6 +47,8 @@ module Zavudev
43
47
 
44
48
  BroadcastRetrieveParams = Zavudev::Models::BroadcastRetrieveParams
45
49
 
50
+ BroadcastRetryReviewParams = Zavudev::Models::BroadcastRetryReviewParams
51
+
46
52
  Broadcasts = Zavudev::Models::Broadcasts
47
53
 
48
54
  BroadcastSendParams = Zavudev::Models::BroadcastSendParams
@@ -55,16 +61,45 @@ module Zavudev
55
61
 
56
62
  Contact = Zavudev::Models::Contact
57
63
 
64
+ ContactChannel = Zavudev::Models::ContactChannel
65
+
66
+ ContactCreateParams = Zavudev::Models::ContactCreateParams
67
+
68
+ ContactDismissMergeSuggestionParams =
69
+ Zavudev::Models::ContactDismissMergeSuggestionParams
70
+
58
71
  ContactListParams = Zavudev::Models::ContactListParams
59
72
 
73
+ ContactMergeParams = Zavudev::Models::ContactMergeParams
74
+
60
75
  ContactRetrieveByPhoneParams = Zavudev::Models::ContactRetrieveByPhoneParams
61
76
 
62
77
  ContactRetrieveParams = Zavudev::Models::ContactRetrieveParams
63
78
 
79
+ Contacts = Zavudev::Models::Contacts
80
+
64
81
  ContactUpdateParams = Zavudev::Models::ContactUpdateParams
65
82
 
83
+ DataExport = Zavudev::Models::DataExport
84
+
85
+ ExportCreateParams = Zavudev::Models::ExportCreateParams
86
+
87
+ ExportListParams = Zavudev::Models::ExportListParams
88
+
89
+ ExportRetrieveParams = Zavudev::Models::ExportRetrieveParams
90
+
66
91
  IntrospectValidatePhoneParams = Zavudev::Models::IntrospectValidatePhoneParams
67
92
 
93
+ Invitation = Zavudev::Models::Invitation
94
+
95
+ InvitationCancelParams = Zavudev::Models::InvitationCancelParams
96
+
97
+ InvitationCreateParams = Zavudev::Models::InvitationCreateParams
98
+
99
+ InvitationListParams = Zavudev::Models::InvitationListParams
100
+
101
+ InvitationRetrieveParams = Zavudev::Models::InvitationRetrieveParams
102
+
68
103
  LineType = Zavudev::Models::LineType
69
104
 
70
105
  Message = Zavudev::Models::Message
@@ -85,6 +120,8 @@ module Zavudev
85
120
 
86
121
  MessageType = Zavudev::Models::MessageType
87
122
 
123
+ Number10dlc = Zavudev::Models::Number10dlc
124
+
88
125
  OwnedPhoneNumber = Zavudev::Models::OwnedPhoneNumber
89
126
 
90
127
  OwnedPhoneNumberPricing = Zavudev::Models::OwnedPhoneNumberPricing
@@ -112,6 +149,8 @@ module Zavudev
112
149
 
113
150
  PhoneNumberUpdateParams = Zavudev::Models::PhoneNumberUpdateParams
114
151
 
152
+ PlanRetrieveParams = Zavudev::Models::PlanRetrieveParams
153
+
115
154
  RegulatoryDocument = Zavudev::Models::RegulatoryDocument
116
155
 
117
156
  RegulatoryDocumentCreateParams =
@@ -162,6 +201,22 @@ module Zavudev
162
201
 
163
202
  SenderWebhook = Zavudev::Models::SenderWebhook
164
203
 
204
+ SubAccount = Zavudev::Models::SubAccount
205
+
206
+ SubAccountCreateParams = Zavudev::Models::SubAccountCreateParams
207
+
208
+ SubAccountDeactivateParams = Zavudev::Models::SubAccountDeactivateParams
209
+
210
+ SubAccountGetBalanceParams = Zavudev::Models::SubAccountGetBalanceParams
211
+
212
+ SubAccountListParams = Zavudev::Models::SubAccountListParams
213
+
214
+ SubAccountRetrieveParams = Zavudev::Models::SubAccountRetrieveParams
215
+
216
+ SubAccounts = Zavudev::Models::SubAccounts
217
+
218
+ SubAccountUpdateParams = Zavudev::Models::SubAccountUpdateParams
219
+
165
220
  Template = Zavudev::Models::Template
166
221
 
167
222
  TemplateCreateParams = Zavudev::Models::TemplateCreateParams
@@ -174,6 +229,17 @@ module Zavudev
174
229
 
175
230
  TemplateSubmitParams = Zavudev::Models::TemplateSubmitParams
176
231
 
232
+ URLListVerifiedParams = Zavudev::Models::URLListVerifiedParams
233
+
234
+ URLRetrieveDetailsParams = Zavudev::Models::URLRetrieveDetailsParams
235
+
236
+ URLSubmitForVerificationParams =
237
+ Zavudev::Models::URLSubmitForVerificationParams
238
+
239
+ UsageRetrieveParams = Zavudev::Models::UsageRetrieveParams
240
+
241
+ VerifiedURL = Zavudev::Models::VerifiedURL
242
+
177
243
  WebhookEvent = Zavudev::Models::WebhookEvent
178
244
 
179
245
  WebhookSecretResponse = Zavudev::Models::WebhookSecretResponse
@@ -0,0 +1,22 @@
1
+ # typed: strong
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
+ sig do
9
+ params(request_options: Zavudev::RequestOptions::OrHash).returns(
10
+ Zavudev::Models::BalanceRetrieveResponse
11
+ )
12
+ end
13
+ def retrieve(request_options: {})
14
+ end
15
+
16
+ # @api private
17
+ sig { params(client: Zavudev::Client).returns(T.attached_class) }
18
+ def self.new(client:)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -124,6 +124,17 @@ module Zavudev
124
124
  def cancel(broadcast_id, request_options: {})
125
125
  end
126
126
 
127
+ # Request manual review by the Zavu team for a rejected broadcast. Use this after
128
+ # automated review rejection if you believe the content is legitimate.
129
+ sig do
130
+ params(
131
+ broadcast_id: String,
132
+ request_options: Zavudev::RequestOptions::OrHash
133
+ ).returns(Zavudev::Models::BroadcastEscalateReviewResponse)
134
+ end
135
+ def escalate_review(broadcast_id, request_options: {})
136
+ end
137
+
127
138
  # Get real-time progress of a broadcast including delivery counts and estimated
128
139
  # completion time.
129
140
  sig do
@@ -152,6 +163,17 @@ module Zavudev
152
163
  )
153
164
  end
154
165
 
166
+ # Resubmit a rejected broadcast for AI review after editing content. Maximum 3
167
+ # review attempts allowed per broadcast.
168
+ sig do
169
+ params(
170
+ broadcast_id: String,
171
+ request_options: Zavudev::RequestOptions::OrHash
172
+ ).returns(Zavudev::Models::BroadcastRetryReviewResponse)
173
+ end
174
+ def retry_review(broadcast_id, request_options: {})
175
+ end
176
+
155
177
  # Start sending the broadcast immediately or schedule for later. Broadcasts go
156
178
  # through automated AI content review before sending. If the review passes, the
157
179
  # broadcast proceeds. If rejected, use PATCH to edit content, then call POST
@@ -0,0 +1,100 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Contacts
6
+ class Channels
7
+ # Update a contact's channel properties.
8
+ sig do
9
+ params(
10
+ channel_id: String,
11
+ contact_id: String,
12
+ label: T.nilable(String),
13
+ metadata: T::Hash[Symbol, String],
14
+ verified: T::Boolean,
15
+ request_options: Zavudev::RequestOptions::OrHash
16
+ ).returns(Zavudev::Models::Contacts::ChannelUpdateResponse)
17
+ end
18
+ def update(
19
+ # Path param: Channel ID.
20
+ channel_id,
21
+ # Path param
22
+ contact_id:,
23
+ # Body param: Optional label for the channel. Set to null to clear.
24
+ label: nil,
25
+ # Body param
26
+ metadata: nil,
27
+ # Body param: Whether the channel is verified.
28
+ verified: nil,
29
+ request_options: {}
30
+ )
31
+ end
32
+
33
+ # Add a new communication channel to an existing contact.
34
+ sig do
35
+ params(
36
+ contact_id: String,
37
+ channel: Zavudev::Contacts::ChannelAddParams::Channel::OrSymbol,
38
+ identifier: String,
39
+ country_code: String,
40
+ is_primary: T::Boolean,
41
+ label: String,
42
+ request_options: Zavudev::RequestOptions::OrHash
43
+ ).returns(Zavudev::Models::Contacts::ChannelAddResponse)
44
+ end
45
+ def add(
46
+ contact_id,
47
+ # Channel type.
48
+ channel:,
49
+ # Channel identifier (phone number in E.164 format or email address).
50
+ identifier:,
51
+ # ISO country code for phone numbers.
52
+ country_code: nil,
53
+ # Whether this should be the primary channel for its type.
54
+ is_primary: nil,
55
+ # Optional label for the channel.
56
+ label: nil,
57
+ request_options: {}
58
+ )
59
+ end
60
+
61
+ # Remove a communication channel from a contact. Cannot remove the last channel.
62
+ sig do
63
+ params(
64
+ channel_id: String,
65
+ contact_id: String,
66
+ request_options: Zavudev::RequestOptions::OrHash
67
+ ).void
68
+ end
69
+ def remove(
70
+ # Channel ID.
71
+ channel_id,
72
+ contact_id:,
73
+ request_options: {}
74
+ )
75
+ end
76
+
77
+ # Set a channel as the primary channel for its type.
78
+ sig do
79
+ params(
80
+ channel_id: String,
81
+ contact_id: String,
82
+ request_options: Zavudev::RequestOptions::OrHash
83
+ ).returns(Zavudev::Models::Contacts::ChannelSetPrimaryResponse)
84
+ end
85
+ def set_primary(
86
+ # Channel ID.
87
+ channel_id,
88
+ contact_id:,
89
+ request_options: {}
90
+ )
91
+ end
92
+
93
+ # @api private
94
+ sig { params(client: Zavudev::Client).returns(T.attached_class) }
95
+ def self.new(client:)
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -3,6 +3,29 @@
3
3
  module Zavudev
4
4
  module Resources
5
5
  class Contacts
6
+ sig { returns(Zavudev::Resources::Contacts::Channels) }
7
+ attr_reader :channels
8
+
9
+ # Create a new contact with one or more communication channels.
10
+ sig do
11
+ params(
12
+ channels: T::Array[Zavudev::ContactCreateParams::Channel::OrHash],
13
+ display_name: String,
14
+ metadata: T::Hash[Symbol, String],
15
+ request_options: Zavudev::RequestOptions::OrHash
16
+ ).returns(Zavudev::Contact)
17
+ end
18
+ def create(
19
+ # Communication channels for the contact.
20
+ channels:,
21
+ # Display name for the contact.
22
+ display_name: nil,
23
+ # Arbitrary metadata to associate with the contact.
24
+ metadata: nil,
25
+ request_options: {}
26
+ )
27
+ end
28
+
6
29
  # Get contact
7
30
  sig do
8
31
  params(
@@ -44,6 +67,35 @@ module Zavudev
44
67
  def list(cursor: nil, limit: nil, phone_number: nil, request_options: {})
45
68
  end
46
69
 
70
+ # Dismiss the merge suggestion for a contact.
71
+ sig do
72
+ params(
73
+ contact_id: String,
74
+ request_options: Zavudev::RequestOptions::OrHash
75
+ ).void
76
+ end
77
+ def dismiss_merge_suggestion(contact_id, request_options: {})
78
+ end
79
+
80
+ # Merge a source contact into this contact. All channels from the source contact
81
+ # will be moved to the target contact, and the source contact will be marked as
82
+ # merged.
83
+ sig do
84
+ params(
85
+ contact_id: String,
86
+ source_contact_id: String,
87
+ request_options: Zavudev::RequestOptions::OrHash
88
+ ).returns(Zavudev::Contact)
89
+ end
90
+ def merge(
91
+ contact_id,
92
+ # ID of the contact to merge into the target contact. The source contact will be
93
+ # marked as merged.
94
+ source_contact_id:,
95
+ request_options: {}
96
+ )
97
+ end
98
+
47
99
  # Get contact by phone number
48
100
  sig do
49
101
  params(
@@ -0,0 +1,62 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Exports
6
+ # Create a new data export job. The export will be processed asynchronously and
7
+ # the download URL will be available when status is 'completed'. Export links
8
+ # expire after 24 hours.
9
+ sig do
10
+ params(
11
+ data_types: T::Array[Zavudev::ExportCreateParams::DataType::OrSymbol],
12
+ date_from: Time,
13
+ date_to: Time,
14
+ request_options: Zavudev::RequestOptions::OrHash
15
+ ).returns(Zavudev::Models::ExportCreateResponse)
16
+ end
17
+ def create(
18
+ # List of data types to include in the export.
19
+ data_types:,
20
+ # Start date for data to export (inclusive).
21
+ date_from: nil,
22
+ # End date for data to export (inclusive).
23
+ date_to: nil,
24
+ request_options: {}
25
+ )
26
+ end
27
+
28
+ # Get details of a specific data export, including download URL when completed.
29
+ sig do
30
+ params(
31
+ export_id: String,
32
+ request_options: Zavudev::RequestOptions::OrHash
33
+ ).returns(Zavudev::Models::ExportRetrieveResponse)
34
+ end
35
+ def retrieve(export_id, request_options: {})
36
+ end
37
+
38
+ # List data exports for this project.
39
+ sig do
40
+ params(
41
+ cursor: String,
42
+ limit: Integer,
43
+ status: Zavudev::ExportListParams::Status::OrSymbol,
44
+ request_options: Zavudev::RequestOptions::OrHash
45
+ ).returns(Zavudev::Internal::Cursor[Zavudev::DataExport])
46
+ end
47
+ def list(
48
+ cursor: nil,
49
+ limit: nil,
50
+ # Status of a data export job.
51
+ status: nil,
52
+ request_options: {}
53
+ )
54
+ end
55
+
56
+ # @api private
57
+ sig { params(client: Zavudev::Client).returns(T.attached_class) }
58
+ def self.new(client:)
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,83 @@
1
+ # typed: strong
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Invitations
6
+ # Create a partner invitation link for a client to connect their WhatsApp Business
7
+ # account. The client will complete Meta's embedded signup flow and the resulting
8
+ # sender will be created in your project.
9
+ sig do
10
+ params(
11
+ allowed_phone_countries: T::Array[String],
12
+ client_email: String,
13
+ client_name: String,
14
+ client_phone: String,
15
+ expires_in_days: Integer,
16
+ phone_number_id: String,
17
+ request_options: Zavudev::RequestOptions::OrHash
18
+ ).returns(Zavudev::Models::InvitationCreateResponse)
19
+ end
20
+ def create(
21
+ # ISO country codes for allowed phone numbers.
22
+ allowed_phone_countries: nil,
23
+ # Email of the client being invited.
24
+ client_email: nil,
25
+ # Name of the client being invited.
26
+ client_name: nil,
27
+ # Phone number of the client in E.164 format.
28
+ client_phone: nil,
29
+ # Number of days until the invitation expires.
30
+ expires_in_days: nil,
31
+ # ID of a Zavu phone number to pre-assign for WhatsApp registration. If provided,
32
+ # the client will use this number instead of their own.
33
+ phone_number_id: nil,
34
+ request_options: {}
35
+ )
36
+ end
37
+
38
+ # Get invitation
39
+ sig do
40
+ params(
41
+ invitation_id: String,
42
+ request_options: Zavudev::RequestOptions::OrHash
43
+ ).returns(Zavudev::Models::InvitationRetrieveResponse)
44
+ end
45
+ def retrieve(invitation_id, request_options: {})
46
+ end
47
+
48
+ # List partner invitations for this project.
49
+ sig do
50
+ params(
51
+ cursor: String,
52
+ limit: Integer,
53
+ status: Zavudev::InvitationListParams::Status::OrSymbol,
54
+ request_options: Zavudev::RequestOptions::OrHash
55
+ ).returns(Zavudev::Internal::Cursor[Zavudev::Invitation])
56
+ end
57
+ def list(
58
+ cursor: nil,
59
+ limit: nil,
60
+ # Current status of the partner invitation.
61
+ status: nil,
62
+ request_options: {}
63
+ )
64
+ end
65
+
66
+ # Cancel an active invitation. The client will no longer be able to use the
67
+ # invitation link.
68
+ sig do
69
+ params(
70
+ invitation_id: String,
71
+ request_options: Zavudev::RequestOptions::OrHash
72
+ ).returns(Zavudev::Models::InvitationCancelResponse)
73
+ end
74
+ def cancel(invitation_id, request_options: {})
75
+ end
76
+
77
+ # @api private
78
+ sig { params(client: Zavudev::Client).returns(T.attached_class) }
79
+ def self.new(client:)
80
+ end
81
+ end
82
+ end
83
+ end