late-sdk 0.0.871 → 0.0.873
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.
- checksums.yaml +4 -4
- data/README.md +17 -8
- data/docs/AccountGroupsApi.md +1 -1
- data/docs/AccountWithFollowerStatsAllOfAccountStats.md +2 -2
- data/docs/AccountsApi.md +5 -5
- data/docs/Ad.md +4 -4
- data/docs/AdAccountsApi.md +9 -9
- data/docs/AdAudiencesApi.md +4 -4
- data/docs/AdCampaignsApi.md +46 -46
- data/docs/AdCreative.md +6 -6
- data/docs/AdCreativesApi.md +12 -12
- data/docs/AdDailyMetrics.md +4 -4
- data/docs/AdFunnelCounts.md +3 -3
- data/docs/AdInsightsApi.md +3 -3
- data/docs/AdKeyword.md +1 -1
- data/docs/AdLibraryApi.md +2 -2
- data/docs/AdMetrics.md +4 -4
- data/docs/AdTargetingApi.md +5 -5
- data/docs/AdTreeAdSet.md +1 -1
- data/docs/AdTreeCampaign.md +4 -4
- data/docs/AddAdKeywordsRequest.md +1 -1
- data/docs/AddMessageReactionRequest.md +1 -1
- data/docs/AdjustConversionsRequestAdjustmentsInner.md +4 -4
- data/docs/AdsTimelineResponseRowsInner.md +1 -1
- data/docs/AnalyticsApi.md +22 -22
- data/docs/AnalyticsDeltaEntry.md +1 -1
- data/docs/AnalyticsListResponse.md +1 -1
- data/docs/ApiKey.md +1 -1
- data/docs/AppealSmsRegistrationRequest.md +1 -1
- data/docs/AssignGoogleBusinessLocation200ResponseAccount.md +1 -1
- data/docs/AssignGoogleBusinessLocationRequest.md +2 -2
- data/docs/AttachCampaignAssetsRequest.md +2 -2
- data/docs/BillingSnapshotPlan.md +1 -1
- data/docs/BlockWhatsAppUsersRequest.md +1 -1
- data/docs/BookmarkPostRequest.md +1 -1
- data/docs/BoostPostRequest.md +5 -5
- data/docs/BusinessCenter.md +1 -1
- data/docs/CallRecord.md +2 -2
- data/docs/CampaignAnalyticsResponseAnalyticsDailyInner.md +4 -4
- data/docs/CheckPhoneNumberAvailability200Response.md +1 -1
- data/docs/CheckPhoneNumberPortability200ResponseResultsInner.md +2 -2
- data/docs/CommentsApi.md +11 -11
- data/docs/ConnectApi.md +102 -35
- data/docs/ConnectWhatsAppEmbeddedSignupRequest.md +4 -4
- data/docs/Conversation.md +34 -0
- data/docs/ConversionEvent.md +1 -1
- data/docs/ConversionsApi.md +6 -6
- data/docs/CreateAdCampaignRequest.md +1 -1
- data/docs/CreateAdCreativeRequest.md +1 -1
- data/docs/CreateApiKeyRequest.md +1 -1
- data/docs/CreateInboxConversation201ResponseData.md +2 -2
- data/docs/CreateInboxConversationRequest.md +3 -3
- data/docs/CreatePhoneNumberPortInRequestEndUser.md +2 -2
- data/docs/CreateStandaloneAdRequest.md +22 -22
- data/docs/CreateStandaloneAdRequestVideo.md +2 -2
- data/docs/CreateWhatsAppFlowRequest.md +1 -1
- data/docs/CreateWhatsAppGroupChatRequest.md +1 -1
- data/docs/CreateWhatsAppTemplateRequest.md +1 -1
- data/docs/CtwaAdRequestBodyVideo.md +1 -1
- data/docs/CustomConversion.md +1 -1
- data/docs/DeleteWhatsappBusinessUsernameRequest.md +1 -1
- data/docs/DiscordApi.md +9 -9
- data/docs/DiscordScheduledEvent.md +1 -1
- data/docs/EditInboxCommentRequest.md +1 -1
- data/docs/EditInboxMessageRequest.md +1 -1
- data/docs/EnableSmsOnNumber200Response.md +1 -1
- data/docs/ErrorResponse.md +1 -1
- data/docs/EstimateAdReachRequest.md +1 -1
- data/docs/ExternalPostWebhookPost.md +2 -2
- data/docs/FollowUserRequest.md +2 -2
- data/docs/GMBAttributesApi.md +3 -3
- data/docs/GMBFoodMenusApi.md +2 -2
- data/docs/GMBLocationDetailsApi.md +2 -2
- data/docs/GMBMediaApi.md +1 -1
- data/docs/GMBPlaceActionsApi.md +1 -1
- data/docs/GMBReviewsApi.md +4 -4
- data/docs/GetAdComments200ResponseMeta.md +4 -4
- data/docs/GetAdMedia200Response.md +1 -1
- data/docs/GetAdMedia200ResponseMediaInner.md +1 -1
- data/docs/GetAdsSearchTerms200ResponseDataInner.md +1 -1
- data/docs/GetGoogleBusinessLocationDetails200ResponseLocation.md +1 -1
- data/docs/GetInboxConversation200ResponseData.md +1 -1
- data/docs/GetInboxConversationMessages200ResponseMessagesInner.md +1 -1
- data/docs/GetInboxPostComments200ResponseCommentsInner.md +2 -2
- data/docs/GetInboxPostComments200ResponseCommentsInnerFrom.md +1 -1
- data/docs/GetInboxTopAccounts200ResponseAccountsInner.md +1 -1
- data/docs/GetLinkedInBidPricingRequest.md +1 -1
- data/docs/GetPhoneNumber200ResponsePhoneNumber.md +1 -1
- data/docs/GetPhoneNumberKycForm200ResponseReusable.md +1 -1
- data/docs/GetPhoneNumberKycForm200ResponseReusableOptionsInner.md +2 -2
- data/docs/GetPhoneNumberKycForm200ResponseReusableOptionsInnerDetailsInner.md +1 -1
- data/docs/GetPhoneNumberPortInRequirements200Response.md +1 -1
- data/docs/GetWhatsAppNumberKycForm200ResponseFieldsInner.md +1 -1
- data/docs/GetWhatsAppSdkConfig200Response.md +22 -0
- data/docs/GoogleBusinessPlatformData.md +1 -1
- data/docs/HideInboxCommentRequest.md +1 -1
- data/docs/InboxAnalyticsApi.md +5 -5
- data/docs/InboxWebhookAccount.md +3 -3
- data/docs/InboxWebhookConversation.md +1 -1
- data/docs/InboxWebhookMessageSender.md +3 -3
- data/docs/InstagramApi.md +1 -1
- data/docs/LeadGenApi.md +2 -2
- data/docs/LikeInboxCommentRequest.md +1 -1
- data/docs/LikePostRequest.md +1 -1
- data/docs/LinkedInMentionsApi.md +1 -1
- data/docs/LinkedInPlatformData.md +1 -1
- data/docs/ListAdAudiences200ResponseAudiencesInner.md +1 -1
- data/docs/ListCalls200ResponseCallsInner.md +2 -2
- data/docs/ListGoogleBusinessLocations200ResponseLocationsInner.md +1 -1
- data/docs/ListInboxComments200ResponseDataInner.md +3 -3
- data/docs/ListInboxConversations200ResponseDataInner.md +3 -1
- data/docs/ListInboxReviews200ResponseDataInner.md +6 -6
- data/docs/ListPhoneNumbers200Response.md +1 -1
- data/docs/ListPhoneNumbers200ResponseNumbersInner.md +3 -3
- data/docs/ListSipTrunks200Response.md +1 -1
- data/docs/ListWhatsAppAccountEvents200ResponseEventsInner.md +1 -1
- data/docs/LogsApi.md +2 -2
- data/docs/MediaItem.md +1 -1
- data/docs/MentionsApi.md +3 -3
- data/docs/MessagesApi.md +95 -23
- data/docs/MessagingAdsApi.md +1 -1
- data/docs/PhoneNumbersApi.md +14 -14
- data/docs/PinterestPlatformData.md +1 -1
- data/docs/PostAnalytics.md +1 -1
- data/docs/PostsApi.md +5 -5
- data/docs/ProfilesApi.md +1 -1
- data/docs/PurchasePhoneNumberRequest.md +1 -1
- data/docs/PurchaseWhatsAppPhoneNumberRequest.md +1 -1
- data/docs/ReachAndFrequencyApi.md +2 -2
- data/docs/RecyclingConfig.md +1 -1
- data/docs/ReplyToMentionRequest.md +1 -1
- data/docs/RetweetPostRequest.md +1 -1
- data/docs/ReviewWebhookReview.md +1 -1
- data/docs/ReviewWebhookReviewReviewer.md +1 -1
- data/docs/ReviewsApi.md +6 -6
- data/docs/SMSApi.md +11 -11
- data/docs/SavedTargetingAudience.md +1 -1
- data/docs/SelectGoogleBusinessLocation200ResponseAccount.md +1 -1
- data/docs/SelectGoogleBusinessLocationRequest.md +2 -2
- data/docs/SendDiscordDirectMessage200Response.md +1 -1
- data/docs/SendInboxMessage200ResponseData.md +1 -1
- data/docs/SendInboxMessageRequest.md +3 -3
- data/docs/SendPrivateReplyToCommentRequest.md +2 -2
- data/docs/SendTypingIndicatorRequest.md +1 -1
- data/docs/SendWhatsAppFlowMessageRequest.md +1 -1
- data/docs/SetCommentModerationRequest.md +1 -1
- data/docs/SetConversationThreadControl200Response.md +20 -0
- data/docs/SetConversationThreadControl200ResponseControl.md +18 -0
- data/docs/SetConversationThreadControlRequest.md +24 -0
- data/docs/SetWhatsAppFlowsEncryptionKeyRequest.md +1 -1
- data/docs/SetWhatsappBusinessUsernameRequest.md +1 -1
- data/docs/StartSmsRegistrationRequest.md +1 -1
- data/docs/StartSmsRegistrationRequestCampaign.md +1 -1
- data/docs/SubmitPhoneNumberKycRequest.md +1 -1
- data/docs/SubmitWhatsAppNumberKycRequest.md +1 -1
- data/docs/SyncExternalPosts200Response.md +1 -1
- data/docs/SyncExternalPostsRequest.md +1 -1
- data/docs/TrackingTag.md +2 -2
- data/docs/TrackingTagsApi.md +6 -6
- data/docs/TwitterEngagementApi.md +9 -9
- data/docs/UnblockWhatsAppUsersRequest.md +1 -1
- data/docs/UpdateAccountRequestXCapabilities.md +1 -1
- data/docs/UpdateAdAccountRequest.md +1 -1
- data/docs/UpdateAdSetRequestPlatformSpecificData.md +1 -1
- data/docs/UpdateConversionDestinationRequest.md +1 -1
- data/docs/UpdateGmbLocationRequest.md +1 -1
- data/docs/UpdateInboxConversationRequest.md +1 -1
- data/docs/UpdatePostMetadataRequest.md +1 -1
- data/docs/UpdateWhatsAppBusinessProfileRequest.md +1 -1
- data/docs/UpdateWhatsAppDisplayNameRequest.md +1 -1
- data/docs/UpdateWhatsAppFlowRequest.md +1 -1
- data/docs/UpdateWhatsAppTemplateByIdRequest.md +1 -1
- data/docs/UpdateWhatsAppTemplateRequest.md +1 -1
- data/docs/UpdateWorkflowRequest.md +1 -1
- data/docs/UploadWhatsAppFlowJsonRequest.md +1 -1
- data/docs/UploadWhatsAppProfilePhotoRequest1.md +1 -1
- data/docs/UploadedOrDerivedAudience.md +2 -2
- data/docs/UsageApi.md +12 -12
- data/docs/UsageMetering.md +1 -1
- data/docs/UsageStats.md +1 -1
- data/docs/UsageStatsSpend.md +1 -1
- data/docs/UsageStatsUsage.md +2 -2
- data/docs/UsersApi.md +1 -1
- data/docs/ValidateApi.md +3 -3
- data/docs/VerifyApi.md +1 -1
- data/docs/VoiceApi.md +2 -2
- data/docs/WebhookEventsApi.md +76 -7
- data/docs/WebhookPayloadAdStatusChangedError.md +3 -3
- data/docs/WebhookPayloadAdStatusChangedStatus.md +1 -1
- data/docs/WebhookPayloadCommentAccount.md +2 -2
- data/docs/WebhookPayloadCommentPost.md +1 -1
- data/docs/WebhookPayloadConversationControlChanged.md +30 -0
- data/docs/WebhookPayloadConversationControlChangedControl.md +22 -0
- data/docs/WebhookPayloadLeadAccount.md +2 -2
- data/docs/WebhookPayloadMessageMessageSender.md +3 -3
- data/docs/WebhookPayloadMessageMetadata.md +3 -1
- data/docs/WebhookPayloadMessageSentMessage.md +1 -1
- data/docs/WebhookPayloadReviewNewAccount.md +1 -1
- data/docs/WhatsAppApi.md +51 -51
- data/docs/WhatsAppCallingApi.md +3 -3
- data/docs/WhatsAppFlowsApi.md +18 -18
- data/docs/WhatsAppPhoneNumbersApi.md +12 -12
- data/docs/WhatsAppSandboxApi.md +2 -2
- data/docs/WhatsAppTemplatesApi.md +2 -2
- data/docs/WorkflowEdge.md +1 -1
- data/docs/WorkflowExecutionEvent.md +1 -1
- data/docs/WorkflowsApi.md +3 -3
- data/docs/XApiOperation.md +2 -2
- data/docs/XApiOperationTriggeredByInner.md +1 -1
- data/docs/XApiPricing.md +1 -1
- data/lib/zernio-sdk/api/account_groups_api.rb +2 -2
- data/lib/zernio-sdk/api/accounts_api.rb +10 -10
- data/lib/zernio-sdk/api/ad_accounts_api.rb +12 -12
- data/lib/zernio-sdk/api/ad_audiences_api.rb +6 -6
- data/lib/zernio-sdk/api/ad_campaigns_api.rb +60 -60
- data/lib/zernio-sdk/api/ad_creatives_api.rb +20 -20
- data/lib/zernio-sdk/api/ad_insights_api.rb +4 -4
- data/lib/zernio-sdk/api/ad_library_api.rb +2 -2
- data/lib/zernio-sdk/api/ad_targeting_api.rb +6 -6
- data/lib/zernio-sdk/api/analytics_api.rb +22 -22
- data/lib/zernio-sdk/api/comments_api.rb +20 -20
- data/lib/zernio-sdk/api/connect_api.rb +91 -34
- data/lib/zernio-sdk/api/conversions_api.rb +12 -12
- data/lib/zernio-sdk/api/discord_api.rb +18 -18
- data/lib/zernio-sdk/api/gmb_attributes_api.rb +4 -4
- data/lib/zernio-sdk/api/gmb_food_menus_api.rb +4 -4
- data/lib/zernio-sdk/api/gmb_location_details_api.rb +4 -4
- data/lib/zernio-sdk/api/gmb_media_api.rb +2 -2
- data/lib/zernio-sdk/api/gmb_place_actions_api.rb +2 -2
- data/lib/zernio-sdk/api/gmb_reviews_api.rb +8 -8
- data/lib/zernio-sdk/api/inbox_analytics_api.rb +10 -10
- data/lib/zernio-sdk/api/instagram_api.rb +2 -2
- data/lib/zernio-sdk/api/lead_gen_api.rb +4 -4
- data/lib/zernio-sdk/api/linked_in_mentions_api.rb +2 -2
- data/lib/zernio-sdk/api/logs_api.rb +2 -2
- data/lib/zernio-sdk/api/mentions_api.rb +4 -4
- data/lib/zernio-sdk/api/messages_api.rb +104 -30
- data/lib/zernio-sdk/api/messaging_ads_api.rb +2 -2
- data/lib/zernio-sdk/api/phone_numbers_api.rb +24 -24
- data/lib/zernio-sdk/api/posts_api.rb +8 -8
- data/lib/zernio-sdk/api/profiles_api.rb +2 -2
- data/lib/zernio-sdk/api/reach_and_frequency_api.rb +4 -4
- data/lib/zernio-sdk/api/reviews_api.rb +8 -8
- data/lib/zernio-sdk/api/sms_api.rb +20 -20
- data/lib/zernio-sdk/api/tracking_tags_api.rb +12 -12
- data/lib/zernio-sdk/api/twitter_engagement_api.rb +12 -12
- data/lib/zernio-sdk/api/usage_api.rb +14 -14
- data/lib/zernio-sdk/api/users_api.rb +2 -2
- data/lib/zernio-sdk/api/validate_api.rb +4 -4
- data/lib/zernio-sdk/api/verify_api.rb +2 -2
- data/lib/zernio-sdk/api/voice_api.rb +4 -4
- data/lib/zernio-sdk/api/webhook_events_api.rb +80 -14
- data/lib/zernio-sdk/api/whats_app_api.rb +54 -54
- data/lib/zernio-sdk/api/whats_app_calling_api.rb +4 -4
- data/lib/zernio-sdk/api/whats_app_flows_api.rb +20 -20
- data/lib/zernio-sdk/api/whats_app_phone_numbers_api.rb +20 -20
- data/lib/zernio-sdk/api/whats_app_sandbox_api.rb +4 -4
- data/lib/zernio-sdk/api/whats_app_templates_api.rb +2 -2
- data/lib/zernio-sdk/api/workflows_api.rb +6 -6
- data/lib/zernio-sdk/models/account_with_follower_stats_all_of_account_stats.rb +2 -2
- data/lib/zernio-sdk/models/ad.rb +4 -4
- data/lib/zernio-sdk/models/ad_creative.rb +6 -6
- data/lib/zernio-sdk/models/ad_daily_metrics.rb +4 -4
- data/lib/zernio-sdk/models/ad_engagement_counts.rb +1 -1
- data/lib/zernio-sdk/models/ad_funnel_counts.rb +4 -4
- data/lib/zernio-sdk/models/ad_keyword.rb +1 -1
- data/lib/zernio-sdk/models/ad_metrics.rb +4 -4
- data/lib/zernio-sdk/models/ad_tree_ad_set.rb +1 -1
- data/lib/zernio-sdk/models/ad_tree_campaign.rb +4 -4
- data/lib/zernio-sdk/models/add_ad_keywords_request.rb +1 -1
- data/lib/zernio-sdk/models/add_message_reaction_request.rb +1 -1
- data/lib/zernio-sdk/models/adjust_conversions_request_adjustments_inner.rb +4 -4
- data/lib/zernio-sdk/models/adjust_conversions_request_adjustments_inner_user.rb +1 -1
- data/lib/zernio-sdk/models/ads_timeline_response_rows_inner.rb +1 -1
- data/lib/zernio-sdk/models/analytics_delta_entry.rb +1 -1
- data/lib/zernio-sdk/models/analytics_list_response.rb +1 -1
- data/lib/zernio-sdk/models/api_key.rb +1 -1
- data/lib/zernio-sdk/models/appeal_sms_registration_request.rb +1 -1
- data/lib/zernio-sdk/models/assign_google_business_location200_response_account.rb +1 -1
- data/lib/zernio-sdk/models/assign_google_business_location_request.rb +2 -2
- data/lib/zernio-sdk/models/attach_campaign_assets_request.rb +2 -2
- data/lib/zernio-sdk/models/billing_snapshot.rb +1 -1
- data/lib/zernio-sdk/models/billing_snapshot_plan.rb +1 -1
- data/lib/zernio-sdk/models/block_whats_app_users_request.rb +1 -1
- data/lib/zernio-sdk/models/bookmark_post_request.rb +1 -1
- data/lib/zernio-sdk/models/boost_post_request.rb +5 -5
- data/lib/zernio-sdk/models/boost_post_request_platform_specific_data.rb +1 -1
- data/lib/zernio-sdk/models/business_center.rb +2 -2
- data/lib/zernio-sdk/models/call_record.rb +2 -2
- data/lib/zernio-sdk/models/campaign_analytics_response_analytics_daily_inner.rb +4 -4
- data/lib/zernio-sdk/models/check_phone_number_availability200_response.rb +1 -1
- data/lib/zernio-sdk/models/check_phone_number_portability200_response_results_inner.rb +2 -2
- data/lib/zernio-sdk/models/connect_whats_app_embedded_signup_request.rb +4 -3
- data/lib/zernio-sdk/models/conversation.rb +334 -0
- data/lib/zernio-sdk/models/conversion_destination.rb +1 -1
- data/lib/zernio-sdk/models/conversion_event.rb +1 -1
- data/lib/zernio-sdk/models/create_ad_campaign_request.rb +1 -1
- data/lib/zernio-sdk/models/create_ad_creative_request.rb +1 -1
- data/lib/zernio-sdk/models/create_api_key_request.rb +1 -1
- data/lib/zernio-sdk/models/create_inbox_conversation201_response_data.rb +2 -2
- data/lib/zernio-sdk/models/create_inbox_conversation_request.rb +3 -3
- data/lib/zernio-sdk/models/create_phone_number_port_in_request_end_user.rb +3 -3
- data/lib/zernio-sdk/models/create_standalone_ad201_response_one_of.rb +1 -1
- data/lib/zernio-sdk/models/create_standalone_ad201_response_one_of1.rb +1 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request.rb +22 -22
- data/lib/zernio-sdk/models/create_standalone_ad_request_placement_assets.rb +1 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request_placement_assets_rules_inner_placements.rb +1 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request_placements.rb +1 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request_platform_specific_data.rb +1 -1
- data/lib/zernio-sdk/models/create_standalone_ad_request_video.rb +3 -3
- data/lib/zernio-sdk/models/create_whats_app_flow_request.rb +1 -1
- data/lib/zernio-sdk/models/create_whats_app_group_chat_request.rb +1 -1
- data/lib/zernio-sdk/models/create_whats_app_template_request.rb +1 -1
- data/lib/zernio-sdk/models/ctwa_ad_request_body_video.rb +1 -1
- data/lib/zernio-sdk/models/custom_conversion.rb +1 -1
- data/lib/zernio-sdk/models/delete_whatsapp_business_username_request.rb +1 -1
- data/lib/zernio-sdk/models/discord_scheduled_event.rb +2 -2
- data/lib/zernio-sdk/models/edit_inbox_comment_request.rb +1 -1
- data/lib/zernio-sdk/models/edit_inbox_message_request.rb +1 -1
- data/lib/zernio-sdk/models/enable_sms_on_number200_response.rb +1 -1
- data/lib/zernio-sdk/models/error_response.rb +1 -1
- data/lib/zernio-sdk/models/estimate_ad_reach_request.rb +1 -1
- data/lib/zernio-sdk/models/external_post_webhook_post.rb +2 -2
- data/lib/zernio-sdk/models/follow_user_request.rb +2 -2
- data/lib/zernio-sdk/models/geo_restriction.rb +1 -1
- data/lib/zernio-sdk/models/get_ad_comments200_response_meta.rb +4 -4
- data/lib/zernio-sdk/models/get_ad_media200_response.rb +1 -1
- data/lib/zernio-sdk/models/get_ad_media200_response_media_inner.rb +1 -1
- data/lib/zernio-sdk/models/get_ads_search_terms200_response_data_inner.rb +1 -1
- data/lib/zernio-sdk/models/get_google_business_location_details200_response_location.rb +1 -1
- data/lib/zernio-sdk/models/get_inbox_conversation200_response_data.rb +1 -1
- data/lib/zernio-sdk/models/get_inbox_conversation_messages200_response_messages_inner.rb +1 -1
- data/lib/zernio-sdk/models/get_inbox_post_comments200_response_comments_inner.rb +2 -2
- data/lib/zernio-sdk/models/get_inbox_post_comments200_response_comments_inner_from.rb +1 -1
- data/lib/zernio-sdk/models/get_inbox_post_comments200_response_meta_ad_comments.rb +1 -1
- data/lib/zernio-sdk/models/get_inbox_top_accounts200_response_accounts_inner.rb +1 -1
- data/lib/zernio-sdk/models/get_linked_in_bid_pricing_request.rb +1 -1
- data/lib/zernio-sdk/models/get_phone_number200_response_phone_number.rb +1 -1
- data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response_reusable.rb +1 -1
- data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response_reusable_options_inner.rb +2 -2
- data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response_reusable_options_inner_details_inner.rb +1 -1
- data/lib/zernio-sdk/models/get_phone_number_port_in_requirements200_response.rb +1 -1
- data/lib/zernio-sdk/models/get_whats_app_number_kyc_form200_response_fields_inner.rb +1 -1
- data/lib/zernio-sdk/models/get_whats_app_sdk_config200_response.rb +219 -0
- data/lib/zernio-sdk/models/google_business_platform_data.rb +2 -2
- data/lib/zernio-sdk/models/hide_inbox_comment_request.rb +1 -1
- data/lib/zernio-sdk/models/inbox_webhook_account.rb +3 -3
- data/lib/zernio-sdk/models/inbox_webhook_conversation.rb +1 -1
- data/lib/zernio-sdk/models/inbox_webhook_message_sender.rb +3 -3
- data/lib/zernio-sdk/models/like_inbox_comment_request.rb +1 -1
- data/lib/zernio-sdk/models/like_post_request.rb +1 -1
- data/lib/zernio-sdk/models/linked_in_ads_platform_data_thought_leader.rb +1 -1
- data/lib/zernio-sdk/models/linked_in_platform_data.rb +1 -1
- data/lib/zernio-sdk/models/list_ad_audiences200_response_audiences_inner.rb +1 -1
- data/lib/zernio-sdk/models/list_calls200_response_calls_inner.rb +2 -2
- data/lib/zernio-sdk/models/list_discord_pinned_messages200_response_data_inner.rb +1 -1
- data/lib/zernio-sdk/models/list_google_business_locations200_response_locations_inner.rb +1 -1
- data/lib/zernio-sdk/models/list_inbox_comments200_response_data_inner.rb +3 -3
- data/lib/zernio-sdk/models/list_inbox_conversations200_response_data_inner.rb +24 -2
- data/lib/zernio-sdk/models/list_inbox_reviews200_response_data_inner.rb +6 -6
- data/lib/zernio-sdk/models/list_phone_numbers200_response.rb +1 -1
- data/lib/zernio-sdk/models/list_phone_numbers200_response_numbers_inner.rb +3 -3
- data/lib/zernio-sdk/models/list_sip_trunks200_response.rb +1 -1
- data/lib/zernio-sdk/models/list_sms_sender_ids200_response_budget.rb +1 -1
- data/lib/zernio-sdk/models/list_whats_app_account_events200_response_events_inner.rb +1 -1
- data/lib/zernio-sdk/models/media_item.rb +1 -1
- data/lib/zernio-sdk/models/pinterest_platform_data.rb +1 -1
- data/lib/zernio-sdk/models/post_analytics.rb +1 -1
- data/lib/zernio-sdk/models/purchase_phone_number_request.rb +1 -1
- data/lib/zernio-sdk/models/purchase_whats_app_phone_number_request.rb +1 -1
- data/lib/zernio-sdk/models/recycling_config.rb +2 -2
- data/lib/zernio-sdk/models/reply_to_mention_request.rb +1 -1
- data/lib/zernio-sdk/models/retweet_post_request.rb +1 -1
- data/lib/zernio-sdk/models/review_webhook_review.rb +1 -1
- data/lib/zernio-sdk/models/review_webhook_review_reviewer.rb +1 -1
- data/lib/zernio-sdk/models/saved_targeting_audience.rb +1 -1
- data/lib/zernio-sdk/models/select_google_business_location200_response_account.rb +1 -1
- data/lib/zernio-sdk/models/select_google_business_location_request.rb +2 -2
- data/lib/zernio-sdk/models/send_discord_direct_message200_response.rb +1 -1
- data/lib/zernio-sdk/models/send_inbox_message200_response_data.rb +1 -1
- data/lib/zernio-sdk/models/send_inbox_message_request.rb +3 -3
- data/lib/zernio-sdk/models/send_private_reply_to_comment_request.rb +2 -2
- data/lib/zernio-sdk/models/send_typing_indicator_request.rb +1 -1
- data/lib/zernio-sdk/models/send_whats_app_flow_message_request.rb +1 -1
- data/lib/zernio-sdk/models/set_comment_moderation_request.rb +1 -1
- data/lib/zernio-sdk/models/set_conversation_thread_control200_response.rb +156 -0
- data/lib/zernio-sdk/models/set_conversation_thread_control200_response_control.rb +181 -0
- data/lib/zernio-sdk/models/set_conversation_thread_control_request.rb +266 -0
- data/lib/zernio-sdk/models/set_whats_app_flows_encryption_key_request.rb +1 -1
- data/lib/zernio-sdk/models/set_whatsapp_business_username_request.rb +1 -1
- data/lib/zernio-sdk/models/slack_platform_data.rb +1 -1
- data/lib/zernio-sdk/models/start_sms_registration_request.rb +1 -1
- data/lib/zernio-sdk/models/start_sms_registration_request_campaign.rb +2 -2
- data/lib/zernio-sdk/models/submit_phone_number_kyc_request.rb +1 -1
- data/lib/zernio-sdk/models/submit_whats_app_number_kyc_request.rb +1 -1
- data/lib/zernio-sdk/models/sync_external_posts200_response.rb +1 -1
- data/lib/zernio-sdk/models/sync_external_posts_request.rb +1 -1
- data/lib/zernio-sdk/models/tracking_tag.rb +3 -3
- data/lib/zernio-sdk/models/unblock_whats_app_users_request.rb +1 -1
- data/lib/zernio-sdk/models/update_account_request_x_capabilities.rb +2 -2
- data/lib/zernio-sdk/models/update_ad_account_request.rb +1 -1
- data/lib/zernio-sdk/models/update_ad_request_creative.rb +1 -1
- data/lib/zernio-sdk/models/update_ad_set_request_platform_specific_data.rb +1 -1
- data/lib/zernio-sdk/models/update_ad_tracking_tags_request_creative.rb +1 -1
- data/lib/zernio-sdk/models/update_conversion_destination_request.rb +1 -1
- data/lib/zernio-sdk/models/update_gmb_location_request.rb +1 -1
- data/lib/zernio-sdk/models/update_inbox_conversation_request.rb +1 -1
- data/lib/zernio-sdk/models/update_post_metadata_request.rb +1 -1
- data/lib/zernio-sdk/models/update_whats_app_business_profile_request.rb +1 -1
- data/lib/zernio-sdk/models/update_whats_app_display_name_request.rb +1 -1
- data/lib/zernio-sdk/models/update_whats_app_flow_request.rb +1 -1
- data/lib/zernio-sdk/models/update_whats_app_template_by_id_request.rb +1 -1
- data/lib/zernio-sdk/models/update_whats_app_template_request.rb +1 -1
- data/lib/zernio-sdk/models/update_workflow_request.rb +1 -1
- data/lib/zernio-sdk/models/upload_whats_app_flow_json_request.rb +1 -1
- data/lib/zernio-sdk/models/upload_whats_app_profile_photo_request1.rb +1 -1
- data/lib/zernio-sdk/models/uploaded_or_derived_audience.rb +2 -2
- data/lib/zernio-sdk/models/usage_metering.rb +2 -2
- data/lib/zernio-sdk/models/usage_metering_peaks.rb +1 -1
- data/lib/zernio-sdk/models/usage_stats.rb +2 -2
- data/lib/zernio-sdk/models/usage_stats_limits.rb +1 -1
- data/lib/zernio-sdk/models/usage_stats_spend.rb +2 -2
- data/lib/zernio-sdk/models/usage_stats_usage.rb +3 -3
- data/lib/zernio-sdk/models/usage_stats_usage_x_api_calls.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_ad_status_changed_error.rb +3 -3
- data/lib/zernio-sdk/models/webhook_payload_ad_status_changed_status.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_analytics_synced.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_analytics_synced_sync.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_comment.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_comment_account.rb +2 -2
- data/lib/zernio-sdk/models/webhook_payload_comment_post.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_conversation_control_changed.rb +347 -0
- data/lib/zernio-sdk/models/webhook_payload_conversation_control_changed_control.rb +224 -0
- data/lib/zernio-sdk/models/webhook_payload_conversation_started.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_lead_account.rb +2 -2
- data/lib/zernio-sdk/models/webhook_payload_message_message_sender.rb +3 -3
- data/lib/zernio-sdk/models/webhook_payload_message_metadata.rb +13 -3
- data/lib/zernio-sdk/models/webhook_payload_message_sent_message.rb +3 -3
- data/lib/zernio-sdk/models/webhook_payload_post_platform.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_post_platform_account.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_post_platform_platform.rb +1 -1
- data/lib/zernio-sdk/models/webhook_payload_review_new_account.rb +1 -1
- data/lib/zernio-sdk/models/workflow_edge.rb +1 -1
- data/lib/zernio-sdk/models/workflow_execution_event.rb +1 -1
- data/lib/zernio-sdk/models/x_api_operation.rb +2 -2
- data/lib/zernio-sdk/models/x_api_operation_triggered_by_inner.rb +1 -1
- data/lib/zernio-sdk/models/x_api_pricing.rb +2 -2
- data/lib/zernio-sdk/version.rb +1 -1
- data/lib/zernio-sdk.rb +7 -0
- data/openapi.yaml +1073 -853
- data/spec/api/account_groups_api_spec.rb +1 -1
- data/spec/api/accounts_api_spec.rb +5 -5
- data/spec/api/ad_accounts_api_spec.rb +6 -6
- data/spec/api/ad_audiences_api_spec.rb +3 -3
- data/spec/api/ad_campaigns_api_spec.rb +30 -30
- data/spec/api/ad_creatives_api_spec.rb +10 -10
- data/spec/api/ad_insights_api_spec.rb +2 -2
- data/spec/api/ad_library_api_spec.rb +1 -1
- data/spec/api/ad_targeting_api_spec.rb +3 -3
- data/spec/api/analytics_api_spec.rb +11 -11
- data/spec/api/comments_api_spec.rb +10 -10
- data/spec/api/connect_api_spec.rb +28 -17
- data/spec/api/conversions_api_spec.rb +6 -6
- data/spec/api/discord_api_spec.rb +9 -9
- data/spec/api/gmb_attributes_api_spec.rb +2 -2
- data/spec/api/gmb_food_menus_api_spec.rb +2 -2
- data/spec/api/gmb_location_details_api_spec.rb +2 -2
- data/spec/api/gmb_media_api_spec.rb +1 -1
- data/spec/api/gmb_place_actions_api_spec.rb +1 -1
- data/spec/api/gmb_reviews_api_spec.rb +4 -4
- data/spec/api/inbox_analytics_api_spec.rb +5 -5
- data/spec/api/instagram_api_spec.rb +1 -1
- data/spec/api/lead_gen_api_spec.rb +2 -2
- data/spec/api/linked_in_mentions_api_spec.rb +1 -1
- data/spec/api/logs_api_spec.rb +1 -1
- data/spec/api/mentions_api_spec.rb +2 -2
- data/spec/api/messages_api_spec.rb +28 -15
- data/spec/api/messaging_ads_api_spec.rb +1 -1
- data/spec/api/phone_numbers_api_spec.rb +12 -12
- data/spec/api/posts_api_spec.rb +4 -4
- data/spec/api/profiles_api_spec.rb +1 -1
- data/spec/api/reach_and_frequency_api_spec.rb +2 -2
- data/spec/api/reviews_api_spec.rb +4 -4
- data/spec/api/sms_api_spec.rb +10 -10
- data/spec/api/tracking_tags_api_spec.rb +6 -6
- data/spec/api/twitter_engagement_api_spec.rb +6 -6
- data/spec/api/usage_api_spec.rb +7 -7
- data/spec/api/users_api_spec.rb +1 -1
- data/spec/api/validate_api_spec.rb +2 -2
- data/spec/api/verify_api_spec.rb +1 -1
- data/spec/api/voice_api_spec.rb +2 -2
- data/spec/api/whats_app_api_spec.rb +27 -27
- data/spec/api/whats_app_calling_api_spec.rb +2 -2
- data/spec/api/whats_app_flows_api_spec.rb +10 -10
- data/spec/api/whats_app_phone_numbers_api_spec.rb +10 -10
- data/spec/api/whats_app_sandbox_api_spec.rb +2 -2
- data/spec/api/whats_app_templates_api_spec.rb +1 -1
- data/spec/api/workflows_api_spec.rb +3 -3
- data/spec/models/conversation_spec.rb +92 -0
- data/spec/models/create_webhook_settings_request_spec.rb +1 -1
- data/spec/models/get_whats_app_sdk_config200_response_spec.rb +48 -0
- data/spec/models/list_inbox_conversations200_response_data_inner_spec.rb +10 -0
- data/spec/models/set_conversation_thread_control200_response_control_spec.rb +40 -0
- data/spec/models/set_conversation_thread_control200_response_spec.rb +42 -0
- data/spec/models/set_conversation_thread_control_request_spec.rb +62 -0
- data/spec/models/update_webhook_settings_request_spec.rb +1 -1
- data/spec/models/webhook_payload_conversation_control_changed_control_spec.rb +56 -0
- data/spec/models/webhook_payload_conversation_control_changed_spec.rb +76 -0
- data/spec/models/webhook_payload_message_metadata_spec.rb +6 -0
- data/spec/models/webhook_payload_message_sent_message_spec.rb +1 -1
- data/spec/models/webhook_spec.rb +1 -1
- data/zernio-sdk-0.0.873.gem +0 -0
- metadata +30 -2
- data/zernio-sdk-0.0.871.gem +0 -0
|
@@ -17,7 +17,7 @@ module Zernio
|
|
|
17
17
|
class ListSipTrunks200Response < ApiModelBase
|
|
18
18
|
attr_accessor :trunks
|
|
19
19
|
|
|
20
|
-
# Whether this
|
|
20
|
+
# Whether this team can create SIP trunks. Managing existing trunks always works.
|
|
21
21
|
attr_accessor :enabled
|
|
22
22
|
|
|
23
23
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -14,7 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Zernio
|
|
17
|
-
#
|
|
17
|
+
# Team-wide daily sending budget, shared by every sender ID (resets midnight UTC).
|
|
18
18
|
class ListSmsSenderIds200ResponseBudget < ApiModelBase
|
|
19
19
|
# Daily message cap (raisable via `/v1/sms/sender-ids/limit-request`).
|
|
20
20
|
attr_accessor :cap
|
|
@@ -17,7 +17,7 @@ module Zernio
|
|
|
17
17
|
class ListWhatsAppAccountEvents200ResponseEventsInner < ApiModelBase
|
|
18
18
|
attr_accessor :id
|
|
19
19
|
|
|
20
|
-
# WhatsApp
|
|
20
|
+
# WhatsApp account the event belongs to
|
|
21
21
|
attr_accessor :account_id
|
|
22
22
|
|
|
23
23
|
# Event kind, e.g. template_approved, template_rejected, account_restricted, account_disconnected
|
|
@@ -23,7 +23,7 @@ module Zernio
|
|
|
23
23
|
# Optional title for the media item. Used as the document title for LinkedIn PDF/carousel posts. If omitted, falls back to the post title, then the filename.
|
|
24
24
|
attr_accessor :title
|
|
25
25
|
|
|
26
|
-
# Accessibility alternative text for an image, applied on every platform that supports it: Instagram (feed images only, not Reels/Stories), Facebook, Threads, X
|
|
26
|
+
# Accessibility alternative text for an image, applied on every platform that supports it: Instagram (feed images only, not Reels/Stories), Facebook, Threads, X (max 1000 chars), LinkedIn, Bluesky, and Pinterest (max 500 chars). Ignored on platforms without alt-text support (TikTok, YouTube, Snapchat, Telegram, Reddit, Google Business Profile, WhatsApp) and on video items where the platform does not accept it. Set once per image; the same value is sent to each selected platform.
|
|
27
27
|
attr_accessor :alt_text
|
|
28
28
|
|
|
29
29
|
attr_accessor :filename
|
|
@@ -33,7 +33,7 @@ module Zernio
|
|
|
33
33
|
# Optional key frame time in seconds for derived video cover
|
|
34
34
|
attr_accessor :cover_image_key_frame_time
|
|
35
35
|
|
|
36
|
-
# When true, the Pin is created with Pinterest's AI_MODIFIED disclosure (ai_disclosures), which shows an \"AI modified\" label. Applies to image and video Pins. Pinterest offers no \"not AI\" value, so false
|
|
36
|
+
# When true, the Pin is created with Pinterest's AI_MODIFIED disclosure (ai_disclosures), which shows an \"AI modified\" label. Applies to image and video Pins. Pinterest offers no \"not AI\" value, so false omits the disclosure. Pinterest may still label a Pin on its own detection.
|
|
37
37
|
attr_accessor :is_ai_generated
|
|
38
38
|
|
|
39
39
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -18,7 +18,7 @@ module Zernio
|
|
|
18
18
|
# Preferred profile for the number. One number = one profile, so when the requested profile already holds a number the API assigns the next free profile instead (or creates one) and returns the actual assignment in `profileId` on the response.
|
|
19
19
|
attr_accessor :profile_id
|
|
20
20
|
|
|
21
|
-
# ISO 3166-1 alpha-2 country for the number (default US). International numbers require usage-based billing. Tier 3/4 countries return 202 { status: \"kyc_required\", kycUrl }
|
|
21
|
+
# ISO 3166-1 alpha-2 country for the number (default US). International numbers require usage-based billing. Tier 3/4 countries return 202 { status: \"kyc_required\", kycUrl }. The customer must complete KYC at that URL before the number is ordered. See GET /v1/phone-numbers/countries.
|
|
22
22
|
attr_accessor :country
|
|
23
23
|
|
|
24
24
|
# Which of the country's offered number types to order (see `types[]` on GET /v1/phone-numbers/countries). Omitted = the country's default type, which is always the WhatsApp-safe choice. Capabilities, price, and KYC requirements are per (country, type): toll_free can never connect WhatsApp (400 when combined with connectWhatsapp:true), and wantsSms:true requires an SMS-capable type.
|
|
@@ -18,7 +18,7 @@ module Zernio
|
|
|
18
18
|
# Profile to associate the number with
|
|
19
19
|
attr_accessor :profile_id
|
|
20
20
|
|
|
21
|
-
# ISO 3166-1 alpha-2 country for the number (default US). International numbers require usage-based billing. Tier 3/4 countries return 202 { status: \"kyc_required\", kycUrl }
|
|
21
|
+
# ISO 3166-1 alpha-2 country for the number (default US). International numbers require usage-based billing. Tier 3/4 countries return 202 { status: \"kyc_required\", kycUrl }. The customer must complete KYC at that URL before the number is ordered. See GET /v1/whatsapp/phone-numbers/countries.
|
|
22
22
|
attr_accessor :country
|
|
23
23
|
|
|
24
24
|
# Optional idempotency key. Send the same value when retrying a purchase: if a number was already bought under this key, the API returns { status: \"already_purchased\", numberId, phoneNumber } instead of provisioning a second number. Generate a fresh key for each genuinely new purchase.
|
|
@@ -14,7 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Zernio
|
|
17
|
-
# Configure automatic post recycling (reposting at regular intervals). After the post is published, the system creates new scheduled copies at the specified interval until expiration conditions are met. Supports weekly or monthly intervals. Maximum 10 active recycling posts per account. YouTube and TikTok platforms are excluded from recycling. Content variations are recommended for
|
|
17
|
+
# Configure automatic post recycling (reposting at regular intervals). After the post is published, the system creates new scheduled copies at the specified interval until expiration conditions are met. Supports weekly or monthly intervals. Maximum 10 active recycling posts per account. YouTube and TikTok platforms are excluded from recycling. Content variations are recommended for X and Pinterest to avoid duplicate flags.
|
|
18
18
|
class RecyclingConfig < ApiModelBase
|
|
19
19
|
# Set to false to disable recycling on this post
|
|
20
20
|
attr_accessor :enabled
|
|
@@ -34,7 +34,7 @@ module Zernio
|
|
|
34
34
|
# Stop recycling after this date, regardless of count. Send null on update to clear this limit.
|
|
35
35
|
attr_accessor :expire_date
|
|
36
36
|
|
|
37
|
-
# Array of content variations for recycled copies. On each recycle, the next variation is used in round-robin order. Recommended for
|
|
37
|
+
# Array of content variations for recycled copies. On each recycle, the next variation is used in round-robin order. Recommended for X and Pinterest to avoid duplicate content flags. If omitted, the original post content is used for all recycled copies. Send an empty array [] to clear existing variations. Must have 2+ entries when setting variations. Platform-level customContent still overrides the base content per platform.
|
|
38
38
|
attr_accessor :content_variations
|
|
39
39
|
|
|
40
40
|
class EnumAttributeValidator
|
|
@@ -16,7 +16,7 @@ require 'time'
|
|
|
16
16
|
module Zernio
|
|
17
17
|
# Review data shared by review.new and review.updated payloads.
|
|
18
18
|
class ReviewWebhookReview < ApiModelBase
|
|
19
|
-
# Platform review ID (e.g. \"accounts/123/locations/456/reviews/789\" for Google Business).
|
|
19
|
+
# Platform review ID (e.g. \"accounts/123/locations/456/reviews/789\" for Google Business Profile).
|
|
20
20
|
attr_accessor :id
|
|
21
21
|
|
|
22
22
|
# Platform the review originated on. Currently Google Business Profile only.
|
|
@@ -15,7 +15,7 @@ require 'time'
|
|
|
15
15
|
|
|
16
16
|
module Zernio
|
|
17
17
|
class ReviewWebhookReviewReviewer < ApiModelBase
|
|
18
|
-
# Platform reviewer ID. Null when the platform does not expose it (common on Google Business anonymous reviews).
|
|
18
|
+
# Platform reviewer ID. Null when the platform does not expose it (common on Google Business Profile anonymous reviews).
|
|
19
19
|
attr_accessor :id
|
|
20
20
|
|
|
21
21
|
attr_accessor :name
|
|
@@ -29,7 +29,7 @@ module Zernio
|
|
|
29
29
|
# Human-readable location display name, NOT a resource name. Do not use it to build API paths.
|
|
30
30
|
attr_accessor :selected_location_name
|
|
31
31
|
|
|
32
|
-
# Bare
|
|
32
|
+
# Bare Google Business Profile location id. Combine with the Google Business Profile account id as accounts/{gbpAccountId}/locations/{selectedLocationId} to form the location resource names that gmb-reviews/batch expects in locationNames.
|
|
33
33
|
attr_accessor :selected_location_id
|
|
34
34
|
|
|
35
35
|
class EnumAttributeValidator
|
|
@@ -18,10 +18,10 @@ module Zernio
|
|
|
18
18
|
# Profile ID from your connection flow
|
|
19
19
|
attr_accessor :profile_id
|
|
20
20
|
|
|
21
|
-
# The Google Business location ID selected by the user
|
|
21
|
+
# The Google Business Profile location ID selected by the user
|
|
22
22
|
attr_accessor :location_id
|
|
23
23
|
|
|
24
|
-
# Optional but recommended. The Google Business Account resource name (\"accounts/123\") that owns the selected location (returned per-location by GET /v1/connect/googlebusiness/locations). When provided, the location is resolved directly instead of by enumerating the account, which is required for accounts that own many locations. Omit only for small accounts.
|
|
24
|
+
# Optional but recommended. The Google Business Profile Account resource name (\"accounts/123\") that owns the selected location (returned per-location by GET /v1/connect/googlebusiness/locations). When provided, the location is resolved directly instead of by enumerating the account, which is required for accounts that own many locations. Omit only for small accounts.
|
|
25
25
|
attr_accessor :account_id
|
|
26
26
|
|
|
27
27
|
# Token from the OAuth callback redirect (pendingDataToken query param). Tokens and profile data are retrieved server-side from this token.
|
|
@@ -21,7 +21,7 @@ module Zernio
|
|
|
21
21
|
# DM channel snowflake (Discord auto-creates one per recipient pair)
|
|
22
22
|
attr_accessor :channel_id
|
|
23
23
|
|
|
24
|
-
# Direct link to the message
|
|
24
|
+
# Direct link to the message, using Discord's @me path for DMs
|
|
25
25
|
attr_accessor :url
|
|
26
26
|
|
|
27
27
|
attr_accessor :timestamp
|
|
@@ -18,7 +18,7 @@ module Zernio
|
|
|
18
18
|
# Platform id of the sent message (not returned for Reddit). For WhatsApp this is the raw Meta wamid, the same id delivered as message.platformMessageId on webhooks and delivery-status updates, and the value to pass as replyTo to quote-reply.
|
|
19
19
|
attr_accessor :message_id
|
|
20
20
|
|
|
21
|
-
# Zernio conversation id, echoed so the thread can be read back or replied to. It equals the id the list-conversations endpoint returns for Telegram, WhatsApp, SMS and Slack; for Facebook, Instagram, Bluesky and Reddit that endpoint returns the platform thread id instead, so do not correlate the two by equality. For X
|
|
21
|
+
# Zernio conversation id, echoed so the thread can be read back or replied to. It equals the id the list-conversations endpoint returns for Telegram, WhatsApp, SMS and Slack; for Facebook, Instagram, Bluesky and Reddit that endpoint returns the platform thread id instead, so do not correlate the two by equality. For X, when the request addressed the conversation by its Twitter dm_conversation_id, that platform id is echoed back instead. Omitted when the send succeeded but the conversation could not be resolved to a stored record.
|
|
22
22
|
attr_accessor :conversation_id
|
|
23
23
|
|
|
24
24
|
# Echo of the sent attachment with its resolved public URL, when one is available (Facebook, Instagram, Telegram, WhatsApp).
|
|
@@ -15,7 +15,7 @@ require 'time'
|
|
|
15
15
|
|
|
16
16
|
module Zernio
|
|
17
17
|
class SendInboxMessageRequest < ApiModelBase
|
|
18
|
-
#
|
|
18
|
+
# Account ID
|
|
19
19
|
attr_accessor :account_id
|
|
20
20
|
|
|
21
21
|
# Message text
|
|
@@ -36,13 +36,13 @@ module Zernio
|
|
|
36
36
|
# WhatsApp only. Display name for a document sent via attachmentUrl with attachmentType: file (e.g. \"Report.pdf\"). Maps to the recipient's file name; without it WhatsApp derives the name from the URL and shows \"Untitled\". Ignored for image/video/audio and for binary uploads (which use the uploaded file's name).
|
|
37
37
|
attr_accessor :attachment_name
|
|
38
38
|
|
|
39
|
-
# WhatsApp only. When `true` on an audio attachment, the message is sent as a voice message (PTT)
|
|
39
|
+
# WhatsApp only. When `true` on an audio attachment, the message is sent as a voice message (PTT): the recipient sees the waveform + voice-note UI instead of a basic audio attachment. The audio file MUST be `.ogg` encoded with the OPUS codec (mono) per Meta's voice-message contract; other formats are rejected by WhatsApp. Ignored for non-audio attachments.
|
|
40
40
|
attr_accessor :voice_note
|
|
41
41
|
|
|
42
42
|
# Quick reply buttons. Mutually exclusive with buttons. Max 13 items.
|
|
43
43
|
attr_accessor :quick_replies
|
|
44
44
|
|
|
45
|
-
# Action buttons. Mutually exclusive with quickReplies. Max 3 items. Instagram / Facebook: also mutually exclusive with `template`. A Meta message carries one body shape, so sending both is a 400 rather than a silent drop of the buttons. WhatsApp: buttons always render as interactive reply buttons. Only `title` and `payload` are used
|
|
45
|
+
# Action buttons. Mutually exclusive with quickReplies. Max 3 items. Instagram / Facebook: also mutually exclusive with `template`. A Meta message carries one body shape, so sending both is a 400 rather than a silent drop of the buttons. WhatsApp: buttons always render as interactive reply buttons. Only `title` and `payload` are used; `type`, `url`, and `phone` are ignored (WhatsApp has no URL/phone button in this field; use the `interactive` field with `type: cta_url` for a link button). `payload` becomes the button reply ID delivered on the `message.received` webhook when the user taps. To send a simple reply-button message, provide `title` + `payload` and set `type: postback`, e.g. `{ \"type\": \"postback\", \"title\": \"Yes\", \"payload\": \"yes\" }`. Combine `buttons` with `attachmentUrl` and `attachmentType` `image`, `video`, or `file` to render one WhatsApp message with a media header, body text, and reply buttons. Audio is not a supported interactive header and returns 400 when combined with buttons.
|
|
46
46
|
attr_accessor :buttons
|
|
47
47
|
|
|
48
48
|
attr_accessor :template
|
|
@@ -15,13 +15,13 @@ require 'time'
|
|
|
15
15
|
|
|
16
16
|
module Zernio
|
|
17
17
|
class SendPrivateReplyToCommentRequest < ApiModelBase
|
|
18
|
-
# The
|
|
18
|
+
# The account ID (Instagram or Facebook)
|
|
19
19
|
attr_accessor :account_id
|
|
20
20
|
|
|
21
21
|
# The message text to send as a private DM
|
|
22
22
|
attr_accessor :message
|
|
23
23
|
|
|
24
|
-
# Optional quick-reply chips appended to the message. Visible only in the Instagram and Messenger apps (not on web). Maximum 13 entries. Mutually exclusive with `buttons`. Note: chips do NOT render in the Instagram Message Requests folder where DMs from non-followers land
|
|
24
|
+
# Optional quick-reply chips appended to the message. Visible only in the Instagram and Messenger apps (not on web). Maximum 13 entries. Mutually exclusive with `buttons`. Note: chips do NOT render in the Instagram Message Requests folder where DMs from non-followers land. Use `buttons` instead for cold reach.
|
|
25
25
|
attr_accessor :quick_replies
|
|
26
26
|
|
|
27
27
|
# Optional 1-3 inline buttons rendered as part of the same message bubble via Meta's button_template. Visible in the Instagram Message Requests folder (unlike quick replies). Mutually exclusive with `quickReplies`.
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
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 Zernio
|
|
17
|
+
class SetConversationThreadControl200Response < ApiModelBase
|
|
18
|
+
attr_accessor :success
|
|
19
|
+
|
|
20
|
+
attr_accessor :control
|
|
21
|
+
|
|
22
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
23
|
+
def self.attribute_map
|
|
24
|
+
{
|
|
25
|
+
:'success' => :'success',
|
|
26
|
+
:'control' => :'control'
|
|
27
|
+
}
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Returns attribute mapping this model knows about
|
|
31
|
+
def self.acceptable_attribute_map
|
|
32
|
+
attribute_map
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Returns all the JSON keys this model knows about
|
|
36
|
+
def self.acceptable_attributes
|
|
37
|
+
acceptable_attribute_map.values
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Attribute type mapping.
|
|
41
|
+
def self.openapi_types
|
|
42
|
+
{
|
|
43
|
+
:'success' => :'Boolean',
|
|
44
|
+
:'control' => :'SetConversationThreadControl200ResponseControl'
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# List of attributes with nullable: true
|
|
49
|
+
def self.openapi_nullable
|
|
50
|
+
Set.new([
|
|
51
|
+
])
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Initializes the object
|
|
55
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
56
|
+
def initialize(attributes = {})
|
|
57
|
+
if (!attributes.is_a?(Hash))
|
|
58
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::SetConversationThreadControl200Response` initialize method"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
62
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
63
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
64
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
65
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::SetConversationThreadControl200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
66
|
+
end
|
|
67
|
+
h[k.to_sym] = v
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if attributes.key?(:'success')
|
|
71
|
+
self.success = attributes[:'success']
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
if attributes.key?(:'control')
|
|
75
|
+
self.control = attributes[:'control']
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
80
|
+
# @return Array for valid properties with the reasons
|
|
81
|
+
def list_invalid_properties
|
|
82
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
83
|
+
invalid_properties = Array.new
|
|
84
|
+
invalid_properties
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Check to see if the all the properties in the model are valid
|
|
88
|
+
# @return true if the model is valid
|
|
89
|
+
def valid?
|
|
90
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
91
|
+
true
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Checks equality by comparing each attribute.
|
|
95
|
+
# @param [Object] Object to be compared
|
|
96
|
+
def ==(o)
|
|
97
|
+
return true if self.equal?(o)
|
|
98
|
+
self.class == o.class &&
|
|
99
|
+
success == o.success &&
|
|
100
|
+
control == o.control
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# @see the `==` method
|
|
104
|
+
# @param [Object] Object to be compared
|
|
105
|
+
def eql?(o)
|
|
106
|
+
self == o
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Calculates hash code according to all attributes.
|
|
110
|
+
# @return [Integer] Hash code
|
|
111
|
+
def hash
|
|
112
|
+
[success, control].hash
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Builds the object from hash
|
|
116
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
117
|
+
# @return [Object] Returns the model itself
|
|
118
|
+
def self.build_from_hash(attributes)
|
|
119
|
+
return nil unless attributes.is_a?(Hash)
|
|
120
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
121
|
+
transformed_hash = {}
|
|
122
|
+
openapi_types.each_pair do |key, type|
|
|
123
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
124
|
+
transformed_hash["#{key}"] = nil
|
|
125
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
126
|
+
# check to ensure the input is an array given that the attribute
|
|
127
|
+
# is documented as an array but the input is not
|
|
128
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
129
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
130
|
+
end
|
|
131
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
132
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
new(transformed_hash)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# Returns the object in the form of hash
|
|
139
|
+
# @return [Hash] Returns the object in the form of hash
|
|
140
|
+
def to_hash
|
|
141
|
+
hash = {}
|
|
142
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
143
|
+
value = self.send(attr)
|
|
144
|
+
if value.nil?
|
|
145
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
146
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
hash[param] = _to_hash(value)
|
|
150
|
+
end
|
|
151
|
+
hash
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
end
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Zernio API
|
|
3
|
+
|
|
4
|
+
#API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.4
|
|
7
|
+
Contact: support@zernio.com
|
|
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 Zernio
|
|
17
|
+
class SetConversationThreadControl200ResponseControl < ApiModelBase
|
|
18
|
+
attr_accessor :owner
|
|
19
|
+
|
|
20
|
+
class EnumAttributeValidator
|
|
21
|
+
attr_reader :datatype
|
|
22
|
+
attr_reader :allowable_values
|
|
23
|
+
|
|
24
|
+
def initialize(datatype, allowable_values)
|
|
25
|
+
@allowable_values = allowable_values.map do |value|
|
|
26
|
+
case datatype.to_s
|
|
27
|
+
when /Integer/i
|
|
28
|
+
value.to_i
|
|
29
|
+
when /Float/i
|
|
30
|
+
value.to_f
|
|
31
|
+
else
|
|
32
|
+
value
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def valid?(value)
|
|
38
|
+
!value || allowable_values.include?(value)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
43
|
+
def self.attribute_map
|
|
44
|
+
{
|
|
45
|
+
:'owner' => :'owner'
|
|
46
|
+
}
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Returns attribute mapping this model knows about
|
|
50
|
+
def self.acceptable_attribute_map
|
|
51
|
+
attribute_map
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Returns all the JSON keys this model knows about
|
|
55
|
+
def self.acceptable_attributes
|
|
56
|
+
acceptable_attribute_map.values
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Attribute type mapping.
|
|
60
|
+
def self.openapi_types
|
|
61
|
+
{
|
|
62
|
+
:'owner' => :'String'
|
|
63
|
+
}
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# List of attributes with nullable: true
|
|
67
|
+
def self.openapi_nullable
|
|
68
|
+
Set.new([
|
|
69
|
+
])
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Initializes the object
|
|
73
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
74
|
+
def initialize(attributes = {})
|
|
75
|
+
if (!attributes.is_a?(Hash))
|
|
76
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::SetConversationThreadControl200ResponseControl` initialize method"
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
80
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
81
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
82
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
83
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::SetConversationThreadControl200ResponseControl`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
84
|
+
end
|
|
85
|
+
h[k.to_sym] = v
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if attributes.key?(:'owner')
|
|
89
|
+
self.owner = attributes[:'owner']
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
94
|
+
# @return Array for valid properties with the reasons
|
|
95
|
+
def list_invalid_properties
|
|
96
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
97
|
+
invalid_properties = Array.new
|
|
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
|
+
owner_validator = EnumAttributeValidator.new('String', ["app", "ai_agent", "other"])
|
|
106
|
+
return false unless owner_validator.valid?(@owner)
|
|
107
|
+
true
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
111
|
+
# @param [Object] owner Object to be assigned
|
|
112
|
+
def owner=(owner)
|
|
113
|
+
validator = EnumAttributeValidator.new('String', ["app", "ai_agent", "other"])
|
|
114
|
+
unless validator.valid?(owner)
|
|
115
|
+
fail ArgumentError, "invalid value for \"owner\", must be one of #{validator.allowable_values}."
|
|
116
|
+
end
|
|
117
|
+
@owner = owner
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Checks equality by comparing each attribute.
|
|
121
|
+
# @param [Object] Object to be compared
|
|
122
|
+
def ==(o)
|
|
123
|
+
return true if self.equal?(o)
|
|
124
|
+
self.class == o.class &&
|
|
125
|
+
owner == o.owner
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# @see the `==` method
|
|
129
|
+
# @param [Object] Object to be compared
|
|
130
|
+
def eql?(o)
|
|
131
|
+
self == o
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
# Calculates hash code according to all attributes.
|
|
135
|
+
# @return [Integer] Hash code
|
|
136
|
+
def hash
|
|
137
|
+
[owner].hash
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
# Builds the object from hash
|
|
141
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
142
|
+
# @return [Object] Returns the model itself
|
|
143
|
+
def self.build_from_hash(attributes)
|
|
144
|
+
return nil unless attributes.is_a?(Hash)
|
|
145
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
146
|
+
transformed_hash = {}
|
|
147
|
+
openapi_types.each_pair do |key, type|
|
|
148
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
149
|
+
transformed_hash["#{key}"] = nil
|
|
150
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
151
|
+
# check to ensure the input is an array given that the attribute
|
|
152
|
+
# is documented as an array but the input is not
|
|
153
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
154
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
155
|
+
end
|
|
156
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
157
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
new(transformed_hash)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# Returns the object in the form of hash
|
|
164
|
+
# @return [Hash] Returns the object in the form of hash
|
|
165
|
+
def to_hash
|
|
166
|
+
hash = {}
|
|
167
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
168
|
+
value = self.send(attr)
|
|
169
|
+
if value.nil?
|
|
170
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
171
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
hash[param] = _to_hash(value)
|
|
175
|
+
end
|
|
176
|
+
hash
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
end
|