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,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Exports#create
6
+ class ExportCreateParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute data_types
11
+ # List of data types to include in the export.
12
+ #
13
+ # @return [Array<Symbol, Zavudev::Models::ExportCreateParams::DataType>]
14
+ required :data_types,
15
+ -> { Zavudev::Internal::Type::ArrayOf[enum: Zavudev::ExportCreateParams::DataType] },
16
+ api_name: :dataTypes
17
+
18
+ # @!attribute date_from
19
+ # Start date for data to export (inclusive).
20
+ #
21
+ # @return [Time, nil]
22
+ optional :date_from, Time, api_name: :dateFrom
23
+
24
+ # @!attribute date_to
25
+ # End date for data to export (inclusive).
26
+ #
27
+ # @return [Time, nil]
28
+ optional :date_to, Time, api_name: :dateTo
29
+
30
+ # @!method initialize(data_types:, date_from: nil, date_to: nil, request_options: {})
31
+ # @param data_types [Array<Symbol, Zavudev::Models::ExportCreateParams::DataType>] List of data types to include in the export.
32
+ #
33
+ # @param date_from [Time] Start date for data to export (inclusive).
34
+ #
35
+ # @param date_to [Time] End date for data to export (inclusive).
36
+ #
37
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
38
+
39
+ # Types of data that can be exported.
40
+ module DataType
41
+ extend Zavudev::Internal::Type::Enum
42
+
43
+ MESSAGES = :messages
44
+ CONVERSATIONS = :conversations
45
+ WEBHOOK_DELIVERIES = :webhookDeliveries
46
+ AGENT_EXECUTIONS = :agentExecutions
47
+ ACTIVITIES = :activities
48
+
49
+ # @!method self.values
50
+ # @return [Array<Symbol>]
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Exports#create
6
+ class ExportCreateResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute export
8
+ #
9
+ # @return [Zavudev::Models::DataExport]
10
+ required :export, -> { Zavudev::DataExport }
11
+
12
+ # @!method initialize(export:)
13
+ # @param export [Zavudev::Models::DataExport]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Exports#list
6
+ class ExportListParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute cursor
11
+ #
12
+ # @return [String, nil]
13
+ optional :cursor, String
14
+
15
+ # @!attribute limit
16
+ #
17
+ # @return [Integer, nil]
18
+ optional :limit, Integer
19
+
20
+ # @!attribute status
21
+ # Status of a data export job.
22
+ #
23
+ # @return [Symbol, Zavudev::Models::ExportListParams::Status, nil]
24
+ optional :status, enum: -> { Zavudev::ExportListParams::Status }
25
+
26
+ # @!method initialize(cursor: nil, limit: nil, status: nil, request_options: {})
27
+ # @param cursor [String]
28
+ #
29
+ # @param limit [Integer]
30
+ #
31
+ # @param status [Symbol, Zavudev::Models::ExportListParams::Status] Status of a data export job.
32
+ #
33
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
34
+
35
+ # Status of a data export job.
36
+ module Status
37
+ extend Zavudev::Internal::Type::Enum
38
+
39
+ PENDING = :pending
40
+ PROCESSING = :processing
41
+ COMPLETED = :completed
42
+ FAILED = :failed
43
+
44
+ # @!method self.values
45
+ # @return [Array<Symbol>]
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Exports#retrieve
6
+ class ExportRetrieveParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute export_id
11
+ #
12
+ # @return [String]
13
+ required :export_id, String
14
+
15
+ # @!method initialize(export_id:, request_options: {})
16
+ # @param export_id [String]
17
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Exports#retrieve
6
+ class ExportRetrieveResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute export
8
+ #
9
+ # @return [Zavudev::Models::DataExport]
10
+ required :export, -> { Zavudev::DataExport }
11
+
12
+ # @!method initialize(export:)
13
+ # @param export [Zavudev::Models::DataExport]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,135 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Invitations#list
6
+ class Invitation < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute token
13
+ # Unique invitation token.
14
+ #
15
+ # @return [String]
16
+ required :token, String
17
+
18
+ # @!attribute created_at
19
+ #
20
+ # @return [Time]
21
+ required :created_at, Time, api_name: :createdAt
22
+
23
+ # @!attribute expires_at
24
+ #
25
+ # @return [Time]
26
+ required :expires_at, Time, api_name: :expiresAt
27
+
28
+ # @!attribute status
29
+ # Current status of the partner invitation.
30
+ #
31
+ # @return [Symbol, Zavudev::Models::Invitation::Status]
32
+ required :status, enum: -> { Zavudev::Invitation::Status }
33
+
34
+ # @!attribute updated_at
35
+ #
36
+ # @return [Time]
37
+ required :updated_at, Time, api_name: :updatedAt
38
+
39
+ # @!attribute url
40
+ # Full URL to share with the client.
41
+ #
42
+ # @return [String]
43
+ required :url, String
44
+
45
+ # @!attribute client_email
46
+ #
47
+ # @return [String, nil]
48
+ optional :client_email, String, api_name: :clientEmail, nil?: true
49
+
50
+ # @!attribute client_name
51
+ #
52
+ # @return [String, nil]
53
+ optional :client_name, String, api_name: :clientName, nil?: true
54
+
55
+ # @!attribute client_phone
56
+ #
57
+ # @return [String, nil]
58
+ optional :client_phone, String, api_name: :clientPhone, nil?: true
59
+
60
+ # @!attribute completed_at
61
+ #
62
+ # @return [Time, nil]
63
+ optional :completed_at, Time, api_name: :completedAt, nil?: true
64
+
65
+ # @!attribute phone_number_id
66
+ # ID of a pre-assigned Zavu phone number for WhatsApp registration.
67
+ #
68
+ # @return [String, nil]
69
+ optional :phone_number_id, String, api_name: :phoneNumberId, nil?: true
70
+
71
+ # @!attribute sender_id
72
+ # ID of the sender created when invitation is completed.
73
+ #
74
+ # @return [String, nil]
75
+ optional :sender_id, String, api_name: :senderId, nil?: true
76
+
77
+ # @!attribute started_at
78
+ #
79
+ # @return [Time, nil]
80
+ optional :started_at, Time, api_name: :startedAt, nil?: true
81
+
82
+ # @!attribute viewed_at
83
+ #
84
+ # @return [Time, nil]
85
+ optional :viewed_at, Time, api_name: :viewedAt, nil?: true
86
+
87
+ # @!method initialize(id:, token:, created_at:, expires_at:, status:, updated_at:, url:, client_email: nil, client_name: nil, client_phone: nil, completed_at: nil, phone_number_id: nil, sender_id: nil, started_at: nil, viewed_at: nil)
88
+ # @param id [String]
89
+ #
90
+ # @param token [String] Unique invitation token.
91
+ #
92
+ # @param created_at [Time]
93
+ #
94
+ # @param expires_at [Time]
95
+ #
96
+ # @param status [Symbol, Zavudev::Models::Invitation::Status] Current status of the partner invitation.
97
+ #
98
+ # @param updated_at [Time]
99
+ #
100
+ # @param url [String] Full URL to share with the client.
101
+ #
102
+ # @param client_email [String, nil]
103
+ #
104
+ # @param client_name [String, nil]
105
+ #
106
+ # @param client_phone [String, nil]
107
+ #
108
+ # @param completed_at [Time, nil]
109
+ #
110
+ # @param phone_number_id [String, nil] ID of a pre-assigned Zavu phone number for WhatsApp registration.
111
+ #
112
+ # @param sender_id [String, nil] ID of the sender created when invitation is completed.
113
+ #
114
+ # @param started_at [Time, nil]
115
+ #
116
+ # @param viewed_at [Time, nil]
117
+
118
+ # Current status of the partner invitation.
119
+ #
120
+ # @see Zavudev::Models::Invitation#status
121
+ module Status
122
+ extend Zavudev::Internal::Type::Enum
123
+
124
+ PENDING = :pending
125
+ IN_PROGRESS = :in_progress
126
+ COMPLETED = :completed
127
+ EXPIRED = :expired
128
+ CANCELLED = :cancelled
129
+
130
+ # @!method self.values
131
+ # @return [Array<Symbol>]
132
+ end
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Invitations#cancel
6
+ class InvitationCancelParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute invitation_id
11
+ #
12
+ # @return [String]
13
+ required :invitation_id, String
14
+
15
+ # @!method initialize(invitation_id:, request_options: {})
16
+ # @param invitation_id [String]
17
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Invitations#cancel
6
+ class InvitationCancelResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute invitation
8
+ #
9
+ # @return [Zavudev::Models::Invitation]
10
+ required :invitation, -> { Zavudev::Invitation }
11
+
12
+ # @!method initialize(invitation:)
13
+ # @param invitation [Zavudev::Models::Invitation]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Invitations#create
6
+ class InvitationCreateParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute allowed_phone_countries
11
+ # ISO country codes for allowed phone numbers.
12
+ #
13
+ # @return [Array<String>, nil]
14
+ optional :allowed_phone_countries,
15
+ Zavudev::Internal::Type::ArrayOf[String],
16
+ api_name: :allowedPhoneCountries
17
+
18
+ # @!attribute client_email
19
+ # Email of the client being invited.
20
+ #
21
+ # @return [String, nil]
22
+ optional :client_email, String, api_name: :clientEmail
23
+
24
+ # @!attribute client_name
25
+ # Name of the client being invited.
26
+ #
27
+ # @return [String, nil]
28
+ optional :client_name, String, api_name: :clientName
29
+
30
+ # @!attribute client_phone
31
+ # Phone number of the client in E.164 format.
32
+ #
33
+ # @return [String, nil]
34
+ optional :client_phone, String, api_name: :clientPhone
35
+
36
+ # @!attribute expires_in_days
37
+ # Number of days until the invitation expires.
38
+ #
39
+ # @return [Integer, nil]
40
+ optional :expires_in_days, Integer, api_name: :expiresInDays
41
+
42
+ # @!attribute phone_number_id
43
+ # ID of a Zavu phone number to pre-assign for WhatsApp registration. If provided,
44
+ # the client will use this number instead of their own.
45
+ #
46
+ # @return [String, nil]
47
+ optional :phone_number_id, String, api_name: :phoneNumberId
48
+
49
+ # @!method initialize(allowed_phone_countries: nil, client_email: nil, client_name: nil, client_phone: nil, expires_in_days: nil, phone_number_id: nil, request_options: {})
50
+ # Some parameter documentations has been truncated, see
51
+ # {Zavudev::Models::InvitationCreateParams} for more details.
52
+ #
53
+ # @param allowed_phone_countries [Array<String>] ISO country codes for allowed phone numbers.
54
+ #
55
+ # @param client_email [String] Email of the client being invited.
56
+ #
57
+ # @param client_name [String] Name of the client being invited.
58
+ #
59
+ # @param client_phone [String] Phone number of the client in E.164 format.
60
+ #
61
+ # @param expires_in_days [Integer] Number of days until the invitation expires.
62
+ #
63
+ # @param phone_number_id [String] ID of a Zavu phone number to pre-assign for WhatsApp registration. If provided,
64
+ #
65
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Invitations#create
6
+ class InvitationCreateResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute invitation
8
+ #
9
+ # @return [Zavudev::Models::Invitation]
10
+ required :invitation, -> { Zavudev::Invitation }
11
+
12
+ # @!method initialize(invitation:)
13
+ # @param invitation [Zavudev::Models::Invitation]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Invitations#list
6
+ class InvitationListParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute cursor
11
+ #
12
+ # @return [String, nil]
13
+ optional :cursor, String
14
+
15
+ # @!attribute limit
16
+ #
17
+ # @return [Integer, nil]
18
+ optional :limit, Integer
19
+
20
+ # @!attribute status
21
+ # Current status of the partner invitation.
22
+ #
23
+ # @return [Symbol, Zavudev::Models::InvitationListParams::Status, nil]
24
+ optional :status, enum: -> { Zavudev::InvitationListParams::Status }
25
+
26
+ # @!method initialize(cursor: nil, limit: nil, status: nil, request_options: {})
27
+ # @param cursor [String]
28
+ #
29
+ # @param limit [Integer]
30
+ #
31
+ # @param status [Symbol, Zavudev::Models::InvitationListParams::Status] Current status of the partner invitation.
32
+ #
33
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
34
+
35
+ # Current status of the partner invitation.
36
+ module Status
37
+ extend Zavudev::Internal::Type::Enum
38
+
39
+ PENDING = :pending
40
+ IN_PROGRESS = :in_progress
41
+ COMPLETED = :completed
42
+ EXPIRED = :expired
43
+ CANCELLED = :cancelled
44
+
45
+ # @!method self.values
46
+ # @return [Array<Symbol>]
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Invitations#retrieve
6
+ class InvitationRetrieveParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute invitation_id
11
+ #
12
+ # @return [String]
13
+ required :invitation_id, String
14
+
15
+ # @!method initialize(invitation_id:, request_options: {})
16
+ # @param invitation_id [String]
17
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Invitations#retrieve
6
+ class InvitationRetrieveResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute invitation
8
+ #
9
+ # @return [Zavudev::Models::Invitation]
10
+ required :invitation, -> { Zavudev::Invitation }
11
+
12
+ # @!method initialize(invitation:)
13
+ # @param invitation [Zavudev::Models::Invitation]
14
+ end
15
+ end
16
+ end
@@ -15,6 +15,39 @@ module Zavudev
15
15
  # @return [Array<Zavudev::Models::MessageContent::Contact>, nil]
