zavudev 0.0.2

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 (596) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +10 -0
  4. data/README.md +273 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/zavudev/client.rb +106 -0
  7. data/lib/zavudev/errors.rb +228 -0
  8. data/lib/zavudev/file_part.rb +58 -0
  9. data/lib/zavudev/internal/cursor.rb +86 -0
  10. data/lib/zavudev/internal/transport/base_client.rb +573 -0
  11. data/lib/zavudev/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/zavudev/internal/type/array_of.rb +168 -0
  13. data/lib/zavudev/internal/type/base_model.rb +531 -0
  14. data/lib/zavudev/internal/type/base_page.rb +55 -0
  15. data/lib/zavudev/internal/type/boolean.rb +77 -0
  16. data/lib/zavudev/internal/type/converter.rb +327 -0
  17. data/lib/zavudev/internal/type/enum.rb +156 -0
  18. data/lib/zavudev/internal/type/file_input.rb +111 -0
  19. data/lib/zavudev/internal/type/hash_of.rb +188 -0
  20. data/lib/zavudev/internal/type/request_parameters.rb +42 -0
  21. data/lib/zavudev/internal/type/union.rb +237 -0
  22. data/lib/zavudev/internal/type/unknown.rb +81 -0
  23. data/lib/zavudev/internal/util.rb +951 -0
  24. data/lib/zavudev/internal.rb +20 -0
  25. data/lib/zavudev/models/address.rb +90 -0
  26. data/lib/zavudev/models/address_create_params.rb +68 -0
  27. data/lib/zavudev/models/address_create_response.rb +17 -0
  28. data/lib/zavudev/models/address_delete_params.rb +20 -0
  29. data/lib/zavudev/models/address_list_params.rb +26 -0
  30. data/lib/zavudev/models/address_retrieve_params.rb +20 -0
  31. data/lib/zavudev/models/address_retrieve_response.rb +17 -0
  32. data/lib/zavudev/models/address_status.rb +16 -0
  33. data/lib/zavudev/models/available_phone_number.rb +45 -0
  34. data/lib/zavudev/models/broadcast.rb +242 -0
  35. data/lib/zavudev/models/broadcast_cancel_params.rb +20 -0
  36. data/lib/zavudev/models/broadcast_cancel_response.rb +16 -0
  37. data/lib/zavudev/models/broadcast_channel.rb +22 -0
  38. data/lib/zavudev/models/broadcast_contact.rb +102 -0
  39. data/lib/zavudev/models/broadcast_contact_status.rb +20 -0
  40. data/lib/zavudev/models/broadcast_content.rb +58 -0
  41. data/lib/zavudev/models/broadcast_create_params.rb +101 -0
  42. data/lib/zavudev/models/broadcast_create_response.rb +16 -0
  43. data/lib/zavudev/models/broadcast_delete_params.rb +20 -0
  44. data/lib/zavudev/models/broadcast_list_params.rb +36 -0
  45. data/lib/zavudev/models/broadcast_message_type.rb +20 -0
  46. data/lib/zavudev/models/broadcast_progress.rb +118 -0
  47. data/lib/zavudev/models/broadcast_progress_params.rb +20 -0
  48. data/lib/zavudev/models/broadcast_reschedule_params.rb +29 -0
  49. data/lib/zavudev/models/broadcast_reschedule_response.rb +16 -0
  50. data/lib/zavudev/models/broadcast_retrieve_params.rb +20 -0
  51. data/lib/zavudev/models/broadcast_retrieve_response.rb +16 -0
  52. data/lib/zavudev/models/broadcast_send_params.rb +29 -0
  53. data/lib/zavudev/models/broadcast_send_response.rb +16 -0
  54. data/lib/zavudev/models/broadcast_status.rb +26 -0
  55. data/lib/zavudev/models/broadcast_update_params.rb +64 -0
  56. data/lib/zavudev/models/broadcast_update_response.rb +16 -0
  57. data/lib/zavudev/models/broadcasts/contact_add_params.rb +51 -0
  58. data/lib/zavudev/models/broadcasts/contact_add_response.rb +60 -0
  59. data/lib/zavudev/models/broadcasts/contact_list_params.rb +45 -0
  60. data/lib/zavudev/models/broadcasts/contact_remove_params.rb +28 -0
  61. data/lib/zavudev/models/channel.rb +22 -0
  62. data/lib/zavudev/models/contact.rb +291 -0
  63. data/lib/zavudev/models/contact_list_params.rb +32 -0
  64. data/lib/zavudev/models/contact_retrieve_by_phone_params.rb +20 -0
  65. data/lib/zavudev/models/contact_retrieve_params.rb +20 -0
  66. data/lib/zavudev/models/contact_update_params.rb +54 -0
  67. data/lib/zavudev/models/introspect_validate_phone_params.rb +20 -0
  68. data/lib/zavudev/models/introspect_validate_phone_response.rb +84 -0
  69. data/lib/zavudev/models/line_type.rb +19 -0
  70. data/lib/zavudev/models/message.rb +147 -0
  71. data/lib/zavudev/models/message_content.rb +208 -0
  72. data/lib/zavudev/models/message_list_params.rb +50 -0
  73. data/lib/zavudev/models/message_react_params.rb +36 -0
  74. data/lib/zavudev/models/message_response.rb +16 -0
  75. data/lib/zavudev/models/message_retrieve_params.rb +20 -0
  76. data/lib/zavudev/models/message_send_params.rb +124 -0
  77. data/lib/zavudev/models/message_status.rb +20 -0
  78. data/lib/zavudev/models/message_type.rb +27 -0
  79. data/lib/zavudev/models/owned_phone_number.rb +81 -0
  80. data/lib/zavudev/models/owned_phone_number_pricing.rb +40 -0
  81. data/lib/zavudev/models/phone_number_capabilities.rb +27 -0
  82. data/lib/zavudev/models/phone_number_list_params.rb +37 -0
  83. data/lib/zavudev/models/phone_number_pricing.rb +32 -0
  84. data/lib/zavudev/models/phone_number_purchase_params.rb +30 -0
  85. data/lib/zavudev/models/phone_number_purchase_response.rb +16 -0
  86. data/lib/zavudev/models/phone_number_release_params.rb +20 -0
  87. data/lib/zavudev/models/phone_number_requirements_params.rb +30 -0
  88. data/lib/zavudev/models/phone_number_requirements_response.rb +16 -0
  89. data/lib/zavudev/models/phone_number_retrieve_params.rb +20 -0
  90. data/lib/zavudev/models/phone_number_retrieve_response.rb +16 -0
  91. data/lib/zavudev/models/phone_number_search_available_params.rb +46 -0
  92. data/lib/zavudev/models/phone_number_search_available_response.rb +16 -0
  93. data/lib/zavudev/models/phone_number_status.rb +16 -0
  94. data/lib/zavudev/models/phone_number_type.rb +16 -0
  95. data/lib/zavudev/models/phone_number_update_params.rb +37 -0
  96. data/lib/zavudev/models/phone_number_update_response.rb +16 -0
  97. data/lib/zavudev/models/regulatory_document.rb +96 -0
  98. data/lib/zavudev/models/regulatory_document_create_params.rb +68 -0
  99. data/lib/zavudev/models/regulatory_document_create_response.rb +17 -0
  100. data/lib/zavudev/models/regulatory_document_delete_params.rb +20 -0
  101. data/lib/zavudev/models/regulatory_document_list_params.rb +26 -0
  102. data/lib/zavudev/models/regulatory_document_retrieve_params.rb +20 -0
  103. data/lib/zavudev/models/regulatory_document_retrieve_response.rb +17 -0
  104. data/lib/zavudev/models/regulatory_document_upload_url_params.rb +14 -0
  105. data/lib/zavudev/models/regulatory_document_upload_url_response.rb +17 -0
  106. data/lib/zavudev/models/requirement.rb +43 -0
  107. data/lib/zavudev/models/requirement_acceptance_criteria.rb +35 -0
  108. data/lib/zavudev/models/requirement_field_type.rb +18 -0
  109. data/lib/zavudev/models/requirement_type.rb +56 -0
  110. data/lib/zavudev/models/sender.rb +141 -0
  111. data/lib/zavudev/models/sender_create_params.rb +53 -0
  112. data/lib/zavudev/models/sender_delete_params.rb +20 -0
  113. data/lib/zavudev/models/sender_get_profile_params.rb +20 -0
  114. data/lib/zavudev/models/sender_list_params.rb +26 -0
  115. data/lib/zavudev/models/sender_regenerate_webhook_secret_params.rb +20 -0
  116. data/lib/zavudev/models/sender_retrieve_params.rb +20 -0
  117. data/lib/zavudev/models/sender_update_params.rb +69 -0
  118. data/lib/zavudev/models/sender_update_profile_params.rb +69 -0
  119. data/lib/zavudev/models/sender_update_profile_response.rb +24 -0
  120. data/lib/zavudev/models/sender_upload_profile_picture_params.rb +52 -0
  121. data/lib/zavudev/models/sender_upload_profile_picture_response.rb +24 -0
  122. data/lib/zavudev/models/sender_webhook.rb +46 -0
  123. data/lib/zavudev/models/senders/agent/agent_document.rb +73 -0
  124. data/lib/zavudev/models/senders/agent/agent_flow.rb +181 -0
  125. data/lib/zavudev/models/senders/agent/agent_knowledge_base.rb +64 -0
  126. data/lib/zavudev/models/senders/agent/agent_tool.rb +130 -0
  127. data/lib/zavudev/models/senders/agent/execution_list_params.rb +47 -0
  128. data/lib/zavudev/models/senders/agent/flow_create_params.rb +154 -0
  129. data/lib/zavudev/models/senders/agent/flow_create_response.rb +20 -0
  130. data/lib/zavudev/models/senders/agent/flow_delete_params.rb +30 -0
  131. data/lib/zavudev/models/senders/agent/flow_duplicate_params.rb +36 -0
  132. data/lib/zavudev/models/senders/agent/flow_duplicate_response.rb +20 -0
  133. data/lib/zavudev/models/senders/agent/flow_list_params.rb +42 -0
  134. data/lib/zavudev/models/senders/agent/flow_retrieve_params.rb +30 -0
  135. data/lib/zavudev/models/senders/agent/flow_retrieve_response.rb +20 -0
  136. data/lib/zavudev/models/senders/agent/flow_update_params.rb +160 -0
  137. data/lib/zavudev/models/senders/agent/flow_update_response.rb +20 -0
  138. data/lib/zavudev/models/senders/agent/knowledge_base_create_params.rb +36 -0
  139. data/lib/zavudev/models/senders/agent/knowledge_base_create_response.rb +24 -0
  140. data/lib/zavudev/models/senders/agent/knowledge_base_delete_params.rb +30 -0
  141. data/lib/zavudev/models/senders/agent/knowledge_base_list_params.rb +36 -0
  142. data/lib/zavudev/models/senders/agent/knowledge_base_retrieve_params.rb +30 -0
  143. data/lib/zavudev/models/senders/agent/knowledge_base_retrieve_response.rb +24 -0
  144. data/lib/zavudev/models/senders/agent/knowledge_base_update_params.rb +42 -0
  145. data/lib/zavudev/models/senders/agent/knowledge_base_update_response.rb +24 -0
  146. data/lib/zavudev/models/senders/agent/knowledge_bases/document_create_params.rb +44 -0
  147. data/lib/zavudev/models/senders/agent/knowledge_bases/document_create_response.rb +22 -0
  148. data/lib/zavudev/models/senders/agent/knowledge_bases/document_delete_params.rb +38 -0
  149. data/lib/zavudev/models/senders/agent/knowledge_bases/document_list_params.rb +44 -0
  150. data/lib/zavudev/models/senders/agent/tool_create_params.rb +118 -0
  151. data/lib/zavudev/models/senders/agent/tool_create_response.rb +20 -0
  152. data/lib/zavudev/models/senders/agent/tool_delete_params.rb +30 -0
  153. data/lib/zavudev/models/senders/agent/tool_list_params.rb +42 -0
  154. data/lib/zavudev/models/senders/agent/tool_retrieve_params.rb +30 -0
  155. data/lib/zavudev/models/senders/agent/tool_retrieve_response.rb +20 -0
  156. data/lib/zavudev/models/senders/agent/tool_test_params.rb +42 -0
  157. data/lib/zavudev/models/senders/agent/tool_test_response.rb +20 -0
  158. data/lib/zavudev/models/senders/agent/tool_update_params.rb +115 -0
  159. data/lib/zavudev/models/senders/agent/tool_update_response.rb +20 -0
  160. data/lib/zavudev/models/senders/agent.rb +164 -0
  161. data/lib/zavudev/models/senders/agent_create_params.rb +106 -0
  162. data/lib/zavudev/models/senders/agent_delete_params.rb +22 -0
  163. data/lib/zavudev/models/senders/agent_execution.rb +96 -0
  164. data/lib/zavudev/models/senders/agent_execution_status.rb +21 -0
  165. data/lib/zavudev/models/senders/agent_provider.rb +21 -0
  166. data/lib/zavudev/models/senders/agent_response.rb +19 -0
  167. data/lib/zavudev/models/senders/agent_retrieve_params.rb +22 -0
  168. data/lib/zavudev/models/senders/agent_stats.rb +54 -0
  169. data/lib/zavudev/models/senders/agent_stats_params.rb +22 -0
  170. data/lib/zavudev/models/senders/agent_update_params.rb +112 -0
  171. data/lib/zavudev/models/template.rb +259 -0
  172. data/lib/zavudev/models/template_create_params.rb +162 -0
  173. data/lib/zavudev/models/template_delete_params.rb +20 -0
  174. data/lib/zavudev/models/template_list_params.rb +26 -0
  175. data/lib/zavudev/models/template_retrieve_params.rb +20 -0
  176. data/lib/zavudev/models/template_submit_params.rb +37 -0
  177. data/lib/zavudev/models/webhook_event.rb +42 -0
  178. data/lib/zavudev/models/webhook_secret_response.rb +17 -0
  179. data/lib/zavudev/models/whatsapp_business_profile.rb +66 -0
  180. data/lib/zavudev/models/whatsapp_business_profile_response.rb +17 -0
  181. data/lib/zavudev/models/whatsapp_business_profile_vertical.rb +33 -0
  182. data/lib/zavudev/models/whatsapp_category.rb +17 -0
  183. data/lib/zavudev/models.rb +219 -0
  184. data/lib/zavudev/request_options.rb +77 -0
  185. data/lib/zavudev/resources/addresses.rb +106 -0
  186. data/lib/zavudev/resources/broadcasts/contacts.rb +97 -0
  187. data/lib/zavudev/resources/broadcasts.rb +252 -0
  188. data/lib/zavudev/resources/contacts.rb +104 -0
  189. data/lib/zavudev/resources/introspect.rb +35 -0
  190. data/lib/zavudev/resources/messages.rb +164 -0
  191. data/lib/zavudev/resources/phone_numbers.rb +187 -0
  192. data/lib/zavudev/resources/regulatory_documents.rb +126 -0
  193. data/lib/zavudev/resources/senders/agent/executions.rb +48 -0
  194. data/lib/zavudev/resources/senders/agent/flows.rb +191 -0
  195. data/lib/zavudev/resources/senders/agent/knowledge_bases/documents.rb +117 -0
  196. data/lib/zavudev/resources/senders/agent/knowledge_bases.rb +152 -0
  197. data/lib/zavudev/resources/senders/agent/tools.rb +198 -0
  198. data/lib/zavudev/resources/senders/agent.rb +179 -0
  199. data/lib/zavudev/resources/senders.rb +246 -0
  200. data/lib/zavudev/resources/templates.rb +141 -0
  201. data/lib/zavudev/version.rb +5 -0
  202. data/lib/zavudev.rb +230 -0
  203. data/manifest.yaml +17 -0
  204. data/rbi/zavudev/client.rbi +73 -0
  205. data/rbi/zavudev/errors.rbi +205 -0
  206. data/rbi/zavudev/file_part.rbi +37 -0
  207. data/rbi/zavudev/internal/cursor.rbi +22 -0
  208. data/rbi/zavudev/internal/transport/base_client.rbi +297 -0
  209. data/rbi/zavudev/internal/transport/pooled_net_requester.rbi +83 -0
  210. data/rbi/zavudev/internal/type/array_of.rbi +104 -0
  211. data/rbi/zavudev/internal/type/base_model.rbi +306 -0
  212. data/rbi/zavudev/internal/type/base_page.rbi +42 -0
  213. data/rbi/zavudev/internal/type/boolean.rbi +58 -0
  214. data/rbi/zavudev/internal/type/converter.rbi +216 -0
  215. data/rbi/zavudev/internal/type/enum.rbi +82 -0
  216. data/rbi/zavudev/internal/type/file_input.rbi +59 -0
  217. data/rbi/zavudev/internal/type/hash_of.rbi +104 -0
  218. data/rbi/zavudev/internal/type/request_parameters.rbi +29 -0
  219. data/rbi/zavudev/internal/type/union.rbi +128 -0
  220. data/rbi/zavudev/internal/type/unknown.rbi +58 -0
  221. data/rbi/zavudev/internal/util.rbi +504 -0
  222. data/rbi/zavudev/internal.rbi +16 -0
  223. data/rbi/zavudev/models/address.rbi +109 -0
  224. data/rbi/zavudev/models/address_create_params.rbi +104 -0
  225. data/rbi/zavudev/models/address_create_response.rbi +35 -0
  226. data/rbi/zavudev/models/address_delete_params.rbi +35 -0
  227. data/rbi/zavudev/models/address_list_params.rbi +49 -0
  228. data/rbi/zavudev/models/address_retrieve_params.rbi +35 -0
  229. data/rbi/zavudev/models/address_retrieve_response.rbi +35 -0
  230. data/rbi/zavudev/models/address_status.rbi +20 -0
  231. data/rbi/zavudev/models/available_phone_number.rbi +82 -0
  232. data/rbi/zavudev/models/broadcast.rbi +318 -0
  233. data/rbi/zavudev/models/broadcast_cancel_params.rbi +35 -0
  234. data/rbi/zavudev/models/broadcast_cancel_response.rbi +31 -0
  235. data/rbi/zavudev/models/broadcast_channel.rbi +28 -0
  236. data/rbi/zavudev/models/broadcast_contact.rbi +138 -0
  237. data/rbi/zavudev/models/broadcast_contact_status.rbi +30 -0
  238. data/rbi/zavudev/models/broadcast_content.rbi +96 -0
  239. data/rbi/zavudev/models/broadcast_create_params.rbi +148 -0
  240. data/rbi/zavudev/models/broadcast_create_response.rbi +31 -0
  241. data/rbi/zavudev/models/broadcast_delete_params.rbi +35 -0
  242. data/rbi/zavudev/models/broadcast_list_params.rbi +64 -0
  243. data/rbi/zavudev/models/broadcast_message_type.rbi +27 -0
  244. data/rbi/zavudev/models/broadcast_progress.rbi +141 -0
  245. data/rbi/zavudev/models/broadcast_progress_params.rbi +35 -0
  246. data/rbi/zavudev/models/broadcast_reschedule_params.rbi +49 -0
  247. data/rbi/zavudev/models/broadcast_reschedule_response.rbi +31 -0
  248. data/rbi/zavudev/models/broadcast_retrieve_params.rbi +35 -0
  249. data/rbi/zavudev/models/broadcast_retrieve_response.rbi +31 -0
  250. data/rbi/zavudev/models/broadcast_send_params.rbi +52 -0
  251. data/rbi/zavudev/models/broadcast_send_response.rbi +31 -0
  252. data/rbi/zavudev/models/broadcast_status.rbi +32 -0
  253. data/rbi/zavudev/models/broadcast_update_params.rbi +97 -0
  254. data/rbi/zavudev/models/broadcast_update_response.rbi +31 -0
  255. data/rbi/zavudev/models/broadcasts/contact_add_params.rbi +101 -0
  256. data/rbi/zavudev/models/broadcasts/contact_add_response.rbi +118 -0
  257. data/rbi/zavudev/models/broadcasts/contact_list_params.rbi +75 -0
  258. data/rbi/zavudev/models/broadcasts/contact_remove_params.rbi +48 -0
  259. data/rbi/zavudev/models/channel.rbi +26 -0
  260. data/rbi/zavudev/models/contact.rbi +424 -0
  261. data/rbi/zavudev/models/contact_list_params.rbi +62 -0
  262. data/rbi/zavudev/models/contact_retrieve_by_phone_params.rbi +38 -0
  263. data/rbi/zavudev/models/contact_retrieve_params.rbi +35 -0
  264. data/rbi/zavudev/models/contact_update_params.rbi +114 -0
  265. data/rbi/zavudev/models/introspect_validate_phone_params.rbi +38 -0
  266. data/rbi/zavudev/models/introspect_validate_phone_response.rbi +148 -0
  267. data/rbi/zavudev/models/line_type.rbi +23 -0
  268. data/rbi/zavudev/models/message.rbi +174 -0
  269. data/rbi/zavudev/models/message_content.rbi +337 -0
  270. data/rbi/zavudev/models/message_list_params.rbi +82 -0
  271. data/rbi/zavudev/models/message_react_params.rbi +58 -0
  272. data/rbi/zavudev/models/message_response.rbi +28 -0
  273. data/rbi/zavudev/models/message_retrieve_params.rbi +35 -0
  274. data/rbi/zavudev/models/message_send_params.rbi +181 -0
  275. data/rbi/zavudev/models/message_status.rbi +25 -0
  276. data/rbi/zavudev/models/message_type.rbi +31 -0
  277. data/rbi/zavudev/models/owned_phone_number.rbi +108 -0
  278. data/rbi/zavudev/models/owned_phone_number_pricing.rbi +73 -0
  279. data/rbi/zavudev/models/phone_number_capabilities.rbi +46 -0
  280. data/rbi/zavudev/models/phone_number_list_params.rbi +66 -0
  281. data/rbi/zavudev/models/phone_number_pricing.rbi +62 -0
  282. data/rbi/zavudev/models/phone_number_purchase_params.rbi +54 -0
  283. data/rbi/zavudev/models/phone_number_purchase_response.rbi +33 -0
  284. data/rbi/zavudev/models/phone_number_release_params.rbi +35 -0
  285. data/rbi/zavudev/models/phone_number_requirements_params.rbi +57 -0
  286. data/rbi/zavudev/models/phone_number_requirements_response.rbi +30 -0
  287. data/rbi/zavudev/models/phone_number_retrieve_params.rbi +35 -0
  288. data/rbi/zavudev/models/phone_number_retrieve_response.rbi +33 -0
  289. data/rbi/zavudev/models/phone_number_search_available_params.rbi +79 -0
  290. data/rbi/zavudev/models/phone_number_search_available_response.rbi +32 -0
  291. data/rbi/zavudev/models/phone_number_status.rbi +22 -0
  292. data/rbi/zavudev/models/phone_number_type.rbi +20 -0
  293. data/rbi/zavudev/models/phone_number_update_params.rbi +57 -0
  294. data/rbi/zavudev/models/phone_number_update_response.rbi +33 -0
  295. data/rbi/zavudev/models/regulatory_document.rbi +175 -0
  296. data/rbi/zavudev/models/regulatory_document_create_params.rbi +135 -0
  297. data/rbi/zavudev/models/regulatory_document_create_response.rbi +37 -0
  298. data/rbi/zavudev/models/regulatory_document_delete_params.rbi +38 -0
  299. data/rbi/zavudev/models/regulatory_document_list_params.rbi +52 -0
  300. data/rbi/zavudev/models/regulatory_document_retrieve_params.rbi +38 -0
  301. data/rbi/zavudev/models/regulatory_document_retrieve_response.rbi +37 -0
  302. data/rbi/zavudev/models/regulatory_document_upload_url_params.rbi +30 -0
  303. data/rbi/zavudev/models/regulatory_document_upload_url_response.rbi +30 -0
  304. data/rbi/zavudev/models/requirement.rbi +58 -0
  305. data/rbi/zavudev/models/requirement_acceptance_criteria.rbi +57 -0
  306. data/rbi/zavudev/models/requirement_field_type.rbi +25 -0
  307. data/rbi/zavudev/models/requirement_type.rbi +77 -0
  308. data/rbi/zavudev/models/sender.rbi +234 -0
  309. data/rbi/zavudev/models/sender_create_params.rbi +80 -0
  310. data/rbi/zavudev/models/sender_delete_params.rbi +35 -0
  311. data/rbi/zavudev/models/sender_get_profile_params.rbi +35 -0
  312. data/rbi/zavudev/models/sender_list_params.rbi +49 -0
  313. data/rbi/zavudev/models/sender_regenerate_webhook_secret_params.rbi +38 -0
  314. data/rbi/zavudev/models/sender_retrieve_params.rbi +35 -0
  315. data/rbi/zavudev/models/sender_update_params.rbi +102 -0
  316. data/rbi/zavudev/models/sender_update_profile_params.rbi +113 -0
  317. data/rbi/zavudev/models/sender_update_profile_response.rbi +46 -0
  318. data/rbi/zavudev/models/sender_upload_profile_picture_params.rbi +96 -0
  319. data/rbi/zavudev/models/sender_upload_profile_picture_response.rbi +46 -0
  320. data/rbi/zavudev/models/sender_webhook.rbi +67 -0
  321. data/rbi/zavudev/models/senders/agent/agent_document.rbi +92 -0
  322. data/rbi/zavudev/models/senders/agent/agent_flow.rbi +331 -0
  323. data/rbi/zavudev/models/senders/agent/agent_knowledge_base.rbi +86 -0
  324. data/rbi/zavudev/models/senders/agent/agent_tool.rbi +229 -0
  325. data/rbi/zavudev/models/senders/agent/execution_list_params.rbi +83 -0
  326. data/rbi/zavudev/models/senders/agent/flow_create_params.rbi +336 -0
  327. data/rbi/zavudev/models/senders/agent/flow_create_response.rbi +37 -0
  328. data/rbi/zavudev/models/senders/agent/flow_delete_params.rbi +50 -0
  329. data/rbi/zavudev/models/senders/agent/flow_duplicate_params.rbi +55 -0
  330. data/rbi/zavudev/models/senders/agent/flow_duplicate_response.rbi +37 -0
  331. data/rbi/zavudev/models/senders/agent/flow_list_params.rbi +75 -0
  332. data/rbi/zavudev/models/senders/agent/flow_retrieve_params.rbi +50 -0
  333. data/rbi/zavudev/models/senders/agent/flow_retrieve_response.rbi +37 -0
  334. data/rbi/zavudev/models/senders/agent/flow_update_params.rbi +363 -0
  335. data/rbi/zavudev/models/senders/agent/flow_update_response.rbi +37 -0
  336. data/rbi/zavudev/models/senders/agent/knowledge_base_create_params.rbi +58 -0
  337. data/rbi/zavudev/models/senders/agent/knowledge_base_create_response.rbi +47 -0
  338. data/rbi/zavudev/models/senders/agent/knowledge_base_delete_params.rbi +50 -0
  339. data/rbi/zavudev/models/senders/agent/knowledge_base_list_params.rbi +61 -0
  340. data/rbi/zavudev/models/senders/agent/knowledge_base_retrieve_params.rbi +50 -0
  341. data/rbi/zavudev/models/senders/agent/knowledge_base_retrieve_response.rbi +47 -0
  342. data/rbi/zavudev/models/senders/agent/knowledge_base_update_params.rbi +69 -0
  343. data/rbi/zavudev/models/senders/agent/knowledge_base_update_response.rbi +47 -0
  344. data/rbi/zavudev/models/senders/agent/knowledge_bases/document_create_params.rbi +68 -0
  345. data/rbi/zavudev/models/senders/agent/knowledge_bases/document_create_response.rbi +47 -0
  346. data/rbi/zavudev/models/senders/agent/knowledge_bases/document_delete_params.rbi +57 -0
  347. data/rbi/zavudev/models/senders/agent/knowledge_bases/document_list_params.rbi +74 -0
  348. data/rbi/zavudev/models/senders/agent/tool_create_params.rbi +229 -0
  349. data/rbi/zavudev/models/senders/agent/tool_create_response.rbi +37 -0
  350. data/rbi/zavudev/models/senders/agent/tool_delete_params.rbi +50 -0
  351. data/rbi/zavudev/models/senders/agent/tool_list_params.rbi +75 -0
  352. data/rbi/zavudev/models/senders/agent/tool_retrieve_params.rbi +50 -0
  353. data/rbi/zavudev/models/senders/agent/tool_retrieve_response.rbi +37 -0
  354. data/rbi/zavudev/models/senders/agent/tool_test_params.rbi +62 -0
  355. data/rbi/zavudev/models/senders/agent/tool_test_response.rbi +30 -0
  356. data/rbi/zavudev/models/senders/agent/tool_update_params.rbi +241 -0
  357. data/rbi/zavudev/models/senders/agent/tool_update_response.rbi +37 -0
  358. data/rbi/zavudev/models/senders/agent.rbi +221 -0
  359. data/rbi/zavudev/models/senders/agent_create_params.rbi +137 -0
  360. data/rbi/zavudev/models/senders/agent_delete_params.rbi +40 -0
  361. data/rbi/zavudev/models/senders/agent_execution.rbi +110 -0
  362. data/rbi/zavudev/models/senders/agent_execution_status.rbi +41 -0
  363. data/rbi/zavudev/models/senders/agent_provider.rbi +31 -0
  364. data/rbi/zavudev/models/senders/agent_response.rbi +36 -0
  365. data/rbi/zavudev/models/senders/agent_retrieve_params.rbi +40 -0
  366. data/rbi/zavudev/models/senders/agent_stats.rbi +69 -0
  367. data/rbi/zavudev/models/senders/agent_stats_params.rbi +40 -0
  368. data/rbi/zavudev/models/senders/agent_update_params.rbi +150 -0
  369. data/rbi/zavudev/models/template.rbi +395 -0
  370. data/rbi/zavudev/models/template_create_params.rbi +289 -0
  371. data/rbi/zavudev/models/template_delete_params.rbi +35 -0
  372. data/rbi/zavudev/models/template_list_params.rbi +49 -0
  373. data/rbi/zavudev/models/template_retrieve_params.rbi +35 -0
  374. data/rbi/zavudev/models/template_submit_params.rbi +60 -0
  375. data/rbi/zavudev/models/webhook_event.rbi +53 -0
  376. data/rbi/zavudev/models/webhook_secret_response.rbi +27 -0
  377. data/rbi/zavudev/models/whatsapp_business_profile.rbi +115 -0
  378. data/rbi/zavudev/models/whatsapp_business_profile_response.rbi +37 -0
  379. data/rbi/zavudev/models/whatsapp_business_profile_vertical.rbi +81 -0
  380. data/rbi/zavudev/models/whatsapp_category.rbi +24 -0
  381. data/rbi/zavudev/models.rbi +190 -0
  382. data/rbi/zavudev/request_options.rbi +57 -0
  383. data/rbi/zavudev/resources/addresses.rbi +73 -0
  384. data/rbi/zavudev/resources/broadcasts/contacts.rbi +67 -0
  385. data/rbi/zavudev/resources/broadcasts.rbi +180 -0
  386. data/rbi/zavudev/resources/contacts.rbi +67 -0
  387. data/rbi/zavudev/resources/introspect.rbi +22 -0
  388. data/rbi/zavudev/resources/messages.rbi +139 -0
  389. data/rbi/zavudev/resources/phone_numbers.rbi +130 -0
  390. data/rbi/zavudev/resources/regulatory_documents.rbi +77 -0
  391. data/rbi/zavudev/resources/senders/agent/executions.rbi +38 -0
  392. data/rbi/zavudev/resources/senders/agent/flows.rbi +147 -0
  393. data/rbi/zavudev/resources/senders/agent/knowledge_bases/documents.rbi +83 -0
  394. data/rbi/zavudev/resources/senders/agent/knowledge_bases.rbi +102 -0
  395. data/rbi/zavudev/resources/senders/agent/tools.rbi +143 -0
  396. data/rbi/zavudev/resources/senders/agent.rbi +131 -0
  397. data/rbi/zavudev/resources/senders.rbi +173 -0
  398. data/rbi/zavudev/resources/templates.rbi +96 -0
  399. data/rbi/zavudev/version.rbi +5 -0
  400. data/sig/zavudev/client.rbs +42 -0
  401. data/sig/zavudev/errors.rbs +117 -0
  402. data/sig/zavudev/file_part.rbs +21 -0
  403. data/sig/zavudev/internal/cursor.rbs +13 -0
  404. data/sig/zavudev/internal/transport/base_client.rbs +133 -0
  405. data/sig/zavudev/internal/transport/pooled_net_requester.rbs +48 -0
  406. data/sig/zavudev/internal/type/array_of.rbs +48 -0
  407. data/sig/zavudev/internal/type/base_model.rbs +102 -0
  408. data/sig/zavudev/internal/type/base_page.rbs +24 -0
  409. data/sig/zavudev/internal/type/boolean.rbs +26 -0
  410. data/sig/zavudev/internal/type/converter.rbs +79 -0
  411. data/sig/zavudev/internal/type/enum.rbs +32 -0
  412. data/sig/zavudev/internal/type/file_input.rbs +25 -0
  413. data/sig/zavudev/internal/type/hash_of.rbs +48 -0
  414. data/sig/zavudev/internal/type/request_parameters.rbs +17 -0
  415. data/sig/zavudev/internal/type/union.rbs +52 -0
  416. data/sig/zavudev/internal/type/unknown.rbs +26 -0
  417. data/sig/zavudev/internal/util.rbs +195 -0
  418. data/sig/zavudev/internal.rbs +9 -0
  419. data/sig/zavudev/models/address.rbs +82 -0
  420. data/sig/zavudev/models/address_create_params.rbs +76 -0
  421. data/sig/zavudev/models/address_create_response.rbs +13 -0
  422. data/sig/zavudev/models/address_delete_params.rbs +23 -0
  423. data/sig/zavudev/models/address_list_params.rbs +32 -0
  424. data/sig/zavudev/models/address_retrieve_params.rbs +23 -0
  425. data/sig/zavudev/models/address_retrieve_response.rbs +13 -0
  426. data/sig/zavudev/models/address_status.rbs +15 -0
  427. data/sig/zavudev/models/available_phone_number.rbs +51 -0
  428. data/sig/zavudev/models/broadcast.rbs +211 -0
  429. data/sig/zavudev/models/broadcast_cancel_params.rbs +23 -0
  430. data/sig/zavudev/models/broadcast_cancel_response.rbs +13 -0
  431. data/sig/zavudev/models/broadcast_channel.rbs +28 -0
  432. data/sig/zavudev/models/broadcast_contact.rbs +93 -0
  433. data/sig/zavudev/models/broadcast_contact_status.rbs +19 -0
  434. data/sig/zavudev/models/broadcast_content.rbs +59 -0
  435. data/sig/zavudev/models/broadcast_create_params.rbs +96 -0
  436. data/sig/zavudev/models/broadcast_create_response.rbs +13 -0
  437. data/sig/zavudev/models/broadcast_delete_params.rbs +23 -0
  438. data/sig/zavudev/models/broadcast_list_params.rbs +44 -0
  439. data/sig/zavudev/models/broadcast_message_type.rbs +19 -0
  440. data/sig/zavudev/models/broadcast_progress.rbs +89 -0
  441. data/sig/zavudev/models/broadcast_progress_params.rbs +23 -0
  442. data/sig/zavudev/models/broadcast_reschedule_params.rbs +28 -0
  443. data/sig/zavudev/models/broadcast_reschedule_response.rbs +13 -0
  444. data/sig/zavudev/models/broadcast_retrieve_params.rbs +23 -0
  445. data/sig/zavudev/models/broadcast_retrieve_response.rbs +13 -0
  446. data/sig/zavudev/models/broadcast_send_params.rbs +30 -0
  447. data/sig/zavudev/models/broadcast_send_response.rbs +13 -0
  448. data/sig/zavudev/models/broadcast_status.rbs +36 -0
  449. data/sig/zavudev/models/broadcast_update_params.rbs +68 -0
  450. data/sig/zavudev/models/broadcast_update_response.rbs +13 -0
  451. data/sig/zavudev/models/broadcasts/contact_add_params.rbs +56 -0
  452. data/sig/zavudev/models/broadcasts/contact_add_response.rbs +57 -0
  453. data/sig/zavudev/models/broadcasts/contact_list_params.rbs +51 -0
  454. data/sig/zavudev/models/broadcasts/contact_remove_params.rbs +30 -0
  455. data/sig/zavudev/models/channel.rbs +28 -0
  456. data/sig/zavudev/models/contact.rbs +275 -0
  457. data/sig/zavudev/models/contact_list_params.rbs +38 -0
  458. data/sig/zavudev/models/contact_retrieve_by_phone_params.rbs +23 -0
  459. data/sig/zavudev/models/contact_retrieve_params.rbs +23 -0
  460. data/sig/zavudev/models/contact_update_params.rbs +54 -0
  461. data/sig/zavudev/models/introspect_validate_phone_params.rbs +23 -0
  462. data/sig/zavudev/models/introspect_validate_phone_response.rbs +77 -0
  463. data/sig/zavudev/models/line_type.rbs +17 -0
  464. data/sig/zavudev/models/message.rbs +119 -0
  465. data/sig/zavudev/models/message_content.rbs +202 -0
  466. data/sig/zavudev/models/message_list_params.rbs +58 -0
  467. data/sig/zavudev/models/message_react_params.rbs +34 -0
  468. data/sig/zavudev/models/message_response.rbs +13 -0
  469. data/sig/zavudev/models/message_retrieve_params.rbs +23 -0
  470. data/sig/zavudev/models/message_send_params.rbs +112 -0
  471. data/sig/zavudev/models/message_status.rbs +26 -0
  472. data/sig/zavudev/models/message_type.rbs +36 -0
  473. data/sig/zavudev/models/owned_phone_number.rbs +73 -0
  474. data/sig/zavudev/models/owned_phone_number_pricing.rbs +43 -0
  475. data/sig/zavudev/models/phone_number_capabilities.rbs +23 -0
  476. data/sig/zavudev/models/phone_number_list_params.rbs +44 -0
  477. data/sig/zavudev/models/phone_number_pricing.rbs +32 -0
  478. data/sig/zavudev/models/phone_number_purchase_params.rbs +30 -0
  479. data/sig/zavudev/models/phone_number_purchase_response.rbs +14 -0
  480. data/sig/zavudev/models/phone_number_release_params.rbs +23 -0
  481. data/sig/zavudev/models/phone_number_requirements_params.rbs +32 -0
  482. data/sig/zavudev/models/phone_number_requirements_response.rbs +14 -0
  483. data/sig/zavudev/models/phone_number_retrieve_params.rbs +23 -0
  484. data/sig/zavudev/models/phone_number_retrieve_response.rbs +14 -0
  485. data/sig/zavudev/models/phone_number_search_available_params.rbs +49 -0
  486. data/sig/zavudev/models/phone_number_search_available_response.rbs +14 -0
  487. data/sig/zavudev/models/phone_number_status.rbs +15 -0
  488. data/sig/zavudev/models/phone_number_type.rbs +15 -0
  489. data/sig/zavudev/models/phone_number_update_params.rbs +32 -0
  490. data/sig/zavudev/models/phone_number_update_response.rbs +14 -0
  491. data/sig/zavudev/models/regulatory_document.rbs +104 -0
  492. data/sig/zavudev/models/regulatory_document_create_params.rbs +71 -0
  493. data/sig/zavudev/models/regulatory_document_create_response.rbs +14 -0
  494. data/sig/zavudev/models/regulatory_document_delete_params.rbs +23 -0
  495. data/sig/zavudev/models/regulatory_document_list_params.rbs +32 -0
  496. data/sig/zavudev/models/regulatory_document_retrieve_params.rbs +23 -0
  497. data/sig/zavudev/models/regulatory_document_retrieve_response.rbs +14 -0
  498. data/sig/zavudev/models/regulatory_document_upload_url_params.rbs +15 -0
  499. data/sig/zavudev/models/regulatory_document_upload_url_response.rbs +13 -0
  500. data/sig/zavudev/models/requirement.rbs +40 -0
  501. data/sig/zavudev/models/requirement_acceptance_criteria.rbs +35 -0
  502. data/sig/zavudev/models/requirement_field_type.rbs +16 -0
  503. data/sig/zavudev/models/requirement_type.rbs +49 -0
  504. data/sig/zavudev/models/sender.rbs +140 -0
  505. data/sig/zavudev/models/sender_create_params.rbs +54 -0
  506. data/sig/zavudev/models/sender_delete_params.rbs +23 -0
  507. data/sig/zavudev/models/sender_get_profile_params.rbs +23 -0
  508. data/sig/zavudev/models/sender_list_params.rbs +32 -0
  509. data/sig/zavudev/models/sender_regenerate_webhook_secret_params.rbs +23 -0
  510. data/sig/zavudev/models/sender_retrieve_params.rbs +23 -0
  511. data/sig/zavudev/models/sender_update_params.rbs +68 -0
  512. data/sig/zavudev/models/sender_update_profile_params.rbs +70 -0
  513. data/sig/zavudev/models/sender_update_profile_response.rbs +22 -0
  514. data/sig/zavudev/models/sender_upload_profile_picture_params.rbs +47 -0
  515. data/sig/zavudev/models/sender_upload_profile_picture_response.rbs +22 -0
  516. data/sig/zavudev/models/sender_webhook.rbs +37 -0
  517. data/sig/zavudev/models/senders/agent/agent_document.rbs +61 -0
  518. data/sig/zavudev/models/senders/agent/agent_flow.rbs +163 -0
  519. data/sig/zavudev/models/senders/agent/agent_knowledge_base.rbs +61 -0
  520. data/sig/zavudev/models/senders/agent/agent_tool.rbs +119 -0
  521. data/sig/zavudev/models/senders/agent/execution_list_params.rbs +53 -0
  522. data/sig/zavudev/models/senders/agent/flow_create_params.rbs +158 -0
  523. data/sig/zavudev/models/senders/agent/flow_create_response.rbs +17 -0
  524. data/sig/zavudev/models/senders/agent/flow_delete_params.rbs +32 -0
  525. data/sig/zavudev/models/senders/agent/flow_duplicate_params.rbs +36 -0
  526. data/sig/zavudev/models/senders/agent/flow_duplicate_response.rbs +18 -0
  527. data/sig/zavudev/models/senders/agent/flow_list_params.rbs +46 -0
  528. data/sig/zavudev/models/senders/agent/flow_retrieve_params.rbs +32 -0
  529. data/sig/zavudev/models/senders/agent/flow_retrieve_response.rbs +18 -0
  530. data/sig/zavudev/models/senders/agent/flow_update_params.rbs +173 -0
  531. data/sig/zavudev/models/senders/agent/flow_update_response.rbs +17 -0
  532. data/sig/zavudev/models/senders/agent/knowledge_base_create_params.rbs +38 -0
  533. data/sig/zavudev/models/senders/agent/knowledge_base_create_response.rbs +22 -0
  534. data/sig/zavudev/models/senders/agent/knowledge_base_delete_params.rbs +32 -0
  535. data/sig/zavudev/models/senders/agent/knowledge_base_list_params.rbs +40 -0
  536. data/sig/zavudev/models/senders/agent/knowledge_base_retrieve_params.rbs +32 -0
  537. data/sig/zavudev/models/senders/agent/knowledge_base_retrieve_response.rbs +22 -0
  538. data/sig/zavudev/models/senders/agent/knowledge_base_update_params.rbs +47 -0
  539. data/sig/zavudev/models/senders/agent/knowledge_base_update_response.rbs +22 -0
  540. data/sig/zavudev/models/senders/agent/knowledge_bases/document_create_params.rbs +42 -0
  541. data/sig/zavudev/models/senders/agent/knowledge_bases/document_create_response.rbs +22 -0
  542. data/sig/zavudev/models/senders/agent/knowledge_bases/document_delete_params.rbs +38 -0
  543. data/sig/zavudev/models/senders/agent/knowledge_bases/document_list_params.rbs +46 -0
  544. data/sig/zavudev/models/senders/agent/tool_create_params.rbs +117 -0
  545. data/sig/zavudev/models/senders/agent/tool_create_response.rbs +17 -0
  546. data/sig/zavudev/models/senders/agent/tool_delete_params.rbs +32 -0
  547. data/sig/zavudev/models/senders/agent/tool_list_params.rbs +46 -0
  548. data/sig/zavudev/models/senders/agent/tool_retrieve_params.rbs +32 -0
  549. data/sig/zavudev/models/senders/agent/tool_retrieve_response.rbs +18 -0
  550. data/sig/zavudev/models/senders/agent/tool_test_params.rbs +40 -0
  551. data/sig/zavudev/models/senders/agent/tool_test_response.rbs +17 -0
  552. data/sig/zavudev/models/senders/agent/tool_update_params.rbs +130 -0
  553. data/sig/zavudev/models/senders/agent/tool_update_response.rbs +17 -0
  554. data/sig/zavudev/models/senders/agent.rbs +142 -0
  555. data/sig/zavudev/models/senders/agent_create_params.rbs +97 -0
  556. data/sig/zavudev/models/senders/agent_delete_params.rbs +25 -0
  557. data/sig/zavudev/models/senders/agent_execution.rbs +79 -0
  558. data/sig/zavudev/models/senders/agent_execution_status.rbs +20 -0
  559. data/sig/zavudev/models/senders/agent_provider.rbs +19 -0
  560. data/sig/zavudev/models/senders/agent_response.rbs +15 -0
  561. data/sig/zavudev/models/senders/agent_retrieve_params.rbs +25 -0
  562. data/sig/zavudev/models/senders/agent_stats.rbs +47 -0
  563. data/sig/zavudev/models/senders/agent_stats_params.rbs +25 -0
  564. data/sig/zavudev/models/senders/agent_update_params.rbs +110 -0
  565. data/sig/zavudev/models/template.rbs +254 -0
  566. data/sig/zavudev/models/template_create_params.rbs +158 -0
  567. data/sig/zavudev/models/template_delete_params.rbs +23 -0
  568. data/sig/zavudev/models/template_list_params.rbs +32 -0
  569. data/sig/zavudev/models/template_retrieve_params.rbs +23 -0
  570. data/sig/zavudev/models/template_submit_params.rbs +40 -0
  571. data/sig/zavudev/models/webhook_event.rbs +28 -0
  572. data/sig/zavudev/models/webhook_secret_response.rbs +13 -0
  573. data/sig/zavudev/models/whatsapp_business_profile.rbs +66 -0
  574. data/sig/zavudev/models/whatsapp_business_profile_response.rbs +14 -0
  575. data/sig/zavudev/models/whatsapp_business_profile_vertical.rbs +50 -0
  576. data/sig/zavudev/models/whatsapp_category.rbs +15 -0
  577. data/sig/zavudev/models.rbs +179 -0
  578. data/sig/zavudev/request_options.rbs +34 -0
  579. data/sig/zavudev/resources/addresses.rbs +36 -0
  580. data/sig/zavudev/resources/broadcasts/contacts.rbs +29 -0
  581. data/sig/zavudev/resources/broadcasts.rbs +74 -0
  582. data/sig/zavudev/resources/contacts.rbs +31 -0
  583. data/sig/zavudev/resources/introspect.rbs +12 -0
  584. data/sig/zavudev/resources/messages.rbs +45 -0
  585. data/sig/zavudev/resources/phone_numbers.rbs +51 -0
  586. data/sig/zavudev/resources/regulatory_documents.rbs +36 -0
  587. data/sig/zavudev/resources/senders/agent/executions.rbs +19 -0
  588. data/sig/zavudev/resources/senders/agent/flows.rbs +61 -0
  589. data/sig/zavudev/resources/senders/agent/knowledge_bases/documents.rbs +36 -0
  590. data/sig/zavudev/resources/senders/agent/knowledge_bases.rbs +47 -0
  591. data/sig/zavudev/resources/senders/agent/tools.rbs +61 -0
  592. data/sig/zavudev/resources/senders/agent.rbs +65 -0
  593. data/sig/zavudev/resources/senders.rbs +73 -0
  594. data/sig/zavudev/resources/templates.rbs +42 -0
  595. data/sig/zavudev/version.rbs +3 -0
  596. metadata +667 -0
