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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4dbf4d9ec7209d43777007a92d0e1aad8f33cee64ca9989e008984dcd6062e24
4
- data.tar.gz: 8a1770208c5d4a6ee15e860a666cd24a6c885531807e2cc7181692068e236b4b
3
+ metadata.gz: 717b455df0121d5069c0308c0f5550d0aa0873e6e2d007ade9e0cddfca2e740e
4
+ data.tar.gz: a42d4f878526ab1c1eabd8997095ccb98bf738fa58d5895a2b0e0529a5547aa4
5
5
  SHA512:
6
- metadata.gz: f1431108ee40a20b494d97445cfac79fb0291902c23f1ce9ed407eb33d57b92b571ac70df0dbd0de21e1b1af5ba80fa09f9d29b1b0b5703477481da8551931fb
7
- data.tar.gz: 7042f8c8df6775399db26fdcbcfdf84361df6f6f9546b299c54dcf4aa5394c2aceb228829ff1545f2a5efae45d4c9552e21902e8d31d0e37e9316198f08318b5
6
+ metadata.gz: 92b1dfc26805469609713c9fb8a6eb33e5d3e2854045ccba0c18ff7e9a1a0bfcf5577f58220b151b3d47cd74067b9ae9be09c628ab87a63648e53ff072ecea78
7
+ data.tar.gz: a7420f018046aaed7c47bf1af2b02a53bf8714a93b6d2cba8b587ce3214d76223161bd09de5cea7aebc13e7f232371c1594869a21618a7a27e7e03fb3503f91f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.8.0 (2026-04-27)
4
+
5
+ Full Changelog: [v0.7.0...v0.8.0](https://github.com/zavudev/sdk-ruby/compare/v0.7.0...v0.8.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([fcdb3bb](https://github.com/zavudev/sdk-ruby/commit/fcdb3bbf40b86d44934d7e8e79326534611565c6))
10
+ * **api:** api update ([f2539c4](https://github.com/zavudev/sdk-ruby/commit/f2539c4ba08fbda9e2e6ed06362bb2bfd57020c3))
11
+ * **api:** api update ([5615955](https://github.com/zavudev/sdk-ruby/commit/5615955a45679123ee08a44f873c79a0809bb22d))
12
+ * **api:** api update ([8661c49](https://github.com/zavudev/sdk-ruby/commit/8661c4974d3b0b702053ae64b48e6b12402d94f6))
13
+ * **api:** api update ([1512e7b](https://github.com/zavudev/sdk-ruby/commit/1512e7b3aa6b6452a3baba8c4dfecbf600bb83a7))
14
+ * **api:** manual updates ([5ead4c0](https://github.com/zavudev/sdk-ruby/commit/5ead4c049395271330159c846392d5a03e34c71e))
15
+
16
+
17
+ ### Chores
18
+
19
+ * **internal:** more robust bootstrap script ([933b9ef](https://github.com/zavudev/sdk-ruby/commit/933b9efa805ab75d7086e752d76f1cdebbdf63a6))
20
+
21
+ ## 0.7.0 (2026-04-14)
22
+
23
+ Full Changelog: [v0.6.0...v0.7.0](https://github.com/zavudev/sdk-ruby/compare/v0.6.0...v0.7.0)
24
+
25
+ ### Features
26
+
27
+ * **api:** api update ([41435f8](https://github.com/zavudev/sdk-ruby/commit/41435f801be39bd358e6a17231995a60d6fb3cfb))
28
+ * **api:** manual updates ([4a30350](https://github.com/zavudev/sdk-ruby/commit/4a3035046417e34cbeba758a442d99b322d5458d))
29
+
3
30
  ## 0.6.0 (2026-04-12)
4
31
 
5
32
  Full Changelog: [v0.5.0...v0.6.0](https://github.com/zavudev/sdk-ruby/compare/v0.5.0...v0.6.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "zavudev", "~> 0.6.0"
29
+ gem "zavudev", "~> 0.8.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -45,6 +45,30 @@ module Zavudev
45
45
  # @return [Zavudev::Resources::RegulatoryDocuments]
46
46
  attr_reader :regulatory_documents
47
47
 
48
+ # @return [Zavudev::Resources::Invitations]
49
+ attr_reader :invitations
50
+
51
+ # @return [Zavudev::Resources::Exports]
52
+ attr_reader :exports
53
+
54
+ # @return [Zavudev::Resources::URLs]
55
+ attr_reader :urls
56
+
57
+ # @return [Zavudev::Resources::Balance]
58
+ attr_reader :balance
59
+
60
+ # @return [Zavudev::Resources::Plan]
61
+ attr_reader :plan
62
+
63
+ # @return [Zavudev::Resources::Usage]
64
+ attr_reader :usage
65
+
66
+ # @return [Zavudev::Resources::SubAccounts]
67
+ attr_reader :sub_accounts
68
+
69
+ # @return [Zavudev::Resources::Number10dlc]
70
+ attr_reader :number_10dlc
71
+
48
72
  # @api private
49
73
  #
50
74
  # @return [Hash{String=>String}]
@@ -101,6 +125,14 @@ module Zavudev
101
125
  @phone_numbers = Zavudev::Resources::PhoneNumbers.new(client: self)
102
126
  @addresses = Zavudev::Resources::Addresses.new(client: self)
103
127
  @regulatory_documents = Zavudev::Resources::RegulatoryDocuments.new(client: self)
128
+ @invitations = Zavudev::Resources::Invitations.new(client: self)
129
+ @exports = Zavudev::Resources::Exports.new(client: self)
130
+ @urls = Zavudev::Resources::URLs.new(client: self)
131
+ @balance = Zavudev::Resources::Balance.new(client: self)
132
+ @plan = Zavudev::Resources::Plan.new(client: self)
133
+ @usage = Zavudev::Resources::Usage.new(client: self)
134
+ @sub_accounts = Zavudev::Resources::SubAccounts.new(client: self)
135
+ @number_10dlc = Zavudev::Resources::Number10dlc.new(client: self)
104
136
  end
105
137
  end
106
138
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Balance#retrieve
6
+ class BalanceRetrieveParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Balance#retrieve
6
+ class BalanceRetrieveResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute balance
8
+ # Team balance in cents. All charges are billed to the parent team.
9
+ #
10
+ # @return [Integer]
11
+ required :balance, Integer
12
+
13
+ # @!attribute currency
14
+ #
15
+ # @return [String]
16
+ required :currency, String
17
+
18
+ # @!attribute credit_limit
19
+ # Spending cap in cents (only for sub-accounts).
20
+ #
21
+ # @return [Integer, nil]
22
+ optional :credit_limit, Integer, api_name: :creditLimit, nil?: true
23
+
24
+ # @!attribute is_sub_account
25
+ # Whether this API key belongs to a sub-account.
26
+ #
27
+ # @return [Boolean, nil]
28
+ optional :is_sub_account, Zavudev::Internal::Type::Boolean, api_name: :isSubAccount
29
+
30
+ # @!attribute total_spent
31
+ # Total amount spent by this sub-account in cents (only for sub-accounts).
32
+ #
33
+ # @return [Integer, nil]
34
+ optional :total_spent, Integer, api_name: :totalSpent, nil?: true
35
+
36
+ # @!method initialize(balance:, currency:, credit_limit: nil, is_sub_account: nil, total_spent: nil)
37
+ # @param balance [Integer] Team balance in cents. All charges are billed to the parent team.
38
+ #
39
+ # @param currency [String]
40
+ #
41
+ # @param credit_limit [Integer, nil] Spending cap in cents (only for sub-accounts).
42
+ #
43
+ # @param is_sub_account [Boolean] Whether this API key belongs to a sub-account.
44
+ #
45
+ # @param total_spent [Integer, nil] Total amount spent by this sub-account in cents (only for sub-accounts).
46
+ end
47
+ end
48
+ end
@@ -59,12 +59,19 @@ module Zavudev
59
59
  # @return [Time, nil]
60
60
  optional :processed_at, Time, api_name: :processedAt
61
61
 
62
+ # @!attribute template_button_variables
63
+ #
64
+ # @return [Hash{Symbol=>String}, nil]
65
+ optional :template_button_variables,
66
+ Zavudev::Internal::Type::HashOf[String],
67
+ api_name: :templateButtonVariables
68
+
62
69
  # @!attribute template_variables
63
70
  #
64
71
  # @return [Hash{Symbol=>String}, nil]
65
72
  optional :template_variables, Zavudev::Internal::Type::HashOf[String], api_name: :templateVariables
66
73
 
67
- # @!method initialize(id:, created_at:, recipient:, recipient_type:, status:, cost: nil, error_code: nil, error_message: nil, message_id: nil, processed_at: nil, template_variables: nil)
74
+ # @!method initialize(id:, created_at:, recipient:, recipient_type:, status:, cost: nil, error_code: nil, error_message: nil, message_id: nil, processed_at: nil, template_button_variables: nil, template_variables: nil)
68
75
  # @param id [String]
69
76
  #
70
77
  # @param created_at [Time]
@@ -85,6 +92,8 @@ module Zavudev
85
92
  #
86
93
  # @param processed_at [Time]
87
94
  #
95
+ # @param template_button_variables [Hash{Symbol=>String}]
96
+ #
88
97
  # @param template_variables [Hash{Symbol=>String}]
89
98
 
90
99
  # @see Zavudev::Models::BroadcastContact#recipient_type
@@ -27,6 +27,15 @@ module Zavudev
27
27
  # @return [String, nil]
28
28
  optional :mime_type, String, api_name: :mimeType
29
29
 
30
+ # @!attribute template_button_variables
31
+ # Default button variables for dynamic URL/OTP buttons. Keys are the button index
32
+ # (0, 1, 2). Per-contact values override these.
33
+ #
34
+ # @return [Hash{Symbol=>String}, nil]
35
+ optional :template_button_variables,
36
+ Zavudev::Internal::Type::HashOf[String],
37
+ api_name: :templateButtonVariables
38
+
30
39
  # @!attribute template_id
31
40
  # Template ID for template messages.
32
41
  #
@@ -34,12 +43,16 @@ module Zavudev
34
43
  optional :template_id, String, api_name: :templateId
35
44
 
36
45
  # @!attribute template_variables
37
- # Default template variables (can be overridden per contact).
46
+ # Default body variables (can be overridden per contact). Keys are positions (1,
47
+ # 2, ...).
38
48
  #
39
49
  # @return [Hash{Symbol=>String}, nil]
40
50
  optional :template_variables, Zavudev::Internal::Type::HashOf[String], api_name: :templateVariables
41
51
 
42
- # @!method initialize(filename: nil, media_id: nil, media_url: nil, mime_type: nil, template_id: nil, template_variables: nil)
52
+ # @!method initialize(filename: nil, media_id: nil, media_url: nil, mime_type: nil, template_button_variables: nil, template_id: nil, template_variables: nil)
53
+ # Some parameter documentations has been truncated, see
54
+ # {Zavudev::Models::BroadcastContent} for more details.
55
+ #
43
56
  # Content for non-text broadcast message types.
44
57
  #
45
58
  # @param filename [String] Filename for documents.
@@ -50,9 +63,11 @@ module Zavudev
50
63
  #
51
64
  # @param mime_type [String] MIME type of the media.
52
65
  #
66
+ # @param template_button_variables [Hash{Symbol=>String}] Default button variables for dynamic URL/OTP buttons. Keys are the button index
67
+ #
53
68
  # @param template_id [String] Template ID for template messages.
54
69
  #
55
- # @param template_variables [Hash{Symbol=>String}] Default template variables (can be overridden per contact).
70
+ # @param template_variables [Hash{Symbol=>String}] Default body variables (can be overridden per contact). Keys are positions (1, 2
56
71
  end
57
72
  end
58
73
  end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Broadcasts#escalate_review
6
+ class BroadcastEscalateReviewParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute broadcast_id
11
+ #
12
+ # @return [String]
13
+ required :broadcast_id, String
14
+
15
+ # @!method initialize(broadcast_id:, request_options: {})
16
+ # @param broadcast_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::Broadcasts#escalate_review
6
+ class BroadcastEscalateReviewResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute broadcast
8
+ #
9
+ # @return [Zavudev::Models::Broadcast]
10
+ required :broadcast, -> { Zavudev::Broadcast }
11
+
12
+ # @!method initialize(broadcast:)
13
+ # @param broadcast [Zavudev::Models::Broadcast]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Broadcasts#retry_review
6
+ class BroadcastRetryReviewParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute broadcast_id
11
+ #
12
+ # @return [String]
13
+ required :broadcast_id, String
14
+
15
+ # @!method initialize(broadcast_id:, request_options: {})
16
+ # @param broadcast_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::Broadcasts#retry_review
6
+ class BroadcastRetryReviewResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute broadcast
8
+ #
9
+ # @return [Zavudev::Models::Broadcast]
10
+ required :broadcast, -> { Zavudev::Broadcast }
11
+
12
+ # @!method initialize(broadcast:)
13
+ # @param broadcast [Zavudev::Models::Broadcast]
14
+ end
15
+ end
16
+ end
@@ -34,16 +34,31 @@ module Zavudev
34
34
  # @return [String]
35
35
  required :recipient, String
36
36
 
37
+ # @!attribute template_button_variables
38
+ # Per-contact button variables for dynamic URL/OTP buttons. Keys are the button
39
+ # index (0, 1, 2).
40
+ #
41
+ # @return [Hash{Symbol=>String}, nil]
42
+ optional :template_button_variables,
43
+ Zavudev::Internal::Type::HashOf[String],
44
+ api_name: :templateButtonVariables
45
+
37
46
  # @!attribute template_variables
38
- # Per-contact template variables to personalize the message.
47
+ # Per-contact body variables. Keys are positions (1, 2, ...) matching the order
48
+ # placeholders appear in the template body.
39
49
  #
40
50
  # @return [Hash{Symbol=>String}, nil]
41
51
  optional :template_variables, Zavudev::Internal::Type::HashOf[String], api_name: :templateVariables
42
52
 
43
- # @!method initialize(recipient:, template_variables: nil)
53
+ # @!method initialize(recipient:, template_button_variables: nil, template_variables: nil)
54
+ # Some parameter documentations has been truncated, see
55
+ # {Zavudev::Models::Broadcasts::ContactAddParams::Contact} for more details.
56
+ #
44
57
  # @param recipient [String] Phone number (E.164) or email address.
45
58
  #
46
- # @param template_variables [Hash{Symbol=>String}] Per-contact template variables to personalize the message.
59
+ # @param template_button_variables [Hash{Symbol=>String}] Per-contact button variables for dynamic URL/OTP buttons. Keys are the button in
60
+ #
61
+ # @param template_variables [Hash{Symbol=>String}] Per-contact body variables. Keys are positions (1, 2, ...) matching the order pl
47
62
  end
48
63
  end
49
64
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Zavudev
4
4
  module Models
5
- # @see Zavudev::Resources::Contacts#retrieve
5
+ # @see Zavudev::Resources::Contacts#create
6
6
  class Contact < Zavudev::Internal::Type::BaseModel
7
7
  # @!attribute id
8
8
  #
@@ -34,8 +34,8 @@ module Zavudev
34
34
  # @!attribute channels
35
35
  # All communication channels for this contact.
36
36
  #
37
- # @return [Array<Zavudev::Models::Contact::Channel>, nil]
38
- optional :channels, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Contact::Channel] }
37
+ # @return [Array<Zavudev::Models::ContactChannel>, nil]
38
+ optional :channels, -> { Zavudev::Internal::Type::ArrayOf[Zavudev::ContactChannel] }
39
39
 
40
40
  # @!attribute country_code
41
41
  #
@@ -100,7 +100,7 @@ module Zavudev
100
100
  #
101
101
  # @param verified [Boolean] Whether this contact has been verified.
102
102
  #
103
- # @param channels [Array<Zavudev::Models::Contact::Channel>] All communication channels for this contact.
103
+ # @param channels [Array<Zavudev::Models::ContactChannel>] All communication channels for this contact.
104
104
  #
105
105
  # @param country_code [String]
106
106
  #
@@ -120,156 +120,6 @@ module Zavudev
120
120
  #
121
121
  # @param updated_at [Time]
122
122
 
123
- class Channel < Zavudev::Internal::Type::BaseModel
124
- # @!attribute id
125
- #
126
- # @return [String]
127
- required :id, String
128
-
129
- # @!attribute channel
130
- # Channel type.
131
- #
132
- # @return [Symbol, Zavudev::Models::Contact::Channel::Channel]
133
- required :channel, enum: -> { Zavudev::Contact::Channel::Channel }
134
-
135
- # @!attribute created_at
136
- #
137
- # @return [Time]
138
- required :created_at, Time, api_name: :createdAt
139
-
140
- # @!attribute identifier
141
- # Channel identifier (phone number or email address).
142
- #
143
- # @return [String]
144
- required :identifier, String
145
-
146
- # @!attribute is_primary
147
- # Whether this is the primary channel for its type.
148
- #
149
- # @return [Boolean]
150
- required :is_primary, Zavudev::Internal::Type::Boolean, api_name: :isPrimary
151
-
152
- # @!attribute verified
153
- # Whether this channel has been verified.
154
- #
155
- # @return [Boolean]
156
- required :verified, Zavudev::Internal::Type::Boolean
157
-
158
- # @!attribute country_code
159
- # ISO country code for phone numbers.
160
- #
161
- # @return [String, nil]
162
- optional :country_code, String, api_name: :countryCode
163
-
164
- # @!attribute label
165
- # Optional label for the channel.
166
- #
167
- # @return [String, nil]
168
- optional :label, String
169
-
170
- # @!attribute last_inbound_at
171
- # Last time a message was received on this channel.
172
- #
173
- # @return [Time, nil]
174
- optional :last_inbound_at, Time, api_name: :lastInboundAt
175
-
176
- # @!attribute metadata
177
- #
178
- # @return [Hash{Symbol=>String}, nil]
179
- optional :metadata, Zavudev::Internal::Type::HashOf[String]
180
-
181
- # @!attribute metrics
182
- # Delivery metrics for this channel.
183
- #
184
- # @return [Zavudev::Models::Contact::Channel::Metrics, nil]
185
- optional :metrics, -> { Zavudev::Contact::Channel::Metrics }
186
-
187
- # @!attribute updated_at
188
- #
189
- # @return [Time, nil]
190
- optional :updated_at, Time, api_name: :updatedAt
191
-
192
- # @!method initialize(id:, channel:, created_at:, identifier:, is_primary:, verified:, country_code: nil, label: nil, last_inbound_at: nil, metadata: nil, metrics: nil, updated_at: nil)
193
- # A communication channel for a contact.
194
- #
195
- # @param id [String]
196
- #
197
- # @param channel [Symbol, Zavudev::Models::Contact::Channel::Channel] Channel type.
198
- #
199
- # @param created_at [Time]
200
- #
201
- # @param identifier [String] Channel identifier (phone number or email address).
202
- #
203
- # @param is_primary [Boolean] Whether this is the primary channel for its type.
204
- #
205
- # @param verified [Boolean] Whether this channel has been verified.
206
- #
207
- # @param country_code [String] ISO country code for phone numbers.
208
- #
209
- # @param label [String] Optional label for the channel.
210
- #
211
- # @param last_inbound_at [Time] Last time a message was received on this channel.
212
- #
213
- # @param metadata [Hash{Symbol=>String}]
214
- #
215
- # @param metrics [Zavudev::Models::Contact::Channel::Metrics] Delivery metrics for this channel.
216
- #
217
- # @param updated_at [Time]
218
-
219
- # Channel type.
220
- #
221
- # @see Zavudev::Models::Contact::Channel#channel
222
- module Channel
223
- extend Zavudev::Internal::Type::Enum
224
-
225
- SMS = :sms
226
- WHATSAPP = :whatsapp
227
- EMAIL = :email
228
- TELEGRAM = :telegram
229
- VOICE = :voice
230
-
231
- # @!method self.values
232
- # @return [Array<Symbol>]
233
- end
234
-
235
- # @see Zavudev::Models::Contact::Channel#metrics
236
- class Metrics < Zavudev::Internal::Type::BaseModel
237
- # @!attribute avg_delivery_time_ms
238
- #
239
- # @return [Float, nil]
240
- optional :avg_delivery_time_ms, Float, api_name: :avgDeliveryTimeMs
241
-
242
- # @!attribute failure_count
243
- #
244
- # @return [Integer, nil]
245
- optional :failure_count, Integer, api_name: :failureCount
246
-
247
- # @!attribute last_success_at
248
- #
249
- # @return [Time, nil]
250
- optional :last_success_at, Time, api_name: :lastSuccessAt
251
-
252
- # @!attribute success_count
253
- #
254
- # @return [Integer, nil]
255
- optional :success_count, Integer, api_name: :successCount
256
-
257
- # @!attribute total_attempts
258
- #
259
- # @return [Integer, nil]
260
- optional :total_attempts, Integer, api_name: :totalAttempts
261
-
262
- # @!method initialize(avg_delivery_time_ms: nil, failure_count: nil, last_success_at: nil, success_count: nil, total_attempts: nil)
263
- # Delivery metrics for this channel.
264
- #
265
- # @param avg_delivery_time_ms [Float]
266
- # @param failure_count [Integer]
267
- # @param last_success_at [Time]
268
- # @param success_count [Integer]
269
- # @param total_attempts [Integer]
270
- end
271
- end
272
-
273
123
  # Preferred channel for this contact.
274
124
  #
275
125
  # @see Zavudev::Models::Contact#default_channel