16
16
  optional :contacts, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::MessageContent::Contact] }
17
17
 
18
+ # @!attribute cta_display_text
19
+ # Button label for cta_url messages.
20
+ #
21
+ # @return [String, nil]
22
+ optional :cta_display_text, String, api_name: :ctaDisplayText
23
+
24
+ # @!attribute cta_header_media_url
25
+ # Public HTTPS URL of the header media when ctaHeaderType is 'image', 'video', or
26
+ # 'document'. WhatsApp fetches this URL — it must be publicly reachable and return
27
+ # the declared content type.
28
+ #
29
+ # @return [String, nil]
30
+ optional :cta_header_media_url, String, api_name: :ctaHeaderMediaUrl
31
+
32
+ # @!attribute cta_header_text
33
+ # Header text when ctaHeaderType is 'text'.
34
+ #
35
+ # @return [String, nil]
36
+ optional :cta_header_text, String, api_name: :ctaHeaderText
37
+
38
+ # @!attribute cta_header_type
39
+ # Optional header type for cta_url messages.
40
+ #
41
+ # @return [Symbol, Zavudev::Models::MessageContent::CtaHeaderType, nil]
42
+ optional :cta_header_type, enum: -> { Zavudev::MessageContent::CtaHeaderType }, api_name: :ctaHeaderType
43
+
44
+ # @!attribute cta_url
45
+ # Destination URL opened in the device's default browser when the button is
46
+ # tapped. Used with messageType=cta_url. WhatsApp requires HTTPS in production.
47
+ #
48
+ # @return [String, nil]
49
+ optional :cta_url, String, api_name: :ctaUrl
50
+
18
51
  # @!attribute emoji
