late-sdk 0.0.43 → 0.0.44

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 (273) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +124 -0
  3. data/docs/AddWhatsAppBroadcastRecipients200Response.md +24 -0
  4. data/docs/AddWhatsAppBroadcastRecipientsRequest.md +18 -0
  5. data/docs/AddWhatsAppBroadcastRecipientsRequestRecipientsInner.md +22 -0
  6. data/docs/BulkDeleteWhatsAppContacts200Response.md +20 -0
  7. data/docs/BulkDeleteWhatsAppContactsRequest.md +18 -0
  8. data/docs/BulkUpdateWhatsAppContacts200Response.md +24 -0
  9. data/docs/BulkUpdateWhatsAppContactsRequest.md +24 -0
  10. data/docs/CancelWhatsAppBroadcastSchedule200Response.md +22 -0
  11. data/docs/CancelWhatsAppBroadcastSchedule200ResponseBroadcast.md +20 -0
  12. data/docs/CreateWhatsAppBroadcast200Response.md +20 -0
  13. data/docs/CreateWhatsAppBroadcast200ResponseBroadcast.md +30 -0
  14. data/docs/CreateWhatsAppBroadcastRequest.md +26 -0
  15. data/docs/CreateWhatsAppBroadcastRequestRecipientsInner.md +22 -0
  16. data/docs/CreateWhatsAppContact200Response.md +20 -0
  17. data/docs/CreateWhatsAppContact200ResponseContact.md +34 -0
  18. data/docs/CreateWhatsAppContactRequest.md +36 -0
  19. data/docs/CreateWhatsAppTemplate200Response.md +20 -0
  20. data/docs/CreateWhatsAppTemplate200ResponseTemplate.md +26 -0
  21. data/docs/CreateWhatsAppTemplateRequest.md +26 -0
  22. data/docs/DeleteWhatsAppGroupRequest.md +20 -0
  23. data/docs/GetPreverifiedWhatsAppNumbers200Response.md +20 -0
  24. data/docs/GetPreverifiedWhatsAppNumbers200ResponseNumbersInner.md +26 -0
  25. data/docs/GetWhatsAppBroadcast200Response.md +20 -0
  26. data/docs/GetWhatsAppBroadcast200ResponseBroadcast.md +46 -0
  27. data/docs/GetWhatsAppBroadcastRecipients200Response.md +24 -0
  28. data/docs/GetWhatsAppBroadcastRecipients200ResponseRecipientsInner.md +34 -0
  29. data/docs/GetWhatsAppBroadcastRecipients200ResponseSummary.md +28 -0
  30. data/docs/GetWhatsAppBroadcasts200Response.md +22 -0
  31. data/docs/GetWhatsAppBroadcasts200ResponseBroadcastsInner.md +44 -0
  32. data/docs/GetWhatsAppBroadcasts200ResponseBroadcastsInnerTemplate.md +20 -0
  33. data/docs/GetWhatsAppBusinessProfile200Response.md +20 -0
  34. data/docs/GetWhatsAppBusinessProfile200ResponseBusinessProfile.md +30 -0
  35. data/docs/GetWhatsAppContact200Response.md +20 -0
  36. data/docs/GetWhatsAppContact200ResponseContact.md +56 -0
  37. data/docs/GetWhatsAppContacts200Response.md +24 -0
  38. data/docs/GetWhatsAppContacts200ResponseContactsInner.md +48 -0
  39. data/docs/GetWhatsAppContacts200ResponseFilters.md +20 -0
  40. data/docs/GetWhatsAppContacts200ResponsePagination.md +24 -0
  41. data/docs/GetWhatsAppGroups200Response.md +22 -0
  42. data/docs/GetWhatsAppGroups200ResponseGroupsInner.md +22 -0
  43. data/docs/GetWhatsAppGroups200ResponseSummary.md +22 -0
  44. data/docs/GetWhatsAppPhoneNumber200Response.md +18 -0
  45. data/docs/GetWhatsAppPhoneNumber200ResponsePhoneNumber.md +30 -0
  46. data/docs/GetWhatsAppPhoneNumbers200Response.md +18 -0
  47. data/docs/GetWhatsAppPhoneNumbers200ResponseNumbersInner.md +34 -0
  48. data/docs/GetWhatsAppTemplate200Response.md +20 -0
  49. data/docs/GetWhatsAppTemplate200ResponseTemplate.md +28 -0
  50. data/docs/GetWhatsAppTemplates200Response.md +20 -0
  51. data/docs/GetWhatsAppTemplates200ResponseTemplatesInner.md +28 -0
  52. data/docs/ImportWhatsAppContacts200Response.md +22 -0
  53. data/docs/ImportWhatsAppContacts200ResponseResultsInner.md +26 -0
  54. data/docs/ImportWhatsAppContacts200ResponseSummary.md +24 -0
  55. data/docs/ImportWhatsAppContactsRequest.md +26 -0
  56. data/docs/ImportWhatsAppContactsRequestContactsInner.md +32 -0
  57. data/docs/PurchaseWhatsAppPhoneNumber200Response.md +49 -0
  58. data/docs/PurchaseWhatsAppPhoneNumber200ResponseOneOf.md +20 -0
  59. data/docs/PurchaseWhatsAppPhoneNumber200ResponseOneOf1.md +20 -0
  60. data/docs/PurchaseWhatsAppPhoneNumber200ResponseOneOf1PhoneNumber.md +30 -0
  61. data/docs/PurchaseWhatsAppPhoneNumberRequest.md +18 -0
  62. data/docs/ReleaseWhatsAppPhoneNumber200Response.md +20 -0
  63. data/docs/ReleaseWhatsAppPhoneNumber200ResponsePhoneNumber.md +24 -0
  64. data/docs/RemoveWhatsAppBroadcastRecipients200Response.md +22 -0
  65. data/docs/RemoveWhatsAppBroadcastRecipientsRequest.md +18 -0
  66. data/docs/RenameWhatsAppGroup200Response.md +22 -0
  67. data/docs/RenameWhatsAppGroupRequest.md +22 -0
  68. data/docs/RequestWhatsAppVerificationCode200Response.md +20 -0
  69. data/docs/RequestWhatsAppVerificationCodeRequest.md +18 -0
  70. data/docs/ScheduleWhatsAppBroadcast200Response.md +20 -0
  71. data/docs/ScheduleWhatsAppBroadcast200ResponseBroadcast.md +22 -0
  72. data/docs/ScheduleWhatsAppBroadcastRequest.md +18 -0
  73. data/docs/SearchAvailableWhatsAppNumbers200Response.md +18 -0
  74. data/docs/SendWhatsAppBroadcast200Response.md +26 -0
  75. data/docs/SendWhatsAppBulk200Response.md +22 -0
  76. data/docs/SendWhatsAppBulk200ResponseResultsInner.md +24 -0
  77. data/docs/SendWhatsAppBulk200ResponseSummary.md +22 -0
  78. data/docs/SendWhatsAppBulkRequest.md +22 -0
  79. data/docs/SendWhatsAppBulkRequestRecipientsInner.md +20 -0
  80. data/docs/SendWhatsAppBulkRequestTemplate.md +22 -0
  81. data/docs/UpdateWhatsAppBusinessProfileRequest.md +32 -0
  82. data/docs/UpdateWhatsAppContact200Response.md +20 -0
  83. data/docs/UpdateWhatsAppContact200ResponseContact.md +40 -0
  84. data/docs/UpdateWhatsAppContactRequest.md +34 -0
  85. data/docs/UpdateWhatsAppTemplate200Response.md +20 -0
  86. data/docs/UpdateWhatsAppTemplate200ResponseTemplate.md +22 -0
  87. data/docs/UpdateWhatsAppTemplateRequest.md +20 -0
  88. data/docs/VerifyWhatsAppPhoneNumber200Response.md +22 -0
  89. data/docs/VerifyWhatsAppPhoneNumberRequest.md +18 -0
  90. data/docs/WhatsAppApi.md +2081 -0
  91. data/docs/WhatsAppPhoneNumbersApi.md +585 -0
  92. data/lib/late-sdk/api/whats_app_api.rb +2021 -0
  93. data/lib/late-sdk/api/whats_app_phone_numbers_api.rb +564 -0
  94. data/lib/late-sdk/models/add_whats_app_broadcast_recipients200_response.rb +177 -0
  95. data/lib/late-sdk/models/add_whats_app_broadcast_recipients_request.rb +176 -0
  96. data/lib/late-sdk/models/add_whats_app_broadcast_recipients_request_recipients_inner.rb +185 -0
  97. data/lib/late-sdk/models/bulk_delete_whats_app_contacts200_response.rb +157 -0
  98. data/lib/late-sdk/models/bulk_delete_whats_app_contacts_request.rb +176 -0
  99. data/lib/late-sdk/models/bulk_update_whats_app_contacts200_response.rb +176 -0
  100. data/lib/late-sdk/models/bulk_update_whats_app_contacts_request.rb +251 -0
  101. data/lib/late-sdk/models/cancel_whats_app_broadcast_schedule200_response.rb +165 -0
  102. data/lib/late-sdk/models/cancel_whats_app_broadcast_schedule200_response_broadcast.rb +157 -0
  103. data/lib/late-sdk/models/create_whats_app_broadcast200_response.rb +156 -0
  104. data/lib/late-sdk/models/create_whats_app_broadcast200_response_broadcast.rb +202 -0
  105. data/lib/late-sdk/models/create_whats_app_broadcast_request.rb +240 -0
  106. data/lib/late-sdk/models/create_whats_app_broadcast_request_recipients_inner.rb +186 -0
  107. data/lib/late-sdk/models/create_whats_app_contact200_response.rb +156 -0
  108. data/lib/late-sdk/models/create_whats_app_contact200_response_contact.rb +223 -0
  109. data/lib/late-sdk/models/create_whats_app_contact_request.rb +297 -0
  110. data/lib/late-sdk/models/create_whats_app_template200_response.rb +156 -0
  111. data/lib/late-sdk/models/create_whats_app_template200_response_template.rb +183 -0
  112. data/lib/late-sdk/models/create_whats_app_template_request.rb +310 -0
  113. data/lib/late-sdk/models/delete_whats_app_group_request.rb +192 -0
  114. data/lib/late-sdk/models/get_preverified_whats_app_numbers200_response.rb +161 -0
  115. data/lib/late-sdk/models/get_preverified_whats_app_numbers200_response_numbers_inner.rb +183 -0
  116. data/lib/late-sdk/models/get_whats_app_broadcast200_response.rb +156 -0
  117. data/lib/late-sdk/models/get_whats_app_broadcast200_response_broadcast.rb +307 -0
  118. data/lib/late-sdk/models/get_whats_app_broadcast_recipients200_response.rb +176 -0
  119. data/lib/late-sdk/models/get_whats_app_broadcast_recipients200_response_recipients_inner.rb +253 -0
  120. data/lib/late-sdk/models/get_whats_app_broadcast_recipients200_response_summary.rb +192 -0
  121. data/lib/late-sdk/models/get_whats_app_broadcasts200_response.rb +167 -0
  122. data/lib/late-sdk/models/get_whats_app_broadcasts200_response_broadcasts_inner.rb +298 -0
  123. data/lib/late-sdk/models/get_whats_app_broadcasts200_response_broadcasts_inner_template.rb +156 -0
  124. data/lib/late-sdk/models/get_whats_app_business_profile200_response.rb +156 -0
  125. data/lib/late-sdk/models/get_whats_app_business_profile200_response_business_profile.rb +225 -0
  126. data/lib/late-sdk/models/get_whats_app_contact200_response.rb +156 -0
  127. data/lib/late-sdk/models/get_whats_app_contact200_response_contact.rb +322 -0
  128. data/lib/late-sdk/models/get_whats_app_contacts200_response.rb +176 -0
  129. data/lib/late-sdk/models/get_whats_app_contacts200_response_contacts_inner.rb +286 -0
  130. data/lib/late-sdk/models/get_whats_app_contacts200_response_filters.rb +160 -0
  131. data/lib/late-sdk/models/get_whats_app_contacts200_response_pagination.rb +174 -0
  132. data/lib/late-sdk/models/get_whats_app_groups200_response.rb +167 -0
  133. data/lib/late-sdk/models/get_whats_app_groups200_response_groups_inner.rb +167 -0
  134. data/lib/late-sdk/models/get_whats_app_groups200_response_summary.rb +165 -0
  135. data/lib/late-sdk/models/get_whats_app_phone_number200_response.rb +147 -0
  136. data/lib/late-sdk/models/get_whats_app_phone_number200_response_phone_number.rb +235 -0
  137. data/lib/late-sdk/models/get_whats_app_phone_numbers200_response.rb +149 -0
  138. data/lib/late-sdk/models/get_whats_app_phone_numbers200_response_numbers_inner.rb +253 -0
  139. data/lib/late-sdk/models/get_whats_app_template200_response.rb +156 -0
  140. data/lib/late-sdk/models/get_whats_app_template200_response_template.rb +194 -0
  141. data/lib/late-sdk/models/get_whats_app_templates200_response.rb +158 -0
  142. data/lib/late-sdk/models/get_whats_app_templates200_response_templates_inner.rb +241 -0
  143. data/lib/late-sdk/models/import_whats_app_contacts200_response.rb +167 -0
  144. data/lib/late-sdk/models/import_whats_app_contacts200_response_results_inner.rb +183 -0
  145. data/lib/late-sdk/models/import_whats_app_contacts200_response_summary.rb +174 -0
  146. data/lib/late-sdk/models/import_whats_app_contacts_request.rb +239 -0
  147. data/lib/late-sdk/models/import_whats_app_contacts_request_contacts_inner.rb +252 -0
  148. data/lib/late-sdk/models/purchase_whats_app_phone_number200_response.rb +104 -0
  149. data/lib/late-sdk/models/purchase_whats_app_phone_number200_response_one_of.rb +157 -0
  150. data/lib/late-sdk/models/purchase_whats_app_phone_number200_response_one_of1.rb +157 -0
  151. data/lib/late-sdk/models/purchase_whats_app_phone_number200_response_one_of1_phone_number.rb +201 -0
  152. data/lib/late-sdk/models/purchase_whats_app_phone_number_request.rb +165 -0
  153. data/lib/late-sdk/models/release_whats_app_phone_number200_response.rb +156 -0
  154. data/lib/late-sdk/models/release_whats_app_phone_number200_response_phone_number.rb +175 -0
  155. data/lib/late-sdk/models/remove_whats_app_broadcast_recipients200_response.rb +167 -0
  156. data/lib/late-sdk/models/remove_whats_app_broadcast_recipients_request.rb +167 -0
  157. data/lib/late-sdk/models/rename_whats_app_group200_response.rb +166 -0
  158. data/lib/late-sdk/models/rename_whats_app_group_request.rb +219 -0
  159. data/lib/late-sdk/models/request_whats_app_verification_code200_response.rb +190 -0
  160. data/lib/late-sdk/models/request_whats_app_verification_code_request.rb +184 -0
  161. data/lib/late-sdk/models/schedule_whats_app_broadcast200_response.rb +156 -0
  162. data/lib/late-sdk/models/schedule_whats_app_broadcast200_response_broadcast.rb +166 -0
  163. data/lib/late-sdk/models/schedule_whats_app_broadcast_request.rb +165 -0
  164. data/lib/late-sdk/models/search_available_whats_app_numbers200_response.rb +149 -0
  165. data/lib/late-sdk/models/send_whats_app_broadcast200_response.rb +221 -0
  166. data/lib/late-sdk/models/send_whats_app_bulk200_response.rb +167 -0
  167. data/lib/late-sdk/models/send_whats_app_bulk200_response_results_inner.rb +174 -0
  168. data/lib/late-sdk/models/send_whats_app_bulk200_response_summary.rb +165 -0
  169. data/lib/late-sdk/models/send_whats_app_bulk_request.rb +229 -0
  170. data/lib/late-sdk/models/send_whats_app_bulk_request_recipients_inner.rb +177 -0
  171. data/lib/late-sdk/models/send_whats_app_bulk_request_template.rb +204 -0
  172. data/lib/late-sdk/models/update_whats_app_business_profile_request.rb +294 -0
  173. data/lib/late-sdk/models/update_whats_app_contact200_response.rb +156 -0
  174. data/lib/late-sdk/models/update_whats_app_contact200_response_contact.rb +250 -0
  175. data/lib/late-sdk/models/update_whats_app_contact_request.rb +234 -0
  176. data/lib/late-sdk/models/update_whats_app_template200_response.rb +156 -0
  177. data/lib/late-sdk/models/update_whats_app_template200_response_template.rb +165 -0
  178. data/lib/late-sdk/models/update_whats_app_template_request.rb +194 -0
  179. data/lib/late-sdk/models/verify_whats_app_phone_number200_response.rb +165 -0
  180. data/lib/late-sdk/models/verify_whats_app_phone_number_request.rb +165 -0
  181. data/lib/late-sdk/version.rb +1 -1
  182. data/lib/late-sdk.rb +89 -0
  183. data/openapi.yaml +2144 -0
  184. data/spec/api/whats_app_api_spec.rb +402 -0
  185. data/spec/api/whats_app_phone_numbers_api_spec.rb +137 -0
  186. data/spec/models/add_whats_app_broadcast_recipients200_response_spec.rb +54 -0
  187. data/spec/models/add_whats_app_broadcast_recipients_request_recipients_inner_spec.rb +48 -0
  188. data/spec/models/add_whats_app_broadcast_recipients_request_spec.rb +36 -0
  189. data/spec/models/bulk_delete_whats_app_contacts200_response_spec.rb +42 -0
  190. data/spec/models/bulk_delete_whats_app_contacts_request_spec.rb +36 -0
  191. data/spec/models/bulk_update_whats_app_contacts200_response_spec.rb +54 -0
  192. data/spec/models/bulk_update_whats_app_contacts_request_spec.rb +58 -0
  193. data/spec/models/cancel_whats_app_broadcast_schedule200_response_broadcast_spec.rb +42 -0
  194. data/spec/models/cancel_whats_app_broadcast_schedule200_response_spec.rb +48 -0
  195. data/spec/models/create_whats_app_broadcast200_response_broadcast_spec.rb +72 -0
  196. data/spec/models/create_whats_app_broadcast200_response_spec.rb +42 -0
  197. data/spec/models/create_whats_app_broadcast_request_recipients_inner_spec.rb +48 -0
  198. data/spec/models/create_whats_app_broadcast_request_spec.rb +60 -0
  199. data/spec/models/create_whats_app_contact200_response_contact_spec.rb +84 -0
  200. data/spec/models/create_whats_app_contact200_response_spec.rb +42 -0
  201. data/spec/models/create_whats_app_contact_request_spec.rb +90 -0
  202. data/spec/models/create_whats_app_template200_response_spec.rb +42 -0
  203. data/spec/models/create_whats_app_template200_response_template_spec.rb +60 -0
  204. data/spec/models/create_whats_app_template_request_spec.rb +64 -0
  205. data/spec/models/delete_whats_app_group_request_spec.rb +42 -0
  206. data/spec/models/get_preverified_whats_app_numbers200_response_numbers_inner_spec.rb +60 -0
  207. data/spec/models/get_preverified_whats_app_numbers200_response_spec.rb +42 -0
  208. data/spec/models/get_whats_app_broadcast200_response_broadcast_spec.rb +124 -0
  209. data/spec/models/get_whats_app_broadcast200_response_spec.rb +42 -0
  210. data/spec/models/get_whats_app_broadcast_recipients200_response_recipients_inner_spec.rb +88 -0
  211. data/spec/models/get_whats_app_broadcast_recipients200_response_spec.rb +54 -0
  212. data/spec/models/get_whats_app_broadcast_recipients200_response_summary_spec.rb +66 -0
  213. data/spec/models/get_whats_app_broadcasts200_response_broadcasts_inner_spec.rb +118 -0
  214. data/spec/models/get_whats_app_broadcasts200_response_broadcasts_inner_template_spec.rb +42 -0
  215. data/spec/models/get_whats_app_broadcasts200_response_spec.rb +48 -0
  216. data/spec/models/get_whats_app_business_profile200_response_business_profile_spec.rb +72 -0
  217. data/spec/models/get_whats_app_business_profile200_response_spec.rb +42 -0
  218. data/spec/models/get_whats_app_contact200_response_contact_spec.rb +150 -0
  219. data/spec/models/get_whats_app_contact200_response_spec.rb +42 -0
  220. data/spec/models/get_whats_app_contacts200_response_contacts_inner_spec.rb +126 -0
  221. data/spec/models/get_whats_app_contacts200_response_filters_spec.rb +42 -0
  222. data/spec/models/get_whats_app_contacts200_response_pagination_spec.rb +54 -0
  223. data/spec/models/get_whats_app_contacts200_response_spec.rb +54 -0
  224. data/spec/models/get_whats_app_groups200_response_groups_inner_spec.rb +48 -0
  225. data/spec/models/get_whats_app_groups200_response_spec.rb +48 -0
  226. data/spec/models/get_whats_app_groups200_response_summary_spec.rb +48 -0
  227. data/spec/models/get_whats_app_phone_number200_response_phone_number_spec.rb +76 -0
  228. data/spec/models/get_whats_app_phone_number200_response_spec.rb +36 -0
  229. data/spec/models/get_whats_app_phone_numbers200_response_numbers_inner_spec.rb +88 -0
  230. data/spec/models/get_whats_app_phone_numbers200_response_spec.rb +36 -0
  231. data/spec/models/get_whats_app_template200_response_spec.rb +42 -0
  232. data/spec/models/get_whats_app_template200_response_template_spec.rb +66 -0
  233. data/spec/models/get_whats_app_templates200_response_spec.rb +42 -0
  234. data/spec/models/get_whats_app_templates200_response_templates_inner_spec.rb +74 -0
  235. data/spec/models/import_whats_app_contacts200_response_results_inner_spec.rb +60 -0
  236. data/spec/models/import_whats_app_contacts200_response_spec.rb +48 -0
  237. data/spec/models/import_whats_app_contacts200_response_summary_spec.rb +54 -0
  238. data/spec/models/import_whats_app_contacts_request_contacts_inner_spec.rb +78 -0
  239. data/spec/models/import_whats_app_contacts_request_spec.rb +60 -0
  240. data/spec/models/purchase_whats_app_phone_number200_response_one_of1_phone_number_spec.rb +72 -0
  241. data/spec/models/purchase_whats_app_phone_number200_response_one_of1_spec.rb +42 -0
  242. data/spec/models/purchase_whats_app_phone_number200_response_one_of_spec.rb +42 -0
  243. data/spec/models/purchase_whats_app_phone_number200_response_spec.rb +32 -0
  244. data/spec/models/purchase_whats_app_phone_number_request_spec.rb +36 -0
  245. data/spec/models/release_whats_app_phone_number200_response_phone_number_spec.rb +54 -0
  246. data/spec/models/release_whats_app_phone_number200_response_spec.rb +42 -0
  247. data/spec/models/remove_whats_app_broadcast_recipients200_response_spec.rb +48 -0
  248. data/spec/models/remove_whats_app_broadcast_recipients_request_spec.rb +36 -0
  249. data/spec/models/rename_whats_app_group200_response_spec.rb +48 -0
  250. data/spec/models/rename_whats_app_group_request_spec.rb +48 -0
  251. data/spec/models/request_whats_app_verification_code200_response_spec.rb +46 -0
  252. data/spec/models/request_whats_app_verification_code_request_spec.rb +40 -0
  253. data/spec/models/schedule_whats_app_broadcast200_response_broadcast_spec.rb +48 -0
  254. data/spec/models/schedule_whats_app_broadcast200_response_spec.rb +42 -0
  255. data/spec/models/schedule_whats_app_broadcast_request_spec.rb +36 -0
  256. data/spec/models/search_available_whats_app_numbers200_response_spec.rb +36 -0
  257. data/spec/models/send_whats_app_broadcast200_response_spec.rb +64 -0
  258. data/spec/models/send_whats_app_bulk200_response_results_inner_spec.rb +54 -0
  259. data/spec/models/send_whats_app_bulk200_response_spec.rb +48 -0
  260. data/spec/models/send_whats_app_bulk200_response_summary_spec.rb +48 -0
  261. data/spec/models/send_whats_app_bulk_request_recipients_inner_spec.rb +42 -0
  262. data/spec/models/send_whats_app_bulk_request_spec.rb +48 -0
  263. data/spec/models/send_whats_app_bulk_request_template_spec.rb +48 -0
  264. data/spec/models/update_whats_app_business_profile_request_spec.rb +78 -0
  265. data/spec/models/update_whats_app_contact200_response_contact_spec.rb +102 -0
  266. data/spec/models/update_whats_app_contact200_response_spec.rb +42 -0
  267. data/spec/models/update_whats_app_contact_request_spec.rb +84 -0
  268. data/spec/models/update_whats_app_template200_response_spec.rb +42 -0
  269. data/spec/models/update_whats_app_template200_response_template_spec.rb +48 -0
  270. data/spec/models/update_whats_app_template_request_spec.rb +42 -0
  271. data/spec/models/verify_whats_app_phone_number200_response_spec.rb +48 -0
  272. data/spec/models/verify_whats_app_phone_number_request_spec.rb +36 -0
  273. metadata +357 -1
