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,183 @@
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 'date'
14
+ require 'time'
15
+
16
+ module Late
17
+ class CreateWhatsAppTemplate200ResponseTemplate < ApiModelBase
18
+ attr_accessor :id
19
+
20
+ attr_accessor :name
21
+
22
+ attr_accessor :status
23
+
24
+ attr_accessor :category
25
+
26
+ attr_accessor :language
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'id' => :'id',
32
+ :'name' => :'name',
33
+ :'status' => :'status',
34
+ :'category' => :'category',
35
+ :'language' => :'language'
36
+ }
37
+ end
38
+
39
+ # Returns attribute mapping this model knows about
40
+ def self.acceptable_attribute_map
41
+ attribute_map
42
+ end
43
+
44
+ # Returns all the JSON keys this model knows about
45
+ def self.acceptable_attributes
46
+ acceptable_attribute_map.values
47
+ end
48
+
49
+ # Attribute type mapping.
50
+ def self.openapi_types
51
+ {
52
+ :'id' => :'String',
53
+ :'name' => :'String',
54
+ :'status' => :'String',
55
+ :'category' => :'String',
56
+ :'language' => :'String'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ def self.openapi_nullable
62
+ Set.new([
63
+ ])
64
+ end
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Late::CreateWhatsAppTemplate200ResponseTemplate` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ acceptable_attribute_map = self.class.acceptable_attribute_map
75
+ attributes = attributes.each_with_object({}) { |(k, v), h|
76
+ if (!acceptable_attribute_map.key?(k.to_sym))
77
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Late::CreateWhatsAppTemplate200ResponseTemplate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
78
+ end
79
+ h[k.to_sym] = v
80
+ }
81
+
82
+ if attributes.key?(:'id')
83
+ self.id = attributes[:'id']
84
+ end
85
+
86
+ if attributes.key?(:'name')
87
+ self.name = attributes[:'name']
88
+ end
89
+
90
+ if attributes.key?(:'status')
91
+ self.status = attributes[:'status']
92
+ end
93
+
94
+ if attributes.key?(:'category')
95
+ self.category = attributes[:'category']
96
+ end
97
+
98
+ if attributes.key?(:'language')
99
+ self.language = attributes[:'language']
100
+ end
101
+ end
102
+
103
+ # Show invalid properties with the reasons. Usually used together with valid?
104
+ # @return Array for valid properties with the reasons
105
+ def list_invalid_properties
106
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
107
+ invalid_properties = Array.new
108
+ invalid_properties
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ def valid?
114
+ warn '[DEPRECATED] the `valid?` method is obsolete'
115
+ true
116
+ end
117
+
118
+ # Checks equality by comparing each attribute.
119
+ # @param [Object] Object to be compared
120
+ def ==(o)
121
+ return true if self.equal?(o)
122
+ self.class == o.class &&
123
+ id == o.id &&
124
+ name == o.name &&
125
+ status == o.status &&
126
+ category == o.category &&
127
+ language == o.language
128
+ end
129
+
130
+ # @see the `==` method
131
+ # @param [Object] Object to be compared
132
+ def eql?(o)
133
+ self == o
134
+ end
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Integer] Hash code
138
+ def hash
139
+ [id, name, status, category, language].hash
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def self.build_from_hash(attributes)
146
+ return nil unless attributes.is_a?(Hash)
147
+ attributes = attributes.transform_keys(&:to_sym)
148
+ transformed_hash = {}
149
+ openapi_types.each_pair do |key, type|
150
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
151
+ transformed_hash["#{key}"] = nil
152
+ elsif type =~ /\AArray<(.*)>/i
153
+ # check to ensure the input is an array given that the attribute
154
+ # is documented as an array but the input is not
155
+ if attributes[attribute_map[key]].is_a?(Array)
156
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
157
+ end
158
+ elsif !attributes[attribute_map[key]].nil?
159
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
160
+ end
161
+ end
162
+ new(transformed_hash)
163
+ end
164
+
165
+ # Returns the object in the form of hash
166
+ # @return [Hash] Returns the object in the form of hash
167
+ def to_hash
168
+ hash = {}
169
+ self.class.attribute_map.each_pair do |attr, param|
170
+ value = self.send(attr)
171
+ if value.nil?
172
+ is_nullable = self.class.openapi_nullable.include?(attr)
173
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
174
+ end
175
+
176
+ hash[param] = _to_hash(value)
177
+ end
178
+ hash
179
+ end
180
+
181
+ end
182
+
183
+ end
@@ -0,0 +1,310 @@
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 'date'
14
+ require 'time'
15
+
16
+ module Late
17
+ class CreateWhatsAppTemplateRequest < ApiModelBase
18
+ # WhatsApp social account ID
19
+ attr_accessor :account_id
20
+
21
+ # Template name (lowercase, letters/numbers/underscores, must start with a letter)
22
+ attr_accessor :name
23
+
24
+ # Template category
25
+ attr_accessor :category
26
+
27
+ # Template language code (e.g., en_US)
28
+ attr_accessor :language
29
+
30
+ # Template components (header, body, footer, buttons)
31
+ attr_accessor :components
32
+
33
+ class EnumAttributeValidator
34
+ attr_reader :datatype
35
+ attr_reader :allowable_values
36
+
37
+ def initialize(datatype, allowable_values)
38
+ @allowable_values = allowable_values.map do |value|
39
+ case datatype.to_s
40
+ when /Integer/i
41
+ value.to_i
42
+ when /Float/i
43
+ value.to_f
44
+ else
45
+ value
46
+ end
47
+ end
48
+ end
49
+
50
+ def valid?(value)
51
+ !value || allowable_values.include?(value)
52
+ end
53
+ end
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+ :'account_id' => :'accountId',
59
+ :'name' => :'name',
60
+ :'category' => :'category',
61
+ :'language' => :'language',
62
+ :'components' => :'components'
63
+ }
64
+ end
65
+
66
+ # Returns attribute mapping this model knows about
67
+ def self.acceptable_attribute_map
68
+ attribute_map
69
+ end
70
+
71
+ # Returns all the JSON keys this model knows about
72
+ def self.acceptable_attributes
73
+ acceptable_attribute_map.values
74
+ end
75
+
76
+ # Attribute type mapping.
77
+ def self.openapi_types
78
+ {
79
+ :'account_id' => :'String',
80
+ :'name' => :'String',
81
+ :'category' => :'String',
82
+ :'language' => :'String',
83
+ :'components' => :'Array<Object>'
84
+ }
85
+ end
86
+
87
+ # List of attributes with nullable: true
88
+ def self.openapi_nullable
89
+ Set.new([
90
+ ])
91
+ end
92
+
93
+ # Initializes the object
94
+ # @param [Hash] attributes Model attributes in the form of hash
95
+ def initialize(attributes = {})
96
+ if (!attributes.is_a?(Hash))
97
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Late::CreateWhatsAppTemplateRequest` initialize method"
98
+ end
99
+
100
+ # check to see if the attribute exists and convert string to symbol for hash key
101
+ acceptable_attribute_map = self.class.acceptable_attribute_map
102
+ attributes = attributes.each_with_object({}) { |(k, v), h|
103
+ if (!acceptable_attribute_map.key?(k.to_sym))
104
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Late::CreateWhatsAppTemplateRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
105
+ end
106
+ h[k.to_sym] = v
107
+ }
108
+
109
+ if attributes.key?(:'account_id')
110
+ self.account_id = attributes[:'account_id']
111
+ else
112
+ self.account_id = nil
113
+ end
114
+
115
+ if attributes.key?(:'name')
116
+ self.name = attributes[:'name']
117
+ else
118
+ self.name = nil
119
+ end
120
+
121
+ if attributes.key?(:'category')
122
+ self.category = attributes[:'category']
123
+ else
124
+ self.category = nil
125
+ end
126
+
127
+ if attributes.key?(:'language')
128
+ self.language = attributes[:'language']
129
+ else
130
+ self.language = nil
131
+ end
132
+
133
+ if attributes.key?(:'components')
134
+ if (value = attributes[:'components']).is_a?(Array)
135
+ self.components = value
136
+ end
137
+ else
138
+ self.components = nil
139
+ end
140
+ end
141
+
142
+ # Show invalid properties with the reasons. Usually used together with valid?
143
+ # @return Array for valid properties with the reasons
144
+ def list_invalid_properties
145
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
146
+ invalid_properties = Array.new
147
+ if @account_id.nil?
148
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
149
+ end
150
+
151
+ if @name.nil?
152
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
153
+ end
154
+
155
+ pattern = Regexp.new(/^[a-z][a-z0-9_]*$/)
156
+ if @name !~ pattern
157
+ invalid_properties.push("invalid value for \"name\", must conform to the pattern #{pattern}.")
158
+ end
159
+
160
+ if @category.nil?
161
+ invalid_properties.push('invalid value for "category", category cannot be nil.')
162
+ end
163
+
164
+ if @language.nil?
165
+ invalid_properties.push('invalid value for "language", language cannot be nil.')
166
+ end
167
+
168
+ if @components.nil?
169
+ invalid_properties.push('invalid value for "components", components cannot be nil.')
170
+ end
171
+
172
+ invalid_properties
173
+ end
174
+
175
+ # Check to see if the all the properties in the model are valid
176
+ # @return true if the model is valid
177
+ def valid?
178
+ warn '[DEPRECATED] the `valid?` method is obsolete'
179
+ return false if @account_id.nil?
180
+ return false if @name.nil?
181
+ return false if @name !~ Regexp.new(/^[a-z][a-z0-9_]*$/)
182
+ return false if @category.nil?
183
+ category_validator = EnumAttributeValidator.new('String', ["AUTHENTICATION", "MARKETING", "UTILITY"])
184
+ return false unless category_validator.valid?(@category)
185
+ return false if @language.nil?
186
+ return false if @components.nil?
187
+ true
188
+ end
189
+
190
+ # Custom attribute writer method with validation
191
+ # @param [Object] account_id Value to be assigned
192
+ def account_id=(account_id)
193
+ if account_id.nil?
194
+ fail ArgumentError, 'account_id cannot be nil'
195
+ end
196
+
197
+ @account_id = account_id
198
+ end
199
+
200
+ # Custom attribute writer method with validation
201
+ # @param [Object] name Value to be assigned
202
+ def name=(name)
203
+ if name.nil?
204
+ fail ArgumentError, 'name cannot be nil'
205
+ end
206
+
207
+ pattern = Regexp.new(/^[a-z][a-z0-9_]*$/)
208
+ if name !~ pattern
209
+ fail ArgumentError, "invalid value for \"name\", must conform to the pattern #{pattern}."
210
+ end
211
+
212
+ @name = name
213
+ end
214
+
215
+ # Custom attribute writer method checking allowed values (enum).
216
+ # @param [Object] category Object to be assigned
217
+ def category=(category)
218
+ validator = EnumAttributeValidator.new('String', ["AUTHENTICATION", "MARKETING", "UTILITY"])
219
+ unless validator.valid?(category)
220
+ fail ArgumentError, "invalid value for \"category\", must be one of #{validator.allowable_values}."
221
+ end
222
+ @category = category
223
+ end
224
+
225
+ # Custom attribute writer method with validation
226
+ # @param [Object] language Value to be assigned
227
+ def language=(language)
228
+ if language.nil?
229
+ fail ArgumentError, 'language cannot be nil'
230
+ end
231
+
232
+ @language = language
233
+ end
234
+
235
+ # Custom attribute writer method with validation
236
+ # @param [Object] components Value to be assigned
237
+ def components=(components)
238
+ if components.nil?
239
+ fail ArgumentError, 'components cannot be nil'
240
+ end
241
+
242
+ @components = components
243
+ end
244
+
245
+ # Checks equality by comparing each attribute.
246
+ # @param [Object] Object to be compared
247
+ def ==(o)
248
+ return true if self.equal?(o)
249
+ self.class == o.class &&
250
+ account_id == o.account_id &&
251
+ name == o.name &&
252
+ category == o.category &&
253
+ language == o.language &&
254
+ components == o.components
255
+ end
256
+
257
+ # @see the `==` method
258
+ # @param [Object] Object to be compared
259
+ def eql?(o)
260
+ self == o
261
+ end
262
+
263
+ # Calculates hash code according to all attributes.
264
+ # @return [Integer] Hash code
265
+ def hash
266
+ [account_id, name, category, language, components].hash
267
+ end
268
+
269
+ # Builds the object from hash
270
+ # @param [Hash] attributes Model attributes in the form of hash
271
+ # @return [Object] Returns the model itself
272
+ def self.build_from_hash(attributes)
273
+ return nil unless attributes.is_a?(Hash)
274
+ attributes = attributes.transform_keys(&:to_sym)
275
+ transformed_hash = {}
276
+ openapi_types.each_pair do |key, type|
277
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
278
+ transformed_hash["#{key}"] = nil
279
+ elsif type =~ /\AArray<(.*)>/i
280
+ # check to ensure the input is an array given that the attribute
281
+ # is documented as an array but the input is not
282
+ if attributes[attribute_map[key]].is_a?(Array)
283
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
284
+ end
285
+ elsif !attributes[attribute_map[key]].nil?
286
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
287
+ end
288
+ end
289
+ new(transformed_hash)
290
+ end
291
+
292
+ # Returns the object in the form of hash
293
+ # @return [Hash] Returns the object in the form of hash
294
+ def to_hash
295
+ hash = {}
296
+ self.class.attribute_map.each_pair do |attr, param|
297
+ value = self.send(attr)
298
+ if value.nil?
299
+ is_nullable = self.class.openapi_nullable.include?(attr)
300
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
301
+ end
302
+
303
+ hash[param] = _to_hash(value)
304
+ end
305
+ hash
306
+ end
307
+
308
+ end
309
+
310
+ end
@@ -0,0 +1,192 @@
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 'date'
14
+ require 'time'
15
+
16
+ module Late
17
+ class DeleteWhatsAppGroupRequest < ApiModelBase
18
+ # WhatsApp social account ID
19
+ attr_accessor :account_id
20
+
21
+ # Group name to delete
22
+ attr_accessor :group_name
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'account_id' => :'accountId',
28
+ :'group_name' => :'groupName'
29
+ }
30
+ end
31
+
32
+ # Returns attribute mapping this model knows about
33
+ def self.acceptable_attribute_map
34
+ attribute_map
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ acceptable_attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'account_id' => :'String',
46
+ :'group_name' => :'String'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Late::DeleteWhatsAppGroupRequest` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Late::DeleteWhatsAppGroupRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'account_id')
73
+ self.account_id = attributes[:'account_id']
74
+ else
75
+ self.account_id = nil
76
+ end
77
+
78
+ if attributes.key?(:'group_name')
79
+ self.group_name = attributes[:'group_name']
80
+ else
81
+ self.group_name = nil
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ if @account_id.nil?
91
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
92
+ end
93
+
94
+ if @group_name.nil?
95
+ invalid_properties.push('invalid value for "group_name", group_name cannot be nil.')
96
+ end
97
+
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
+ return false if @account_id.nil?
106
+ return false if @group_name.nil?
107
+ true
108
+ end
109
+
110
+ # Custom attribute writer method with validation
111
+ # @param [Object] account_id Value to be assigned
112
+ def account_id=(account_id)
113
+ if account_id.nil?
114
+ fail ArgumentError, 'account_id cannot be nil'
115
+ end
116
+
117
+ @account_id = account_id
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] group_name Value to be assigned
122
+ def group_name=(group_name)
123
+ if group_name.nil?
124
+ fail ArgumentError, 'group_name cannot be nil'
125
+ end
126
+
127
+ @group_name = group_name
128
+ end
129
+
130
+ # Checks equality by comparing each attribute.
131
+ # @param [Object] Object to be compared
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ account_id == o.account_id &&
136
+ group_name == o.group_name
137
+ end
138
+
139
+ # @see the `==` method
140
+ # @param [Object] Object to be compared
141
+ def eql?(o)
142
+ self == o
143
+ end
144
+
145
+ # Calculates hash code according to all attributes.
146
+ # @return [Integer] Hash code
147
+ def hash
148
+ [account_id, group_name].hash
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def self.build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ attributes = attributes.transform_keys(&:to_sym)
157
+ transformed_hash = {}
158
+ openapi_types.each_pair do |key, type|
159
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
160
+ transformed_hash["#{key}"] = nil
161
+ elsif type =~ /\AArray<(.*)>/i
162
+ # check to ensure the input is an array given that the attribute
163
+ # is documented as an array but the input is not
164
+ if attributes[attribute_map[key]].is_a?(Array)
165
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
166
+ end
167
+ elsif !attributes[attribute_map[key]].nil?
168
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
169
+ end
170
+ end
171
+ new(transformed_hash)
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ if value.nil?
181
+ is_nullable = self.class.openapi_nullable.include?(attr)
182
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
+ end
184
+
185
+ hash[param] = _to_hash(value)
186
+ end
187
+ hash
188
+ end
189
+
190
+ end
191
+
192
+ end