19
52
  # Emoji for reaction messages.
20
53
  #
@@ -27,6 +60,12 @@ module Zavudev
27
60
  # @return [String, nil]
28
61
  optional :filename, String
29
62
 
63
+ # @!attribute footer_text
64
+ # Optional footer text for cta_url messages.
65
+ #
66
+ # @return [String, nil]
67
+ optional :footer_text, String, api_name: :footerText
68
+
30
69
  # @!attribute latitude
31
70
  # Latitude for location messages.
32
71
  #
@@ -87,6 +126,27 @@ module Zavudev
87
126
  # @return [Array<Zavudev::Models::MessageContent::Section>, nil]
88
127
  optional :sections, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::MessageContent::Section] }
89
128
 
129
+ # @!attribute template_button_variables
130
+ # Variables for dynamic button placeholders (URL buttons and OTP buttons). Keys
131
+ # are the button index (0, 1, 2) in the template's `buttons` array — not the
132
+ # placeholder name. Values substitute the `{{1}}` placeholder inside that button's
133
+ # URL.
134
+ #
135
+ # **WhatsApp constraints:**
136
+ #
137
+ # - URL buttons only accept `{{1}}` — positional, numeric, no whitespace, no name.
138
+ # Named placeholders like `{{token}}` are stored as literal URL text by Meta and
139
+ # cannot be substituted.
140
+ # - At most one placeholder per URL button.
141
+ # - A template may have at most three buttons.
142
+ # - Static URL buttons (no placeholder) and `quick_reply` buttons are not included
143
+ # here.
144
+ #
145
+ # @return [Hash{Symbol=>String}, nil]
146
+ optional :template_button_variables,
147
+ Zavudev::Internal::Type::HashOf[String],
148
+ api_name: :templateButtonVariables
149
+
90
150
  # @!attribute template_id