@@ -0,0 +1,2021 @@
1
+ =begin
2
+ #Late API
3
+
4
+ #API reference for Late. Authenticate with a Bearer API key. Base URL: https://getlate.dev/api
5
+
6
+ The version of the OpenAPI document: 1.0.1
7
+ Contact: support@getlate.dev
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Late
16
+ class WhatsAppApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Add recipients
23
+ # Add recipients to a draft broadcast. Maximum 1000 recipients per request. Duplicate phone numbers are automatically skipped.
24
+ # @param broadcast_id [String] Broadcast ID
25
+ # @param add_whats_app_broadcast_recipients_request [AddWhatsAppBroadcastRecipientsRequest]
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [AddWhatsAppBroadcastRecipients200Response]
28
+ def add_whats_app_broadcast_recipients(broadcast_id, add_whats_app_broadcast_recipients_request, opts = {})
29
+ data, _status_code, _headers = add_whats_app_broadcast_recipients_with_http_info(broadcast_id, add_whats_app_broadcast_recipients_request, opts)
30
+ data
31
+ end
32
+
33
+ # Add recipients
34
+ # Add recipients to a draft broadcast. Maximum 1000 recipients per request. Duplicate phone numbers are automatically skipped.
35
+ # @param broadcast_id [String] Broadcast ID
36
+ # @param add_whats_app_broadcast_recipients_request [AddWhatsAppBroadcastRecipientsRequest]
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(AddWhatsAppBroadcastRecipients200Response, Integer, Hash)>] AddWhatsAppBroadcastRecipients200Response data, response status code and response headers
39
+ def add_whats_app_broadcast_recipients_with_http_info(broadcast_id, add_whats_app_broadcast_recipients_request, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.add_whats_app_broadcast_recipients ...'
42
+ end
43
+ # verify the required parameter 'broadcast_id' is set
44
+ if @api_client.config.client_side_validation && broadcast_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'broadcast_id' when calling WhatsAppApi.add_whats_app_broadcast_recipients"
46
+ end
47
+ # verify the required parameter 'add_whats_app_broadcast_recipients_request' is set
48
+ if @api_client.config.client_side_validation && add_whats_app_broadcast_recipients_request.nil?
49
+ fail ArgumentError, "Missing the required parameter 'add_whats_app_broadcast_recipients_request' when calling WhatsAppApi.add_whats_app_broadcast_recipients"
50
+ end
51
+ # resource path
52
+ local_var_path = '/v1/whatsapp/broadcasts/{broadcastId}/recipients'.sub('{' + 'broadcastId' + '}', CGI.escape(broadcast_id.to_s))
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
61
+ # HTTP header 'Content-Type'
62
+ content_type = @api_client.select_header_content_type(['application/json'])
63
+ if !content_type.nil?
64
+ header_params['Content-Type'] = content_type
65
+ end
66
+
67
+ # form parameters
68
+ form_params = opts[:form_params] || {}
69
+
70
+ # http body (model)
71
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(add_whats_app_broadcast_recipients_request)
72
+
73
+ # return_type
74
+ return_type = opts[:debug_return_type] || 'AddWhatsAppBroadcastRecipients200Response'
75
+
76
+ # auth_names
77
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
78
+
79
+ new_options = opts.merge(
80
+ :operation => :"WhatsAppApi.add_whats_app_broadcast_recipients",
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => return_type
87
+ )
88
+
89
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
90
+ if @api_client.config.debugging
91
+ @api_client.config.logger.debug "API called: WhatsAppApi#add_whats_app_broadcast_recipients\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
92
+ end
93
+ return data, status_code, headers
94
+ end
95
+
96
+ # Bulk delete contacts
97
+ # Permanently delete multiple contacts at once (max 500 per request).
98
+ # @param bulk_delete_whats_app_contacts_request [BulkDeleteWhatsAppContactsRequest]
99
+ # @param [Hash] opts the optional parameters
100
+ # @return [BulkDeleteWhatsAppContacts200Response]
101
+ def bulk_delete_whats_app_contacts(bulk_delete_whats_app_contacts_request, opts = {})
102
+ data, _status_code, _headers = bulk_delete_whats_app_contacts_with_http_info(bulk_delete_whats_app_contacts_request, opts)
103
+ data
104
+ end
105
+
106
+ # Bulk delete contacts
107
+ # Permanently delete multiple contacts at once (max 500 per request).
108
+ # @param bulk_delete_whats_app_contacts_request [BulkDeleteWhatsAppContactsRequest]
109
+ # @param [Hash] opts the optional parameters
110
+ # @return [Array<(BulkDeleteWhatsAppContacts200Response, Integer, Hash)>] BulkDeleteWhatsAppContacts200Response data, response status code and response headers
111
+ def bulk_delete_whats_app_contacts_with_http_info(bulk_delete_whats_app_contacts_request, opts = {})
112
+ if @api_client.config.debugging
113
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.bulk_delete_whats_app_contacts ...'
114
+ end
115
+ # verify the required parameter 'bulk_delete_whats_app_contacts_request' is set
116
+ if @api_client.config.client_side_validation && bulk_delete_whats_app_contacts_request.nil?
117
+ fail ArgumentError, "Missing the required parameter 'bulk_delete_whats_app_contacts_request' when calling WhatsAppApi.bulk_delete_whats_app_contacts"
118
+ end
119
+ # resource path
120
+ local_var_path = '/v1/whatsapp/contacts/bulk'
121
+
122
+ # query parameters
123
+ query_params = opts[:query_params] || {}
124
+
125
+ # header parameters
126
+ header_params = opts[:header_params] || {}
127
+ # HTTP header 'Accept' (if needed)
128
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
129
+ # HTTP header 'Content-Type'
130
+ content_type = @api_client.select_header_content_type(['application/json'])
131
+ if !content_type.nil?
132
+ header_params['Content-Type'] = content_type
133
+ end
134
+
135
+ # form parameters
136
+ form_params = opts[:form_params] || {}
137
+
138
+ # http body (model)
139
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bulk_delete_whats_app_contacts_request)
140
+
141
+ # return_type
142
+ return_type = opts[:debug_return_type] || 'BulkDeleteWhatsAppContacts200Response'
143
+
144
+ # auth_names
145
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
146
+
147
+ new_options = opts.merge(
148
+ :operation => :"WhatsAppApi.bulk_delete_whats_app_contacts",
149
+ :header_params => header_params,
150
+ :query_params => query_params,
151
+ :form_params => form_params,
152
+ :body => post_body,
153
+ :auth_names => auth_names,
154
+ :return_type => return_type
155
+ )
156
+
157
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug "API called: WhatsAppApi#bulk_delete_whats_app_contacts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
160
+ end
161
+ return data, status_code, headers
162
+ end
163
+
164
+ # Bulk update contacts
165
+ # Perform bulk operations on multiple contacts (max 500 per request). Supported actions: addTags, removeTags, addGroups, removeGroups, optIn, optOut, block, unblock.
166
+ # @param bulk_update_whats_app_contacts_request [BulkUpdateWhatsAppContactsRequest]
167
+ # @param [Hash] opts the optional parameters
168
+ # @return [BulkUpdateWhatsAppContacts200Response]
169
+ def bulk_update_whats_app_contacts(bulk_update_whats_app_contacts_request, opts = {})
170
+ data, _status_code, _headers = bulk_update_whats_app_contacts_with_http_info(bulk_update_whats_app_contacts_request, opts)
171
+ data
172
+ end
173
+
174
+ # Bulk update contacts
175
+ # Perform bulk operations on multiple contacts (max 500 per request). Supported actions: addTags, removeTags, addGroups, removeGroups, optIn, optOut, block, unblock.
176
+ # @param bulk_update_whats_app_contacts_request [BulkUpdateWhatsAppContactsRequest]
177
+ # @param [Hash] opts the optional parameters
178
+ # @return [Array<(BulkUpdateWhatsAppContacts200Response, Integer, Hash)>] BulkUpdateWhatsAppContacts200Response data, response status code and response headers
179
+ def bulk_update_whats_app_contacts_with_http_info(bulk_update_whats_app_contacts_request, opts = {})
180
+ if @api_client.config.debugging
181
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.bulk_update_whats_app_contacts ...'
182
+ end
183
+ # verify the required parameter 'bulk_update_whats_app_contacts_request' is set
184
+ if @api_client.config.client_side_validation && bulk_update_whats_app_contacts_request.nil?
185
+ fail ArgumentError, "Missing the required parameter 'bulk_update_whats_app_contacts_request' when calling WhatsAppApi.bulk_update_whats_app_contacts"
186
+ end
187
+ # resource path
188
+ local_var_path = '/v1/whatsapp/contacts/bulk'
189
+
190
+ # query parameters
191
+ query_params = opts[:query_params] || {}
192
+
193
+ # header parameters
194
+ header_params = opts[:header_params] || {}
195
+ # HTTP header 'Accept' (if needed)
196
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
197
+ # HTTP header 'Content-Type'
198
+ content_type = @api_client.select_header_content_type(['application/json'])
199
+ if !content_type.nil?
200
+ header_params['Content-Type'] = content_type
201
+ end
202
+
203
+ # form parameters
204
+ form_params = opts[:form_params] || {}
205
+
206
+ # http body (model)
207
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(bulk_update_whats_app_contacts_request)
208
+
209
+ # return_type
210
+ return_type = opts[:debug_return_type] || 'BulkUpdateWhatsAppContacts200Response'
211
+
212
+ # auth_names
213
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
214
+
215
+ new_options = opts.merge(
216
+ :operation => :"WhatsAppApi.bulk_update_whats_app_contacts",
217
+ :header_params => header_params,
218
+ :query_params => query_params,
219
+ :form_params => form_params,
220
+ :body => post_body,
221
+ :auth_names => auth_names,
222
+ :return_type => return_type
223
+ )
224
+
225
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
226
+ if @api_client.config.debugging
227
+ @api_client.config.logger.debug "API called: WhatsAppApi#bulk_update_whats_app_contacts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
228
+ end
229
+ return data, status_code, headers
230
+ end
231
+
232
+ # Cancel scheduled broadcast
233
+ # Cancel a scheduled broadcast and return it to draft status. Only broadcasts in scheduled status can be cancelled.
234
+ # @param broadcast_id [String] Broadcast ID
235
+ # @param [Hash] opts the optional parameters
236
+ # @return [CancelWhatsAppBroadcastSchedule200Response]
237
+ def cancel_whats_app_broadcast_schedule(broadcast_id, opts = {})
238
+ data, _status_code, _headers = cancel_whats_app_broadcast_schedule_with_http_info(broadcast_id, opts)
239
+ data
240
+ end
241
+
242
+ # Cancel scheduled broadcast
243
+ # Cancel a scheduled broadcast and return it to draft status. Only broadcasts in scheduled status can be cancelled.
244
+ # @param broadcast_id [String] Broadcast ID
245
+ # @param [Hash] opts the optional parameters
246
+ # @return [Array<(CancelWhatsAppBroadcastSchedule200Response, Integer, Hash)>] CancelWhatsAppBroadcastSchedule200Response data, response status code and response headers
247
+ def cancel_whats_app_broadcast_schedule_with_http_info(broadcast_id, opts = {})
248
+ if @api_client.config.debugging
249
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.cancel_whats_app_broadcast_schedule ...'
250
+ end
251
+ # verify the required parameter 'broadcast_id' is set
252
+ if @api_client.config.client_side_validation && broadcast_id.nil?
253
+ fail ArgumentError, "Missing the required parameter 'broadcast_id' when calling WhatsAppApi.cancel_whats_app_broadcast_schedule"
254
+ end
255
+ # resource path
256
+ local_var_path = '/v1/whatsapp/broadcasts/{broadcastId}/schedule'.sub('{' + 'broadcastId' + '}', CGI.escape(broadcast_id.to_s))
257
+
258
+ # query parameters
259
+ query_params = opts[:query_params] || {}
260
+
261
+ # header parameters
262
+ header_params = opts[:header_params] || {}
263
+ # HTTP header 'Accept' (if needed)
264
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
265
+
266
+ # form parameters
267
+ form_params = opts[:form_params] || {}
268
+
269
+ # http body (model)
270
+ post_body = opts[:debug_body]
271
+
272
+ # return_type
273
+ return_type = opts[:debug_return_type] || 'CancelWhatsAppBroadcastSchedule200Response'
274
+
275
+ # auth_names
276
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
277
+
278
+ new_options = opts.merge(
279
+ :operation => :"WhatsAppApi.cancel_whats_app_broadcast_schedule",
280
+ :header_params => header_params,
281
+ :query_params => query_params,
282
+ :form_params => form_params,
283
+ :body => post_body,
284
+ :auth_names => auth_names,
285
+ :return_type => return_type
286
+ )
287
+
288
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
289
+ if @api_client.config.debugging
290
+ @api_client.config.logger.debug "API called: WhatsAppApi#cancel_whats_app_broadcast_schedule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
291
+ end
292
+ return data, status_code, headers
293
+ end
294
+
295
+ # Create broadcast
296
+ # Create a new draft broadcast. Optionally include initial recipients. After creation, add recipients and then send or schedule the broadcast.
297
+ # @param create_whats_app_broadcast_request [CreateWhatsAppBroadcastRequest]
298
+ # @param [Hash] opts the optional parameters
299
+ # @return [CreateWhatsAppBroadcast200Response]
300
+ def create_whats_app_broadcast(create_whats_app_broadcast_request, opts = {})
301
+ data, _status_code, _headers = create_whats_app_broadcast_with_http_info(create_whats_app_broadcast_request, opts)
302
+ data
303
+ end
304
+
305
+ # Create broadcast
306
+ # Create a new draft broadcast. Optionally include initial recipients. After creation, add recipients and then send or schedule the broadcast.
307
+ # @param create_whats_app_broadcast_request [CreateWhatsAppBroadcastRequest]
308
+ # @param [Hash] opts the optional parameters
309
+ # @return [Array<(CreateWhatsAppBroadcast200Response, Integer, Hash)>] CreateWhatsAppBroadcast200Response data, response status code and response headers
310
+ def create_whats_app_broadcast_with_http_info(create_whats_app_broadcast_request, opts = {})
311
+ if @api_client.config.debugging
312
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.create_whats_app_broadcast ...'
313
+ end
314
+ # verify the required parameter 'create_whats_app_broadcast_request' is set
315
+ if @api_client.config.client_side_validation && create_whats_app_broadcast_request.nil?
316
+ fail ArgumentError, "Missing the required parameter 'create_whats_app_broadcast_request' when calling WhatsAppApi.create_whats_app_broadcast"
317
+ end
318
+ # resource path
319
+ local_var_path = '/v1/whatsapp/broadcasts'
320
+
321
+ # query parameters
322
+ query_params = opts[:query_params] || {}
323
+
324
+ # header parameters
325
+ header_params = opts[:header_params] || {}
326
+ # HTTP header 'Accept' (if needed)
327
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
328
+ # HTTP header 'Content-Type'
329
+ content_type = @api_client.select_header_content_type(['application/json'])
330
+ if !content_type.nil?
331
+ header_params['Content-Type'] = content_type
332
+ end
333
+
334
+ # form parameters
335
+ form_params = opts[:form_params] || {}
336
+
337
+ # http body (model)
338
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_whats_app_broadcast_request)
339
+
340
+ # return_type
341
+ return_type = opts[:debug_return_type] || 'CreateWhatsAppBroadcast200Response'
342
+
343
+ # auth_names
344
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
345
+
346
+ new_options = opts.merge(
347
+ :operation => :"WhatsAppApi.create_whats_app_broadcast",
348
+ :header_params => header_params,
349
+ :query_params => query_params,
350
+ :form_params => form_params,
351
+ :body => post_body,
352
+ :auth_names => auth_names,
353
+ :return_type => return_type
354
+ )
355
+
356
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
357
+ if @api_client.config.debugging
358
+ @api_client.config.logger.debug "API called: WhatsAppApi#create_whats_app_broadcast\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
359
+ end
360
+ return data, status_code, headers
361
+ end
362
+
363
+ # Create contact
364
+ # Create a new WhatsApp contact. Phone number must be unique per account and in E.164 format (e.g., +1234567890).
365
+ # @param create_whats_app_contact_request [CreateWhatsAppContactRequest]
366
+ # @param [Hash] opts the optional parameters
367
+ # @return [CreateWhatsAppContact200Response]
368
+ def create_whats_app_contact(create_whats_app_contact_request, opts = {})
369
+ data, _status_code, _headers = create_whats_app_contact_with_http_info(create_whats_app_contact_request, opts)
370
+ data
371
+ end
372
+
373
+ # Create contact
374
+ # Create a new WhatsApp contact. Phone number must be unique per account and in E.164 format (e.g., +1234567890).
375
+ # @param create_whats_app_contact_request [CreateWhatsAppContactRequest]
376
+ # @param [Hash] opts the optional parameters
377
+ # @return [Array<(CreateWhatsAppContact200Response, Integer, Hash)>] CreateWhatsAppContact200Response data, response status code and response headers
378
+ def create_whats_app_contact_with_http_info(create_whats_app_contact_request, opts = {})
379
+ if @api_client.config.debugging
380
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.create_whats_app_contact ...'
381
+ end
382
+ # verify the required parameter 'create_whats_app_contact_request' is set
383
+ if @api_client.config.client_side_validation && create_whats_app_contact_request.nil?
384
+ fail ArgumentError, "Missing the required parameter 'create_whats_app_contact_request' when calling WhatsAppApi.create_whats_app_contact"
385
+ end
386
+ # resource path
387
+ local_var_path = '/v1/whatsapp/contacts'
388
+
389
+ # query parameters
390
+ query_params = opts[:query_params] || {}
391
+
392
+ # header parameters
393
+ header_params = opts[:header_params] || {}
394
+ # HTTP header 'Accept' (if needed)
395
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
396
+ # HTTP header 'Content-Type'
397
+ content_type = @api_client.select_header_content_type(['application/json'])
398
+ if !content_type.nil?
399
+ header_params['Content-Type'] = content_type
400
+ end
401
+
402
+ # form parameters
403
+ form_params = opts[:form_params] || {}
404
+
405
+ # http body (model)
406
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_whats_app_contact_request)
407
+
408
+ # return_type
409
+ return_type = opts[:debug_return_type] || 'CreateWhatsAppContact200Response'
410
+
411
+ # auth_names
412
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
413
+
414
+ new_options = opts.merge(
415
+ :operation => :"WhatsAppApi.create_whats_app_contact",
416
+ :header_params => header_params,
417
+ :query_params => query_params,
418
+ :form_params => form_params,
419
+ :body => post_body,
420
+ :auth_names => auth_names,
421
+ :return_type => return_type
422
+ )
423
+
424
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
425
+ if @api_client.config.debugging
426
+ @api_client.config.logger.debug "API called: WhatsAppApi#create_whats_app_contact\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
427
+ end
428
+ return data, status_code, headers
429
+ end
430
+
431
+ # Create template
432
+ # Create a new message template. Template names must be lowercase, start with a letter, and contain only letters, numbers, and underscores. Templates are submitted to Meta for review.
433
+ # @param create_whats_app_template_request [CreateWhatsAppTemplateRequest]
434
+ # @param [Hash] opts the optional parameters
435
+ # @return [CreateWhatsAppTemplate200Response]
436
+ def create_whats_app_template(create_whats_app_template_request, opts = {})
437
+ data, _status_code, _headers = create_whats_app_template_with_http_info(create_whats_app_template_request, opts)
438
+ data
439
+ end
440
+
441
+ # Create template
442
+ # Create a new message template. Template names must be lowercase, start with a letter, and contain only letters, numbers, and underscores. Templates are submitted to Meta for review.
443
+ # @param create_whats_app_template_request [CreateWhatsAppTemplateRequest]
444
+ # @param [Hash] opts the optional parameters
445
+ # @return [Array<(CreateWhatsAppTemplate200Response, Integer, Hash)>] CreateWhatsAppTemplate200Response data, response status code and response headers
446
+ def create_whats_app_template_with_http_info(create_whats_app_template_request, opts = {})
447
+ if @api_client.config.debugging
448
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.create_whats_app_template ...'
449
+ end
450
+ # verify the required parameter 'create_whats_app_template_request' is set
451
+ if @api_client.config.client_side_validation && create_whats_app_template_request.nil?
452
+ fail ArgumentError, "Missing the required parameter 'create_whats_app_template_request' when calling WhatsAppApi.create_whats_app_template"
453
+ end
454
+ # resource path
455
+ local_var_path = '/v1/whatsapp/templates'
456
+
457
+ # query parameters
458
+ query_params = opts[:query_params] || {}
459
+
460
+ # header parameters
461
+ header_params = opts[:header_params] || {}
462
+ # HTTP header 'Accept' (if needed)
463
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
464
+ # HTTP header 'Content-Type'
465
+ content_type = @api_client.select_header_content_type(['application/json'])
466
+ if !content_type.nil?
467
+ header_params['Content-Type'] = content_type
468
+ end
469
+
470
+ # form parameters
471
+ form_params = opts[:form_params] || {}
472
+
473
+ # http body (model)
474
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_whats_app_template_request)
475
+
476
+ # return_type
477
+ return_type = opts[:debug_return_type] || 'CreateWhatsAppTemplate200Response'
478
+
479
+ # auth_names
480
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
481
+
482
+ new_options = opts.merge(
483
+ :operation => :"WhatsAppApi.create_whats_app_template",
484
+ :header_params => header_params,
485
+ :query_params => query_params,
486
+ :form_params => form_params,
487
+ :body => post_body,
488
+ :auth_names => auth_names,
489
+ :return_type => return_type
490
+ )
491
+
492
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
493
+ if @api_client.config.debugging
494
+ @api_client.config.logger.debug "API called: WhatsAppApi#create_whats_app_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
495
+ end
496
+ return data, status_code, headers
497
+ end
498
+
499
+ # Delete broadcast
500
+ # Delete a broadcast. Only draft or cancelled broadcasts can be deleted.
501
+ # @param broadcast_id [String] Broadcast ID
502
+ # @param [Hash] opts the optional parameters
503
+ # @return [UnpublishPost200Response]
504
+ def delete_whats_app_broadcast(broadcast_id, opts = {})
505
+ data, _status_code, _headers = delete_whats_app_broadcast_with_http_info(broadcast_id, opts)
506
+ data
507
+ end
508
+
509
+ # Delete broadcast
510
+ # Delete a broadcast. Only draft or cancelled broadcasts can be deleted.
511
+ # @param broadcast_id [String] Broadcast ID
512
+ # @param [Hash] opts the optional parameters
513
+ # @return [Array<(UnpublishPost200Response, Integer, Hash)>] UnpublishPost200Response data, response status code and response headers
514
+ def delete_whats_app_broadcast_with_http_info(broadcast_id, opts = {})
515
+ if @api_client.config.debugging
516
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.delete_whats_app_broadcast ...'
517
+ end
518
+ # verify the required parameter 'broadcast_id' is set
519
+ if @api_client.config.client_side_validation && broadcast_id.nil?
520
+ fail ArgumentError, "Missing the required parameter 'broadcast_id' when calling WhatsAppApi.delete_whats_app_broadcast"
521
+ end
522
+ # resource path
523
+ local_var_path = '/v1/whatsapp/broadcasts/{broadcastId}'.sub('{' + 'broadcastId' + '}', CGI.escape(broadcast_id.to_s))
524
+
525
+ # query parameters
526
+ query_params = opts[:query_params] || {}
527
+
528
+ # header parameters
529
+ header_params = opts[:header_params] || {}
530
+ # HTTP header 'Accept' (if needed)
531
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
532
+
533
+ # form parameters
534
+ form_params = opts[:form_params] || {}
535
+
536
+ # http body (model)
537
+ post_body = opts[:debug_body]
538
+
539
+ # return_type
540
+ return_type = opts[:debug_return_type] || 'UnpublishPost200Response'
541
+
542
+ # auth_names
543
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
544
+
545
+ new_options = opts.merge(
546
+ :operation => :"WhatsAppApi.delete_whats_app_broadcast",
547
+ :header_params => header_params,
548
+ :query_params => query_params,
549
+ :form_params => form_params,
550
+ :body => post_body,
551
+ :auth_names => auth_names,
552
+ :return_type => return_type
553
+ )
554
+
555
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
556
+ if @api_client.config.debugging
557
+ @api_client.config.logger.debug "API called: WhatsAppApi#delete_whats_app_broadcast\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
558
+ end
559
+ return data, status_code, headers
560
+ end
561
+
562
+ # Delete contact
563
+ # Permanently delete a WhatsApp contact.
564
+ # @param contact_id [String] Contact ID
565
+ # @param [Hash] opts the optional parameters
566
+ # @return [UnpublishPost200Response]
567
+ def delete_whats_app_contact(contact_id, opts = {})
568
+ data, _status_code, _headers = delete_whats_app_contact_with_http_info(contact_id, opts)
569
+ data
570
+ end
571
+
572
+ # Delete contact
573
+ # Permanently delete a WhatsApp contact.
574
+ # @param contact_id [String] Contact ID
575
+ # @param [Hash] opts the optional parameters
576
+ # @return [Array<(UnpublishPost200Response, Integer, Hash)>] UnpublishPost200Response data, response status code and response headers
577
+ def delete_whats_app_contact_with_http_info(contact_id, opts = {})
578
+ if @api_client.config.debugging
579
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.delete_whats_app_contact ...'
580
+ end
581
+ # verify the required parameter 'contact_id' is set
582
+ if @api_client.config.client_side_validation && contact_id.nil?
583
+ fail ArgumentError, "Missing the required parameter 'contact_id' when calling WhatsAppApi.delete_whats_app_contact"
584
+ end
585
+ # resource path
586
+ local_var_path = '/v1/whatsapp/contacts/{contactId}'.sub('{' + 'contactId' + '}', CGI.escape(contact_id.to_s))
587
+
588
+ # query parameters
589
+ query_params = opts[:query_params] || {}
590
+
591
+ # header parameters
592
+ header_params = opts[:header_params] || {}
593
+ # HTTP header 'Accept' (if needed)
594
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
595
+
596
+ # form parameters
597
+ form_params = opts[:form_params] || {}
598
+
599
+ # http body (model)
600
+ post_body = opts[:debug_body]
601
+
602
+ # return_type
603
+ return_type = opts[:debug_return_type] || 'UnpublishPost200Response'
604
+
605
+ # auth_names
606
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
607
+
608
+ new_options = opts.merge(
609
+ :operation => :"WhatsAppApi.delete_whats_app_contact",
610
+ :header_params => header_params,
611
+ :query_params => query_params,
612
+ :form_params => form_params,
613
+ :body => post_body,
614
+ :auth_names => auth_names,
615
+ :return_type => return_type
616
+ )
617
+
618
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
619
+ if @api_client.config.debugging
620
+ @api_client.config.logger.debug "API called: WhatsAppApi#delete_whats_app_contact\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
621
+ end
622
+ return data, status_code, headers
623
+ end
624
+
625
+ # Delete group
626
+ # Delete a contact group. This removes the group from all contacts but does not delete the contacts themselves.
627
+ # @param delete_whats_app_group_request [DeleteWhatsAppGroupRequest]
628
+ # @param [Hash] opts the optional parameters
629
+ # @return [RenameWhatsAppGroup200Response]
630
+ def delete_whats_app_group(delete_whats_app_group_request, opts = {})
631
+ data, _status_code, _headers = delete_whats_app_group_with_http_info(delete_whats_app_group_request, opts)
632
+ data
633
+ end
634
+
635
+ # Delete group
636
+ # Delete a contact group. This removes the group from all contacts but does not delete the contacts themselves.
637
+ # @param delete_whats_app_group_request [DeleteWhatsAppGroupRequest]
638
+ # @param [Hash] opts the optional parameters
639
+ # @return [Array<(RenameWhatsAppGroup200Response, Integer, Hash)>] RenameWhatsAppGroup200Response data, response status code and response headers
640
+ def delete_whats_app_group_with_http_info(delete_whats_app_group_request, opts = {})
641
+ if @api_client.config.debugging
642
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.delete_whats_app_group ...'
643
+ end
644
+ # verify the required parameter 'delete_whats_app_group_request' is set
645
+ if @api_client.config.client_side_validation && delete_whats_app_group_request.nil?
646
+ fail ArgumentError, "Missing the required parameter 'delete_whats_app_group_request' when calling WhatsAppApi.delete_whats_app_group"
647
+ end
648
+ # resource path
649
+ local_var_path = '/v1/whatsapp/groups'
650
+
651
+ # query parameters
652
+ query_params = opts[:query_params] || {}
653
+
654
+ # header parameters
655
+ header_params = opts[:header_params] || {}
656
+ # HTTP header 'Accept' (if needed)
657
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
658
+ # HTTP header 'Content-Type'
659
+ content_type = @api_client.select_header_content_type(['application/json'])
660
+ if !content_type.nil?
661
+ header_params['Content-Type'] = content_type
662
+ end
663
+
664
+ # form parameters
665
+ form_params = opts[:form_params] || {}
666
+
667
+ # http body (model)
668
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(delete_whats_app_group_request)
669
+
670
+ # return_type
671
+ return_type = opts[:debug_return_type] || 'RenameWhatsAppGroup200Response'
672
+
673
+ # auth_names
674
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
675
+
676
+ new_options = opts.merge(
677
+ :operation => :"WhatsAppApi.delete_whats_app_group",
678
+ :header_params => header_params,
679
+ :query_params => query_params,
680
+ :form_params => form_params,
681
+ :body => post_body,
682
+ :auth_names => auth_names,
683
+ :return_type => return_type
684
+ )
685
+
686
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
687
+ if @api_client.config.debugging
688
+ @api_client.config.logger.debug "API called: WhatsAppApi#delete_whats_app_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
689
+ end
690
+ return data, status_code, headers
691
+ end
692
+
693
+ # Delete template
694
+ # Permanently delete a message template by name.
695
+ # @param template_name [String] Template name
696
+ # @param account_id [String] WhatsApp social account ID
697
+ # @param [Hash] opts the optional parameters
698
+ # @return [UnpublishPost200Response]
699
+ def delete_whats_app_template(template_name, account_id, opts = {})
700
+ data, _status_code, _headers = delete_whats_app_template_with_http_info(template_name, account_id, opts)
701
+ data
702
+ end
703
+
704
+ # Delete template
705
+ # Permanently delete a message template by name.
706
+ # @param template_name [String] Template name
707
+ # @param account_id [String] WhatsApp social account ID
708
+ # @param [Hash] opts the optional parameters
709
+ # @return [Array<(UnpublishPost200Response, Integer, Hash)>] UnpublishPost200Response data, response status code and response headers
710
+ def delete_whats_app_template_with_http_info(template_name, account_id, opts = {})
711
+ if @api_client.config.debugging
712
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.delete_whats_app_template ...'
713
+ end
714
+ # verify the required parameter 'template_name' is set
715
+ if @api_client.config.client_side_validation && template_name.nil?
716
+ fail ArgumentError, "Missing the required parameter 'template_name' when calling WhatsAppApi.delete_whats_app_template"
717
+ end
718
+ # verify the required parameter 'account_id' is set
719
+ if @api_client.config.client_side_validation && account_id.nil?
720
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WhatsAppApi.delete_whats_app_template"
721
+ end
722
+ # resource path
723
+ local_var_path = '/v1/whatsapp/templates/{templateName}'.sub('{' + 'templateName' + '}', CGI.escape(template_name.to_s))
724
+
725
+ # query parameters
726
+ query_params = opts[:query_params] || {}
727
+ query_params[:'accountId'] = account_id
728
+
729
+ # header parameters
730
+ header_params = opts[:header_params] || {}
731
+ # HTTP header 'Accept' (if needed)
732
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
733
+
734
+ # form parameters
735
+ form_params = opts[:form_params] || {}
736
+
737
+ # http body (model)
738
+ post_body = opts[:debug_body]
739
+
740
+ # return_type
741
+ return_type = opts[:debug_return_type] || 'UnpublishPost200Response'
742
+
743
+ # auth_names
744
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
745
+
746
+ new_options = opts.merge(
747
+ :operation => :"WhatsAppApi.delete_whats_app_template",
748
+ :header_params => header_params,
749
+ :query_params => query_params,
750
+ :form_params => form_params,
751
+ :body => post_body,
752
+ :auth_names => auth_names,
753
+ :return_type => return_type
754
+ )
755
+
756
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
757
+ if @api_client.config.debugging
758
+ @api_client.config.logger.debug "API called: WhatsAppApi#delete_whats_app_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
759
+ end
760
+ return data, status_code, headers
761
+ end
762
+
763
+ # Get broadcast
764
+ # Retrieve detailed information about a single broadcast including delivery statistics.
765
+ # @param broadcast_id [String] Broadcast ID
766
+ # @param [Hash] opts the optional parameters
767
+ # @return [GetWhatsAppBroadcast200Response]
768
+ def get_whats_app_broadcast(broadcast_id, opts = {})
769
+ data, _status_code, _headers = get_whats_app_broadcast_with_http_info(broadcast_id, opts)
770
+ data
771
+ end
772
+
773
+ # Get broadcast
774
+ # Retrieve detailed information about a single broadcast including delivery statistics.
775
+ # @param broadcast_id [String] Broadcast ID
776
+ # @param [Hash] opts the optional parameters
777
+ # @return [Array<(GetWhatsAppBroadcast200Response, Integer, Hash)>] GetWhatsAppBroadcast200Response data, response status code and response headers
778
+ def get_whats_app_broadcast_with_http_info(broadcast_id, opts = {})
779
+ if @api_client.config.debugging
780
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.get_whats_app_broadcast ...'
781
+ end
782
+ # verify the required parameter 'broadcast_id' is set
783
+ if @api_client.config.client_side_validation && broadcast_id.nil?
784
+ fail ArgumentError, "Missing the required parameter 'broadcast_id' when calling WhatsAppApi.get_whats_app_broadcast"
785
+ end
786
+ # resource path
787
+ local_var_path = '/v1/whatsapp/broadcasts/{broadcastId}'.sub('{' + 'broadcastId' + '}', CGI.escape(broadcast_id.to_s))
788
+
789
+ # query parameters
790
+ query_params = opts[:query_params] || {}
791
+
792
+ # header parameters
793
+ header_params = opts[:header_params] || {}
794
+ # HTTP header 'Accept' (if needed)
795
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
796
+
797
+ # form parameters
798
+ form_params = opts[:form_params] || {}
799
+
800
+ # http body (model)
801
+ post_body = opts[:debug_body]
802
+
803
+ # return_type
804
+ return_type = opts[:debug_return_type] || 'GetWhatsAppBroadcast200Response'
805
+
806
+ # auth_names
807
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
808
+
809
+ new_options = opts.merge(
810
+ :operation => :"WhatsAppApi.get_whats_app_broadcast",
811
+ :header_params => header_params,
812
+ :query_params => query_params,
813
+ :form_params => form_params,
814
+ :body => post_body,
815
+ :auth_names => auth_names,
816
+ :return_type => return_type
817
+ )
818
+
819
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
820
+ if @api_client.config.debugging
821
+ @api_client.config.logger.debug "API called: WhatsAppApi#get_whats_app_broadcast\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
822
+ end
823
+ return data, status_code, headers
824
+ end
825
+
826
+ # List recipients
827
+ # List recipients of a broadcast with their delivery status. Supports filtering by delivery status and pagination.
828
+ # @param broadcast_id [String] Broadcast ID
829
+ # @param [Hash] opts the optional parameters
830
+ # @option opts [String] :status Filter by recipient delivery status
831
+ # @option opts [Integer] :limit Maximum results (default 100) (default to 100)
832
+ # @option opts [Integer] :skip Offset for pagination (default to 0)
833
+ # @return [GetWhatsAppBroadcastRecipients200Response]
834
+ def get_whats_app_broadcast_recipients(broadcast_id, opts = {})
835
+ data, _status_code, _headers = get_whats_app_broadcast_recipients_with_http_info(broadcast_id, opts)
836
+ data
837
+ end
838
+
839
+ # List recipients
840
+ # List recipients of a broadcast with their delivery status. Supports filtering by delivery status and pagination.
841
+ # @param broadcast_id [String] Broadcast ID
842
+ # @param [Hash] opts the optional parameters
843
+ # @option opts [String] :status Filter by recipient delivery status
844
+ # @option opts [Integer] :limit Maximum results (default 100) (default to 100)
845
+ # @option opts [Integer] :skip Offset for pagination (default to 0)
846
+ # @return [Array<(GetWhatsAppBroadcastRecipients200Response, Integer, Hash)>] GetWhatsAppBroadcastRecipients200Response data, response status code and response headers
847
+ def get_whats_app_broadcast_recipients_with_http_info(broadcast_id, opts = {})
848
+ if @api_client.config.debugging
849
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.get_whats_app_broadcast_recipients ...'
850
+ end
851
+ # verify the required parameter 'broadcast_id' is set
852
+ if @api_client.config.client_side_validation && broadcast_id.nil?
853
+ fail ArgumentError, "Missing the required parameter 'broadcast_id' when calling WhatsAppApi.get_whats_app_broadcast_recipients"
854
+ end
855
+ allowable_values = ["pending", "sent", "delivered", "read", "failed"]
856
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
857
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
858
+ end
859
+ # resource path
860
+ local_var_path = '/v1/whatsapp/broadcasts/{broadcastId}/recipients'.sub('{' + 'broadcastId' + '}', CGI.escape(broadcast_id.to_s))
861
+
862
+ # query parameters
863
+ query_params = opts[:query_params] || {}
864
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
865
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
866
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
867
+
868
+ # header parameters
869
+ header_params = opts[:header_params] || {}
870
+ # HTTP header 'Accept' (if needed)
871
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
872
+
873
+ # form parameters
874
+ form_params = opts[:form_params] || {}
875
+
876
+ # http body (model)
877
+ post_body = opts[:debug_body]
878
+
879
+ # return_type
880
+ return_type = opts[:debug_return_type] || 'GetWhatsAppBroadcastRecipients200Response'
881
+
882
+ # auth_names
883
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
884
+
885
+ new_options = opts.merge(
886
+ :operation => :"WhatsAppApi.get_whats_app_broadcast_recipients",
887
+ :header_params => header_params,
888
+ :query_params => query_params,
889
+ :form_params => form_params,
890
+ :body => post_body,
891
+ :auth_names => auth_names,
892
+ :return_type => return_type
893
+ )
894
+
895
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
896
+ if @api_client.config.debugging
897
+ @api_client.config.logger.debug "API called: WhatsAppApi#get_whats_app_broadcast_recipients\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
898
+ end
899
+ return data, status_code, headers
900
+ end
901
+
902
+ # List broadcasts
903
+ # List all WhatsApp broadcasts for an account. Returns broadcasts sorted by creation date (newest first) without the full recipients list for performance.
904
+ # @param account_id [String] WhatsApp social account ID
905
+ # @param [Hash] opts the optional parameters
906
+ # @option opts [String] :status Filter by broadcast status
907
+ # @option opts [Integer] :limit Maximum results (default 50) (default to 50)
908
+ # @option opts [Integer] :skip Offset for pagination (default to 0)
909
+ # @return [GetWhatsAppBroadcasts200Response]
910
+ def get_whats_app_broadcasts(account_id, opts = {})
911
+ data, _status_code, _headers = get_whats_app_broadcasts_with_http_info(account_id, opts)
912
+ data
913
+ end
914
+
915
+ # List broadcasts
916
+ # List all WhatsApp broadcasts for an account. Returns broadcasts sorted by creation date (newest first) without the full recipients list for performance.
917
+ # @param account_id [String] WhatsApp social account ID
918
+ # @param [Hash] opts the optional parameters
919
+ # @option opts [String] :status Filter by broadcast status
920
+ # @option opts [Integer] :limit Maximum results (default 50) (default to 50)
921
+ # @option opts [Integer] :skip Offset for pagination (default to 0)
922
+ # @return [Array<(GetWhatsAppBroadcasts200Response, Integer, Hash)>] GetWhatsAppBroadcasts200Response data, response status code and response headers
923
+ def get_whats_app_broadcasts_with_http_info(account_id, opts = {})
924
+ if @api_client.config.debugging
925
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.get_whats_app_broadcasts ...'
926
+ end
927
+ # verify the required parameter 'account_id' is set
928
+ if @api_client.config.client_side_validation && account_id.nil?
929
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WhatsAppApi.get_whats_app_broadcasts"
930
+ end
931
+ allowable_values = ["draft", "scheduled", "sending", "completed", "failed", "cancelled"]
932
+ if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
933
+ fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
934
+ end
935
+ # resource path
936
+ local_var_path = '/v1/whatsapp/broadcasts'
937
+
938
+ # query parameters
939
+ query_params = opts[:query_params] || {}
940
+ query_params[:'accountId'] = account_id
941
+ query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
942
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
943
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
944
+
945
+ # header parameters
946
+ header_params = opts[:header_params] || {}
947
+ # HTTP header 'Accept' (if needed)
948
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
949
+
950
+ # form parameters
951
+ form_params = opts[:form_params] || {}
952
+
953
+ # http body (model)
954
+ post_body = opts[:debug_body]
955
+
956
+ # return_type
957
+ return_type = opts[:debug_return_type] || 'GetWhatsAppBroadcasts200Response'
958
+
959
+ # auth_names
960
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
961
+
962
+ new_options = opts.merge(
963
+ :operation => :"WhatsAppApi.get_whats_app_broadcasts",
964
+ :header_params => header_params,
965
+ :query_params => query_params,
966
+ :form_params => form_params,
967
+ :body => post_body,
968
+ :auth_names => auth_names,
969
+ :return_type => return_type
970
+ )
971
+
972
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
973
+ if @api_client.config.debugging
974
+ @api_client.config.logger.debug "API called: WhatsAppApi#get_whats_app_broadcasts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
975
+ end
976
+ return data, status_code, headers
977
+ end
978
+
979
+ # Get business profile
980
+ # Retrieve the WhatsApp Business profile for the account (about, address, description, email, websites, etc.).
981
+ # @param account_id [String] WhatsApp social account ID
982
+ # @param [Hash] opts the optional parameters
983
+ # @return [GetWhatsAppBusinessProfile200Response]
984
+ def get_whats_app_business_profile(account_id, opts = {})
985
+ data, _status_code, _headers = get_whats_app_business_profile_with_http_info(account_id, opts)
986
+ data
987
+ end
988
+
989
+ # Get business profile
990
+ # Retrieve the WhatsApp Business profile for the account (about, address, description, email, websites, etc.).
991
+ # @param account_id [String] WhatsApp social account ID
992
+ # @param [Hash] opts the optional parameters
993
+ # @return [Array<(GetWhatsAppBusinessProfile200Response, Integer, Hash)>] GetWhatsAppBusinessProfile200Response data, response status code and response headers
994
+ def get_whats_app_business_profile_with_http_info(account_id, opts = {})
995
+ if @api_client.config.debugging
996
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.get_whats_app_business_profile ...'
997
+ end
998
+ # verify the required parameter 'account_id' is set
999
+ if @api_client.config.client_side_validation && account_id.nil?
1000
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WhatsAppApi.get_whats_app_business_profile"
1001
+ end
1002
+ # resource path
1003
+ local_var_path = '/v1/whatsapp/business-profile'
1004
+
1005
+ # query parameters
1006
+ query_params = opts[:query_params] || {}
1007
+ query_params[:'accountId'] = account_id
1008
+
1009
+ # header parameters
1010
+ header_params = opts[:header_params] || {}
1011
+ # HTTP header 'Accept' (if needed)
1012
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1013
+
1014
+ # form parameters
1015
+ form_params = opts[:form_params] || {}
1016
+
1017
+ # http body (model)
1018
+ post_body = opts[:debug_body]
1019
+
1020
+ # return_type
1021
+ return_type = opts[:debug_return_type] || 'GetWhatsAppBusinessProfile200Response'
1022
+
1023
+ # auth_names
1024
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1025
+
1026
+ new_options = opts.merge(
1027
+ :operation => :"WhatsAppApi.get_whats_app_business_profile",
1028
+ :header_params => header_params,
1029
+ :query_params => query_params,
1030
+ :form_params => form_params,
1031
+ :body => post_body,
1032
+ :auth_names => auth_names,
1033
+ :return_type => return_type
1034
+ )
1035
+
1036
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1037
+ if @api_client.config.debugging
1038
+ @api_client.config.logger.debug "API called: WhatsAppApi#get_whats_app_business_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1039
+ end
1040
+ return data, status_code, headers
1041
+ end
1042
+
1043
+ # Get contact
1044
+ # Retrieve a single WhatsApp contact by ID with full details.
1045
+ # @param contact_id [String] Contact ID
1046
+ # @param [Hash] opts the optional parameters
1047
+ # @return [GetWhatsAppContact200Response]
1048
+ def get_whats_app_contact(contact_id, opts = {})
1049
+ data, _status_code, _headers = get_whats_app_contact_with_http_info(contact_id, opts)
1050
+ data
1051
+ end
1052
+
1053
+ # Get contact
1054
+ # Retrieve a single WhatsApp contact by ID with full details.
1055
+ # @param contact_id [String] Contact ID
1056
+ # @param [Hash] opts the optional parameters
1057
+ # @return [Array<(GetWhatsAppContact200Response, Integer, Hash)>] GetWhatsAppContact200Response data, response status code and response headers
1058
+ def get_whats_app_contact_with_http_info(contact_id, opts = {})
1059
+ if @api_client.config.debugging
1060
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.get_whats_app_contact ...'
1061
+ end
1062
+ # verify the required parameter 'contact_id' is set
1063
+ if @api_client.config.client_side_validation && contact_id.nil?
1064
+ fail ArgumentError, "Missing the required parameter 'contact_id' when calling WhatsAppApi.get_whats_app_contact"
1065
+ end
1066
+ # resource path
1067
+ local_var_path = '/v1/whatsapp/contacts/{contactId}'.sub('{' + 'contactId' + '}', CGI.escape(contact_id.to_s))
1068
+
1069
+ # query parameters
1070
+ query_params = opts[:query_params] || {}
1071
+
1072
+ # header parameters
1073
+ header_params = opts[:header_params] || {}
1074
+ # HTTP header 'Accept' (if needed)
1075
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1076
+
1077
+ # form parameters
1078
+ form_params = opts[:form_params] || {}
1079
+
1080
+ # http body (model)
1081
+ post_body = opts[:debug_body]
1082
+
1083
+ # return_type
1084
+ return_type = opts[:debug_return_type] || 'GetWhatsAppContact200Response'
1085
+
1086
+ # auth_names
1087
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1088
+
1089
+ new_options = opts.merge(
1090
+ :operation => :"WhatsAppApi.get_whats_app_contact",
1091
+ :header_params => header_params,
1092
+ :query_params => query_params,
1093
+ :form_params => form_params,
1094
+ :body => post_body,
1095
+ :auth_names => auth_names,
1096
+ :return_type => return_type
1097
+ )
1098
+
1099
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1100
+ if @api_client.config.debugging
1101
+ @api_client.config.logger.debug "API called: WhatsAppApi#get_whats_app_contact\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1102
+ end
1103
+ return data, status_code, headers
1104
+ end
1105
+
1106
+ # List contacts
1107
+ # List WhatsApp contacts for an account. Supports filtering by tags, groups, opt-in status, and text search. Returns contacts sorted by name with available filter options.
1108
+ # @param account_id [String] WhatsApp social account ID
1109
+ # @param [Hash] opts the optional parameters
1110
+ # @option opts [String] :search Search contacts by name, phone, email, or company
1111
+ # @option opts [String] :tag Filter by tag
1112
+ # @option opts [String] :group Filter by group
1113
+ # @option opts [String] :opted_in Filter by opt-in status
1114
+ # @option opts [Integer] :limit Maximum results (default 50) (default to 50)
1115
+ # @option opts [Integer] :skip Offset for pagination (default to 0)
1116
+ # @return [GetWhatsAppContacts200Response]
1117
+ def get_whats_app_contacts(account_id, opts = {})
1118
+ data, _status_code, _headers = get_whats_app_contacts_with_http_info(account_id, opts)
1119
+ data
1120
+ end
1121
+
1122
+ # List contacts
1123
+ # List WhatsApp contacts for an account. Supports filtering by tags, groups, opt-in status, and text search. Returns contacts sorted by name with available filter options.
1124
+ # @param account_id [String] WhatsApp social account ID
1125
+ # @param [Hash] opts the optional parameters
1126
+ # @option opts [String] :search Search contacts by name, phone, email, or company
1127
+ # @option opts [String] :tag Filter by tag
1128
+ # @option opts [String] :group Filter by group
1129
+ # @option opts [String] :opted_in Filter by opt-in status
1130
+ # @option opts [Integer] :limit Maximum results (default 50) (default to 50)
1131
+ # @option opts [Integer] :skip Offset for pagination (default to 0)
1132
+ # @return [Array<(GetWhatsAppContacts200Response, Integer, Hash)>] GetWhatsAppContacts200Response data, response status code and response headers
1133
+ def get_whats_app_contacts_with_http_info(account_id, opts = {})
1134
+ if @api_client.config.debugging
1135
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.get_whats_app_contacts ...'
1136
+ end
1137
+ # verify the required parameter 'account_id' is set
1138
+ if @api_client.config.client_side_validation && account_id.nil?
1139
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WhatsAppApi.get_whats_app_contacts"
1140
+ end
1141
+ allowable_values = ["true", "false"]
1142
+ if @api_client.config.client_side_validation && opts[:'opted_in'] && !allowable_values.include?(opts[:'opted_in'])
1143
+ fail ArgumentError, "invalid value for \"opted_in\", must be one of #{allowable_values}"
1144
+ end
1145
+ # resource path
1146
+ local_var_path = '/v1/whatsapp/contacts'
1147
+
1148
+ # query parameters
1149
+ query_params = opts[:query_params] || {}
1150
+ query_params[:'accountId'] = account_id
1151
+ query_params[:'search'] = opts[:'search'] if !opts[:'search'].nil?
1152
+ query_params[:'tag'] = opts[:'tag'] if !opts[:'tag'].nil?
1153
+ query_params[:'group'] = opts[:'group'] if !opts[:'group'].nil?
1154
+ query_params[:'optedIn'] = opts[:'opted_in'] if !opts[:'opted_in'].nil?
1155
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1156
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
1157
+
1158
+ # header parameters
1159
+ header_params = opts[:header_params] || {}
1160
+ # HTTP header 'Accept' (if needed)
1161
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1162
+
1163
+ # form parameters
1164
+ form_params = opts[:form_params] || {}
1165
+
1166
+ # http body (model)
1167
+ post_body = opts[:debug_body]
1168
+
1169
+ # return_type
1170
+ return_type = opts[:debug_return_type] || 'GetWhatsAppContacts200Response'
1171
+
1172
+ # auth_names
1173
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1174
+
1175
+ new_options = opts.merge(
1176
+ :operation => :"WhatsAppApi.get_whats_app_contacts",
1177
+ :header_params => header_params,
1178
+ :query_params => query_params,
1179
+ :form_params => form_params,
1180
+ :body => post_body,
1181
+ :auth_names => auth_names,
1182
+ :return_type => return_type
1183
+ )
1184
+
1185
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1186
+ if @api_client.config.debugging
1187
+ @api_client.config.logger.debug "API called: WhatsAppApi#get_whats_app_contacts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1188
+ end
1189
+ return data, status_code, headers
1190
+ end
1191
+
1192
+ # List contact groups
1193
+ # List all contact groups for a WhatsApp account with contact counts. Groups are derived from the groups field on contacts, not stored as separate documents.
1194
+ # @param account_id [String] WhatsApp social account ID
1195
+ # @param [Hash] opts the optional parameters
1196
+ # @return [GetWhatsAppGroups200Response]
1197
+ def get_whats_app_groups(account_id, opts = {})
1198
+ data, _status_code, _headers = get_whats_app_groups_with_http_info(account_id, opts)
1199
+ data
1200
+ end
1201
+
1202
+ # List contact groups
1203
+ # List all contact groups for a WhatsApp account with contact counts. Groups are derived from the groups field on contacts, not stored as separate documents.
1204
+ # @param account_id [String] WhatsApp social account ID
1205
+ # @param [Hash] opts the optional parameters
1206
+ # @return [Array<(GetWhatsAppGroups200Response, Integer, Hash)>] GetWhatsAppGroups200Response data, response status code and response headers
1207
+ def get_whats_app_groups_with_http_info(account_id, opts = {})
1208
+ if @api_client.config.debugging
1209
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.get_whats_app_groups ...'
1210
+ end
1211
+ # verify the required parameter 'account_id' is set
1212
+ if @api_client.config.client_side_validation && account_id.nil?
1213
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WhatsAppApi.get_whats_app_groups"
1214
+ end
1215
+ # resource path
1216
+ local_var_path = '/v1/whatsapp/groups'
1217
+
1218
+ # query parameters
1219
+ query_params = opts[:query_params] || {}
1220
+ query_params[:'accountId'] = account_id
1221
+
1222
+ # header parameters
1223
+ header_params = opts[:header_params] || {}
1224
+ # HTTP header 'Accept' (if needed)
1225
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1226
+
1227
+ # form parameters
1228
+ form_params = opts[:form_params] || {}
1229
+
1230
+ # http body (model)
1231
+ post_body = opts[:debug_body]
1232
+
1233
+ # return_type
1234
+ return_type = opts[:debug_return_type] || 'GetWhatsAppGroups200Response'
1235
+
1236
+ # auth_names
1237
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1238
+
1239
+ new_options = opts.merge(
1240
+ :operation => :"WhatsAppApi.get_whats_app_groups",
1241
+ :header_params => header_params,
1242
+ :query_params => query_params,
1243
+ :form_params => form_params,
1244
+ :body => post_body,
1245
+ :auth_names => auth_names,
1246
+ :return_type => return_type
1247
+ )
1248
+
1249
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1250
+ if @api_client.config.debugging
1251
+ @api_client.config.logger.debug "API called: WhatsAppApi#get_whats_app_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1252
+ end
1253
+ return data, status_code, headers
1254
+ end
1255
+
1256
+ # Get template
1257
+ # Retrieve a single message template by name.
1258
+ # @param template_name [String] Template name
1259
+ # @param account_id [String] WhatsApp social account ID
1260
+ # @param [Hash] opts the optional parameters
1261
+ # @return [GetWhatsAppTemplate200Response]
1262
+ def get_whats_app_template(template_name, account_id, opts = {})
1263
+ data, _status_code, _headers = get_whats_app_template_with_http_info(template_name, account_id, opts)
1264
+ data
1265
+ end
1266
+
1267
+ # Get template
1268
+ # Retrieve a single message template by name.
1269
+ # @param template_name [String] Template name
1270
+ # @param account_id [String] WhatsApp social account ID
1271
+ # @param [Hash] opts the optional parameters
1272
+ # @return [Array<(GetWhatsAppTemplate200Response, Integer, Hash)>] GetWhatsAppTemplate200Response data, response status code and response headers
1273
+ def get_whats_app_template_with_http_info(template_name, account_id, opts = {})
1274
+ if @api_client.config.debugging
1275
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.get_whats_app_template ...'
1276
+ end
1277
+ # verify the required parameter 'template_name' is set
1278
+ if @api_client.config.client_side_validation && template_name.nil?
1279
+ fail ArgumentError, "Missing the required parameter 'template_name' when calling WhatsAppApi.get_whats_app_template"
1280
+ end
1281
+ # verify the required parameter 'account_id' is set
1282
+ if @api_client.config.client_side_validation && account_id.nil?
1283
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WhatsAppApi.get_whats_app_template"
1284
+ end
1285
+ # resource path
1286
+ local_var_path = '/v1/whatsapp/templates/{templateName}'.sub('{' + 'templateName' + '}', CGI.escape(template_name.to_s))
1287
+
1288
+ # query parameters
1289
+ query_params = opts[:query_params] || {}
1290
+ query_params[:'accountId'] = account_id
1291
+
1292
+ # header parameters
1293
+ header_params = opts[:header_params] || {}
1294
+ # HTTP header 'Accept' (if needed)
1295
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1296
+
1297
+ # form parameters
1298
+ form_params = opts[:form_params] || {}
1299
+
1300
+ # http body (model)
1301
+ post_body = opts[:debug_body]
1302
+
1303
+ # return_type
1304
+ return_type = opts[:debug_return_type] || 'GetWhatsAppTemplate200Response'
1305
+
1306
+ # auth_names
1307
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1308
+
1309
+ new_options = opts.merge(
1310
+ :operation => :"WhatsAppApi.get_whats_app_template",
1311
+ :header_params => header_params,
1312
+ :query_params => query_params,
1313
+ :form_params => form_params,
1314
+ :body => post_body,
1315
+ :auth_names => auth_names,
1316
+ :return_type => return_type
1317
+ )
1318
+
1319
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1320
+ if @api_client.config.debugging
1321
+ @api_client.config.logger.debug "API called: WhatsAppApi#get_whats_app_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1322
+ end
1323
+ return data, status_code, headers
1324
+ end
1325
+
1326
+ # List templates
1327
+ # List all message templates for the WhatsApp Business Account (WABA) associated with the given account. Templates are fetched directly from the WhatsApp Cloud API.
1328
+ # @param account_id [String] WhatsApp social account ID
1329
+ # @param [Hash] opts the optional parameters
1330
+ # @return [GetWhatsAppTemplates200Response]
1331
+ def get_whats_app_templates(account_id, opts = {})
1332
+ data, _status_code, _headers = get_whats_app_templates_with_http_info(account_id, opts)
1333
+ data
1334
+ end
1335
+
1336
+ # List templates
1337
+ # List all message templates for the WhatsApp Business Account (WABA) associated with the given account. Templates are fetched directly from the WhatsApp Cloud API.
1338
+ # @param account_id [String] WhatsApp social account ID
1339
+ # @param [Hash] opts the optional parameters
1340
+ # @return [Array<(GetWhatsAppTemplates200Response, Integer, Hash)>] GetWhatsAppTemplates200Response data, response status code and response headers
1341
+ def get_whats_app_templates_with_http_info(account_id, opts = {})
1342
+ if @api_client.config.debugging
1343
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.get_whats_app_templates ...'
1344
+ end
1345
+ # verify the required parameter 'account_id' is set
1346
+ if @api_client.config.client_side_validation && account_id.nil?
1347
+ fail ArgumentError, "Missing the required parameter 'account_id' when calling WhatsAppApi.get_whats_app_templates"
1348
+ end
1349
+ # resource path
1350
+ local_var_path = '/v1/whatsapp/templates'
1351
+
1352
+ # query parameters
1353
+ query_params = opts[:query_params] || {}
1354
+ query_params[:'accountId'] = account_id
1355
+
1356
+ # header parameters
1357
+ header_params = opts[:header_params] || {}
1358
+ # HTTP header 'Accept' (if needed)
1359
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1360
+
1361
+ # form parameters
1362
+ form_params = opts[:form_params] || {}
1363
+
1364
+ # http body (model)
1365
+ post_body = opts[:debug_body]
1366
+
1367
+ # return_type
1368
+ return_type = opts[:debug_return_type] || 'GetWhatsAppTemplates200Response'
1369
+
1370
+ # auth_names
1371
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1372
+
1373
+ new_options = opts.merge(
1374
+ :operation => :"WhatsAppApi.get_whats_app_templates",
1375
+ :header_params => header_params,
1376
+ :query_params => query_params,
1377
+ :form_params => form_params,
1378
+ :body => post_body,
1379
+ :auth_names => auth_names,
1380
+ :return_type => return_type
1381
+ )
1382
+
1383
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1384
+ if @api_client.config.debugging
1385
+ @api_client.config.logger.debug "API called: WhatsAppApi#get_whats_app_templates\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1386
+ end
1387
+ return data, status_code, headers
1388
+ end
1389
+
1390
+ # Bulk import contacts
1391
+ # Import up to 1000 contacts at once. Each contact requires a phone number and name. Duplicates are skipped by default. Supports default tags and groups applied to all imported contacts.
1392
+ # @param import_whats_app_contacts_request [ImportWhatsAppContactsRequest]
1393
+ # @param [Hash] opts the optional parameters
1394
+ # @return [ImportWhatsAppContacts200Response]
1395
+ def import_whats_app_contacts(import_whats_app_contacts_request, opts = {})
1396
+ data, _status_code, _headers = import_whats_app_contacts_with_http_info(import_whats_app_contacts_request, opts)
1397
+ data
1398
+ end
1399
+
1400
+ # Bulk import contacts
1401
+ # Import up to 1000 contacts at once. Each contact requires a phone number and name. Duplicates are skipped by default. Supports default tags and groups applied to all imported contacts.
1402
+ # @param import_whats_app_contacts_request [ImportWhatsAppContactsRequest]
1403
+ # @param [Hash] opts the optional parameters
1404
+ # @return [Array<(ImportWhatsAppContacts200Response, Integer, Hash)>] ImportWhatsAppContacts200Response data, response status code and response headers
1405
+ def import_whats_app_contacts_with_http_info(import_whats_app_contacts_request, opts = {})
1406
+ if @api_client.config.debugging
1407
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.import_whats_app_contacts ...'
1408
+ end
1409
+ # verify the required parameter 'import_whats_app_contacts_request' is set
1410
+ if @api_client.config.client_side_validation && import_whats_app_contacts_request.nil?
1411
+ fail ArgumentError, "Missing the required parameter 'import_whats_app_contacts_request' when calling WhatsAppApi.import_whats_app_contacts"
1412
+ end
1413
+ # resource path
1414
+ local_var_path = '/v1/whatsapp/contacts/import'
1415
+
1416
+ # query parameters
1417
+ query_params = opts[:query_params] || {}
1418
+
1419
+ # header parameters
1420
+ header_params = opts[:header_params] || {}
1421
+ # HTTP header 'Accept' (if needed)
1422
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1423
+ # HTTP header 'Content-Type'
1424
+ content_type = @api_client.select_header_content_type(['application/json'])
1425
+ if !content_type.nil?
1426
+ header_params['Content-Type'] = content_type
1427
+ end
1428
+
1429
+ # form parameters
1430
+ form_params = opts[:form_params] || {}
1431
+
1432
+ # http body (model)
1433
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(import_whats_app_contacts_request)
1434
+
1435
+ # return_type
1436
+ return_type = opts[:debug_return_type] || 'ImportWhatsAppContacts200Response'
1437
+
1438
+ # auth_names
1439
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1440
+
1441
+ new_options = opts.merge(
1442
+ :operation => :"WhatsAppApi.import_whats_app_contacts",
1443
+ :header_params => header_params,
1444
+ :query_params => query_params,
1445
+ :form_params => form_params,
1446
+ :body => post_body,
1447
+ :auth_names => auth_names,
1448
+ :return_type => return_type
1449
+ )
1450
+
1451
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1452
+ if @api_client.config.debugging
1453
+ @api_client.config.logger.debug "API called: WhatsAppApi#import_whats_app_contacts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1454
+ end
1455
+ return data, status_code, headers
1456
+ end
1457
+
1458
+ # Remove recipients
1459
+ # Remove recipients from a draft broadcast by phone number.
1460
+ # @param broadcast_id [String] Broadcast ID
1461
+ # @param remove_whats_app_broadcast_recipients_request [RemoveWhatsAppBroadcastRecipientsRequest]
1462
+ # @param [Hash] opts the optional parameters
1463
+ # @return [RemoveWhatsAppBroadcastRecipients200Response]
1464
+ def remove_whats_app_broadcast_recipients(broadcast_id, remove_whats_app_broadcast_recipients_request, opts = {})
1465
+ data, _status_code, _headers = remove_whats_app_broadcast_recipients_with_http_info(broadcast_id, remove_whats_app_broadcast_recipients_request, opts)
1466
+ data
1467
+ end
1468
+
1469
+ # Remove recipients
1470
+ # Remove recipients from a draft broadcast by phone number.
1471
+ # @param broadcast_id [String] Broadcast ID
1472
+ # @param remove_whats_app_broadcast_recipients_request [RemoveWhatsAppBroadcastRecipientsRequest]
1473
+ # @param [Hash] opts the optional parameters
1474
+ # @return [Array<(RemoveWhatsAppBroadcastRecipients200Response, Integer, Hash)>] RemoveWhatsAppBroadcastRecipients200Response data, response status code and response headers
1475
+ def remove_whats_app_broadcast_recipients_with_http_info(broadcast_id, remove_whats_app_broadcast_recipients_request, opts = {})
1476
+ if @api_client.config.debugging
1477
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.remove_whats_app_broadcast_recipients ...'
1478
+ end
1479
+ # verify the required parameter 'broadcast_id' is set
1480
+ if @api_client.config.client_side_validation && broadcast_id.nil?
1481
+ fail ArgumentError, "Missing the required parameter 'broadcast_id' when calling WhatsAppApi.remove_whats_app_broadcast_recipients"
1482
+ end
1483
+ # verify the required parameter 'remove_whats_app_broadcast_recipients_request' is set
1484
+ if @api_client.config.client_side_validation && remove_whats_app_broadcast_recipients_request.nil?
1485
+ fail ArgumentError, "Missing the required parameter 'remove_whats_app_broadcast_recipients_request' when calling WhatsAppApi.remove_whats_app_broadcast_recipients"
1486
+ end
1487
+ # resource path
1488
+ local_var_path = '/v1/whatsapp/broadcasts/{broadcastId}/recipients'.sub('{' + 'broadcastId' + '}', CGI.escape(broadcast_id.to_s))
1489
+
1490
+ # query parameters
1491
+ query_params = opts[:query_params] || {}
1492
+
1493
+ # header parameters
1494
+ header_params = opts[:header_params] || {}
1495
+ # HTTP header 'Accept' (if needed)
1496
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1497
+ # HTTP header 'Content-Type'
1498
+ content_type = @api_client.select_header_content_type(['application/json'])
1499
+ if !content_type.nil?
1500
+ header_params['Content-Type'] = content_type
1501
+ end
1502
+
1503
+ # form parameters
1504
+ form_params = opts[:form_params] || {}
1505
+
1506
+ # http body (model)
1507
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(remove_whats_app_broadcast_recipients_request)
1508
+
1509
+ # return_type
1510
+ return_type = opts[:debug_return_type] || 'RemoveWhatsAppBroadcastRecipients200Response'
1511
+
1512
+ # auth_names
1513
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1514
+
1515
+ new_options = opts.merge(
1516
+ :operation => :"WhatsAppApi.remove_whats_app_broadcast_recipients",
1517
+ :header_params => header_params,
1518
+ :query_params => query_params,
1519
+ :form_params => form_params,
1520
+ :body => post_body,
1521
+ :auth_names => auth_names,
1522
+ :return_type => return_type
1523
+ )
1524
+
1525
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
1526
+ if @api_client.config.debugging
1527
+ @api_client.config.logger.debug "API called: WhatsAppApi#remove_whats_app_broadcast_recipients\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1528
+ end
1529
+ return data, status_code, headers
1530
+ end
1531
+
1532
+ # Rename group
1533
+ # Rename a contact group. This updates the group name on all contacts that belong to the group.
1534
+ # @param rename_whats_app_group_request [RenameWhatsAppGroupRequest]
1535
+ # @param [Hash] opts the optional parameters
1536
+ # @return [RenameWhatsAppGroup200Response]
1537
+ def rename_whats_app_group(rename_whats_app_group_request, opts = {})
1538
+ data, _status_code, _headers = rename_whats_app_group_with_http_info(rename_whats_app_group_request, opts)
1539
+ data
1540
+ end
1541
+
1542
+ # Rename group
1543
+ # Rename a contact group. This updates the group name on all contacts that belong to the group.
1544
+ # @param rename_whats_app_group_request [RenameWhatsAppGroupRequest]
1545
+ # @param [Hash] opts the optional parameters
1546
+ # @return [Array<(RenameWhatsAppGroup200Response, Integer, Hash)>] RenameWhatsAppGroup200Response data, response status code and response headers
1547
+ def rename_whats_app_group_with_http_info(rename_whats_app_group_request, opts = {})
1548
+ if @api_client.config.debugging
1549
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.rename_whats_app_group ...'
1550
+ end
1551
+ # verify the required parameter 'rename_whats_app_group_request' is set
1552
+ if @api_client.config.client_side_validation && rename_whats_app_group_request.nil?
1553
+ fail ArgumentError, "Missing the required parameter 'rename_whats_app_group_request' when calling WhatsAppApi.rename_whats_app_group"
1554
+ end
1555
+ # resource path
1556
+ local_var_path = '/v1/whatsapp/groups'
1557
+
1558
+ # query parameters
1559
+ query_params = opts[:query_params] || {}
1560
+
1561
+ # header parameters
1562
+ header_params = opts[:header_params] || {}
1563
+ # HTTP header 'Accept' (if needed)
1564
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1565
+ # HTTP header 'Content-Type'
1566
+ content_type = @api_client.select_header_content_type(['application/json'])
1567
+ if !content_type.nil?
1568
+ header_params['Content-Type'] = content_type
1569
+ end
1570
+
1571
+ # form parameters
1572
+ form_params = opts[:form_params] || {}
1573
+
1574
+ # http body (model)
1575
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(rename_whats_app_group_request)
1576
+
1577
+ # return_type
1578
+ return_type = opts[:debug_return_type] || 'RenameWhatsAppGroup200Response'
1579
+
1580
+ # auth_names
1581
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1582
+
1583
+ new_options = opts.merge(
1584
+ :operation => :"WhatsAppApi.rename_whats_app_group",
1585
+ :header_params => header_params,
1586
+ :query_params => query_params,
1587
+ :form_params => form_params,
1588
+ :body => post_body,
1589
+ :auth_names => auth_names,
1590
+ :return_type => return_type
1591
+ )
1592
+
1593
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1594
+ if @api_client.config.debugging
1595
+ @api_client.config.logger.debug "API called: WhatsAppApi#rename_whats_app_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1596
+ end
1597
+ return data, status_code, headers
1598
+ end
1599
+
1600
+ # Schedule broadcast
1601
+ # Schedule a draft broadcast for future sending. The scheduled time must be in the future and no more than 30 days in advance. The broadcast must be in draft status and have recipients.
1602
+ # @param broadcast_id [String] Broadcast ID
1603
+ # @param schedule_whats_app_broadcast_request [ScheduleWhatsAppBroadcastRequest]
1604
+ # @param [Hash] opts the optional parameters
1605
+ # @return [ScheduleWhatsAppBroadcast200Response]
1606
+ def schedule_whats_app_broadcast(broadcast_id, schedule_whats_app_broadcast_request, opts = {})
1607
+ data, _status_code, _headers = schedule_whats_app_broadcast_with_http_info(broadcast_id, schedule_whats_app_broadcast_request, opts)
1608
+ data
1609
+ end
1610
+
1611
+ # Schedule broadcast
1612
+ # Schedule a draft broadcast for future sending. The scheduled time must be in the future and no more than 30 days in advance. The broadcast must be in draft status and have recipients.
1613
+ # @param broadcast_id [String] Broadcast ID
1614
+ # @param schedule_whats_app_broadcast_request [ScheduleWhatsAppBroadcastRequest]
1615
+ # @param [Hash] opts the optional parameters
1616
+ # @return [Array<(ScheduleWhatsAppBroadcast200Response, Integer, Hash)>] ScheduleWhatsAppBroadcast200Response data, response status code and response headers
1617
+ def schedule_whats_app_broadcast_with_http_info(broadcast_id, schedule_whats_app_broadcast_request, opts = {})
1618
+ if @api_client.config.debugging
1619
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.schedule_whats_app_broadcast ...'
1620
+ end
1621
+ # verify the required parameter 'broadcast_id' is set
1622
+ if @api_client.config.client_side_validation && broadcast_id.nil?
1623
+ fail ArgumentError, "Missing the required parameter 'broadcast_id' when calling WhatsAppApi.schedule_whats_app_broadcast"
1624
+ end
1625
+ # verify the required parameter 'schedule_whats_app_broadcast_request' is set
1626
+ if @api_client.config.client_side_validation && schedule_whats_app_broadcast_request.nil?
1627
+ fail ArgumentError, "Missing the required parameter 'schedule_whats_app_broadcast_request' when calling WhatsAppApi.schedule_whats_app_broadcast"
1628
+ end
1629
+ # resource path
1630
+ local_var_path = '/v1/whatsapp/broadcasts/{broadcastId}/schedule'.sub('{' + 'broadcastId' + '}', CGI.escape(broadcast_id.to_s))
1631
+
1632
+ # query parameters
1633
+ query_params = opts[:query_params] || {}
1634
+
1635
+ # header parameters
1636
+ header_params = opts[:header_params] || {}
1637
+ # HTTP header 'Accept' (if needed)
1638
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1639
+ # HTTP header 'Content-Type'
1640
+ content_type = @api_client.select_header_content_type(['application/json'])
1641
+ if !content_type.nil?
1642
+ header_params['Content-Type'] = content_type
1643
+ end
1644
+
1645
+ # form parameters
1646
+ form_params = opts[:form_params] || {}
1647
+
1648
+ # http body (model)
1649
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(schedule_whats_app_broadcast_request)
1650
+
1651
+ # return_type
1652
+ return_type = opts[:debug_return_type] || 'ScheduleWhatsAppBroadcast200Response'
1653
+
1654
+ # auth_names
1655
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1656
+
1657
+ new_options = opts.merge(
1658
+ :operation => :"WhatsAppApi.schedule_whats_app_broadcast",
1659
+ :header_params => header_params,
1660
+ :query_params => query_params,
1661
+ :form_params => form_params,
1662
+ :body => post_body,
1663
+ :auth_names => auth_names,
1664
+ :return_type => return_type
1665
+ )
1666
+
1667
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1668
+ if @api_client.config.debugging
1669
+ @api_client.config.logger.debug "API called: WhatsAppApi#schedule_whats_app_broadcast\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1670
+ end
1671
+ return data, status_code, headers
1672
+ end
1673
+
1674
+ # Send broadcast
1675
+ # Start sending a broadcast immediately. The broadcast must be in draft or scheduled status and have at least one recipient. Messages are sent sequentially with rate limiting.
1676
+ # @param broadcast_id [String] Broadcast ID
1677
+ # @param [Hash] opts the optional parameters
1678
+ # @return [SendWhatsAppBroadcast200Response]
1679
+ def send_whats_app_broadcast(broadcast_id, opts = {})
1680
+ data, _status_code, _headers = send_whats_app_broadcast_with_http_info(broadcast_id, opts)
1681
+ data
1682
+ end
1683
+
1684
+ # Send broadcast
1685
+ # Start sending a broadcast immediately. The broadcast must be in draft or scheduled status and have at least one recipient. Messages are sent sequentially with rate limiting.
1686
+ # @param broadcast_id [String] Broadcast ID
1687
+ # @param [Hash] opts the optional parameters
1688
+ # @return [Array<(SendWhatsAppBroadcast200Response, Integer, Hash)>] SendWhatsAppBroadcast200Response data, response status code and response headers
1689
+ def send_whats_app_broadcast_with_http_info(broadcast_id, opts = {})
1690
+ if @api_client.config.debugging
1691
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.send_whats_app_broadcast ...'
1692
+ end
1693
+ # verify the required parameter 'broadcast_id' is set
1694
+ if @api_client.config.client_side_validation && broadcast_id.nil?
1695
+ fail ArgumentError, "Missing the required parameter 'broadcast_id' when calling WhatsAppApi.send_whats_app_broadcast"
1696
+ end
1697
+ # resource path
1698
+ local_var_path = '/v1/whatsapp/broadcasts/{broadcastId}/send'.sub('{' + 'broadcastId' + '}', CGI.escape(broadcast_id.to_s))
1699
+
1700
+ # query parameters
1701
+ query_params = opts[:query_params] || {}
1702
+
1703
+ # header parameters
1704
+ header_params = opts[:header_params] || {}
1705
+ # HTTP header 'Accept' (if needed)
1706
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1707
+
1708
+ # form parameters
1709
+ form_params = opts[:form_params] || {}
1710
+
1711
+ # http body (model)
1712
+ post_body = opts[:debug_body]
1713
+
1714
+ # return_type
1715
+ return_type = opts[:debug_return_type] || 'SendWhatsAppBroadcast200Response'
1716
+
1717
+ # auth_names
1718
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1719
+
1720
+ new_options = opts.merge(
1721
+ :operation => :"WhatsAppApi.send_whats_app_broadcast",
1722
+ :header_params => header_params,
1723
+ :query_params => query_params,
1724
+ :form_params => form_params,
1725
+ :body => post_body,
1726
+ :auth_names => auth_names,
1727
+ :return_type => return_type
1728
+ )
1729
+
1730
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1731
+ if @api_client.config.debugging
1732
+ @api_client.config.logger.debug "API called: WhatsAppApi#send_whats_app_broadcast\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1733
+ end
1734
+ return data, status_code, headers
1735
+ end
1736
+
1737
+ # Bulk send template messages
1738
+ # Send a template message to multiple recipients in a single request. Maximum 100 recipients per request. Only template messages are supported for bulk sending (not free-form text). Each recipient can have optional per-recipient template variables for personalization. Returns detailed results for each recipient.
1739
+ # @param send_whats_app_bulk_request [SendWhatsAppBulkRequest]
1740
+ # @param [Hash] opts the optional parameters
1741
+ # @return [SendWhatsAppBulk200Response]
1742
+ def send_whats_app_bulk(send_whats_app_bulk_request, opts = {})
1743
+ data, _status_code, _headers = send_whats_app_bulk_with_http_info(send_whats_app_bulk_request, opts)
1744
+ data
1745
+ end
1746
+
1747
+ # Bulk send template messages
1748
+ # Send a template message to multiple recipients in a single request. Maximum 100 recipients per request. Only template messages are supported for bulk sending (not free-form text). Each recipient can have optional per-recipient template variables for personalization. Returns detailed results for each recipient.
1749
+ # @param send_whats_app_bulk_request [SendWhatsAppBulkRequest]
1750
+ # @param [Hash] opts the optional parameters
1751
+ # @return [Array<(SendWhatsAppBulk200Response, Integer, Hash)>] SendWhatsAppBulk200Response data, response status code and response headers
1752
+ def send_whats_app_bulk_with_http_info(send_whats_app_bulk_request, opts = {})
1753
+ if @api_client.config.debugging
1754
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.send_whats_app_bulk ...'
1755
+ end
1756
+ # verify the required parameter 'send_whats_app_bulk_request' is set
1757
+ if @api_client.config.client_side_validation && send_whats_app_bulk_request.nil?
1758
+ fail ArgumentError, "Missing the required parameter 'send_whats_app_bulk_request' when calling WhatsAppApi.send_whats_app_bulk"
1759
+ end
1760
+ # resource path
1761
+ local_var_path = '/v1/whatsapp/bulk'
1762
+
1763
+ # query parameters
1764
+ query_params = opts[:query_params] || {}
1765
+
1766
+ # header parameters
1767
+ header_params = opts[:header_params] || {}
1768
+ # HTTP header 'Accept' (if needed)
1769
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1770
+ # HTTP header 'Content-Type'
1771
+ content_type = @api_client.select_header_content_type(['application/json'])
1772
+ if !content_type.nil?
1773
+ header_params['Content-Type'] = content_type
1774
+ end
1775
+
1776
+ # form parameters
1777
+ form_params = opts[:form_params] || {}
1778
+
1779
+ # http body (model)
1780
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(send_whats_app_bulk_request)
1781
+
1782
+ # return_type
1783
+ return_type = opts[:debug_return_type] || 'SendWhatsAppBulk200Response'
1784
+
1785
+ # auth_names
1786
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1787
+
1788
+ new_options = opts.merge(
1789
+ :operation => :"WhatsAppApi.send_whats_app_bulk",
1790
+ :header_params => header_params,
1791
+ :query_params => query_params,
1792
+ :form_params => form_params,
1793
+ :body => post_body,
1794
+ :auth_names => auth_names,
1795
+ :return_type => return_type
1796
+ )
1797
+
1798
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1799
+ if @api_client.config.debugging
1800
+ @api_client.config.logger.debug "API called: WhatsAppApi#send_whats_app_bulk\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1801
+ end
1802
+ return data, status_code, headers
1803
+ end
1804
+
1805
+ # Update business profile
1806
+ # Update the WhatsApp Business profile. All fields are optional; only provided fields will be updated. Constraints: about max 139 chars, description max 512 chars, max 2 websites.
1807
+ # @param update_whats_app_business_profile_request [UpdateWhatsAppBusinessProfileRequest]
1808
+ # @param [Hash] opts the optional parameters
1809
+ # @return [UnpublishPost200Response]
1810
+ def update_whats_app_business_profile(update_whats_app_business_profile_request, opts = {})
1811
+ data, _status_code, _headers = update_whats_app_business_profile_with_http_info(update_whats_app_business_profile_request, opts)
1812
+ data
1813
+ end
1814
+
1815
+ # Update business profile
1816
+ # Update the WhatsApp Business profile. All fields are optional; only provided fields will be updated. Constraints: about max 139 chars, description max 512 chars, max 2 websites.
1817
+ # @param update_whats_app_business_profile_request [UpdateWhatsAppBusinessProfileRequest]
1818
+ # @param [Hash] opts the optional parameters
1819
+ # @return [Array<(UnpublishPost200Response, Integer, Hash)>] UnpublishPost200Response data, response status code and response headers
1820
+ def update_whats_app_business_profile_with_http_info(update_whats_app_business_profile_request, opts = {})
1821
+ if @api_client.config.debugging
1822
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.update_whats_app_business_profile ...'
1823
+ end
1824
+ # verify the required parameter 'update_whats_app_business_profile_request' is set
1825
+ if @api_client.config.client_side_validation && update_whats_app_business_profile_request.nil?
1826
+ fail ArgumentError, "Missing the required parameter 'update_whats_app_business_profile_request' when calling WhatsAppApi.update_whats_app_business_profile"
1827
+ end
1828
+ # resource path
1829
+ local_var_path = '/v1/whatsapp/business-profile'
1830
+
1831
+ # query parameters
1832
+ query_params = opts[:query_params] || {}
1833
+
1834
+ # header parameters
1835
+ header_params = opts[:header_params] || {}
1836
+ # HTTP header 'Accept' (if needed)
1837
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1838
+ # HTTP header 'Content-Type'
1839
+ content_type = @api_client.select_header_content_type(['application/json'])
1840
+ if !content_type.nil?
1841
+ header_params['Content-Type'] = content_type
1842
+ end
1843
+
1844
+ # form parameters
1845
+ form_params = opts[:form_params] || {}
1846
+
1847
+ # http body (model)
1848
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_whats_app_business_profile_request)
1849
+
1850
+ # return_type
1851
+ return_type = opts[:debug_return_type] || 'UnpublishPost200Response'
1852
+
1853
+ # auth_names
1854
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1855
+
1856
+ new_options = opts.merge(
1857
+ :operation => :"WhatsAppApi.update_whats_app_business_profile",
1858
+ :header_params => header_params,
1859
+ :query_params => query_params,
1860
+ :form_params => form_params,
1861
+ :body => post_body,
1862
+ :auth_names => auth_names,
1863
+ :return_type => return_type
1864
+ )
1865
+
1866
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1867
+ if @api_client.config.debugging
1868
+ @api_client.config.logger.debug "API called: WhatsAppApi#update_whats_app_business_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1869
+ end
1870
+ return data, status_code, headers
1871
+ end
1872
+
1873
+ # Update contact
1874
+ # Update an existing WhatsApp contact. All fields are optional; only provided fields will be updated. Custom fields are merged with existing values. Set a custom field to null to remove it.
1875
+ # @param contact_id [String] Contact ID
1876
+ # @param update_whats_app_contact_request [UpdateWhatsAppContactRequest]
1877
+ # @param [Hash] opts the optional parameters
1878
+ # @return [UpdateWhatsAppContact200Response]
1879
+ def update_whats_app_contact(contact_id, update_whats_app_contact_request, opts = {})
1880
+ data, _status_code, _headers = update_whats_app_contact_with_http_info(contact_id, update_whats_app_contact_request, opts)
1881
+ data
1882
+ end
1883
+
1884
+ # Update contact
1885
+ # Update an existing WhatsApp contact. All fields are optional; only provided fields will be updated. Custom fields are merged with existing values. Set a custom field to null to remove it.
1886
+ # @param contact_id [String] Contact ID
1887
+ # @param update_whats_app_contact_request [UpdateWhatsAppContactRequest]
1888
+ # @param [Hash] opts the optional parameters
1889
+ # @return [Array<(UpdateWhatsAppContact200Response, Integer, Hash)>] UpdateWhatsAppContact200Response data, response status code and response headers
1890
+ def update_whats_app_contact_with_http_info(contact_id, update_whats_app_contact_request, opts = {})
1891
+ if @api_client.config.debugging
1892
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.update_whats_app_contact ...'
1893
+ end
1894
+ # verify the required parameter 'contact_id' is set
1895
+ if @api_client.config.client_side_validation && contact_id.nil?
1896
+ fail ArgumentError, "Missing the required parameter 'contact_id' when calling WhatsAppApi.update_whats_app_contact"
1897
+ end
1898
+ # verify the required parameter 'update_whats_app_contact_request' is set
1899
+ if @api_client.config.client_side_validation && update_whats_app_contact_request.nil?
1900
+ fail ArgumentError, "Missing the required parameter 'update_whats_app_contact_request' when calling WhatsAppApi.update_whats_app_contact"
1901
+ end
1902
+ # resource path
1903
+ local_var_path = '/v1/whatsapp/contacts/{contactId}'.sub('{' + 'contactId' + '}', CGI.escape(contact_id.to_s))
1904
+
1905
+ # query parameters
1906
+ query_params = opts[:query_params] || {}
1907
+
1908
+ # header parameters
1909
+ header_params = opts[:header_params] || {}
1910
+ # HTTP header 'Accept' (if needed)
1911
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1912
+ # HTTP header 'Content-Type'
1913
+ content_type = @api_client.select_header_content_type(['application/json'])
1914
+ if !content_type.nil?
1915
+ header_params['Content-Type'] = content_type
1916
+ end
1917
+
1918
+ # form parameters
1919
+ form_params = opts[:form_params] || {}
1920
+
1921
+ # http body (model)
1922
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_whats_app_contact_request)
1923
+
1924
+ # return_type
1925
+ return_type = opts[:debug_return_type] || 'UpdateWhatsAppContact200Response'
1926
+
1927
+ # auth_names
1928
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
1929
+
1930
+ new_options = opts.merge(
1931
+ :operation => :"WhatsAppApi.update_whats_app_contact",
1932
+ :header_params => header_params,
1933
+ :query_params => query_params,
1934
+ :form_params => form_params,
1935
+ :body => post_body,
1936
+ :auth_names => auth_names,
1937
+ :return_type => return_type
1938
+ )
1939
+
1940
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1941
+ if @api_client.config.debugging
1942
+ @api_client.config.logger.debug "API called: WhatsAppApi#update_whats_app_contact\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1943
+ end
1944
+ return data, status_code, headers
1945
+ end
1946
+
1947
+ # Update template
1948
+ # Update a message template's components. Only certain fields can be updated depending on the template's current approval state. Approved templates can only have components updated.
1949
+ # @param template_name [String] Template name
1950
+ # @param update_whats_app_template_request [UpdateWhatsAppTemplateRequest]
1951
+ # @param [Hash] opts the optional parameters
1952
+ # @return [UpdateWhatsAppTemplate200Response]
1953
+ def update_whats_app_template(template_name, update_whats_app_template_request, opts = {})
1954
+ data, _status_code, _headers = update_whats_app_template_with_http_info(template_name, update_whats_app_template_request, opts)
1955
+ data
1956
+ end
1957
+
1958
+ # Update template
1959
+ # Update a message template&#39;s components. Only certain fields can be updated depending on the template&#39;s current approval state. Approved templates can only have components updated.
1960
+ # @param template_name [String] Template name
1961
+ # @param update_whats_app_template_request [UpdateWhatsAppTemplateRequest]
1962
+ # @param [Hash] opts the optional parameters
1963
+ # @return [Array<(UpdateWhatsAppTemplate200Response, Integer, Hash)>] UpdateWhatsAppTemplate200Response data, response status code and response headers
1964
+ def update_whats_app_template_with_http_info(template_name, update_whats_app_template_request, opts = {})
1965
+ if @api_client.config.debugging
1966
+ @api_client.config.logger.debug 'Calling API: WhatsAppApi.update_whats_app_template ...'
1967
+ end
1968
+ # verify the required parameter 'template_name' is set
1969
+ if @api_client.config.client_side_validation && template_name.nil?
1970
+ fail ArgumentError, "Missing the required parameter 'template_name' when calling WhatsAppApi.update_whats_app_template"
1971
+ end
1972
+ # verify the required parameter 'update_whats_app_template_request' is set
1973
+ if @api_client.config.client_side_validation && update_whats_app_template_request.nil?
1974
+ fail ArgumentError, "Missing the required parameter 'update_whats_app_template_request' when calling WhatsAppApi.update_whats_app_template"
1975
+ end
1976
+ # resource path
1977
+ local_var_path = '/v1/whatsapp/templates/{templateName}'.sub('{' + 'templateName' + '}', CGI.escape(template_name.to_s))
1978
+
1979
+ # query parameters
1980
+ query_params = opts[:query_params] || {}
1981
+
1982
+ # header parameters
1983
+ header_params = opts[:header_params] || {}
1984
+ # HTTP header 'Accept' (if needed)
1985
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1986
+ # HTTP header 'Content-Type'
1987
+ content_type = @api_client.select_header_content_type(['application/json'])
1988
+ if !content_type.nil?
1989
+ header_params['Content-Type'] = content_type
1990
+ end
1991
+
1992
+ # form parameters
1993
+ form_params = opts[:form_params] || {}
1994
+
1995
+ # http body (model)
1996
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_whats_app_template_request)
1997
+
1998
+ # return_type
1999
+ return_type = opts[:debug_return_type] || 'UpdateWhatsAppTemplate200Response'
2000
+
2001
+ # auth_names
2002
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
2003
+
2004
+ new_options = opts.merge(
2005
+ :operation => :"WhatsAppApi.update_whats_app_template",
2006
+ :header_params => header_params,
2007
+ :query_params => query_params,
2008
+ :form_params => form_params,
2009
+ :body => post_body,
2010
+ :auth_names => auth_names,
2011
+ :return_type => return_type
2012
+ )
2013
+
2014
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
2015
+ if @api_client.config.debugging
2016
+ @api_client.config.logger.debug "API called: WhatsAppApi#update_whats_app_template\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2017
+ end
2018
+ return data, status_code, headers
2019
+ end
2020
+ end
2021
+ end