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
|
@@ -103,7 +103,7 @@ end
|
|
|
103
103
|
|
|
104
104
|
Create a hosted KYC link
|
|
105
105
|
|
|
106
|
-
Deprecated alias of `/v1/phone-numbers/kyc/share`; same contract. New integrations should use that path. Create a single-use, 7-day hosted KYC link that your end customer completes WITHOUT a Zernio login
|
|
106
|
+
Deprecated alias of `/v1/phone-numbers/kyc/share`; same contract. New integrations should use that path. Create a single-use, 7-day hosted KYC link that your end customer completes WITHOUT a Zernio login. Useful when the person who holds the ID and address is not your team. They fill the regulated verification on a Zernio-hosted page; the number provisions under YOUR account once they submit. Only regulated (KYC) countries are valid: a country that does not require KYC returns 400. White-label the page with `branding` (your company name, logo, brand color). Supply `redirect_url` to send the end customer back to your own site after a successful submit (completion params are appended; see below). Listen for the `whatsapp.number.kyc_submitted` webhook to react when the form is completed.
|
|
107
107
|
|
|
108
108
|
### Examples
|
|
109
109
|
|
|
@@ -186,7 +186,7 @@ Zernio.configure do |config|
|
|
|
186
186
|
end
|
|
187
187
|
|
|
188
188
|
api_instance = Zernio::WhatsAppPhoneNumbersApi.new
|
|
189
|
-
account_id = 'account_id_example' # String | WhatsApp
|
|
189
|
+
account_id = 'account_id_example' # String | WhatsApp account ID
|
|
190
190
|
|
|
191
191
|
begin
|
|
192
192
|
# Get number status
|
|
@@ -219,7 +219,7 @@ end
|
|
|
219
219
|
|
|
220
220
|
| Name | Type | Description | Notes |
|
|
221
221
|
| ---- | ---- | ----------- | ----- |
|
|
222
|
-
| **account_id** | **String** | WhatsApp
|
|
222
|
+
| **account_id** | **String** | WhatsApp account ID | |
|
|
223
223
|
|
|
224
224
|
### Return type
|
|
225
225
|
|
|
@@ -312,7 +312,7 @@ end
|
|
|
312
312
|
|
|
313
313
|
Get declined requirements
|
|
314
314
|
|
|
315
|
-
Deprecated alias of `/v1/phone-numbers/{id}/remediate`; same contract. New integrations should use that path. For a number in `regulatory_declined`, returns ONLY the requirements the reviewer flagged declined, as a form spec (same shape as the KYC form GET). The customer fixes
|
|
315
|
+
Deprecated alias of `/v1/phone-numbers/{id}/remediate`; same contract. New integrations should use that path. For a number in `regulatory_declined`, returns ONLY the requirements the reviewer flagged declined, as a form spec (same shape as the KYC form GET). The customer fixes only those, because Telnyx supports correcting a declined requirement group and re-submitting it (no new number/group). Falls back to the full spec if the provider exposes no per-requirement flags.
|
|
316
316
|
|
|
317
317
|
### Examples
|
|
318
318
|
|
|
@@ -381,7 +381,7 @@ end
|
|
|
381
381
|
|
|
382
382
|
Get phone number
|
|
383
383
|
|
|
384
|
-
Deprecated alias of `/v1/phone-numbers/{id}`; same contract. New integrations should use that path. Retrieve the current status of a purchased phone number. Poll this to track Meta pre-verification (US sync path) and, for regulated (Tier 3/4) numbers, the async lifecycle: pending_regulatory → active (or regulatory_declined). When a regulated number has an Onfido ID step, `onfidoVerificationUrl` appears here once the order is placed
|
|
384
|
+
Deprecated alias of `/v1/phone-numbers/{id}`; same contract. New integrations should use that path. Retrieve the current status of a purchased phone number. Poll this to track Meta pre-verification (US sync path) and, for regulated (Tier 3/4) numbers, the async lifecycle: pending_regulatory → active (or regulatory_declined). When a regulated number has an Onfido ID step, `onfidoVerificationUrl` appears here once the order is placed. Forward it to the end user. (Or subscribe to the whatsapp.number.* webhooks instead of polling.)
|
|
385
385
|
|
|
386
386
|
### Examples
|
|
387
387
|
|
|
@@ -450,7 +450,7 @@ end
|
|
|
450
450
|
|
|
451
451
|
List phone numbers
|
|
452
452
|
|
|
453
|
-
Deprecated alias of `/v1/phone-numbers`; same contract. New integrations should use that path. List all WhatsApp phone numbers purchased by the authenticated user. By default, released numbers are excluded. Connected (bring-your-own) numbers are returned in the separate `connected` array
|
|
453
|
+
Deprecated alias of `/v1/phone-numbers`; same contract. New integrations should use that path. List all WhatsApp phone numbers purchased by the authenticated user. By default, released numbers are excluded. Connected (bring-your-own) numbers are returned in the separate `connected` array. They are not billed and have no provisioning lifecycle.
|
|
454
454
|
|
|
455
455
|
### Examples
|
|
456
456
|
|
|
@@ -465,7 +465,7 @@ end
|
|
|
465
465
|
|
|
466
466
|
api_instance = Zernio::WhatsAppPhoneNumbersApi.new
|
|
467
467
|
opts = {
|
|
468
|
-
status: 'provisioning', # String | Filter by status (by default excludes released numbers). NOTE: `status=pending_regulatory` returns the \"provisioning\" view
|
|
468
|
+
status: 'provisioning', # String | Filter by status (by default excludes released numbers). NOTE: `status=pending_regulatory` returns the \"provisioning\" view: numbers still in review PLUS recently-declined (last 30 days) ones, so a failed registration surfaces (with `regulatoryDeclineReason`) instead of silently disappearing. Declined numbers can be re-submitted via POST /v1/whatsapp/phone-numbers/{id}/remediate. `verifying` is the short-lived state after the number is provisioned on our side while WhatsApp confirms the activation code; the number is not billed until it reaches `active`.
|
|
469
469
|
profile_id: 'profile_id_example' # String | Filter by profile
|
|
470
470
|
}
|
|
471
471
|
|
|
@@ -500,7 +500,7 @@ end
|
|
|
500
500
|
|
|
501
501
|
| Name | Type | Description | Notes |
|
|
502
502
|
| ---- | ---- | ----------- | ----- |
|
|
503
|
-
| **status** | **String** | Filter by status (by default excludes released numbers). NOTE: `status=pending_regulatory` returns the \"provisioning\" view
|
|
503
|
+
| **status** | **String** | Filter by status (by default excludes released numbers). NOTE: `status=pending_regulatory` returns the \"provisioning\" view: numbers still in review PLUS recently-declined (last 30 days) ones, so a failed registration surfaces (with `regulatoryDeclineReason`) instead of silently disappearing. Declined numbers can be re-submitted via POST /v1/whatsapp/phone-numbers/{id}/remediate. `verifying` is the short-lived state after the number is provisioned on our side while WhatsApp confirms the activation code; the number is not billed until it reaches `active`. | [optional] |
|
|
504
504
|
| **profile_id** | **String** | Filter by profile | [optional] |
|
|
505
505
|
|
|
506
506
|
### Return type
|
|
@@ -589,7 +589,7 @@ This endpoint does not need any parameter.
|
|
|
589
589
|
|
|
590
590
|
Move a number to another profile
|
|
591
591
|
|
|
592
|
-
Move a provisioned number to a different profile. A number is not a single record. Alongside the number itself there are hidden telephony owner accounts (platform `phone`, plus `sms` when SMS is enabled) and, once WhatsApp is connected, the `whatsapp` account. They all carry a profileId and this endpoint moves them together. Use this instead of `PATCH /v1/accounts/{accountId}`: that one moves the
|
|
592
|
+
Move a provisioned number to a different profile. A number is not a single record. Alongside the number itself there are hidden telephony owner accounts (platform `phone`, plus `sms` when SMS is enabled) and, once WhatsApp is connected, the `whatsapp` account. They all carry a profileId and this endpoint moves them together. Use this instead of `PATCH /v1/accounts/{accountId}`: that one moves the account only and leaves the number itself pinned to its original profile, which splits the number across two profiles. Connecting a Zernio-provisioned number from any profile but its own is rejected with a `409` (`WHATSAPP_NUMBER_PINNED_TO_PROFILE`). This endpoint is how you re-home the number first, so it can then be connected from the new profile. `id` is the number record id from `GET /v1/phone-numbers`, not an account id. A profile holds at most one account per platform, so the destination must be free of every platform this number occupies.
|
|
593
593
|
|
|
594
594
|
### Examples
|
|
595
595
|
|
|
@@ -729,7 +729,7 @@ end
|
|
|
729
729
|
|
|
730
730
|
Release phone number
|
|
731
731
|
|
|
732
|
-
Deprecated alias of `/v1/phone-numbers/{id}`; same contract. New integrations should use that path. Release a purchased phone number. This will: 1. Disconnect any linked WhatsApp
|
|
732
|
+
Deprecated alias of `/v1/phone-numbers/{id}`; same contract. New integrations should use that path. Release a purchased phone number. This will: 1. Disconnect any linked WhatsApp account 2. Decrement the Stripe subscription quantity (or cancel if last number) 3. Release the number from Telnyx 4. Mark the number as released
|
|
733
733
|
|
|
734
734
|
### Examples
|
|
735
735
|
|
|
@@ -798,7 +798,7 @@ end
|
|
|
798
798
|
|
|
799
799
|
Resubmit a declined number
|
|
800
800
|
|
|
801
|
-
Deprecated alias of `/v1/phone-numbers/{id}/remediate`; same contract. New integrations should use that path. Submit corrected values/documents for the declined requirement(s). We PATCH them onto the SAME requirement group and re-submit it for approval; the number goes `regulatory_declined` → `pending_regulatory`. No new number and no new billing. Body shape matches the KYC submit (values / documents / address)
|
|
801
|
+
Deprecated alias of `/v1/phone-numbers/{id}/remediate`; same contract. New integrations should use that path. Submit corrected values/documents for the declined requirement(s). We PATCH them onto the SAME requirement group and re-submit it for approval; the number goes `regulatory_declined` → `pending_regulatory`. No new number and no new billing. Body shape matches the KYC submit (values / documents / address). Send only the corrected fields.
|
|
802
802
|
|
|
803
803
|
### Examples
|
|
804
804
|
|
|
@@ -950,7 +950,7 @@ end
|
|
|
950
950
|
|
|
951
951
|
Submit KYC
|
|
952
952
|
|
|
953
|
-
Deprecated alias of `/v1/phone-numbers/kyc`; same contract. New integrations should use that path. Submit the end customer's KYC (textual values, uploaded documents, address) for a Tier 3/4 country. Documents are streamed straight to the number provider and are not stored by Zernio. Builds + submits a regulatory requirement group and claims a pending_regulatory slot; the number is ordered + activated once the provider approves (asynchronous). A customer may hold several same-country numbers in review at once; a double-submit of the SAME attempt is deduped via `submissionId`. For an ID-card document requirement, carriers commonly require BOTH sides: combine the front and back into a single file before uploading (the dashboard does this automatically). A one-sided ID is a common decline reason; fix it via POST /v1/whatsapp/phone-numbers/{id}/remediate. Before submitting, call GET /v1/whatsapp/phone-numbers/availability to check the country has deliverable inventory and, for geographic-match countries, which area the address must be in
|
|
953
|
+
Deprecated alias of `/v1/phone-numbers/kyc`; same contract. New integrations should use that path. Submit the end customer's KYC (textual values, uploaded documents, address) for a Tier 3/4 country. Documents are streamed straight to the number provider and are not stored by Zernio. Builds + submits a regulatory requirement group and claims a pending_regulatory slot; the number is ordered + activated once the provider approves (asynchronous). A customer may hold several same-country numbers in review at once; a double-submit of the SAME attempt is deduped via `submissionId`. For an ID-card document requirement, carriers commonly require BOTH sides: combine the front and back into a single file before uploading (the dashboard does this automatically). A one-sided ID is a common decline reason; fix it via POST /v1/whatsapp/phone-numbers/{id}/remediate. Before submitting, call GET /v1/whatsapp/phone-numbers/availability to check the country has deliverable inventory and, for geographic-match countries, which area the address must be in. Otherwise the submission can pass review yet never be assignable a number.
|
|
954
954
|
|
|
955
955
|
### Examples
|
|
956
956
|
|
data/docs/WhatsAppSandboxApi.md
CHANGED
|
@@ -15,7 +15,7 @@ All URIs are relative to *https://zernio.com/api*
|
|
|
15
15
|
|
|
16
16
|
Start a sandbox activation
|
|
17
17
|
|
|
18
|
-
Creates (or refreshes) a pending sandbox session for the given phone and immediately fires the verified sandbox template from the shared sandbox number to that phone. The session activates when the phone owner replies to that WhatsApp message
|
|
18
|
+
Creates (or refreshes) a pending sandbox session for the given phone and immediately fires the verified sandbox template from the shared sandbox number to that phone. The session activates when the phone owner replies to that WhatsApp message: the reply itself is proof of ownership. One phone per user: if the caller already has a non-expired session for a DIFFERENT phone, the request is rejected with `invalid_field_value` (the message names the existing phone so it can be revoked first). Re-creating a session for the SAME phone is idempotent and refreshes the verification template. If Meta rejects the template send (not a WhatsApp number, paused WABA, token issue), the pending row is rolled back and the Meta error message is returned in `error` so the caller knows why.
|
|
19
19
|
|
|
20
20
|
### Examples
|
|
21
21
|
|
|
@@ -84,7 +84,7 @@ end
|
|
|
84
84
|
|
|
85
85
|
Revoke a sandbox session
|
|
86
86
|
|
|
87
|
-
Hard-deletes the session. The user loses the ability to send to that phone via the sandbox until they re-activate it. Existing conversations and messages already exchanged with that phone are untouched
|
|
87
|
+
Hard-deletes the session. The user loses the ability to send to that phone via the sandbox until they re-activate it. Existing conversations and messages already exchanged with that phone are untouched. Revocation only blocks FUTURE sends. Sessions belonging to other users cannot be revoked; the response is the same 400 as \"session not found\" so existence isn't leaked.
|
|
88
88
|
|
|
89
89
|
### Examples
|
|
90
90
|
|
|
@@ -27,7 +27,7 @@ Zernio.configure do |config|
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
api_instance = Zernio::WhatsAppTemplatesApi.new
|
|
30
|
-
account_id = 'account_id_example' # String | WhatsApp
|
|
30
|
+
account_id = 'account_id_example' # String | WhatsApp account ID
|
|
31
31
|
name = 'name_example' # String | Exact library template name
|
|
32
32
|
opts = {
|
|
33
33
|
language: 'language_example' # String | Desired language variant (e.g. es, en_US). If the template is not offered in it, the first available variant is returned and named in the response language field.
|
|
@@ -64,7 +64,7 @@ end
|
|
|
64
64
|
|
|
65
65
|
| Name | Type | Description | Notes |
|
|
66
66
|
| ---- | ---- | ----------- | ----- |
|
|
67
|
-
| **account_id** | **String** | WhatsApp
|
|
67
|
+
| **account_id** | **String** | WhatsApp account ID | |
|
|
68
68
|
| **name** | **String** | Exact library template name | |
|
|
69
69
|
| **language** | **String** | Desired language variant (e.g. es, en_US). If the template is not offered in it, the first available variant is returned and named in the response language field. | [optional] |
|
|
70
70
|
|
data/docs/WorkflowEdge.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
| **id** | **String** | | |
|
|
8
8
|
| **source** | **String** | Source node id | |
|
|
9
9
|
| **target** | **String** | Target node id | |
|
|
10
|
-
| **source_handle** | **String** | Selects a branch output of a multi-output node. Null (or omitted) = the node's single/default output. Known handles per node type: - **condition
|
|
10
|
+
| **source_handle** | **String** | Selects a branch output of a multi-output node. Null (or omitted) = the node's single/default output. Known handles per node type: - **condition**: a rule's `id`, or `'default'` (no rule matched) - **wait_for_reply**: `'reply'` (contact replied) | `'timeout'` (no reply in window) - **webhook**: `'success'` (2xx) | `'error'` (non-2xx / fetch failed) - **ai**: `'success'` (text/JSON response) | `'tool:<toolName>'` (model invoked that tool) | `'error'` (upstream failure / non-JSON in JSON mode) - **start_call**: `'success'` | `'permission_required'` | `'failed'` - **a_b_split**: `'a'` | `'b'` - **enroll_sequence**: `'success'` | `'error'` | [optional] |
|
|
11
11
|
|
|
12
12
|
## Example
|
|
13
13
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
| **source_handle** | **String** | The edge handle the executor followed out of this node (see `WorkflowEdge.sourceHandle`) | [optional] |
|
|
12
12
|
| **duration_ms** | **Integer** | Node run time; present on `node_completed` and `node_failed` | [optional] |
|
|
13
13
|
| **error_message** | **String** | Failure detail; present on `node_failed` and `execution_exited` | [optional] |
|
|
14
|
-
| **meta** | **Hash<String, Object>** | Per-node-type payload. Shape varies
|
|
14
|
+
| **meta** | **Hash<String, Object>** | Per-node-type payload. Shape varies; see WorkflowNode `type`. Examples: `send_message` → `{ messageType, text, recipient }`, `webhook` → `{ url, method, statusCode, responseTimeMs, responsePreview }`, `ai` → `{ model, provider, inputTokens, outputTokens, responsePreview }`, `condition` → `{ matchedHandle, rulesEvaluated }`, `a_b_split` → `{ percentage, chosen }`. | [optional] |
|
|
15
15
|
| **at** | **Time** | Event timestamp (UTC) | [optional] |
|
|
16
16
|
|
|
17
17
|
## Example
|
data/docs/WorkflowsApi.md
CHANGED
|
@@ -232,7 +232,7 @@ nil (empty response body)
|
|
|
232
232
|
|
|
233
233
|
Duplicate a workflow
|
|
234
234
|
|
|
235
|
-
Create an independent copy of a workflow's graph, name, description, and account binding. The copy is created in `draft` status with fresh execution counters and a new id
|
|
235
|
+
Create an independent copy of a workflow's graph, name, description, and account binding. The copy is created in `draft` status with fresh execution counters and a new id. Execution history is NOT copied. Useful for branching off a known-good workflow before making experimental edits.
|
|
236
236
|
|
|
237
237
|
### Examples
|
|
238
238
|
|
|
@@ -589,7 +589,7 @@ end
|
|
|
589
589
|
|
|
590
590
|
List a workflow's version history
|
|
591
591
|
|
|
592
|
-
Returns the snapshot history. A new version is recorded automatically before every PATCH to `nodes` / `edges` / `entryNodeId`, and explicitly when a previous version is restored. Lightweight list
|
|
592
|
+
Returns the snapshot history. A new version is recorded automatically before every PATCH to `nodes` / `edges` / `entryNodeId`, and explicitly when a previous version is restored. Lightweight list. Call `getWorkflowVersion` for the full snapshot graph.
|
|
593
593
|
|
|
594
594
|
### Examples
|
|
595
595
|
|
|
@@ -875,7 +875,7 @@ end
|
|
|
875
875
|
|
|
876
876
|
Manually start a workflow run
|
|
877
877
|
|
|
878
|
-
Kick off a run without waiting for an inbound message (useful for testing). Target an existing conversation by `conversationId`, or
|
|
878
|
+
Kick off a run without waiting for an inbound message (useful for testing). Target an existing conversation by `conversationId`, or (WhatsApp only) a phone number via `to` (a conversation is found or created). `text` seeds the run's `lastMessage` variable. The graph must be runnable.
|
|
879
879
|
|
|
880
880
|
### Examples
|
|
881
881
|
|
data/docs/XApiOperation.md
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **operation** | **String** | Internal operation key. Matches keys in `xApiCallsByOperation`. | [optional] |
|
|
8
|
-
| **event_type** | **String** |
|
|
9
|
-
| **display_name** | **String** | Human-readable label shown on
|
|
8
|
+
| **event_type** | **String** | Metering `event_type` emitted when this operation runs. | [optional] |
|
|
9
|
+
| **display_name** | **String** | Human-readable label shown on invoices. | [optional] |
|
|
10
10
|
| **price_per_call_usd** | **Float** | | [optional] |
|
|
11
11
|
| **price_per_call_cents** | **Float** | Per-call price in cents. Fractional values are intentional. | [optional] |
|
|
12
12
|
| **tier** | **String** | Tier key derived from `pricePerCallUsd` (e.g. `x_api_005` for $0.005, `x_api_200` for $0.200). Useful for grouping operations by price in dashboards. | [optional] |
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **method** | **String** | Zernio platform method name. | [optional] |
|
|
8
|
-
| **metering** | **String** | When the method actually bills the user: * `always`
|
|
8
|
+
| **metering** | **String** | When the method actually bills the user: * `always`: every call is metered * `analytics_optin`: only when the X account has analytics enabled * `inbox_optin`: only when the X account has inbox sync enabled * `absorbed`: Zernio eats the cost, never billed | [optional] |
|
|
9
9
|
|
|
10
10
|
## Example
|
|
11
11
|
|
data/docs/XApiPricing.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
| Name | Type | Description | Notes |
|
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
|
7
7
|
| **currency** | **String** | | [optional] |
|
|
8
|
-
| **markup** | **String** | Always 0
|
|
8
|
+
| **markup** | **String** | Always 0%, because Zernio does not mark up X API rates. | [optional] |
|
|
9
9
|
| **source** | **String** | | [optional] |
|
|
10
10
|
| **last_verified** | **Date** | Date the prices were last verified against X's published rates. | [optional] |
|
|
11
11
|
| **tiers** | [**Array<XApiPricingTiersInner>**](XApiPricingTiersInner.md) | Rollup of operations grouped by their per-call price. | [optional] |
|
|
@@ -20,7 +20,7 @@ module Zernio
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Create group
|
|
23
|
-
# Creates a new account group with a name and a list of
|
|
23
|
+
# Creates a new account group with a name and a list of account IDs. Accounts can belong to different profiles; the caller must have access to every account's profile. Group names must be unique per user.
|
|
24
24
|
# @param create_account_group_request [CreateAccountGroupRequest]
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
26
26
|
# @return [CreateAccountGroup201Response]
|
|
@@ -30,7 +30,7 @@ module Zernio
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
# Create group
|
|
33
|
-
# Creates a new account group with a name and a list of
|
|
33
|
+
# Creates a new account group with a name and a list of account IDs. Accounts can belong to different profiles; the caller must have access to every account's profile. Group names must be unique per user.
|
|
34
34
|
# @param create_account_group_request [CreateAccountGroupRequest]
|
|
35
35
|
# @param [Hash] opts the optional parameters
|
|
36
36
|
# @return [Array<(CreateAccountGroup201Response, Integer, Hash)>] CreateAccountGroup201Response data, response status code and response headers
|
|
@@ -20,7 +20,7 @@ module Zernio
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Disconnect account
|
|
23
|
-
# Disconnects and removes a connected
|
|
23
|
+
# Disconnects and removes a connected account. Repeating the call for an account already disconnected returns 404, the account stays in its 1h grace window and the disconnect is not re-run.
|
|
24
24
|
# @param account_id [String]
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
26
26
|
# @return [DeleteAccountGroup200Response]
|
|
@@ -30,7 +30,7 @@ module Zernio
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
# Disconnect account
|
|
33
|
-
# Disconnects and removes a connected
|
|
33
|
+
# Disconnects and removes a connected account. Repeating the call for an account already disconnected returns 404, the account stays in its 1h grace window and the disconnect is not re-run.
|
|
34
34
|
# @param account_id [String]
|
|
35
35
|
# @param [Hash] opts the optional parameters
|
|
36
36
|
# @return [Array<(DeleteAccountGroup200Response, Integer, Hash)>] DeleteAccountGroup200Response data, response status code and response headers
|
|
@@ -346,7 +346,7 @@ module Zernio
|
|
|
346
346
|
end
|
|
347
347
|
|
|
348
348
|
# Get follower stats
|
|
349
|
-
# Returns follower count history and growth metrics for connected
|
|
349
|
+
# Returns follower count history and growth metrics for connected accounts. Requires analytics add-on subscription. Follower counts are refreshed once per day.
|
|
350
350
|
# @param [Hash] opts the optional parameters
|
|
351
351
|
# @option opts [String] :account_ids Comma-separated list of account IDs (optional, defaults to all user's accounts)
|
|
352
352
|
# @option opts [String] :profile_id Filter by profile ID
|
|
@@ -360,7 +360,7 @@ module Zernio
|
|
|
360
360
|
end
|
|
361
361
|
|
|
362
362
|
# Get follower stats
|
|
363
|
-
# Returns follower count history and growth metrics for connected
|
|
363
|
+
# Returns follower count history and growth metrics for connected accounts. Requires analytics add-on subscription. Follower counts are refreshed once per day.
|
|
364
364
|
# @param [Hash] opts the optional parameters
|
|
365
365
|
# @option opts [String] :account_ids Comma-separated list of account IDs (optional, defaults to all user's accounts)
|
|
366
366
|
# @option opts [String] :profile_id Filter by profile ID
|
|
@@ -627,7 +627,7 @@ module Zernio
|
|
|
627
627
|
end
|
|
628
628
|
|
|
629
629
|
# List accounts
|
|
630
|
-
# Returns connected
|
|
630
|
+
# Returns connected accounts. Only includes accounts within the plan limit by default. Follower data requires analytics add-on. Supports optional server-side pagination via page/limit params. When omitted, returns all accounts (backward-compatible). page and limit must be supplied together; out-of-range page/limit values are rejected with 400 rather than silently clamped.
|
|
631
631
|
# @param [Hash] opts the optional parameters
|
|
632
632
|
# @option opts [String] :profile_id Filter accounts by profile ID. Must be a valid ObjectId.
|
|
633
633
|
# @option opts [String] :platform Filter accounts by platform (e.g. \"instagram\", \"twitter\").
|
|
@@ -642,7 +642,7 @@ module Zernio
|
|
|
642
642
|
end
|
|
643
643
|
|
|
644
644
|
# List accounts
|
|
645
|
-
# Returns connected
|
|
645
|
+
# Returns connected accounts. Only includes accounts within the plan limit by default. Follower data requires analytics add-on. Supports optional server-side pagination via page/limit params. When omitted, returns all accounts (backward-compatible). page and limit must be supplied together; out-of-range page/limit values are rejected with 400 rather than silently clamped.
|
|
646
646
|
# @param [Hash] opts the optional parameters
|
|
647
647
|
# @option opts [String] :profile_id Filter accounts by profile ID. Must be a valid ObjectId.
|
|
648
648
|
# @option opts [String] :platform Filter accounts by platform (e.g. \"instagram\", \"twitter\").
|
|
@@ -718,7 +718,7 @@ module Zernio
|
|
|
718
718
|
end
|
|
719
719
|
|
|
720
720
|
# Move account to another profile
|
|
721
|
-
# Moves a connected
|
|
721
|
+
# Moves a connected account to a different profile owned by the same user. The target profile must belong to the same user as the account. For API keys restricted to specific profiles, BOTH the source account's current profile AND the target profile must be in the key's allowed set. Calls with a target profile outside the key's scope return 403.
|
|
722
722
|
# @param account_id [String]
|
|
723
723
|
# @param move_account_to_profile_request [MoveAccountToProfileRequest]
|
|
724
724
|
# @param [Hash] opts the optional parameters
|
|
@@ -729,7 +729,7 @@ module Zernio
|
|
|
729
729
|
end
|
|
730
730
|
|
|
731
731
|
# Move account to another profile
|
|
732
|
-
# Moves a connected
|
|
732
|
+
# Moves a connected account to a different profile owned by the same user. The target profile must belong to the same user as the account. For API keys restricted to specific profiles, BOTH the source account's current profile AND the target profile must be in the key's allowed set. Calls with a target profile outside the key's scope return 403.
|
|
733
733
|
# @param account_id [String]
|
|
734
734
|
# @param move_account_to_profile_request [MoveAccountToProfileRequest]
|
|
735
735
|
# @param [Hash] opts the optional parameters
|
|
@@ -792,7 +792,7 @@ module Zernio
|
|
|
792
792
|
end
|
|
793
793
|
|
|
794
794
|
# Update account
|
|
795
|
-
# Updates a connected
|
|
795
|
+
# Updates a connected account's display name or username override. For X accounts on usage-based billing, also accepts an `xCapabilities` object to toggle background API operations that incur X API pass-through costs. Both fields are opt-in (default `false`). When off, no analytics syncs or DM polling are performed for that account, and no API call is metered for those operations. Publishing and deleting posts are always available regardless of these toggles. Setting `xCapabilities` on a non-X account returns 400.
|
|
796
796
|
# @param account_id [String]
|
|
797
797
|
# @param update_account_request [UpdateAccountRequest]
|
|
798
798
|
# @param [Hash] opts the optional parameters
|
|
@@ -803,7 +803,7 @@ module Zernio
|
|
|
803
803
|
end
|
|
804
804
|
|
|
805
805
|
# Update account
|
|
806
|
-
# Updates a connected
|
|
806
|
+
# Updates a connected account's display name or username override. For X accounts on usage-based billing, also accepts an `xCapabilities` object to toggle background API operations that incur X API pass-through costs. Both fields are opt-in (default `false`). When off, no analytics syncs or DM polling are performed for that account, and no API call is metered for those operations. Publishing and deleting posts are always available regardless of these toggles. Setting `xCapabilities` on a non-X account returns 400.
|
|
807
807
|
# @param account_id [String]
|
|
808
808
|
# @param update_account_request [UpdateAccountRequest]
|
|
809
809
|
# @param [Hash] opts the optional parameters
|
|
@@ -162,7 +162,7 @@ module Zernio
|
|
|
162
162
|
end
|
|
163
163
|
|
|
164
164
|
# Schedule a budget increase
|
|
165
|
-
# Pre-schedule a temporary budget increase (Black Friday, a launch, a sale) instead of editing the budget by hand on the day. Same target rule as the GET: exactly one of `campaignId` / `adSetId`. Two Meta constraints worth knowing before you call it. `timeStart` / `timeEnd` must fall on a 15-minute boundary, and a campaign cannot mix `ABSOLUTE` and `MULTIPLIER` across its schedules
|
|
165
|
+
# Pre-schedule a temporary budget increase (Black Friday, a launch, a sale) instead of editing the budget by hand on the day. Same target rule as the GET: exactly one of `campaignId` / `adSetId`. Two Meta constraints worth knowing before you call it. `timeStart` / `timeEnd` must fall on a 15-minute boundary, and a campaign cannot mix `ABSOLUTE` and `MULTIPLIER` across its schedules; the second type is rejected with \"Can't mix your budget scaling selection\". Window rules (must sit inside the campaign's run dates, minimum lead time, no overlap) are Meta's and its message is forwarded verbatim.
|
|
166
166
|
# @param create_high_demand_period_request [CreateHighDemandPeriodRequest]
|
|
167
167
|
# @param [Hash] opts the optional parameters
|
|
168
168
|
# @return [CreateHighDemandPeriod201Response]
|
|
@@ -172,7 +172,7 @@ module Zernio
|
|
|
172
172
|
end
|
|
173
173
|
|
|
174
174
|
# Schedule a budget increase
|
|
175
|
-
# Pre-schedule a temporary budget increase (Black Friday, a launch, a sale) instead of editing the budget by hand on the day. Same target rule as the GET: exactly one of `campaignId` / `adSetId`. Two Meta constraints worth knowing before you call it. `timeStart` / `timeEnd` must fall on a 15-minute boundary, and a campaign cannot mix `ABSOLUTE` and `MULTIPLIER` across its schedules
|
|
175
|
+
# Pre-schedule a temporary budget increase (Black Friday, a launch, a sale) instead of editing the budget by hand on the day. Same target rule as the GET: exactly one of `campaignId` / `adSetId`. Two Meta constraints worth knowing before you call it. `timeStart` / `timeEnd` must fall on a 15-minute boundary, and a campaign cannot mix `ABSOLUTE` and `MULTIPLIER` across its schedules; the second type is rejected with \"Can't mix your budget scaling selection\". Window rules (must sit inside the campaign's run dates, minimum lead time, no overlap) are Meta's and its message is forwarded verbatim.
|
|
176
176
|
# @param create_high_demand_period_request [CreateHighDemandPeriodRequest]
|
|
177
177
|
# @param [Hash] opts the optional parameters
|
|
178
178
|
# @return [Array<(CreateHighDemandPeriod201Response, Integer, Hash)>] CreateHighDemandPeriod201Response data, response status code and response headers
|
|
@@ -439,7 +439,7 @@ module Zernio
|
|
|
439
439
|
end
|
|
440
440
|
|
|
441
441
|
# List comments on an ad
|
|
442
|
-
# Returns comments on an ad's underlying creative post. Useful for moderating or analyzing engagement on dark posts (ad creatives that never went live organically), which the regular GET /v1/inbox/comments/{postId} endpoint cannot serve because dark posts are not in Zernio's post database. An ad that runs on both Facebook feed and Instagram feed has two separate underlying posts with separate comment threads (the creative's effective_object_story_id and effective_instagram_media_id). Use the `placement` query param to pick one; with no param the Instagram side is returned when it exists, otherwise Facebook. The identifiers are read from the ad record (persisted during sync) with a Marketing-API fallback for ads that predate the field. For Instagram-placed comments, the Instagram account that runs the ad must be connected to Zernio
|
|
442
|
+
# Returns comments on an ad's underlying creative post. Useful for moderating or analyzing engagement on dark posts (ad creatives that never went live organically), which the regular GET /v1/inbox/comments/{postId} endpoint cannot serve because dark posts are not in Zernio's post database. An ad that runs on both Facebook feed and Instagram feed has two separate underlying posts with separate comment threads (the creative's effective_object_story_id and effective_instagram_media_id). Use the `placement` query param to pick one; with no param the Instagram side is returned when it exists, otherwise Facebook. The identifiers are read from the ad record (persisted during sync) with a Marketing-API fallback for ads that predate the field. For Instagram-placed comments, the Instagram account that runs the ad must be connected to Zernio, because those comments are read through that account's token. If no connected Instagram account on the profile can read the ad's media, the call returns ads_connection_required (the Facebook side, if any, is still readable via ?placement=facebook). Meta-only for now. Other ad platforms (TikTok, LinkedIn, Pinterest, Google, X) are not wired to this endpoint and return feature_not_available. Requires the Ads add-on. Response shape matches GET /v1/inbox/comments/{postId}. The `{adId}` path segment accepts any identifier dialect Zernio indexes for the ad: Zernio internal `_id` (24-char hex), Meta's numeric `platformAdId` (the value shipped in `comment.received` webhooks as `comment.ad.id`), or the creative's `effective_object_story_id` / `effective_instagram_media_id`. Caller doesn't need a translation step.
|
|
443
443
|
# @param ad_id [String] Internal Zernio ad ID (ObjectId).
|
|
444
444
|
# @param [Hash] opts the optional parameters
|
|
445
445
|
# @option opts [String] :placement Which side of the ad to return comments for. Omit to default to the Instagram side when present, else Facebook. Returns ad_not_commentable if the ad has no such placement.
|
|
@@ -452,7 +452,7 @@ module Zernio
|
|
|
452
452
|
end
|
|
453
453
|
|
|
454
454
|
# List comments on an ad
|
|
455
|
-
# Returns comments on an ad's underlying creative post. Useful for moderating or analyzing engagement on dark posts (ad creatives that never went live organically), which the regular GET /v1/inbox/comments/{postId} endpoint cannot serve because dark posts are not in Zernio's post database. An ad that runs on both Facebook feed and Instagram feed has two separate underlying posts with separate comment threads (the creative's effective_object_story_id and effective_instagram_media_id). Use the `placement` query param to pick one; with no param the Instagram side is returned when it exists, otherwise Facebook. The identifiers are read from the ad record (persisted during sync) with a Marketing-API fallback for ads that predate the field. For Instagram-placed comments, the Instagram account that runs the ad must be connected to Zernio
|
|
455
|
+
# Returns comments on an ad's underlying creative post. Useful for moderating or analyzing engagement on dark posts (ad creatives that never went live organically), which the regular GET /v1/inbox/comments/{postId} endpoint cannot serve because dark posts are not in Zernio's post database. An ad that runs on both Facebook feed and Instagram feed has two separate underlying posts with separate comment threads (the creative's effective_object_story_id and effective_instagram_media_id). Use the `placement` query param to pick one; with no param the Instagram side is returned when it exists, otherwise Facebook. The identifiers are read from the ad record (persisted during sync) with a Marketing-API fallback for ads that predate the field. For Instagram-placed comments, the Instagram account that runs the ad must be connected to Zernio, because those comments are read through that account's token. If no connected Instagram account on the profile can read the ad's media, the call returns ads_connection_required (the Facebook side, if any, is still readable via ?placement=facebook). Meta-only for now. Other ad platforms (TikTok, LinkedIn, Pinterest, Google, X) are not wired to this endpoint and return feature_not_available. Requires the Ads add-on. Response shape matches GET /v1/inbox/comments/{postId}. The `{adId}` path segment accepts any identifier dialect Zernio indexes for the ad: Zernio internal `_id` (24-char hex), Meta's numeric `platformAdId` (the value shipped in `comment.received` webhooks as `comment.ad.id`), or the creative's `effective_object_story_id` / `effective_instagram_media_id`. Caller doesn't need a translation step.
|
|
456
456
|
# @param ad_id [String] Internal Zernio ad ID (ObjectId).
|
|
457
457
|
# @param [Hash] opts the optional parameters
|
|
458
458
|
# @option opts [String] :placement Which side of the ad to return comments for. Omit to default to the Instagram side when present, else Facebook. Returns ad_not_commentable if the ad has no such placement.
|
|
@@ -618,7 +618,7 @@ module Zernio
|
|
|
618
618
|
|
|
619
619
|
# Get ad account DSA defaults
|
|
620
620
|
# Returns the default DSA beneficiary and payor currently set on a Meta ad account, whether they were set via `PATCH /v1/ads/accounts` or in Meta Ads Manager. Fields are omitted when no default is configured. Meta accounts only.
|
|
621
|
-
# @param account_id [String]
|
|
621
|
+
# @param account_id [String] Account ID (metaads, or a facebook/instagram posting account)
|
|
622
622
|
# @param ad_account_id [String] Meta ad account ID (act_...)
|
|
623
623
|
# @param [Hash] opts the optional parameters
|
|
624
624
|
# @return [UpdateAdAccount200Response]
|
|
@@ -629,7 +629,7 @@ module Zernio
|
|
|
629
629
|
|
|
630
630
|
# Get ad account DSA defaults
|
|
631
631
|
# Returns the default DSA beneficiary and payor currently set on a Meta ad account, whether they were set via `PATCH /v1/ads/accounts` or in Meta Ads Manager. Fields are omitted when no default is configured. Meta accounts only.
|
|
632
|
-
# @param account_id [String]
|
|
632
|
+
# @param account_id [String] Account ID (metaads, or a facebook/instagram posting account)
|
|
633
633
|
# @param ad_account_id [String] Meta ad account ID (act_...)
|
|
634
634
|
# @param [Hash] opts the optional parameters
|
|
635
635
|
# @return [Array<(UpdateAdAccount200Response, Integer, Hash)>] UpdateAdAccount200Response data, response status code and response headers
|
|
@@ -689,7 +689,7 @@ module Zernio
|
|
|
689
689
|
|
|
690
690
|
# List DSA beneficiary/payor suggestions
|
|
691
691
|
# Returns Meta's suggested beneficiary/payor names for an ad account, derived by Meta from the account's recent activity. Useful for prefilling `dsaBeneficiary`/`dsaPayor` inputs, or the defaults sent to `PATCH /v1/ads/accounts`, in your own UI. Meta returns a single flat list. Entries are not labeled as beneficiary or payor, and since these are legal disclosures Zernio never applies them automatically: let your user pick the right entity. The list may be empty for accounts with little activity. Meta accounts only.
|
|
692
|
-
# @param account_id [String]
|
|
692
|
+
# @param account_id [String] Account ID (metaads, or a facebook/instagram posting account)
|
|
693
693
|
# @param ad_account_id [String] Meta ad account ID (act_...)
|
|
694
694
|
# @param [Hash] opts the optional parameters
|
|
695
695
|
# @return [GetDsaRecommendations200Response]
|
|
@@ -700,7 +700,7 @@ module Zernio
|
|
|
700
700
|
|
|
701
701
|
# List DSA beneficiary/payor suggestions
|
|
702
702
|
# Returns Meta's suggested beneficiary/payor names for an ad account, derived by Meta from the account's recent activity. Useful for prefilling `dsaBeneficiary`/`dsaPayor` inputs, or the defaults sent to `PATCH /v1/ads/accounts`, in your own UI. Meta returns a single flat list. Entries are not labeled as beneficiary or payor, and since these are legal disclosures Zernio never applies them automatically: let your user pick the right entity. The list may be empty for accounts with little activity. Meta accounts only.
|
|
703
|
-
# @param account_id [String]
|
|
703
|
+
# @param account_id [String] Account ID (metaads, or a facebook/instagram posting account)
|
|
704
704
|
# @param ad_account_id [String] Meta ad account ID (act_...)
|
|
705
705
|
# @param [Hash] opts the optional parameters
|
|
706
706
|
# @return [Array<(GetDsaRecommendations200Response, Integer, Hash)>] GetDsaRecommendations200Response data, response status code and response headers
|
|
@@ -896,8 +896,8 @@ module Zernio
|
|
|
896
896
|
end
|
|
897
897
|
|
|
898
898
|
# List ad accounts
|
|
899
|
-
# Returns the platform ad accounts available for the given
|
|
900
|
-
# @param account_id [String]
|
|
899
|
+
# Returns the platform ad accounts available for the given account (e.g. Meta ad accounts, TikTok advertiser IDs, Google Ads customer IDs). For TikTok agencies: enumerates every advertiser under every Business Center the token can read (paginated server-side), then chunks the lookup against TikTok's `/advertiser/info/` endpoint (which has a per-call cap of ≤100 IDs). Solo advertisers without a BC fall back to the OAuth-time `advertiser_ids` list. Cached for 1h on the SocialAccount; lazy-refreshed on first call after expiry. For Google Ads: responds `429` when Google's API quota is temporarily exhausted (instead of an empty list). Retry after a delay.
|
|
900
|
+
# @param account_id [String] Account ID
|
|
901
901
|
# @param [Hash] opts the optional parameters
|
|
902
902
|
# @option opts [String] :ad_account_id Filter response to a single platform ad account ID (e.g. `act_123` for Meta, advertiser_id for TikTok). Returns at most one item.
|
|
903
903
|
# @option opts [Integer] :limit Clamp the returned `accounts[]` length. Useful for typeahead pickers on agency tokens with hundreds of advertisers.
|
|
@@ -908,8 +908,8 @@ module Zernio
|
|
|
908
908
|
end
|
|
909
909
|
|
|
910
910
|
# List ad accounts
|
|
911
|
-
# Returns the platform ad accounts available for the given
|
|
912
|
-
# @param account_id [String]
|
|
911
|
+
# Returns the platform ad accounts available for the given account (e.g. Meta ad accounts, TikTok advertiser IDs, Google Ads customer IDs). For TikTok agencies: enumerates every advertiser under every Business Center the token can read (paginated server-side), then chunks the lookup against TikTok's `/advertiser/info/` endpoint (which has a per-call cap of ≤100 IDs). Solo advertisers without a BC fall back to the OAuth-time `advertiser_ids` list. Cached for 1h on the SocialAccount; lazy-refreshed on first call after expiry. For Google Ads: responds `429` when Google's API quota is temporarily exhausted (instead of an empty list). Retry after a delay.
|
|
912
|
+
# @param account_id [String] Account ID
|
|
913
913
|
# @param [Hash] opts the optional parameters
|
|
914
914
|
# @option opts [String] :ad_account_id Filter response to a single platform ad account ID (e.g. `act_123` for Meta, advertiser_id for TikTok). Returns at most one item.
|
|
915
915
|
# @option opts [Integer] :limit Clamp the returned `accounts[]` length. Useful for typeahead pickers on agency tokens with hundreds of advertisers.
|
|
@@ -288,8 +288,8 @@ module Zernio
|
|
|
288
288
|
end
|
|
289
289
|
|
|
290
290
|
# List custom audiences
|
|
291
|
-
# Returns custom audiences for the given ad account. Supports Meta, Google, TikTok, Pinterest, LinkedIn, and X
|
|
292
|
-
# @param account_id [String]
|
|
291
|
+
# Returns custom audiences for the given ad account. Supports Meta, Google, TikTok, Pinterest, LinkedIn, and X.
|
|
292
|
+
# @param account_id [String] Account ID
|
|
293
293
|
# @param ad_account_id [String] Platform ad account ID
|
|
294
294
|
# @param [Hash] opts the optional parameters
|
|
295
295
|
# @option opts [String] :platform
|
|
@@ -301,8 +301,8 @@ module Zernio
|
|
|
301
301
|
end
|
|
302
302
|
|
|
303
303
|
# List custom audiences
|
|
304
|
-
# Returns custom audiences for the given ad account. Supports Meta, Google, TikTok, Pinterest, LinkedIn, and X
|
|
305
|
-
# @param account_id [String]
|
|
304
|
+
# Returns custom audiences for the given ad account. Supports Meta, Google, TikTok, Pinterest, LinkedIn, and X.
|
|
305
|
+
# @param account_id [String] Account ID
|
|
306
306
|
# @param ad_account_id [String] Platform ad account ID
|
|
307
307
|
# @param [Hash] opts the optional parameters
|
|
308
308
|
# @option opts [String] :platform
|
|
@@ -373,7 +373,7 @@ module Zernio
|
|
|
373
373
|
end
|
|
374
374
|
|
|
375
375
|
# Replace audience companies
|
|
376
|
-
# Upload the company rows of a LinkedIn `company_list` audience (account-based marketing). LinkedIn-only, every other platform returns 422. A LinkedIn audience segment holds exactly one uploaded list, so the list you send here REPLACES the segment's list instead of being appended to it: always send the full set of companies. LinkedIn returns only the identifier of the uploaded file, never its rows, so the merge cannot be done for you, keep the source list on your side.
|
|
376
|
+
# Upload the company rows of a LinkedIn `company_list` audience (account-based marketing). LinkedIn-only, every other platform returns 422. A LinkedIn audience segment holds exactly one uploaded list, so the list you send here REPLACES the segment's list instead of being appended to it: always send the full set of companies. LinkedIn returns only the identifier of the uploaded file, never its rows, so the merge cannot be done for you, keep the source list on your side. How the matching behaves: - Rows are plain text (not hashed), matched against LinkedIn's own company graph. - Matching is asynchronous: LinkedIn takes up to 48h for a new audience and up to 24h for a later update, and the audience stays `processing` meanwhile. - LinkedIn does not document how quickly companies dropped from the list stop being targeted, so treat removals as eventual rather than immediate. - LinkedIn recommends at least 1,000 companies for a usable match rate, and caps a list at 300,000. The initial list is sent with `companies` on `POST /v1/ads/audiences`; this endpoint is for every change after that.
|
|
377
377
|
# @param audience_id [String]
|
|
378
378
|
# @param replace_ad_audience_companies_request [ReplaceAdAudienceCompaniesRequest]
|
|
379
379
|
# @param [Hash] opts the optional parameters
|
|
@@ -384,7 +384,7 @@ module Zernio
|
|
|
384
384
|
end
|
|
385
385
|
|
|
386
386
|
# Replace audience companies
|
|
387
|
-
# Upload the company rows of a LinkedIn `company_list` audience (account-based marketing). LinkedIn-only, every other platform returns 422. A LinkedIn audience segment holds exactly one uploaded list, so the list you send here REPLACES the segment's list instead of being appended to it: always send the full set of companies. LinkedIn returns only the identifier of the uploaded file, never its rows, so the merge cannot be done for you, keep the source list on your side.
|
|
387
|
+
# Upload the company rows of a LinkedIn `company_list` audience (account-based marketing). LinkedIn-only, every other platform returns 422. A LinkedIn audience segment holds exactly one uploaded list, so the list you send here REPLACES the segment's list instead of being appended to it: always send the full set of companies. LinkedIn returns only the identifier of the uploaded file, never its rows, so the merge cannot be done for you, keep the source list on your side. How the matching behaves: - Rows are plain text (not hashed), matched against LinkedIn's own company graph. - Matching is asynchronous: LinkedIn takes up to 48h for a new audience and up to 24h for a later update, and the audience stays `processing` meanwhile. - LinkedIn does not document how quickly companies dropped from the list stop being targeted, so treat removals as eventual rather than immediate. - LinkedIn recommends at least 1,000 companies for a usable match rate, and caps a list at 300,000. The initial list is sent with `companies` on `POST /v1/ads/audiences`; this endpoint is for every change after that.
|
|
388
388
|
# @param audience_id [String]
|
|
389
389
|
# @param replace_ad_audience_companies_request [ReplaceAdAudienceCompaniesRequest]
|
|
390
390
|
# @param [Hash] opts the optional parameters
|