91
151
  # Template ID for template messages.
92
152
  #
@@ -94,22 +154,38 @@ module Zavudev
94
154
  optional :template_id, String, api_name: :templateId
95
155
 
96
156
  # @!attribute template_variables
97
- # Variables for template rendering. Keys are variable positions (1, 2, 3...).
157
+ # Variables for body placeholders. Keys are positions (1, 2, 3, ...) matching the
158
+ # order placeholders appear in the template body.
98
159
  #
99
160
  # @return [Hash{Symbol=>String}, nil]
100
161
  optional :template_variables, Zavudev::Internal::Type::HashOf[String], api_name: :templateVariables
101
162
 
102
- # @!method initialize(buttons: nil, contacts: nil, emoji: nil, filename: nil, latitude: nil, list_button: nil, location_address: nil, location_name: nil, longitude: nil, media_id: nil, media_url: nil, mime_type: nil, react_to_message_id: nil, sections: nil, template_id: nil, template_variables: nil)
163
+ # @!method initialize(buttons: nil, contacts: nil, cta_display_text: nil, cta_header_media_url: nil, cta_header_text: nil, cta_header_type: nil, cta_url: nil, emoji: nil, filename: nil, footer_text: nil, latitude: nil, list_button: nil, location_address: nil, location_name: nil, longitude: nil, media_id: nil, media_url: nil, mime_type: nil, react_to_message_id: nil, sections: nil, template_button_variables: nil, template_id: nil, template_variables: nil)
164
+ # Some parameter documentations has been truncated, see
165
+ # {Zavudev::Models::MessageContent} for more details.
166
+ #
103
167
  # Content for non-text message types (WhatsApp and Telegram).
