late-sdk 0.0.716 → 0.0.718

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 (475) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +81 -0
  3. data/docs/AccountsApi.md +142 -1
  4. data/docs/AdCampaignsApi.md +22 -10
  5. data/docs/AdCreative.md +2 -0
  6. data/docs/AdDailyMetrics.md +1 -1
  7. data/docs/AdEngagementCounts.md +4 -4
  8. data/docs/AdInsightsApi.md +164 -0
  9. data/docs/AdMetrics.md +1 -1
  10. data/docs/AdTargetingApi.md +3 -3
  11. data/docs/AdTreeCampaign.md +1 -1
  12. data/docs/AddBroadcastRecipientsRequest.md +1 -1
  13. data/docs/AnalyticsListResponsePostsInner.md +1 -1
  14. data/docs/AnalyticsListResponsePostsInnerMediaItemsInner.md +24 -0
  15. data/docs/AnalyticsSinglePostResponseMediaItemsInner.md +7 -3
  16. data/docs/BillingSnapshot.md +2 -0
  17. data/docs/BillingSnapshotPlan.md +3 -1
  18. data/docs/Blog.md +24 -0
  19. data/docs/BlogArticle.md +44 -0
  20. data/docs/BlogArticleImage.md +20 -0
  21. data/docs/BlogsApi.md +747 -0
  22. data/docs/BlueskyPlatformData.md +2 -0
  23. data/docs/BoostPostRequest.md +2 -2
  24. data/docs/CampaignAnalyticsResponseAnalyticsDailyInner.md +1 -1
  25. data/docs/CommentsApi.md +8 -8
  26. data/docs/ConnectApi.md +149 -1
  27. data/docs/ConnectShopifyWithToken200Response.md +18 -0
  28. data/docs/ConnectShopifyWithToken200ResponseAccount.md +26 -0
  29. data/docs/ConnectShopifyWithTokenRequest.md +22 -0
  30. data/docs/CreateBlog201Response.md +20 -0
  31. data/docs/CreateBlogArticle201Response.md +20 -0
  32. data/docs/CreateBlogArticleRequest.md +36 -0
  33. data/docs/CreateBlogArticleRequestImage.md +20 -0
  34. data/docs/CreateBlogArticleRequestSeo.md +20 -0
  35. data/docs/CreateBlogRequest.md +20 -0
  36. data/docs/CreateCallAdRequest.md +1 -1
  37. data/docs/CreateInboxConversationRequest.md +2 -0
  38. data/docs/CreateMessagingAdRequest.md +1 -1
  39. data/docs/CreatePostRequest.md +1 -1
  40. data/docs/CreateStandaloneAdRequest.md +10 -6
  41. data/docs/CreateStandaloneAdRequestPromotedObject.md +2 -2
  42. data/docs/CreateStandaloneAdRequestVideo.md +1 -1
  43. data/docs/CtwaAdRequestBody.md +1 -1
  44. data/docs/ExternalPostMediaItem.md +7 -3
  45. data/docs/ExternalPostSummary.md +0 -2
  46. data/docs/ExternalPostSummaryAnalytics.md +1 -1
  47. data/docs/GetAccountHealth200Response.md +3 -1
  48. data/docs/GetAccountHealth200ResponsePlatformConnection.md +24 -0
  49. data/docs/GetAccountHealth200ResponsePlatformConnectionMetaError.md +22 -0
  50. data/docs/GetAdAnalytics202Response.md +1 -1
  51. data/docs/GetAdTree202Response.md +1 -1
  52. data/docs/GetAdsTimeline202Response.md +1 -1
  53. data/docs/GetBlueskySettings200Response.md +18 -0
  54. data/docs/GetCampaignAnalytics202Response.md +1 -1
  55. data/docs/GetInboxPostComments200ResponseCommentsInner.md +4 -2
  56. data/docs/GetLinkedInPostAnalytics200ResponseAnalytics.md +1 -1
  57. data/docs/GetPhoneNumberKycForm200Response.md +3 -1
  58. data/docs/GetWhatsAppNumberKycForm200Response.md +3 -1
  59. data/docs/LinkedInAggregateAnalyticsTotalResponseAnalytics.md +1 -1
  60. data/docs/LinkedInPlatformData.md +4 -2
  61. data/docs/LinkedInPlatformDataPoll.md +22 -0
  62. data/docs/ListAds202Response.md +1 -1
  63. data/docs/ListBlogArticles200Response.md +22 -0
  64. data/docs/ListBlogs200Response.md +22 -0
  65. data/docs/ListInboxConversations200ResponseDataInnerMetadata.md +3 -3
  66. data/docs/ListLeads200ResponseLeadsInner.md +3 -3
  67. data/docs/ListLocalServicesLeadConversations200Response.md +22 -0
  68. data/docs/ListLocalServicesLeadConversations200ResponseDataInner.md +28 -0
  69. data/docs/ListLocalServicesLeadConversations200ResponseDataInnerMessage.md +20 -0
  70. data/docs/ListLocalServicesLeadConversations200ResponseDataInnerPhoneCall.md +20 -0
  71. data/docs/ListLocalServicesLeads200Response.md +22 -0
  72. data/docs/ListLocalServicesLeads200ResponseDataInner.md +38 -0
  73. data/docs/ListLocalServicesLeads200ResponseDataInnerContact.md +22 -0
  74. data/docs/ListPhoneNumbers200ResponseConnectedInner.md +3 -1
  75. data/docs/ListPhoneNumbers200ResponseNumbersInner.md +2 -0
  76. data/docs/ListWhatsAppAccountEvents200Response.md +18 -0
  77. data/docs/ListWhatsAppAccountEvents200ResponseEventsInner.md +28 -0
  78. data/docs/MessagesApi.md +4 -4
  79. data/docs/OnVerificationApprovedRequest.md +1 -1
  80. data/docs/OnVerificationFailedRequest.md +1 -1
  81. data/docs/OnWhatsAppAutomaticEventRequest.md +1 -1
  82. data/docs/OnWhatsAppNumberActionRequiredRequest.md +1 -1
  83. data/docs/OnWhatsAppNumberActivatedRequest.md +1 -1
  84. data/docs/OnWhatsAppNumberDeclinedRequest.md +1 -1
  85. data/docs/OnWhatsAppNumberKycSubmittedRequest.md +1 -1
  86. data/docs/OnWhatsAppNumberReactivatedRequest.md +1 -1
  87. data/docs/OnWhatsAppNumberReleasedRequest.md +1 -1
  88. data/docs/OnWhatsAppNumberSuspendedRequest.md +1 -1
  89. data/docs/OnWhatsAppNumberVerificationRequiredRequest.md +1 -1
  90. data/docs/PlatformTarget.md +2 -2
  91. data/docs/PostAnalytics.md +3 -3
  92. data/docs/PostsApi.md +1 -1
  93. data/docs/SMSApi.md +1 -1
  94. data/docs/SearchAdTargeting200ResponseResultsInner.md +1 -1
  95. data/docs/SendInboxMessageRequest.md +4 -2
  96. data/docs/SubmitPhoneNumberKycRequest.md +1 -1
  97. data/docs/SubmitPhoneNumberKycRequestAddress.md +2 -0
  98. data/docs/SubmitWhatsAppNumberKycRequest.md +1 -1
  99. data/docs/TwitterPlatformData.md +2 -0
  100. data/docs/UpdateAdCampaignStatus200Response.md +6 -6
  101. data/docs/UpdateAdSet200Response.md +7 -3
  102. data/docs/UpdateAdSetRequest.md +1 -1
  103. data/docs/UpdateAdSetStatus200Response.md +9 -3
  104. data/docs/UpdateBlogArticleRequest.md +36 -0
  105. data/docs/UpdateBlogRequest.md +20 -0
  106. data/docs/UpdateBlueskySettingsRequest.md +18 -0
  107. data/docs/ValidatePhoneNumberKycAddressRequest.md +2 -0
  108. data/docs/WebhookEventsApi.md +138 -0
  109. data/docs/WebhookPayloadAccountAdsInitialSyncCompleted.md +1 -1
  110. data/docs/WebhookPayloadAccountConnected.md +1 -1
  111. data/docs/WebhookPayloadAccountDisconnected.md +1 -1
  112. data/docs/WebhookPayloadAdStatusChanged.md +1 -1
  113. data/docs/WebhookPayloadCallEnded.md +1 -1
  114. data/docs/WebhookPayloadCallEndedCall.md +4 -0
  115. data/docs/WebhookPayloadCallFailed.md +1 -1
  116. data/docs/WebhookPayloadCallPermissionRequest.md +1 -1
  117. data/docs/WebhookPayloadCallReceived.md +1 -1
  118. data/docs/WebhookPayloadComment.md +1 -1
  119. data/docs/WebhookPayloadCommentCommentAuthor.md +2 -0
  120. data/docs/WebhookPayloadConversationStarted.md +1 -1
  121. data/docs/WebhookPayloadExternalPost.md +1 -1
  122. data/docs/WebhookPayloadLead.md +1 -1
  123. data/docs/WebhookPayloadMessage.md +1 -1
  124. data/docs/WebhookPayloadMessageDeleted.md +1 -1
  125. data/docs/WebhookPayloadMessageDeliveryStatus.md +1 -1
  126. data/docs/WebhookPayloadMessageEdited.md +1 -1
  127. data/docs/WebhookPayloadMessageMetadata.md +5 -1
  128. data/docs/WebhookPayloadMessageMetadataReferral.md +5 -3
  129. data/docs/WebhookPayloadMessageMetadataUnsupported.md +22 -0
  130. data/docs/WebhookPayloadMessageSent.md +1 -1
  131. data/docs/WebhookPayloadPost.md +1 -1
  132. data/docs/WebhookPayloadPostPlatform.md +1 -1
  133. data/docs/WebhookPayloadReaction.md +1 -1
  134. data/docs/WebhookPayloadReferral.md +30 -0
  135. data/docs/WebhookPayloadReferralReferral.md +28 -0
  136. data/docs/WebhookPayloadReferralReferralAdsContextData.md +28 -0
  137. data/docs/WebhookPayloadReferralSender.md +20 -0
  138. data/docs/WebhookPayloadReviewNew.md +1 -1
  139. data/docs/WebhookPayloadReviewUpdated.md +1 -1
  140. data/docs/WebhookPayloadTest.md +1 -1
  141. data/docs/WebhookPayloadWhatsAppTemplateCategoryUpdated.md +26 -0
  142. data/docs/WebhookPayloadWhatsAppTemplateCategoryUpdatedTemplate.md +32 -0
  143. data/docs/WebhookPayloadWhatsAppTemplateStatusUpdated.md +1 -1
  144. data/docs/WhatsAppApi.md +74 -0
  145. data/docs/WorkflowNode.md +3 -1
  146. data/docs/XArticle.md +24 -0
  147. data/docs/XArticleBlock.md +28 -0
  148. data/docs/XArticleBlockData.md +24 -0
  149. data/docs/XArticleContentState.md +20 -0
  150. data/docs/XArticleCover.md +20 -0
  151. data/docs/XArticleEntity.md +57 -0
  152. data/docs/XArticleEntityOneOf.md +20 -0
  153. data/docs/XArticleEntityOneOf1.md +20 -0
  154. data/docs/XArticleEntityOneOf1Value.md +22 -0
  155. data/docs/XArticleEntityOneOf1ValueData.md +18 -0
  156. data/docs/XArticleEntityOneOf2.md +20 -0
  157. data/docs/XArticleEntityOneOf2Value.md +22 -0
  158. data/docs/XArticleEntityOneOf2ValueData.md +22 -0
  159. data/docs/XArticleEntityOneOf3.md +20 -0
  160. data/docs/XArticleEntityOneOf3Value.md +22 -0
  161. data/docs/XArticleEntityOneOf3ValueData.md +18 -0
  162. data/docs/XArticleEntityOneOf4.md +20 -0
  163. data/docs/XArticleEntityOneOf4Value.md +22 -0
  164. data/docs/XArticleEntityOneOf4ValueData.md +18 -0
  165. data/docs/XArticleEntityOneOf5.md +20 -0
  166. data/docs/XArticleEntityOneOf5Value.md +22 -0
  167. data/docs/XArticleEntityOneOfValue.md +22 -0
  168. data/docs/XArticleEntityOneOfValueData.md +18 -0
  169. data/docs/XArticleEntityRange.md +22 -0
  170. data/docs/XArticleInlineStyleRange.md +22 -0
  171. data/docs/XArticleTextRange.md +22 -0
  172. data/docs/YouTubeVideoRetentionResponse.md +1 -1
  173. data/docs/YouTubeVideoRetentionResponseRetentionCurveInner.md +2 -2
  174. data/lib/zernio-sdk/api/accounts_api.rb +139 -2
  175. data/lib/zernio-sdk/api/ad_campaigns_api.rb +35 -8
  176. data/lib/zernio-sdk/api/ad_insights_api.rb +165 -0
  177. data/lib/zernio-sdk/api/ad_targeting_api.rb +5 -5
  178. data/lib/zernio-sdk/api/blogs_api.rb +845 -0
  179. data/lib/zernio-sdk/api/comments_api.rb +10 -10
  180. data/lib/zernio-sdk/api/connect_api.rb +149 -0
  181. data/lib/zernio-sdk/api/messages_api.rb +4 -4
  182. data/lib/zernio-sdk/api/posts_api.rb +2 -2
  183. data/lib/zernio-sdk/api/sms_api.rb +2 -2
  184. data/lib/zernio-sdk/api/webhook_events_api.rb +132 -0
  185. data/lib/zernio-sdk/api/whats_app_api.rb +75 -0
  186. data/lib/zernio-sdk/models/account_with_follower_stats.rb +2 -2
  187. data/lib/zernio-sdk/models/ad_creative.rb +12 -1
  188. data/lib/zernio-sdk/models/ad_daily_metrics.rb +1 -1
  189. data/lib/zernio-sdk/models/ad_engagement_counts.rb +5 -5
  190. data/lib/zernio-sdk/models/ad_metrics.rb +1 -1
  191. data/lib/zernio-sdk/models/ad_tree_campaign.rb +1 -1
  192. data/lib/zernio-sdk/models/add_broadcast_recipients_request.rb +1 -1
  193. data/lib/zernio-sdk/models/analytics_list_response_posts_inner.rb +1 -1
  194. data/lib/zernio-sdk/models/analytics_list_response_posts_inner_media_items_inner.rb +211 -0
  195. data/lib/zernio-sdk/models/analytics_single_post_response_media_items_inner.rb +52 -6
  196. data/lib/zernio-sdk/models/billing_snapshot.rb +14 -3
  197. data/lib/zernio-sdk/models/billing_snapshot_plan.rb +14 -4
  198. data/lib/zernio-sdk/models/blog.rb +211 -0
  199. data/lib/zernio-sdk/models/blog_article.rb +315 -0
  200. data/lib/zernio-sdk/models/blog_article_image.rb +158 -0
  201. data/lib/zernio-sdk/models/bluesky_platform_data.rb +42 -2
  202. data/lib/zernio-sdk/models/boost_post_request.rb +30 -1
  203. data/lib/zernio-sdk/models/campaign_analytics_response_analytics_daily_inner.rb +1 -1
  204. data/lib/zernio-sdk/models/connect_shopify_with_token200_response.rb +147 -0
  205. data/lib/zernio-sdk/models/connect_shopify_with_token200_response_account.rb +218 -0
  206. data/lib/zernio-sdk/models/connect_shopify_with_token_request.rb +219 -0
  207. data/lib/zernio-sdk/models/create_blog201_response.rb +190 -0
  208. data/lib/zernio-sdk/models/create_blog_article201_response.rb +190 -0
  209. data/lib/zernio-sdk/models/create_blog_article_request.rb +262 -0
  210. data/lib/zernio-sdk/models/create_blog_article_request_image.rb +174 -0
  211. data/lib/zernio-sdk/models/create_blog_article_request_seo.rb +157 -0
  212. data/lib/zernio-sdk/models/create_blog_request.rb +202 -0
  213. data/lib/zernio-sdk/models/create_call_ad_request.rb +1 -1
  214. data/lib/zernio-sdk/models/create_inbox_conversation_request.rb +13 -1
  215. data/lib/zernio-sdk/models/create_messaging_ad_request.rb +1 -1
  216. data/lib/zernio-sdk/models/create_post_request.rb +1 -1
  217. data/lib/zernio-sdk/models/create_standalone_ad_request.rb +67 -6
  218. data/lib/zernio-sdk/models/create_standalone_ad_request_creatives_inner_video.rb +1 -1
  219. data/lib/zernio-sdk/models/create_standalone_ad_request_promoted_object.rb +3 -3
  220. data/lib/zernio-sdk/models/create_standalone_ad_request_video.rb +1 -1
  221. data/lib/zernio-sdk/models/ctwa_ad_request_body.rb +1 -1
  222. data/lib/zernio-sdk/models/external_post_media_item.rb +48 -16
  223. data/lib/zernio-sdk/models/external_post_summary.rb +1 -11
  224. data/lib/zernio-sdk/models/external_post_summary_analytics.rb +1 -0
  225. data/lib/zernio-sdk/models/facebook_settings.rb +5 -5
  226. data/lib/zernio-sdk/models/get_account_health200_response.rb +13 -4
  227. data/lib/zernio-sdk/models/get_account_health200_response_platform_connection.rb +213 -0
  228. data/lib/zernio-sdk/models/get_account_health200_response_platform_connection_meta_error.rb +168 -0
  229. data/lib/zernio-sdk/models/get_ad_analytics202_response.rb +6 -29
  230. data/lib/zernio-sdk/models/get_ad_tree202_response.rb +6 -29
  231. data/lib/zernio-sdk/models/get_ads_timeline202_response.rb +6 -29
  232. data/lib/zernio-sdk/models/get_bluesky_settings200_response.rb +150 -0
  233. data/lib/zernio-sdk/models/get_campaign_analytics202_response.rb +6 -29
  234. data/lib/zernio-sdk/models/get_inbox_post_comments200_response_comments_inner.rb +13 -2
  235. data/lib/zernio-sdk/models/get_linked_in_post_analytics200_response_analytics.rb +1 -1
  236. data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response.rb +14 -4
  237. data/lib/zernio-sdk/models/get_whats_app_number_kyc_form200_response.rb +14 -4
  238. data/lib/zernio-sdk/models/inbox_webhook_message.rb +2 -2
  239. data/lib/zernio-sdk/models/linked_in_aggregate_analytics_total_response_analytics.rb +1 -1
  240. data/lib/zernio-sdk/models/linked_in_platform_data.rb +15 -6
  241. data/lib/zernio-sdk/models/linked_in_platform_data_poll.rb +277 -0
  242. data/lib/zernio-sdk/models/list_ads202_response.rb +6 -29
  243. data/lib/zernio-sdk/models/list_blog_articles200_response.rb +203 -0
  244. data/lib/zernio-sdk/models/list_blogs200_response.rb +203 -0
  245. data/lib/zernio-sdk/models/list_broadcast_recipients200_response_recipients_inner.rb +1 -0
  246. data/lib/zernio-sdk/models/list_inbox_conversations200_response_data_inner_metadata.rb +4 -4
  247. data/lib/zernio-sdk/models/list_leads200_response_leads_inner.rb +3 -2
  248. data/lib/zernio-sdk/models/list_local_services_lead_conversations200_response.rb +167 -0
  249. data/lib/zernio-sdk/models/list_local_services_lead_conversations200_response_data_inner.rb +198 -0
  250. data/lib/zernio-sdk/models/list_local_services_lead_conversations200_response_data_inner_message.rb +160 -0
  251. data/lib/zernio-sdk/models/list_local_services_lead_conversations200_response_data_inner_phone_call.rb +159 -0
  252. data/lib/zernio-sdk/models/list_local_services_leads200_response.rb +167 -0
  253. data/lib/zernio-sdk/models/list_local_services_leads200_response_data_inner.rb +249 -0
  254. data/lib/zernio-sdk/models/list_local_services_leads200_response_data_inner_contact.rb +169 -0
  255. data/lib/zernio-sdk/models/list_phone_numbers200_response_connected_inner.rb +15 -5
  256. data/lib/zernio-sdk/models/list_phone_numbers200_response_numbers_inner.rb +11 -1
  257. data/lib/zernio-sdk/models/list_sequence_enrollments200_response_enrollments_inner.rb +3 -0
  258. data/lib/zernio-sdk/models/list_whats_app_account_events200_response.rb +149 -0
  259. data/lib/zernio-sdk/models/list_whats_app_account_events200_response_events_inner.rb +228 -0
  260. data/lib/zernio-sdk/models/on_verification_approved_request.rb +1 -0
  261. data/lib/zernio-sdk/models/on_verification_failed_request.rb +1 -0
  262. data/lib/zernio-sdk/models/on_whats_app_automatic_event_request.rb +1 -0
  263. data/lib/zernio-sdk/models/on_whats_app_number_action_required_request.rb +1 -0
  264. data/lib/zernio-sdk/models/on_whats_app_number_activated_request.rb +1 -0
  265. data/lib/zernio-sdk/models/on_whats_app_number_declined_request.rb +1 -0
  266. data/lib/zernio-sdk/models/on_whats_app_number_kyc_submitted_request.rb +1 -0
  267. data/lib/zernio-sdk/models/on_whats_app_number_reactivated_request.rb +1 -0
  268. data/lib/zernio-sdk/models/on_whats_app_number_released_request.rb +1 -0
  269. data/lib/zernio-sdk/models/on_whats_app_number_suspended_request.rb +1 -0
  270. data/lib/zernio-sdk/models/on_whats_app_number_verification_required_request.rb +1 -0
  271. data/lib/zernio-sdk/models/platform_target.rb +5 -4
  272. data/lib/zernio-sdk/models/post_analytics.rb +2 -1
  273. data/lib/zernio-sdk/models/search_ad_targeting200_response_results_inner.rb +1 -1
  274. data/lib/zernio-sdk/models/send_inbox_message_request.rb +15 -3
  275. data/lib/zernio-sdk/models/social_account.rb +2 -2
  276. data/lib/zernio-sdk/models/submit_phone_number_kyc_request.rb +1 -1
  277. data/lib/zernio-sdk/models/submit_phone_number_kyc_request_address.rb +11 -1
  278. data/lib/zernio-sdk/models/submit_whats_app_number_kyc_request.rb +1 -1
  279. data/lib/zernio-sdk/models/twitter_platform_data.rb +11 -2
  280. data/lib/zernio-sdk/models/update_ad_campaign_status200_response.rb +50 -15
  281. data/lib/zernio-sdk/models/update_ad_set200_response.rb +26 -1
  282. data/lib/zernio-sdk/models/update_ad_set_request.rb +1 -1
  283. data/lib/zernio-sdk/models/update_ad_set_status200_response.rb +72 -4
  284. data/lib/zernio-sdk/models/update_blog_article_request.rb +257 -0
  285. data/lib/zernio-sdk/models/update_blog_request.rb +196 -0
  286. data/lib/zernio-sdk/models/update_bluesky_settings_request.rb +176 -0
  287. data/lib/zernio-sdk/models/validate_phone_number_kyc_address_request.rb +11 -1
  288. data/lib/zernio-sdk/models/webhook_payload_account_ads_initial_sync_completed.rb +1 -0
  289. data/lib/zernio-sdk/models/webhook_payload_account_connected.rb +1 -0
  290. data/lib/zernio-sdk/models/webhook_payload_account_disconnected.rb +1 -0
  291. data/lib/zernio-sdk/models/webhook_payload_ad_status_changed.rb +1 -1
  292. data/lib/zernio-sdk/models/webhook_payload_call_ended.rb +1 -0
  293. data/lib/zernio-sdk/models/webhook_payload_call_ended_call.rb +23 -1
  294. data/lib/zernio-sdk/models/webhook_payload_call_failed.rb +1 -0
  295. data/lib/zernio-sdk/models/webhook_payload_call_permission_request.rb +1 -0
  296. data/lib/zernio-sdk/models/webhook_payload_call_received.rb +1 -0
  297. data/lib/zernio-sdk/models/webhook_payload_comment.rb +1 -0
  298. data/lib/zernio-sdk/models/webhook_payload_comment_comment_author.rb +11 -1
  299. data/lib/zernio-sdk/models/webhook_payload_conversation_started.rb +1 -0
  300. data/lib/zernio-sdk/models/webhook_payload_external_post.rb +1 -0
  301. data/lib/zernio-sdk/models/webhook_payload_lead.rb +1 -0
  302. data/lib/zernio-sdk/models/webhook_payload_message.rb +1 -0
  303. data/lib/zernio-sdk/models/webhook_payload_message_deleted.rb +1 -0
  304. data/lib/zernio-sdk/models/webhook_payload_message_delivery_status.rb +2 -1
  305. data/lib/zernio-sdk/models/webhook_payload_message_edited.rb +1 -0
  306. data/lib/zernio-sdk/models/webhook_payload_message_message.rb +2 -2
  307. data/lib/zernio-sdk/models/webhook_payload_message_metadata.rb +23 -4
  308. data/lib/zernio-sdk/models/webhook_payload_message_metadata_referral.rb +15 -5
  309. data/lib/zernio-sdk/models/webhook_payload_message_metadata_unsupported.rb +169 -0
  310. data/lib/zernio-sdk/models/webhook_payload_message_sent.rb +1 -0
  311. data/lib/zernio-sdk/models/webhook_payload_post.rb +1 -0
  312. data/lib/zernio-sdk/models/webhook_payload_post_platform.rb +1 -0
  313. data/lib/zernio-sdk/models/webhook_payload_reaction.rb +1 -0
  314. data/lib/zernio-sdk/models/webhook_payload_reaction_reaction_sender.rb +1 -1
  315. data/lib/zernio-sdk/models/webhook_payload_referral.rb +347 -0
  316. data/lib/zernio-sdk/models/webhook_payload_referral_referral.rb +198 -0
  317. data/lib/zernio-sdk/models/webhook_payload_referral_referral_ads_context_data.rb +193 -0
  318. data/lib/zernio-sdk/models/webhook_payload_referral_sender.rb +176 -0
  319. data/lib/zernio-sdk/models/webhook_payload_review_new.rb +1 -0
  320. data/lib/zernio-sdk/models/webhook_payload_review_updated.rb +1 -0
  321. data/lib/zernio-sdk/models/webhook_payload_test.rb +1 -0
  322. data/lib/zernio-sdk/models/webhook_payload_whats_app_template_category_updated.rb +295 -0
  323. data/lib/zernio-sdk/models/webhook_payload_whats_app_template_category_updated_template.rb +353 -0
  324. data/lib/zernio-sdk/models/webhook_payload_whats_app_template_status_updated.rb +1 -1
  325. data/lib/zernio-sdk/models/workflow_node.rb +42 -4
  326. data/lib/zernio-sdk/models/x_article.rb +255 -0
  327. data/lib/zernio-sdk/models/x_article_block.rb +273 -0
  328. data/lib/zernio-sdk/models/x_article_block_data.rb +182 -0
  329. data/lib/zernio-sdk/models/x_article_content_state.rb +204 -0
  330. data/lib/zernio-sdk/models/x_article_cover.rb +204 -0
  331. data/lib/zernio-sdk/models/x_article_entity.rb +109 -0
  332. data/lib/zernio-sdk/models/x_article_entity_one_of.rb +199 -0
  333. data/lib/zernio-sdk/models/x_article_entity_one_of1.rb +199 -0
  334. data/lib/zernio-sdk/models/x_article_entity_one_of1_value.rb +242 -0
  335. data/lib/zernio-sdk/models/x_article_entity_one_of1_value_data.rb +164 -0
  336. data/lib/zernio-sdk/models/x_article_entity_one_of2.rb +199 -0
  337. data/lib/zernio-sdk/models/x_article_entity_one_of2_value.rb +242 -0
  338. data/lib/zernio-sdk/models/x_article_entity_one_of2_value_data.rb +214 -0
  339. data/lib/zernio-sdk/models/x_article_entity_one_of3.rb +199 -0
  340. data/lib/zernio-sdk/models/x_article_entity_one_of3_value.rb +242 -0
  341. data/lib/zernio-sdk/models/x_article_entity_one_of3_value_data.rb +173 -0
  342. data/lib/zernio-sdk/models/x_article_entity_one_of4.rb +199 -0
  343. data/lib/zernio-sdk/models/x_article_entity_one_of4_value.rb +242 -0
  344. data/lib/zernio-sdk/models/x_article_entity_one_of4_value_data.rb +164 -0
  345. data/lib/zernio-sdk/models/x_article_entity_one_of5.rb +199 -0
  346. data/lib/zernio-sdk/models/x_article_entity_one_of5_value.rb +242 -0
  347. data/lib/zernio-sdk/models/x_article_entity_one_of_value.rb +242 -0
  348. data/lib/zernio-sdk/models/x_article_entity_one_of_value_data.rb +173 -0
  349. data/lib/zernio-sdk/models/x_article_entity_range.rb +245 -0
  350. data/lib/zernio-sdk/models/x_article_inline_style_range.rb +259 -0
  351. data/lib/zernio-sdk/models/x_article_text_range.rb +237 -0
  352. data/lib/zernio-sdk/models/you_tube_video_retention_response.rb +1 -1
  353. data/lib/zernio-sdk/models/you_tube_video_retention_response_retention_curve_inner.rb +2 -2
  354. data/lib/zernio-sdk/version.rb +1 -1
  355. data/lib/zernio-sdk.rb +65 -0
  356. data/openapi.yaml +1956 -165
  357. data/spec/api/accounts_api_spec.rb +26 -1
  358. data/spec/api/ad_campaigns_api_spec.rb +9 -4
  359. data/spec/api/ad_insights_api_spec.rb +34 -0
  360. data/spec/api/ad_targeting_api_spec.rb +2 -2
  361. data/spec/api/blogs_api_spec.rb +174 -0
  362. data/spec/api/comments_api_spec.rb +5 -5
  363. data/spec/api/connect_api_spec.rb +27 -0
  364. data/spec/api/messages_api_spec.rb +2 -2
  365. data/spec/api/posts_api_spec.rb +1 -1
  366. data/spec/api/sms_api_spec.rb +1 -1
  367. data/spec/api/whats_app_api_spec.rb +13 -0
  368. data/spec/models/account_with_follower_stats_spec.rb +1 -1
  369. data/spec/models/ad_creative_spec.rb +6 -0
  370. data/spec/models/analytics_list_response_posts_inner_media_items_inner_spec.rb +58 -0
  371. data/spec/models/analytics_single_post_response_media_items_inner_spec.rb +20 -0
  372. data/spec/models/billing_snapshot_plan_spec.rb +6 -0
  373. data/spec/models/billing_snapshot_spec.rb +7 -1
  374. data/spec/models/blog_article_image_spec.rb +42 -0
  375. data/spec/models/blog_article_spec.rb +118 -0
  376. data/spec/models/blog_spec.rb +58 -0
  377. data/spec/models/bluesky_platform_data_spec.rb +6 -0
  378. data/spec/models/connect_shopify_with_token200_response_account_spec.rb +64 -0
  379. data/spec/models/connect_shopify_with_token200_response_spec.rb +36 -0
  380. data/spec/models/connect_shopify_with_token_request_spec.rb +48 -0
  381. data/spec/models/create_blog201_response_spec.rb +46 -0
  382. data/spec/models/create_blog_article201_response_spec.rb +46 -0
  383. data/spec/models/create_blog_article_request_image_spec.rb +42 -0
  384. data/spec/models/create_blog_article_request_seo_spec.rb +42 -0
  385. data/spec/models/create_blog_article_request_spec.rb +90 -0
  386. data/spec/models/create_blog_request_spec.rb +42 -0
  387. data/spec/models/create_inbox_conversation_request_spec.rb +6 -0
  388. data/spec/models/create_standalone_ad_request_spec.rb +16 -0
  389. data/spec/models/create_webhook_settings_request_spec.rb +1 -1
  390. data/spec/models/external_post_media_item_spec.rb +20 -0
  391. data/spec/models/external_post_summary_spec.rb +0 -6
  392. data/spec/models/get_account_health200_response_platform_connection_meta_error_spec.rb +48 -0
  393. data/spec/models/get_account_health200_response_platform_connection_spec.rb +58 -0
  394. data/spec/models/get_account_health200_response_spec.rb +6 -0
  395. data/spec/models/get_ad_analytics202_response_spec.rb +0 -4
  396. data/spec/models/get_ad_tree202_response_spec.rb +0 -4
  397. data/spec/models/get_ads_timeline202_response_spec.rb +0 -4
  398. data/spec/models/get_bluesky_settings200_response_spec.rb +36 -0
  399. data/spec/models/get_campaign_analytics202_response_spec.rb +0 -4
  400. data/spec/models/get_inbox_post_comments200_response_comments_inner_spec.rb +6 -0
  401. data/spec/models/get_phone_number_kyc_form200_response_spec.rb +6 -0
  402. data/spec/models/get_whats_app_number_kyc_form200_response_spec.rb +6 -0
  403. data/spec/models/inbox_webhook_message_spec.rb +1 -1
  404. data/spec/models/linked_in_platform_data_poll_spec.rb +52 -0
  405. data/spec/models/linked_in_platform_data_spec.rb +6 -0
  406. data/spec/models/list_ads202_response_spec.rb +0 -4
  407. data/spec/models/list_blog_articles200_response_spec.rb +52 -0
  408. data/spec/models/list_blogs200_response_spec.rb +52 -0
  409. data/spec/models/list_local_services_lead_conversations200_response_data_inner_message_spec.rb +42 -0
  410. data/spec/models/list_local_services_lead_conversations200_response_data_inner_phone_call_spec.rb +42 -0
  411. data/spec/models/list_local_services_lead_conversations200_response_data_inner_spec.rb +66 -0
  412. data/spec/models/list_local_services_lead_conversations200_response_spec.rb +48 -0
  413. data/spec/models/list_local_services_leads200_response_data_inner_contact_spec.rb +48 -0
  414. data/spec/models/list_local_services_leads200_response_data_inner_spec.rb +96 -0
  415. data/spec/models/list_local_services_leads200_response_spec.rb +48 -0
  416. data/spec/models/list_phone_numbers200_response_connected_inner_spec.rb +6 -0
  417. data/spec/models/list_phone_numbers200_response_numbers_inner_spec.rb +6 -0
  418. data/spec/models/list_whats_app_account_events200_response_events_inner_spec.rb +70 -0
  419. data/spec/models/list_whats_app_account_events200_response_spec.rb +36 -0
  420. data/spec/models/platform_target_spec.rb +1 -1
  421. data/spec/models/send_inbox_message_request_spec.rb +6 -0
  422. data/spec/models/social_account_spec.rb +1 -1
  423. data/spec/models/submit_phone_number_kyc_request_address_spec.rb +6 -0
  424. data/spec/models/twitter_platform_data_spec.rb +6 -0
  425. data/spec/models/update_ad_campaign_status200_response_spec.rb +8 -4
  426. data/spec/models/update_ad_set200_response_spec.rb +12 -0
  427. data/spec/models/update_ad_set_status200_response_spec.rb +22 -0
  428. data/spec/models/update_blog_article_request_spec.rb +90 -0
  429. data/spec/models/update_blog_request_spec.rb +42 -0
  430. data/spec/models/update_bluesky_settings_request_spec.rb +36 -0
  431. data/spec/models/update_webhook_settings_request_spec.rb +1 -1
  432. data/spec/models/validate_phone_number_kyc_address_request_spec.rb +6 -0
  433. data/spec/models/webhook_payload_call_ended_call_spec.rb +12 -0
  434. data/spec/models/webhook_payload_comment_comment_author_spec.rb +6 -0
  435. data/spec/models/webhook_payload_message_message_spec.rb +1 -1
  436. data/spec/models/webhook_payload_message_metadata_referral_spec.rb +6 -0
  437. data/spec/models/webhook_payload_message_metadata_spec.rb +12 -0
  438. data/spec/models/webhook_payload_message_metadata_unsupported_spec.rb +48 -0
  439. data/spec/models/webhook_payload_referral_referral_ads_context_data_spec.rb +66 -0
  440. data/spec/models/webhook_payload_referral_referral_spec.rb +66 -0
  441. data/spec/models/webhook_payload_referral_sender_spec.rb +42 -0
  442. data/spec/models/webhook_payload_referral_spec.rb +76 -0
  443. data/spec/models/webhook_payload_whats_app_template_category_updated_spec.rb +64 -0
  444. data/spec/models/webhook_payload_whats_app_template_category_updated_template_spec.rb +94 -0
  445. data/spec/models/webhook_spec.rb +1 -1
  446. data/spec/models/workflow_node_spec.rb +6 -0
  447. data/spec/models/x_article_block_data_spec.rb +54 -0
  448. data/spec/models/x_article_block_spec.rb +70 -0
  449. data/spec/models/x_article_content_state_spec.rb +42 -0
  450. data/spec/models/x_article_cover_spec.rb +42 -0
  451. data/spec/models/x_article_entity_one_of1_spec.rb +42 -0
  452. data/spec/models/x_article_entity_one_of1_value_data_spec.rb +36 -0
  453. data/spec/models/x_article_entity_one_of1_value_spec.rb +56 -0
  454. data/spec/models/x_article_entity_one_of2_spec.rb +42 -0
  455. data/spec/models/x_article_entity_one_of2_value_data_spec.rb +48 -0
  456. data/spec/models/x_article_entity_one_of2_value_spec.rb +56 -0
  457. data/spec/models/x_article_entity_one_of3_spec.rb +42 -0
  458. data/spec/models/x_article_entity_one_of3_value_data_spec.rb +36 -0
  459. data/spec/models/x_article_entity_one_of3_value_spec.rb +56 -0
  460. data/spec/models/x_article_entity_one_of4_spec.rb +42 -0
  461. data/spec/models/x_article_entity_one_of4_value_data_spec.rb +36 -0
  462. data/spec/models/x_article_entity_one_of4_value_spec.rb +56 -0
  463. data/spec/models/x_article_entity_one_of5_spec.rb +42 -0
  464. data/spec/models/x_article_entity_one_of5_value_spec.rb +56 -0
  465. data/spec/models/x_article_entity_one_of_spec.rb +42 -0
  466. data/spec/models/x_article_entity_one_of_value_data_spec.rb +36 -0
  467. data/spec/models/x_article_entity_one_of_value_spec.rb +56 -0
  468. data/spec/models/x_article_entity_range_spec.rb +48 -0
  469. data/spec/models/x_article_entity_spec.rb +32 -0
  470. data/spec/models/x_article_inline_style_range_spec.rb +52 -0
  471. data/spec/models/x_article_spec.rb +58 -0
  472. data/spec/models/x_article_text_range_spec.rb +48 -0
  473. data/zernio-sdk-0.0.718.gem +0 -0
  474. metadata +1867 -1607
  475. data/zernio-sdk-0.0.716.gem +0 -0