@@ -0,0 +1,252 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Broadcasts
6
+ # @return [Zavudev::Resources::Broadcasts::Contacts]
7
+ attr_reader :contacts
8
+
9
+ # Create a new broadcast campaign. Add contacts after creation, then send.
10
+ #
11
+ # @overload create(channel:, name:, content: nil, email_html_body: nil, email_subject: nil, idempotency_key: nil, message_type: nil, metadata: nil, scheduled_at: nil, sender_id: nil, text: nil, request_options: {})
12
+ #
13
+ # @param channel [Symbol, Zavudev::Models::BroadcastChannel] Broadcast delivery channel. Use 'smart' for per-contact intelligent routing.
14
+ #
15
+ # @param name [String] Name of the broadcast campaign.
16
+ #
17
+ # @param content [Zavudev::Models::BroadcastContent] Content for non-text broadcast message types.
18
+ #
19
+ # @param email_html_body [String] HTML body for email broadcasts.
20
+ #
21
+ # @param email_subject [String] Email subject line. Required for email broadcasts.
22
+ #
23
+ # @param idempotency_key [String] Idempotency key to prevent duplicate broadcasts.
24
+ #
25
+ # @param message_type [Symbol, Zavudev::Models::BroadcastMessageType] Type of message for broadcast.
26
+ #
27
+ # @param metadata [Hash{Symbol=>String}]
28
+ #
29
+ # @param scheduled_at [Time] Schedule the broadcast for future delivery.
30
+ #
31
+ # @param sender_id [String] Sender profile ID. Uses default sender if omitted.
32
+ #
33
+ # @param text [String] Text content or caption. Supports template variables: {{name}}, {{1}}, etc.
34
+ #
35
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
36
+ #
37
+ # @return [Zavudev::Models::BroadcastCreateResponse]
38
+ #
39
+ # @see Zavudev::Models::BroadcastCreateParams
40
+ def create(params)
41
+ parsed, options = Zavudev::BroadcastCreateParams.dump_request(params)
42
+ @client.request(
43
+ method: :post,
44
+ path: "v1/broadcasts",
45
+ body: parsed,
46
+ model: Zavudev::Models::BroadcastCreateResponse,
47
+ options: options
48
+ )
49
+ end
50
+
51
+ # Get broadcast
52
+ #
53
+ # @overload retrieve(broadcast_id, request_options: {})
54
+ #
55
+ # @param broadcast_id [String]
56
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
57
+ #
58
+ # @return [Zavudev::Models::BroadcastRetrieveResponse]
59
+ #
60
+ # @see Zavudev::Models::BroadcastRetrieveParams
61
+ def retrieve(broadcast_id, params = {})
62
+ @client.request(
63
+ method: :get,
64
+ path: ["v1/broadcasts/%1$s", broadcast_id],
65
+ model: Zavudev::Models::BroadcastRetrieveResponse,
66
+ options: params[:request_options]
67
+ )
68
+ end
69
+
70
+ # Update a broadcast in draft status.
71
+ #
72
+ # @overload update(broadcast_id, content: nil, email_html_body: nil, email_subject: nil, metadata: nil, name: nil, text: nil, request_options: {})
73
+ #
74
+ # @param broadcast_id [String]
75
+ #
76
+ # @param content [Zavudev::Models::BroadcastContent] Content for non-text broadcast message types.
77
+ #
78
+ # @param email_html_body [String]
79
+ #
80
+ # @param email_subject [String]
81
+ #
82
+ # @param metadata [Hash{Symbol=>String}]
83
+ #
84
+ # @param name [String]
85
+ #
86
+ # @param text [String]
87
+ #
88
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
89
+ #
90
+ # @return [Zavudev::Models::BroadcastUpdateResponse]
91
+ #
92
+ # @see Zavudev::Models::BroadcastUpdateParams
93
+ def update(broadcast_id, params = {})
94
+ parsed, options = Zavudev::BroadcastUpdateParams.dump_request(params)
95
+ @client.request(
96
+ method: :patch,
97
+ path: ["v1/broadcasts/%1$s", broadcast_id],
98
+ body: parsed,
99
+ model: Zavudev::Models::BroadcastUpdateResponse,
100
+ options: options
101
+ )
102
+ end
103
+
104
+ # List broadcasts for this project.
105
+ #
106
+ # @overload list(cursor: nil, limit: nil, status: nil, request_options: {})
107
+ #
108
+ # @param cursor [String]
109
+ #
110
+ # @param limit [Integer]
111
+ #
112
+ # @param status [Symbol, Zavudev::Models::BroadcastStatus] Current status of the broadcast.
113
+ #
114
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
115
+ #
116
+ # @return [Zavudev::Internal::Cursor<Zavudev::Models::Broadcast>]
117
+ #
118
+ # @see Zavudev::Models::BroadcastListParams
119
+ def list(params = {})
120
+ parsed, options = Zavudev::BroadcastListParams.dump_request(params)
121
+ query = Zavudev::Internal::Util.encode_query_params(parsed)
122
+ @client.request(
123
+ method: :get,
124
+ path: "v1/broadcasts",
125
+ query: query,
126
+ page: Zavudev::Internal::Cursor,
127
+ model: Zavudev::Broadcast,
128
+ options: options
129
+ )
130
+ end
131
+
132
+ # Delete a broadcast in draft status.
133
+ #
134
+ # @overload delete(broadcast_id, request_options: {})
135
+ #
136
+ # @param broadcast_id [String]
137
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
138
+ #
139
+ # @return [nil]
140
+ #
141
+ # @see Zavudev::Models::BroadcastDeleteParams
142
+ def delete(broadcast_id, params = {})
143
+ @client.request(
144
+ method: :delete,
145
+ path: ["v1/broadcasts/%1$s", broadcast_id],
146
+ model: NilClass,
147
+ options: params[:request_options]
148
+ )
149
+ end
150
+
151
+ # Cancel a broadcast. Pending contacts will be skipped, but already queued
152
+ # messages may still be delivered.
153
+ #
154
+ # @overload cancel(broadcast_id, request_options: {})
155
+ #
156
+ # @param broadcast_id [String]
157
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
158
+ #
159
+ # @return [Zavudev::Models::BroadcastCancelResponse]
160
+ #
161
+ # @see Zavudev::Models::BroadcastCancelParams
162
+ def cancel(broadcast_id, params = {})
163
+ @client.request(
164
+ method: :post,
165
+ path: ["v1/broadcasts/%1$s/cancel", broadcast_id],
166
+ model: Zavudev::Models::BroadcastCancelResponse,
167
+ options: params[:request_options]
168
+ )
169
+ end
170
+
171
+ # Get real-time progress of a broadcast including delivery counts and estimated
172
+ # completion time.
173
+ #
174
+ # @overload progress(broadcast_id, request_options: {})
175
+ #
176
+ # @param broadcast_id [String]
177
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
178
+ #
179
+ # @return [Zavudev::Models::BroadcastProgress]
180
+ #
181
+ # @see Zavudev::Models::BroadcastProgressParams
182
+ def progress(broadcast_id, params = {})
183
+ @client.request(
184
+ method: :get,
185
+ path: ["v1/broadcasts/%1$s/progress", broadcast_id],
186
+ model: Zavudev::BroadcastProgress,
187
+ options: params[:request_options]
188
+ )
189
+ end
190
+
191
+ # Update the scheduled time for a broadcast. The broadcast must be in scheduled
192
+ # status.
193
+ #
194
+ # @overload reschedule(broadcast_id, scheduled_at:, request_options: {})
195
+ #
196
+ # @param broadcast_id [String]
197
+ #
198
+ # @param scheduled_at [Time] New scheduled time for the broadcast.
199
+ #
200
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
201
+ #
202
+ # @return [Zavudev::Models::BroadcastRescheduleResponse]
203
+ #
204
+ # @see Zavudev::Models::BroadcastRescheduleParams
205
+ def reschedule(broadcast_id, params)
206
+ parsed, options = Zavudev::BroadcastRescheduleParams.dump_request(params)
207
+ @client.request(
208
+ method: :patch,
209
+ path: ["v1/broadcasts/%1$s/schedule", broadcast_id],
210
+ body: parsed,
211
+ model: Zavudev::Models::BroadcastRescheduleResponse,
212
+ options: options
213
+ )
214
+ end
215
+
216
+ # Start sending the broadcast immediately or schedule for later. Broadcasts go
217
+ # through automated AI content review before sending. If the review passes, the
218
+ # broadcast proceeds. If rejected, use PATCH to edit content, then call POST
219
+ # /retry-review. Reserves the estimated cost from your balance.
220
+ #
221
+ # @overload send_(broadcast_id, scheduled_at: nil, request_options: {})
222
+ #
223
+ # @param broadcast_id [String]
224
+ #
225
+ # @param scheduled_at [Time] Schedule for future delivery. Omit to send immediately.
226
+ #
227
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
228
+ #
229
+ # @return [Zavudev::Models::BroadcastSendResponse]
230
+ #
231
+ # @see Zavudev::Models::BroadcastSendParams
232
+ def send_(broadcast_id, params = {})
233
+ parsed, options = Zavudev::BroadcastSendParams.dump_request(params)
234
+ @client.request(
235
+ method: :post,
236
+ path: ["v1/broadcasts/%1$s/send", broadcast_id],
237
+ body: parsed,
238
+ model: Zavudev::Models::BroadcastSendResponse,
239
+ options: options
240
+ )
241
+ end
242
+
243
+ # @api private
244
+ #
245
+ # @param client [Zavudev::Client]
246
+ def initialize(client:)
247
+ @client = client
248
+ @contacts = Zavudev::Resources::Broadcasts::Contacts.new(client: client)
249
+ end
250
+ end
251
+ end
252
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Contacts
6
+ # Get contact
7
+ #
8
+ # @overload retrieve(contact_id, request_options: {})
9
+ #
10
+ # @param contact_id [String]
11
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
12
+ #
13
+ # @return [Zavudev::Models::Contact]
14
+ #
15
+ # @see Zavudev::Models::ContactRetrieveParams
16
+ def retrieve(contact_id, params = {})
17
+ @client.request(
18
+ method: :get,
19
+ path: ["v1/contacts/%1$s", contact_id],
20
+ model: Zavudev::Contact,
21
+ options: params[:request_options]
22
+ )
23
+ end
24
+
25
+ # Update contact
26
+ #
27
+ # @overload update(contact_id, default_channel: nil, metadata: nil, request_options: {})
28
+ #
29
+ # @param contact_id [String]
30
+ #
31
+ # @param default_channel [Symbol, Zavudev::Models::ContactUpdateParams::DefaultChannel, nil] Preferred channel for this contact. Set to null to clear.
32
+ #
33
+ # @param metadata [Hash{Symbol=>String}]
34
+ #
35
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
36
+ #
37
+ # @return [Zavudev::Models::Contact]
38
+ #
39
+ # @see Zavudev::Models::ContactUpdateParams
40
+ def update(contact_id, params = {})
41
+ parsed, options = Zavudev::ContactUpdateParams.dump_request(params)
42
+ @client.request(
43
+ method: :patch,
44
+ path: ["v1/contacts/%1$s", contact_id],
45
+ body: parsed,
46
+ model: Zavudev::Contact,
47
+ options: options
48
+ )
49
+ end
50
+
51
+ # List contacts with their communication channels.
52
+ #
53
+ # @overload list(cursor: nil, limit: nil, phone_number: nil, request_options: {})
54
+ #
55
+ # @param cursor [String]
56
+ # @param limit [Integer]
57
+ # @param phone_number [String]
58
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
59
+ #
60
+ # @return [Zavudev::Internal::Cursor<Zavudev::Models::Contact>]
61
+ #
62
+ # @see Zavudev::Models::ContactListParams
63
+ def list(params = {})
64
+ parsed, options = Zavudev::ContactListParams.dump_request(params)
65
+ query = Zavudev::Internal::Util.encode_query_params(parsed)
66
+ @client.request(
67
+ method: :get,
68
+ path: "v1/contacts",
69
+ query: query.transform_keys(phone_number: "phoneNumber"),
70
+ page: Zavudev::Internal::Cursor,
71
+ model: Zavudev::Contact,
72
+ options: options
73
+ )
74
+ end
75
+
76
+ # Get contact by phone number
77
+ #
78
+ # @overload retrieve_by_phone(phone_number, request_options: {})
79
+ #
80
+ # @param phone_number [String] E.164 phone number.
81
+ #
82
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
83
+ #
84
+ # @return [Zavudev::Models::Contact]
85
+ #
86
+ # @see Zavudev::Models::ContactRetrieveByPhoneParams
87
+ def retrieve_by_phone(phone_number, params = {})
88
+ @client.request(
89
+ method: :get,
90
+ path: ["v1/contacts/phone/%1$s", phone_number],
91
+ model: Zavudev::Contact,
92
+ options: params[:request_options]
93
+ )
94
+ end
95
+
96
+ # @api private
97
+ #
98
+ # @param client [Zavudev::Client]
99
+ def initialize(client:)
100
+ @client = client
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Introspect
6
+ # Validate a phone number and check if a WhatsApp conversation window is open.
7
+ #
8
+ # @overload validate_phone(phone_number:, request_options: {})
9
+ #
10
+ # @param phone_number [String]
11
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
12
+ #
13
+ # @return [Zavudev::Models::IntrospectValidatePhoneResponse]
14
+ #
15
+ # @see Zavudev::Models::IntrospectValidatePhoneParams
16
+ def validate_phone(params)
17
+ parsed, options = Zavudev::IntrospectValidatePhoneParams.dump_request(params)
18
+ @client.request(
19
+ method: :post,
20
+ path: "v1/introspect/phone",
21
+ body: parsed,
22
+ model: Zavudev::Models::IntrospectValidatePhoneResponse,
23
+ options: options
24
+ )
25
+ end
26
+
27
+ # @api private
28
+ #
29
+ # @param client [Zavudev::Client]
30
+ def initialize(client:)
31
+ @client = client
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,164 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Messages
6
+ # Get message by ID
7
+ #
8
+ # @overload retrieve(message_id, request_options: {})
9
+ #
10
+ # @param message_id [String]
11
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
12
+ #
13
+ # @return [Zavudev::Models::MessageResponse]
14
+ #
15
+ # @see Zavudev::Models::MessageRetrieveParams
16
+ def retrieve(message_id, params = {})
17
+ @client.request(
18
+ method: :get,
19
+ path: ["v1/messages/%1$s", message_id],
20
+ model: Zavudev::MessageResponse,
21
+ options: params[:request_options]
22
+ )
23
+ end
24
+
25
+ # List messages previously sent by this project.
26
+ #
27
+ # @overload list(channel: nil, cursor: nil, limit: nil, status: nil, to: nil, request_options: {})
28
+ #
29
+ # @param channel [Symbol, Zavudev::Models::Channel] Delivery channel. Use 'auto' for intelligent routing.
30
+ #
31
+ # @param cursor [String]
32
+ #
33
+ # @param limit [Integer]
34
+ #
35
+ # @param status [Symbol, Zavudev::Models::MessageStatus]
36
+ #
37
+ # @param to [String]
38
+ #
39
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
40
+ #
41
+ # @return [Zavudev::Internal::Cursor<Zavudev::Models::Message>]
42
+ #
43
+ # @see Zavudev::Models::MessageListParams
44
+ def list(params = {})
45
+ parsed, options = Zavudev::MessageListParams.dump_request(params)
46
+ query = Zavudev::Internal::Util.encode_query_params(parsed)
47
+ @client.request(
48
+ method: :get,
49
+ path: "v1/messages",
50
+ query: query,
51
+ page: Zavudev::Internal::Cursor,
52
+ model: Zavudev::Message,
53
+ options: options
54
+ )
55
+ end
56
+
57
+ # Some parameter documentations has been truncated, see
58
+ # {Zavudev::Models::MessageReactParams} for more details.
59
+ #
60
+ # Send an emoji reaction to an existing WhatsApp message. Reactions are only
61
+ # supported for WhatsApp messages.
62
+ #
63
+ # @overload react(message_id, emoji:, zavu_sender: nil, request_options: {})
64
+ #
65
+ # @param message_id [String] Path param
66
+ #
67
+ # @param emoji [String] Body param: Single emoji character to react with.
68
+ #
69
+ # @param zavu_sender [String] Header param: Optional sender profile ID. If omitted, the project's default send
70
+ #
71
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
72
+ #
73
+ # @return [Zavudev::Models::MessageResponse]
74
+ #
75
+ # @see Zavudev::Models::MessageReactParams
76
+ def react(message_id, params)
77
+ parsed, options = Zavudev::MessageReactParams.dump_request(params)
78
+ header_params = {zavu_sender: "zavu-sender"}
79
+ @client.request(
80
+ method: :post,
81
+ path: ["v1/messages/%1$s/reactions", message_id],
82
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
83
+ body: parsed.except(*header_params.keys),
84
+ model: Zavudev::MessageResponse,
85
+ options: options
86
+ )
87
+ end
88
+
89
+ # Some parameter documentations has been truncated, see
90
+ # {Zavudev::Models::MessageSendParams} for more details.
91
+ #
92
+ # Send a message to a recipient via SMS or WhatsApp.
93
+ #
94
+ # **Channel selection:**
95
+ #
96
+ # - If `channel` is omitted and `messageType` is `text`, defaults to SMS
97
+ # - If `messageType` is anything other than `text`, WhatsApp is used automatically
98
+ #
99
+ # **WhatsApp 24-hour window:**
100
+ #
101
+ # - Free-form messages (non-template) require an open 24h window
102
+ # - Window opens when the user messages you first
103
+ # - Use template messages to initiate conversations outside the window
104
+ #
105
+ # **Email requirements:**
106
+ #
107
+ # - Email channel requires KYC verification. Complete identity verification in the
108
+ # dashboard before sending emails.
109
+ #
110
+ # @overload send_(to:, channel: nil, content: nil, fallback_enabled: nil, html_body: nil, idempotency_key: nil, message_type: nil, metadata: nil, reply_to: nil, subject: nil, text: nil, voice_language: nil, zavu_sender: nil, request_options: {})
111
+ #
112
+ # @param to [String] Body param: Recipient phone number in E.164 format or email address.
113
+ #
114
+ # @param channel [Symbol, Zavudev::Models::Channel] Body param: Delivery channel. Use 'auto' for intelligent routing. If omitted wit
115
+ #
116
+ # @param content [Zavudev::Models::MessageContent] Body param: Additional content for non-text message types.
117
+ #
118
+ # @param fallback_enabled [Boolean] Body param: Whether to enable automatic fallback to SMS if WhatsApp fails. Defau
119
+ #
120
+ # @param html_body [String] Body param: HTML body for email messages. If provided, email will be sent as mul
121
+ #
122
+ # @param idempotency_key [String] Body param: Optional idempotency key to avoid duplicate sends.
123
+ #
124
+ # @param message_type [Symbol, Zavudev::Models::MessageType] Body param: Type of message. Defaults to 'text'.
125
+ #
126
+ # @param metadata [Hash{Symbol=>String}] Body param: Arbitrary metadata to associate with the message.
127
+ #
128
+ # @param reply_to [String] Body param: Reply-To email address for email messages.
129
+ #
130
+ # @param subject [String] Body param: Email subject line. Required when channel is 'email' or recipient is
131
+ #
132
+ # @param text [String] Body param: Text body for text messages or caption for media messages.
133
+ #
134
+ # @param voice_language [String] Body param: Language code for voice text-to-speech (e.g., 'en-US', 'es-ES', 'pt-
135
+ #
136
+ # @param zavu_sender [String] Header param: Optional sender profile ID. If omitted, the project's default send
137
+ #
138
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
139
+ #
140
+ # @return [Zavudev::Models::MessageResponse]
141
+ #
142
+ # @see Zavudev::Models::MessageSendParams
143
+ def send_(params)
144
+ parsed, options = Zavudev::MessageSendParams.dump_request(params)
145
+ header_params = {zavu_sender: "zavu-sender"}
146
+ @client.request(
147
+ method: :post,
148
+ path: "v1/messages",
149
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
150
+ body: parsed.except(*header_params.keys),
151
+ model: Zavudev::MessageResponse,
152
+ options: options
153
+ )
154
+ end
155
+
156
+ # @api private
157
+ #
158
+ # @param client [Zavudev::Client]
159
+ def initialize(client:)
160
+ @client = client
161
+ end
162
+ end
163
+ end
164
+ end