104
168
  #
105
169
  # @param buttons [Array<Zavudev::Models::MessageContent::Button>] Interactive buttons (max 3).
106
170
  #
107
171
  # @param contacts [Array<Zavudev::Models::MessageContent::Contact>] Contact cards for contact messages.
108
172
  #
173
+ # @param cta_display_text [String] Button label for cta_url messages.
174
+ #
175
+ # @param cta_header_media_url [String] Public HTTPS URL of the header media when ctaHeaderType is 'image', 'video', or
176
+ #
177
+ # @param cta_header_text [String] Header text when ctaHeaderType is 'text'.
178
+ #
179
+ # @param cta_header_type [Symbol, Zavudev::Models::MessageContent::CtaHeaderType] Optional header type for cta_url messages.
180
+ #
181
+ # @param cta_url [String] Destination URL opened in the device's default browser when the button is tapped
182
+ #
109
183
  # @param emoji [String] Emoji for reaction messages.
110
184
  #
111
185
  # @param filename [String] Filename for documents.
112
186
  #
187
+ # @param footer_text [String] Optional footer text for cta_url messages.
188
+ #
113
189
  # @param latitude [Float] Latitude for location messages.
114
190
  #
115
191
  # @param list_button [String] Button text for list messages.
@@ -130,9 +206,11 @@ module Zavudev
130
206
  #
131
207
  # @param sections [Array<Zavudev::Models::MessageContent::Section>] Sections for list messages.
132
208
  #
209
+ # @param template_button_variables [Hash{Symbol=>String}] Variables for dynamic button placeholders (URL buttons and OTP buttons). Keys ar
210
+ #
133
211
  # @param template_id [String] Template ID for template messages.
134
212
  #
135
- # @param template_variables [Hash{Symbol=>String}] Variables for template rendering. Keys are variable positions (1, 2, 3...).
213
+ # @param template_variables [Hash{Symbol=>String}] Variables for body placeholders. Keys are positions (1, 2, 3, ...) matching the
136
214
 
137
215
  class Button < Zavudev::Internal::Type::BaseModel
138
216
  # @!attribute id
@@ -166,6 +244,21 @@ module Zavudev
166
244
  # @param phones [Array<String>]
167
245
  end
168
246
 
247
+ # Optional header type for cta_url messages.
248
+ #
249
+ # @see Zavudev::Models::MessageContent#cta_header_type
250
+ module CtaHeaderType
251
+ extend Zavudev::Internal::Type::Enum
252
+
253
+ TEXT = :text
254
+ IMAGE = :image
255
+ VIDEO = :video
256
+ DOCUMENT = :document
257
+
258
+ # @!method self.values
259
+ # @return [Array<Symbol>]
260
+ end
261
+
169
262
  class Section < Zavudev::Internal::Type::BaseModel
170
263
  # @!attribute rows
171
264
  #
@@ -17,6 +17,7 @@ module Zavudev
17
17
  CONTACT = :contact
18
18
  BUTTONS = :buttons
19
19
  LIST = :list
20
+ CTA_URL = :cta_url
20
21
  REACTION = :reaction
21
22
  TEMPLATE = :template
22
23