@@ -0,0 +1,28 @@
1
+ # Zernio::WebhookPayloadReferralReferral
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ref** | **String** | The `ref` parameter of the clicked ig.me / m.me link or ad. | [optional] |
8
+ | **source** | **String** | Meta-supplied source (`SHORTLINK`, `SHORTLINKS`, `IGME-SOURCE-LINK`, `ADS` - treat as opaque). | [optional] |
9
+ | **type** | **String** | Meta-supplied referral type (e.g. `OPEN_THREAD`). | [optional] |
10
+ | **referer_uri** | **String** | URI of the originating site, when Meta supplies one. Facebook Messenger only. | [optional] |
11
+ | **ad_id** | **String** | The Meta ad ID, on returning ad clicks. Facebook Messenger only. | [optional] |
12
+ | **ads_context_data** | [**WebhookPayloadReferralReferralAdsContextData**](WebhookPayloadReferralReferralAdsContextData.md) | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'zernio-sdk'
18
+
19
+ instance = Zernio::WebhookPayloadReferralReferral.new(
20
+ ref: null,
21
+ source: null,
22
+ type: null,
23
+ referer_uri: null,
24
+ ad_id: null,
25
+ ads_context_data: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,28 @@
1
+ # Zernio::WebhookPayloadReferralReferralAdsContextData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ad_title** | **String** | | [optional] |
8
+ | **photo_url** | **String** | | [optional] |
9
+ | **video_url** | **String** | | [optional] |
10
+ | **post_id** | **String** | | [optional] |
11
+ | **product_id** | **String** | | [optional] |
12
+ | **flow_id** | **String** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'zernio-sdk'
18
+
19
+ instance = Zernio::WebhookPayloadReferralReferralAdsContextData.new(
20
+ ad_title: null,
21
+ photo_url: null,
22
+ video_url: null,
23
+ post_id: null,
24
+ product_id: null,
25
+ flow_id: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,20 @@
1
+ # Zernio::WebhookPayloadReferralSender
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | Platform-scoped user ID (IGSID / PSID). | |
8
+ | **contact_id** | **String** | Zernio CRM Contact id for this sender, when one exists. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::WebhookPayloadReferralSender.new(
16
+ id: null,
17
+ contact_id: null
18
+ )
19
+ ```
20
+
@@ -8,7 +8,7 @@
8
8
  | **event** | **String** | | |
9
9
  | **review** | [**ReviewWebhookReview**](ReviewWebhookReview.md) | | |
10
10
  | **account** | [**WebhookPayloadReviewNewAccount**](WebhookPayloadReviewNewAccount.md) | | |
11
- | **timestamp** | **Time** | | |
11
+ | **timestamp** | **Time** | UTC time at which Zernio generated this event (set once when the event payload is built, before delivery is queued). Retries and redeliveries keep the original value, so it reflects the event, not the delivery attempt. | |
12
12
 
13
13
  ## Example
14
14
 
@@ -8,7 +8,7 @@
8
8
  | **event** | **String** | | |
9
9
  | **review** | [**ReviewWebhookReview**](ReviewWebhookReview.md) | | |
10
10
  | **account** | [**WebhookPayloadReviewNewAccount**](WebhookPayloadReviewNewAccount.md) | | |
11
- | **timestamp** | **Time** | | |
11
+ | **timestamp** | **Time** | UTC time at which Zernio generated this event (set once when the event payload is built, before delivery is queued). Retries and redeliveries keep the original value, so it reflects the event, not the delivery attempt. | |
12
12
 
13
13
  ## Example
14
14
 
@@ -7,7 +7,7 @@
7
7
  | **id** | **String** | Stable webhook event ID | |
8
8
  | **event** | **String** | | |
9
9
  | **message** | **String** | Human-readable test message | |
10
- | **timestamp** | **Time** | | |
10
+ | **timestamp** | **Time** | UTC time at which Zernio generated this test event (set once when the payload is built). Test fires are sent synchronously as a single attempt; a later redelivery of this event keeps the original value. | |
11
11
 
12
12
  ## Example
13
13
 
@@ -0,0 +1,26 @@
1
+ # Zernio::WebhookPayloadWhatsAppTemplateCategoryUpdated
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | Stable webhook event ID | |
8
+ | **event** | **String** | | |
9
+ | **account** | [**WebhookPayloadWhatsAppTemplateStatusUpdatedAccount**](WebhookPayloadWhatsAppTemplateStatusUpdatedAccount.md) | | |
10
+ | **template** | [**WebhookPayloadWhatsAppTemplateCategoryUpdatedTemplate**](WebhookPayloadWhatsAppTemplateCategoryUpdatedTemplate.md) | | |
11
+ | **timestamp** | **Time** | UTC time at which Zernio generated this event (set once when the event payload is built, before delivery is queued). Retries and redeliveries keep the original value, so it reflects the event, not the delivery attempt. | |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'zernio-sdk'
17
+
18
+ instance = Zernio::WebhookPayloadWhatsAppTemplateCategoryUpdated.new(
19
+ id: null,
20
+ event: null,
21
+ account: null,
22
+ template: null,
23
+ timestamp: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,32 @@
1
+ # Zernio::WebhookPayloadWhatsAppTemplateCategoryUpdatedTemplate
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **template_id** | **String** | Meta's `message_template_id`, returned as a string. | |
8
+ | **name** | **String** | Meta's `message_template_name`. | |
9
+ | **language** | **String** | Meta's `message_template_language` (e.g. `en_US`). | |
10
+ | **change_type** | **String** | `scheduled` is Meta's 24h advance notice of an upcoming reclassification; `applied` is the change taking effect. | |
11
+ | **category** | **String** | The category right now, regardless of changeType. | |
12
+ | **previous_category** | **String** | Present only when changeType is `applied`. The category before this change. | [optional] |
13
+ | **scheduled_category** | **String** | Present only when changeType is `scheduled`. The category that will take effect at `effectiveAt`. | [optional] |
14
+ | **effective_at** | **Time** | Present only when changeType is `scheduled`. ISO-8601 timestamp when the scheduled category takes effect. | [optional] |
15
+
16
+ ## Example
17
+
18
+ ```ruby
19
+ require 'zernio-sdk'
20
+
21
+ instance = Zernio::WebhookPayloadWhatsAppTemplateCategoryUpdatedTemplate.new(
22
+ template_id: null,
23
+ name: null,
24
+ language: null,
25
+ change_type: null,
26
+ category: null,
27
+ previous_category: null,
28
+ scheduled_category: null,
29
+ effective_at: null
30
+ )
31
+ ```
32
+
@@ -8,7 +8,7 @@
8
8
  | **event** | **String** | | |
9
9
  | **account** | [**WebhookPayloadWhatsAppTemplateStatusUpdatedAccount**](WebhookPayloadWhatsAppTemplateStatusUpdatedAccount.md) | | |
10
10
  | **template** | [**WebhookPayloadWhatsAppTemplateStatusUpdatedTemplate**](WebhookPayloadWhatsAppTemplateStatusUpdatedTemplate.md) | | |
11
- | **timestamp** | **Time** | ISO-8601 timestamp the webhook was produced. | |
11
+ | **timestamp** | **Time** | UTC time at which Zernio generated this event (set once when the event payload is built, before delivery is queued). Retries and redeliveries keep the original value, so it reflects the event, not the delivery attempt. | |
12
12
 
13
13
  ## Example
14
14
 
data/docs/WhatsAppApi.md CHANGED
@@ -25,6 +25,7 @@ All URIs are relative to *https://zernio.com/api*
25
25
  | [**get_whats_app_templates**](WhatsAppApi.md#get_whats_app_templates) | **GET** /v1/whatsapp/templates | List templates |
26
26
  | [**get_whatsapp_business_username**](WhatsAppApi.md#get_whatsapp_business_username) | **GET** /v1/whatsapp/business-profile/username | Get business username |
27
27
  | [**get_whatsapp_business_username_suggestions**](WhatsAppApi.md#get_whatsapp_business_username_suggestions) | **GET** /v1/whatsapp/business-profile/username/suggestions | Get username suggestions |
28
+ | [**list_whats_app_account_events**](WhatsAppApi.md#list_whats_app_account_events) | **GET** /v1/whatsapp/account-events | List account notifications |
28
29
  | [**list_whats_app_conversions**](WhatsAppApi.md#list_whats_app_conversions) | **GET** /v1/whatsapp/conversions | List conversion events |
29
30
  | [**list_whats_app_group_chats**](WhatsAppApi.md#list_whats_app_group_chats) | **GET** /v1/whatsapp/wa-groups | List active groups |
30
31
  | [**list_whats_app_group_join_requests**](WhatsAppApi.md#list_whats_app_group_join_requests) | **GET** /v1/whatsapp/wa-groups/{groupId}/join-requests | List join requests |
@@ -1518,6 +1519,79 @@ end
1518
1519
  - **Accept**: application/json
1519
1520
 
1520
1521
 
1522
+ ## list_whats_app_account_events
1523
+
1524
+ > <ListWhatsAppAccountEvents200Response> list_whats_app_account_events(account_id, opts)
1525
+
1526
+ List account notifications
1527
+
1528
+ Returns Meta-originated events recorded for a WhatsApp account, newest first: template review outcomes (approved, rejected, paused, category changes) and WABA status changes (restricted, disabled, reinstated, disconnected). Events are captured from Meta webhooks as they happen; the feed starts at the account's first recorded event and is not backfilled. Complements the push events `whatsapp.template.status_updated` and `account.disconnected` with a pollable history.
1529
+
1530
+ ### Examples
1531
+
1532
+ ```ruby
1533
+ require 'time'
1534
+ require 'zernio-sdk'
1535
+ # setup authorization
1536
+ Zernio.configure do |config|
1537
+ # Configure Bearer authorization (JWT): bearerAuth
1538
+ config.access_token = 'YOUR_BEARER_TOKEN'
1539
+ end
1540
+
1541
+ api_instance = Zernio::WhatsAppApi.new
1542
+ account_id = 'account_id_example' # String | WhatsApp social account ID
1543
+ opts = {
1544
+ limit: 56 # Integer | Maximum events to return
1545
+ }
1546
+
1547
+ begin
1548
+ # List account notifications
1549
+ result = api_instance.list_whats_app_account_events(account_id, opts)
1550
+ p result
1551
+ rescue Zernio::ApiError => e
1552
+ puts "Error when calling WhatsAppApi->list_whats_app_account_events: #{e}"
1553
+ end
1554
+ ```
1555
+
1556
+ #### Using the list_whats_app_account_events_with_http_info variant
1557
+
1558
+ This returns an Array which contains the response data, status code and headers.
1559
+
1560
+ > <Array(<ListWhatsAppAccountEvents200Response>, Integer, Hash)> list_whats_app_account_events_with_http_info(account_id, opts)
1561
+
1562
+ ```ruby
1563
+ begin
1564
+ # List account notifications
1565
+ data, status_code, headers = api_instance.list_whats_app_account_events_with_http_info(account_id, opts)
1566
+ p status_code # => 2xx
1567
+ p headers # => { ... }
1568
+ p data # => <ListWhatsAppAccountEvents200Response>
1569
+ rescue Zernio::ApiError => e
1570
+ puts "Error when calling WhatsAppApi->list_whats_app_account_events_with_http_info: #{e}"
1571
+ end
1572
+ ```
1573
+
1574
+ ### Parameters
1575
+
1576
+ | Name | Type | Description | Notes |
1577
+ | ---- | ---- | ----------- | ----- |
1578
+ | **account_id** | **String** | WhatsApp social account ID | |
1579
+ | **limit** | **Integer** | Maximum events to return | [optional][default to 50] |
1580
+
1581
+ ### Return type
1582
+
1583
+ [**ListWhatsAppAccountEvents200Response**](ListWhatsAppAccountEvents200Response.md)
1584
+
1585
+ ### Authorization
1586
+
1587
+ [bearerAuth](../README.md#bearerAuth)
1588
+
1589
+ ### HTTP request headers
1590
+
1591
+ - **Content-Type**: Not defined
1592
+ - **Accept**: application/json
1593
+
1594
+
1521
1595
  ## list_whats_app_conversions
1522
1596
 
1523
1597
  > <ListWhatsAppConversions200Response> list_whats_app_conversions(account_id, opts)
data/docs/WorkflowNode.md CHANGED
@@ -8,6 +8,7 @@
8
8
  | **type** | **String** | Node kind. The 16 supported types break into four groups: messaging (send_message), control flow (trigger, condition, delay, wait_for_reply, a_b_split, end), data ops (set_variable, set_field, add_tag, remove_tag, enroll_sequence), integrations (webhook, ai, handoff, start_call). | |
9
9
  | **config** | **Hash&lt;String, Object&gt;** | Type-specific settings. All string fields support &#x60;{{variable}}&#x60; interpolation against the run&#39;s variable bag (resolved at execution time). **trigger**: &#x60;{ triggerType: inbound_message|api_call|whatsapp_event, keywords:[string], matchType: any|contains|exact|regex, onlyFirstMessage:boolean, eventType: message_sent|message_delivered|message_read|message_failed|reaction }&#x60;. Default &#x60;triggerType&#x60; is &#x60;inbound_message&#x60; for legacy nodes. &#x60;eventType&#x60; is only honored when &#x60;triggerType&#x60; is &#x60;whatsapp_event&#x60; (WhatsApp-only). **send_message**: &#x60;{ messageType: text|template|media|interactive, text, template:{name,language,variableMapping}, media:{mediaType:image|video|audio|document, url,caption}, interactive }&#x60;. &#x60;template&#x60; and &#x60;interactive&#x60; are WhatsApp-only. &#x60;interactive.type&#x60; is inferred from the payload shape when omitted; payloads with neither &#x60;type&#x60; nor an inferable shape are rejected. **wait_for_reply**: &#x60;{ timeoutMinutes:int (max 43200), saveAs:string }&#x60;. Resume via the &#x60;&#39;reply&#39;&#x60; edge on inbound, or &#x60;&#39;timeout&#39;&#x60; edge after &#x60;timeoutMinutes&#x60; of silence. **condition**: &#x60;{ rules:[{ id, variable, operator: equals|not_equals|contains|not_contains|starts_with|ends_with|exists|not_exists|matches, value }] }&#x60;. First matching rule takes its &#x60;id&#x60; as the sourceHandle; otherwise &#x60;&#39;default&#39;&#x60;. **set_variable**: &#x60;{ assignments:[{ name, value }] }&#x60;. Run-scoped (lives only for this execution; use &#x60;set_field&#x60; for persistent values). **delay**: &#x60;{ delayMinutes:int (max 43200) }&#x60;. Suspends the run, resumes via timer. **webhook**: &#x60;{ url, method: GET|POST|PUT|PATCH|DELETE, headers, bodyTemplate, saveAs }&#x60;. SSRF-guarded (private/loopback/metadata IPs rejected). Response saved as &#x60;{ status, ok, body }&#x60; to &#x60;vars[saveAs]&#x60;. Edge: &#x60;&#39;success&#39;&#x60; on 2xx, &#x60;&#39;error&#39;&#x60; otherwise. **ai**: &#x60;{ provider: anthropic|openai|google|mistral|groq|openrouter, model, preset: smart|tools|cheap, systemPrompt, userPromptTemplate, saveAs, temperature, maxTokens, outputType: text|json, tools:[{ name, description, parameters }] }&#x60;. Set &#x60;provider&#x60; + &#x60;model&#x60; for BYOK (uses your stored API key); omit &#x60;provider&#x60; for the legacy Telnyx path. Edges: &#x60;&#39;success&#39;&#x60;, &#x60;&#39;tool:&lt;name&gt;&#39;&#x60; (model picked a tool), &#x60;&#39;error&#39;&#x60;. **handoff**: &#x60;{ note, assignTo }&#x60;. Terminates the run as &#x60;exited&#x60;, flags the conversation for a human operator. **start_call**: &#x60;{ to, forwardTo, requirePermissionFirst, recordingEnabled, saveAs }&#x60;. WhatsApp-only. &#x60;forwardTo&#x60; can be &#x60;tel:+E164&#x60;, &#x60;sip:user@host&#x60;, or &#x60;wss://…&#x60; (AI voice agent). Edges: &#x60;&#39;success&#39;&#x60;, &#x60;&#39;permission_required&#39;&#x60;, &#x60;&#39;failed&#39;&#x60;. **a_b_split**: &#x60;{ percentage: number 0-100 (default 50) }&#x60;. Random branch picker. Edges: &#x60;&#39;a&#39;&#x60; (with probability &#x60;percentage/100&#x60;), &#x60;&#39;b&#39;&#x60;. **set_field**: &#x60;{ field, value }&#x60;. Persistent custom field on the Contact (vs &#x60;set_variable&#x60; which is run-scoped). Field name is sanitized to &#x60;[A-Za-z0-9_]&#x60;. No-op on &#x60;api_call&#x60; runs (no contact). **enroll_sequence**: &#x60;{ sequenceId, saveAs }&#x60;. Enrolls the run&#39;s contact into a Sequence. Edges: &#x60;&#39;success&#39;&#x60;, &#x60;&#39;error&#39;&#x60;. **add_tag** / **remove_tag**: &#x60;{ tag }&#x60;. Push or pull a tag on the Contact. No-op on &#x60;api_call&#x60; runs. **end**: no config. Terminates the run as &#x60;completed&#x60;. | [optional] |
10
10
  | **position** | [**WorkflowNodePosition**](WorkflowNodePosition.md) | | [optional] |
11
+ | **label** | **String** | Optional display name shown on the builder canvas and inspector, falling back to the node type when absent. The nodes array is replaced wholesale on update, so it must be resent to be kept. | [optional] |
11
12
 
12
13
  ## Example
13
14
 
@@ -18,7 +19,8 @@ instance = Zernio::WorkflowNode.new(
18
19
  id: null,
19
20
  type: null,
20
21
  config: null,
21
- position: null
22
+ position: null,
23
+ label: null
22
24
  )
23
25
  ```
24
26
 
data/docs/XArticle.md ADDED
@@ -0,0 +1,24 @@
1
+ # Zernio::XArticle
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **title** | **String** | | |
8
+ | **content_state** | [**XArticleContentState**](XArticleContentState.md) | | |
9
+ | **mode** | **String** | Publish creates an X Article draft and then publishes it. Draft stops after draft creation and returns the X draft ID without a public URL. | [optional][default to &#39;publish&#39;] |
10
+ | **cover** | [**XArticleCover**](XArticleCover.md) | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::XArticle.new(
18
+ title: null,
19
+ content_state: null,
20
+ mode: null,
21
+ cover: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,28 @@
1
+ # Zernio::XArticleBlock
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **type** | **String** | | |
8
+ | **text** | **String** | | |
9
+ | **key** | **String** | | [optional] |
10
+ | **data** | [**XArticleBlockData**](XArticleBlockData.md) | | [optional] |
11
+ | **inline_style_ranges** | [**Array&lt;XArticleInlineStyleRange&gt;**](XArticleInlineStyleRange.md) | | [optional] |
12
+ | **entity_ranges** | [**Array&lt;XArticleEntityRange&gt;**](XArticleEntityRange.md) | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'zernio-sdk'
18
+
19
+ instance = Zernio::XArticleBlock.new(
20
+ type: null,
21
+ text: null,
22
+ key: null,
23
+ data: null,
24
+ inline_style_ranges: null,
25
+ entity_ranges: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,24 @@
1
+ # Zernio::XArticleBlockData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **cashtags** | [**Array&lt;XArticleTextRange&gt;**](XArticleTextRange.md) | | [optional] |
8
+ | **hashtags** | [**Array&lt;XArticleTextRange&gt;**](XArticleTextRange.md) | | [optional] |
9
+ | **mentions** | [**Array&lt;XArticleTextRange&gt;**](XArticleTextRange.md) | | [optional] |
10
+ | **urls** | [**Array&lt;XArticleTextRange&gt;**](XArticleTextRange.md) | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::XArticleBlockData.new(
18
+ cashtags: null,
19
+ hashtags: null,
20
+ mentions: null,
21
+ urls: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,20 @@
1
+ # Zernio::XArticleContentState
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **blocks** | [**Array&lt;XArticleBlock&gt;**](XArticleBlock.md) | | |
8
+ | **entities** | [**Array&lt;XArticleEntity&gt;**](XArticleEntity.md) | | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::XArticleContentState.new(
16
+ blocks: null,
17
+ entities: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # Zernio::XArticleCover
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **url** | **String** | Public JPG, JPEG, PNG, or WebP URL. GIF, MP4, AVIF, extensionless URLs, and caller-supplied native media IDs are rejected. | |
8
+ | **alt_text** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::XArticleCover.new(
16
+ url: null,
17
+ alt_text: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,57 @@
1
+ # Zernio::XArticleEntity
2
+
3
+ ## Class instance methods
4
+
5
+ ### `openapi_one_of`
6
+
7
+ Returns the list of classes defined in oneOf.
8
+
9
+ #### Example
10
+
11
+ ```ruby
12
+ require 'zernio-sdk'
13
+
14
+ Zernio::XArticleEntity.openapi_one_of
15
+ # =>
16
+ # [
17
+ # :'XArticleEntityOneOf',
18
+ # :'XArticleEntityOneOf1',
19
+ # :'XArticleEntityOneOf2',
20
+ # :'XArticleEntityOneOf3',
21
+ # :'XArticleEntityOneOf4',
22
+ # :'XArticleEntityOneOf5'
23
+ # ]
24
+ ```
25
+
26
+ ### build
27
+
28
+ Find the appropriate object from the `openapi_one_of` list and casts the data into it.
29
+
30
+ #### Example
31
+
32
+ ```ruby
33
+ require 'zernio-sdk'
34
+
35
+ Zernio::XArticleEntity.build(data)
36
+ # => #<XArticleEntityOneOf:0x00007fdd4aab02a0>
37
+
38
+ Zernio::XArticleEntity.build(data_that_doesnt_match)
39
+ # => nil
40
+ ```
41
+
42
+ #### Parameters
43
+
44
+ | Name | Type | Description |
45
+ | ---- | ---- | ----------- |
46
+ | **data** | **Mixed** | data to be matched against the list of oneOf items |
47
+
48
+ #### Return type
49
+
50
+ - `XArticleEntityOneOf`
51
+ - `XArticleEntityOneOf1`
52
+ - `XArticleEntityOneOf2`
53
+ - `XArticleEntityOneOf3`
54
+ - `XArticleEntityOneOf4`
55
+ - `XArticleEntityOneOf5`
56
+ - `nil` (if no type matches)
57
+
@@ -0,0 +1,20 @@
1
+ # Zernio::XArticleEntityOneOf
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **key** | **String** | | |
8
+ | **value** | [**XArticleEntityOneOfValue**](XArticleEntityOneOfValue.md) | | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::XArticleEntityOneOf.new(
16
+ key: null,
17
+ value: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # Zernio::XArticleEntityOneOf1
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **key** | **String** | | |
8
+ | **value** | [**XArticleEntityOneOf1Value**](XArticleEntityOneOf1Value.md) | | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::XArticleEntityOneOf1.new(
16
+ key: null,
17
+ value: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,22 @@
1
+ # Zernio::XArticleEntityOneOf1Value
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **type** | **String** | | |
8
+ | **mutability** | **String** | | |
9
+ | **data** | [**XArticleEntityOneOf1ValueData**](XArticleEntityOneOf1ValueData.md) | | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::XArticleEntityOneOf1Value.new(
17
+ type: null,
18
+ mutability: null,
19
+ data: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,18 @@
1
+ # Zernio::XArticleEntityOneOf1ValueData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **url** | **String** | | |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'zernio-sdk'
13
+
14
+ instance = Zernio::XArticleEntityOneOf1ValueData.new(
15
+ url: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,20 @@
1
+ # Zernio::XArticleEntityOneOf2
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **key** | **String** | | |
8
+ | **value** | [**XArticleEntityOneOf2Value**](XArticleEntityOneOf2Value.md) | | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::XArticleEntityOneOf2.new(
16
+ key: null,
17
+ value: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,22 @@
1
+ # Zernio::XArticleEntityOneOf2Value
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **type** | **String** | | |
8
+ | **mutability** | **String** | | |
9
+ | **data** | [**XArticleEntityOneOf2ValueData**](XArticleEntityOneOf2ValueData.md) | | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::XArticleEntityOneOf2Value.new(
17
+ type: null,
18
+ mutability: null,
19
+ data: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,22 @@
1
+ # Zernio::XArticleEntityOneOf2ValueData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **url** | **String** | Public image, GIF, or MP4 URL. Zernio uploads it to X and replaces it with native media metadata. Caller-supplied media IDs are rejected. | |
8
+ | **caption** | **String** | | [optional] |
9
+ | **alt_text** | **String** | Supported for image and GIF URLs; rejected for MP4 media. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::XArticleEntityOneOf2ValueData.new(
17
+ url: null,
18
+ caption: null,
19
+ alt_text: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,20 @@
1
+ # Zernio::XArticleEntityOneOf3
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **key** | **String** | | |
8
+ | **value** | [**XArticleEntityOneOf3Value**](XArticleEntityOneOf3Value.md) | | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::XArticleEntityOneOf3.new(
16
+ key: null,
17
+ value: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,22 @@
1
+ # Zernio::XArticleEntityOneOf3Value
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **type** | **String** | | |
8
+ | **mutability** | **String** | | |
9
+ | **data** | [**XArticleEntityOneOf3ValueData**](XArticleEntityOneOf3ValueData.md) | | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::XArticleEntityOneOf3Value.new(
17
+ type: null,
18
+ mutability: null,
19
+ data: null
20
+ )
21
+ ```
22
+