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
|
@@ -225,7 +225,7 @@ module Zernio
|
|
|
225
225
|
end
|
|
226
226
|
|
|
227
227
|
# Create a hosted KYC link
|
|
228
|
-
# Create a single-use, 7-day hosted KYC link that your end customer completes WITHOUT a Zernio login
|
|
228
|
+
# 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.
|
|
229
229
|
# @param create_phone_number_kyc_link_request [CreatePhoneNumberKycLinkRequest]
|
|
230
230
|
# @param [Hash] opts the optional parameters
|
|
231
231
|
# @return [CreatePhoneNumberKycLink200Response]
|
|
@@ -235,7 +235,7 @@ module Zernio
|
|
|
235
235
|
end
|
|
236
236
|
|
|
237
237
|
# Create a hosted KYC link
|
|
238
|
-
# Create a single-use, 7-day hosted KYC link that your end customer completes WITHOUT a Zernio login
|
|
238
|
+
# 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.
|
|
239
239
|
# @param create_phone_number_kyc_link_request [CreatePhoneNumberKycLinkRequest]
|
|
240
240
|
# @param [Hash] opts the optional parameters
|
|
241
241
|
# @return [Array<(CreatePhoneNumberKycLink200Response, Integer, Hash)>] CreatePhoneNumberKycLink200Response data, response status code and response headers
|
|
@@ -293,7 +293,7 @@ module Zernio
|
|
|
293
293
|
end
|
|
294
294
|
|
|
295
295
|
# Port numbers in
|
|
296
|
-
# Submit a port-in for one or more existing numbers from another carrier. Creates the carrier order(s), attaches the end-user (current account) info plus the LOA and invoice documents, and submits to the losing carrier. The transfer PIN is forwarded to the carrier and never stored. Ported numbers arrive voice-ready (and SMS-ready where the order supports messaging). Run the portability check (POST /v1/phone-numbers/port-in/check) and upload the two documents (POST /v1/phone-numbers/port-in/documents) first
|
|
296
|
+
# Submit a port-in for one or more existing numbers from another carrier. Creates the carrier order(s), attaches the end-user (current account) info plus the LOA and invoice documents, and submits to the losing carrier. The transfer PIN is forwarded to the carrier and never stored. Ported numbers arrive voice-ready (and SMS-ready where the order supports messaging). Run the portability check (POST /v1/phone-numbers/port-in/check) and upload the two documents (POST /v1/phone-numbers/port-in/documents) first. Uploaded documents must be attached to an order within 30 minutes or the carrier deletes them, so upload right before this call. The carrier may split the numbers into several orders (by country, number type, losing carrier); `orders` carries per-order results, and a partial failure still returns 201 with the failed orders' `error` set (they stay as cancellable drafts). Non-US/CA numbers additionally need the country-specific values from GET /v1/phone-numbers/port-in/requirements, passed via `requirements`, and must be submitted one country per request. When required information is still missing after submission, the order is kept as a resumable draft whose `error` / `declineReason` names the gaps.
|
|
297
297
|
# @param create_phone_number_port_in_request [CreatePhoneNumberPortInRequest]
|
|
298
298
|
# @param [Hash] opts the optional parameters
|
|
299
299
|
# @return [CreatePhoneNumberPortIn201Response]
|
|
@@ -303,7 +303,7 @@ module Zernio
|
|
|
303
303
|
end
|
|
304
304
|
|
|
305
305
|
# Port numbers in
|
|
306
|
-
# Submit a port-in for one or more existing numbers from another carrier. Creates the carrier order(s), attaches the end-user (current account) info plus the LOA and invoice documents, and submits to the losing carrier. The transfer PIN is forwarded to the carrier and never stored. Ported numbers arrive voice-ready (and SMS-ready where the order supports messaging). Run the portability check (POST /v1/phone-numbers/port-in/check) and upload the two documents (POST /v1/phone-numbers/port-in/documents) first
|
|
306
|
+
# Submit a port-in for one or more existing numbers from another carrier. Creates the carrier order(s), attaches the end-user (current account) info plus the LOA and invoice documents, and submits to the losing carrier. The transfer PIN is forwarded to the carrier and never stored. Ported numbers arrive voice-ready (and SMS-ready where the order supports messaging). Run the portability check (POST /v1/phone-numbers/port-in/check) and upload the two documents (POST /v1/phone-numbers/port-in/documents) first. Uploaded documents must be attached to an order within 30 minutes or the carrier deletes them, so upload right before this call. The carrier may split the numbers into several orders (by country, number type, losing carrier); `orders` carries per-order results, and a partial failure still returns 201 with the failed orders' `error` set (they stay as cancellable drafts). Non-US/CA numbers additionally need the country-specific values from GET /v1/phone-numbers/port-in/requirements, passed via `requirements`, and must be submitted one country per request. When required information is still missing after submission, the order is kept as a resumable draft whose `error` / `declineReason` names the gaps.
|
|
307
307
|
# @param create_phone_number_port_in_request [CreatePhoneNumberPortInRequest]
|
|
308
308
|
# @param [Hash] opts the optional parameters
|
|
309
309
|
# @return [Array<(CreatePhoneNumberPortIn201Response, Integer, Hash)>] CreatePhoneNumberPortIn201Response data, response status code and response headers
|
|
@@ -490,7 +490,7 @@ module Zernio
|
|
|
490
490
|
end
|
|
491
491
|
|
|
492
492
|
# Get phone number
|
|
493
|
-
# 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
|
|
493
|
+
# 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.)
|
|
494
494
|
# @param id [String] Phone number record ID
|
|
495
495
|
# @param [Hash] opts the optional parameters
|
|
496
496
|
# @return [GetPhoneNumber200Response]
|
|
@@ -500,7 +500,7 @@ module Zernio
|
|
|
500
500
|
end
|
|
501
501
|
|
|
502
502
|
# Get phone number
|
|
503
|
-
# 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
|
|
503
|
+
# 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.)
|
|
504
504
|
# @param id [String] Phone number record ID
|
|
505
505
|
# @param [Hash] opts the optional parameters
|
|
506
506
|
# @return [Array<(GetPhoneNumber200Response, Integer, Hash)>] GetPhoneNumber200Response data, response status code and response headers
|
|
@@ -687,10 +687,10 @@ module Zernio
|
|
|
687
687
|
end
|
|
688
688
|
|
|
689
689
|
# Country porting requirements
|
|
690
|
-
# The country-specific information a port-in needs BEYOND the LOA, invoice, and account/address details
|
|
690
|
+
# The country-specific information a port-in needs BEYOND the LOA, invoice, and account/address details, such as an ID copy, proof of address, a tax id, or a porting code. Call it after the portability check (which returns each number's `countryCode` and `phoneNumberType`), render the fields, and pass the collected values as the create request's `requirements`. US/CA return an empty list.
|
|
691
691
|
# @param country [String] ISO country of the numbers being ported (a supported port-in country).
|
|
692
692
|
# @param [Hash] opts the optional parameters
|
|
693
|
-
# @option opts [String] :number_type The portability check's phoneNumberType
|
|
693
|
+
# @option opts [String] :number_type The portability check's phoneNumberType. Requirements differ by type. (default to 'local')
|
|
694
694
|
# @return [GetPhoneNumberPortInRequirements200Response]
|
|
695
695
|
def get_phone_number_port_in_requirements(country, opts = {})
|
|
696
696
|
data, _status_code, _headers = get_phone_number_port_in_requirements_with_http_info(country, opts)
|
|
@@ -698,10 +698,10 @@ module Zernio
|
|
|
698
698
|
end
|
|
699
699
|
|
|
700
700
|
# Country porting requirements
|
|
701
|
-
# The country-specific information a port-in needs BEYOND the LOA, invoice, and account/address details
|
|
701
|
+
# The country-specific information a port-in needs BEYOND the LOA, invoice, and account/address details, such as an ID copy, proof of address, a tax id, or a porting code. Call it after the portability check (which returns each number's `countryCode` and `phoneNumberType`), render the fields, and pass the collected values as the create request's `requirements`. US/CA return an empty list.
|
|
702
702
|
# @param country [String] ISO country of the numbers being ported (a supported port-in country).
|
|
703
703
|
# @param [Hash] opts the optional parameters
|
|
704
|
-
# @option opts [String] :number_type The portability check's phoneNumberType
|
|
704
|
+
# @option opts [String] :number_type The portability check's phoneNumberType. Requirements differ by type. (default to 'local')
|
|
705
705
|
# @return [Array<(GetPhoneNumberPortInRequirements200Response, Integer, Hash)>] GetPhoneNumberPortInRequirements200Response data, response status code and response headers
|
|
706
706
|
def get_phone_number_port_in_requirements_with_http_info(country, opts = {})
|
|
707
707
|
if @api_client.config.debugging
|
|
@@ -766,7 +766,7 @@ module Zernio
|
|
|
766
766
|
end
|
|
767
767
|
|
|
768
768
|
# Get declined requirements
|
|
769
|
-
# 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
|
|
769
|
+
# 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.
|
|
770
770
|
# @param id [String] Phone number record ID.
|
|
771
771
|
# @param [Hash] opts the optional parameters
|
|
772
772
|
# @return [GetPhoneNumberRemediation200Response]
|
|
@@ -776,7 +776,7 @@ module Zernio
|
|
|
776
776
|
end
|
|
777
777
|
|
|
778
778
|
# Get declined requirements
|
|
779
|
-
# 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
|
|
779
|
+
# 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.
|
|
780
780
|
# @param id [String] Phone number record ID.
|
|
781
781
|
# @param [Hash] opts the optional parameters
|
|
782
782
|
# @return [Array<(GetPhoneNumberRemediation200Response, Integer, Hash)>] GetPhoneNumberRemediation200Response data, response status code and response headers
|
|
@@ -1000,7 +1000,7 @@ module Zernio
|
|
|
1000
1000
|
# List phone numbers
|
|
1001
1001
|
# List all phone numbers purchased by the authenticated user. By default, released numbers are excluded. Connected (bring-your-own) WhatsApp numbers are returned in the separate `connected` array; they are not billed and have no provisioning lifecycle.
|
|
1002
1002
|
# @param [Hash] opts the optional parameters
|
|
1003
|
-
# @option opts [String] :status Filter by status (by default excludes released numbers). NOTE: `status=pending_regulatory` returns the \"provisioning\" view
|
|
1003
|
+
# @option opts [String] :status 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/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`.
|
|
1004
1004
|
# @option opts [String] :profile_id Filter by profile
|
|
1005
1005
|
# @return [ListPhoneNumbers200Response]
|
|
1006
1006
|
def list_phone_numbers(opts = {})
|
|
@@ -1011,7 +1011,7 @@ module Zernio
|
|
|
1011
1011
|
# List phone numbers
|
|
1012
1012
|
# List all phone numbers purchased by the authenticated user. By default, released numbers are excluded. Connected (bring-your-own) WhatsApp numbers are returned in the separate `connected` array; they are not billed and have no provisioning lifecycle.
|
|
1013
1013
|
# @param [Hash] opts the optional parameters
|
|
1014
|
-
# @option opts [String] :status Filter by status (by default excludes released numbers). NOTE: `status=pending_regulatory` returns the \"provisioning\" view
|
|
1014
|
+
# @option opts [String] :status 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/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`.
|
|
1015
1015
|
# @option opts [String] :profile_id Filter by profile
|
|
1016
1016
|
# @return [Array<(ListPhoneNumbers200Response, Integer, Hash)>] ListPhoneNumbers200Response data, response status code and response headers
|
|
1017
1017
|
def list_phone_numbers_with_http_info(opts = {})
|
|
@@ -1133,7 +1133,7 @@ module Zernio
|
|
|
1133
1133
|
end
|
|
1134
1134
|
|
|
1135
1135
|
# Release phone number
|
|
1136
|
-
# Release a purchased phone number. This will: 1. Disconnect any linked WhatsApp
|
|
1136
|
+
# 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
|
|
1137
1137
|
# @param id [String] Phone number record ID
|
|
1138
1138
|
# @param [Hash] opts the optional parameters
|
|
1139
1139
|
# @return [ReleasePhoneNumber200Response]
|
|
@@ -1143,7 +1143,7 @@ module Zernio
|
|
|
1143
1143
|
end
|
|
1144
1144
|
|
|
1145
1145
|
# Release phone number
|
|
1146
|
-
# Release a purchased phone number. This will: 1. Disconnect any linked WhatsApp
|
|
1146
|
+
# 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
|
|
1147
1147
|
# @param id [String] Phone number record ID
|
|
1148
1148
|
# @param [Hash] opts the optional parameters
|
|
1149
1149
|
# @return [Array<(ReleasePhoneNumber200Response, Integer, Hash)>] ReleasePhoneNumber200Response data, response status code and response headers
|
|
@@ -1196,7 +1196,7 @@ module Zernio
|
|
|
1196
1196
|
end
|
|
1197
1197
|
|
|
1198
1198
|
# Resubmit a declined number
|
|
1199
|
-
# 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)
|
|
1199
|
+
# 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.
|
|
1200
1200
|
# @param id [String]
|
|
1201
1201
|
# @param remediate_phone_number_request [RemediatePhoneNumberRequest]
|
|
1202
1202
|
# @param [Hash] opts the optional parameters
|
|
@@ -1207,7 +1207,7 @@ module Zernio
|
|
|
1207
1207
|
end
|
|
1208
1208
|
|
|
1209
1209
|
# Resubmit a declined number
|
|
1210
|
-
# 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)
|
|
1210
|
+
# 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.
|
|
1211
1211
|
# @param id [String]
|
|
1212
1212
|
# @param remediate_phone_number_request [RemediatePhoneNumberRequest]
|
|
1213
1213
|
# @param [Hash] opts the optional parameters
|
|
@@ -1270,7 +1270,7 @@ module Zernio
|
|
|
1270
1270
|
end
|
|
1271
1271
|
|
|
1272
1272
|
# Reply to the regulatory reviewer
|
|
1273
|
-
# Post a free-text reply (with optional file attachments) to the reviewer on a number awaiting remediation
|
|
1273
|
+
# Post a free-text reply (with optional file attachments) to the reviewer on a number awaiting remediation, for asks the structured form can't express (e.g. \"is this personal or business?\"). Attachments are stored by us and their links are added to the reviewer's comment thread (the carrier's number order takes no loose files). A reply to a comment-style ask moves the number back to \"in review\"; a reply on a formal decline is supplementary and you must still resubmit the fix. Requires text or at least one attachment.
|
|
1274
1274
|
# @param id [String]
|
|
1275
1275
|
# @param reply_to_phone_number_reviewer_request [ReplyToPhoneNumberReviewerRequest]
|
|
1276
1276
|
# @param [Hash] opts the optional parameters
|
|
@@ -1281,7 +1281,7 @@ module Zernio
|
|
|
1281
1281
|
end
|
|
1282
1282
|
|
|
1283
1283
|
# Reply to the regulatory reviewer
|
|
1284
|
-
# Post a free-text reply (with optional file attachments) to the reviewer on a number awaiting remediation
|
|
1284
|
+
# Post a free-text reply (with optional file attachments) to the reviewer on a number awaiting remediation, for asks the structured form can't express (e.g. \"is this personal or business?\"). Attachments are stored by us and their links are added to the reviewer's comment thread (the carrier's number order takes no loose files). A reply to a comment-style ask moves the number back to \"in review\"; a reply on a formal decline is supplementary and you must still resubmit the fix. Requires text or at least one attachment.
|
|
1285
1285
|
# @param id [String]
|
|
1286
1286
|
# @param reply_to_phone_number_reviewer_request [ReplyToPhoneNumberReviewerRequest]
|
|
1287
1287
|
# @param [Hash] opts the optional parameters
|
|
@@ -1568,7 +1568,7 @@ module Zernio
|
|
|
1568
1568
|
end
|
|
1569
1569
|
|
|
1570
1570
|
# Submit KYC
|
|
1571
|
-
# 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/phone-numbers/{id}/remediate. Before submitting, call GET /v1/phone-numbers/availability to check the country has deliverable inventory and, for geographic-match countries, which area the address must be in
|
|
1571
|
+
# 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/phone-numbers/{id}/remediate. Before submitting, call GET /v1/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.
|
|
1572
1572
|
# @param submit_phone_number_kyc_request [SubmitPhoneNumberKycRequest]
|
|
1573
1573
|
# @param [Hash] opts the optional parameters
|
|
1574
1574
|
# @return [SubmitPhoneNumberKyc200Response]
|
|
@@ -1578,7 +1578,7 @@ module Zernio
|
|
|
1578
1578
|
end
|
|
1579
1579
|
|
|
1580
1580
|
# Submit KYC
|
|
1581
|
-
# 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/phone-numbers/{id}/remediate. Before submitting, call GET /v1/phone-numbers/availability to check the country has deliverable inventory and, for geographic-match countries, which area the address must be in
|
|
1581
|
+
# 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/phone-numbers/{id}/remediate. Before submitting, call GET /v1/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.
|
|
1582
1582
|
# @param submit_phone_number_kyc_request [SubmitPhoneNumberKycRequest]
|
|
1583
1583
|
# @param [Hash] opts the optional parameters
|
|
1584
1584
|
# @return [Array<(SubmitPhoneNumberKyc200Response, Integer, Hash)>] SubmitPhoneNumberKyc200Response data, response status code and response headers
|
|
@@ -1851,7 +1851,7 @@ module Zernio
|
|
|
1851
1851
|
end
|
|
1852
1852
|
|
|
1853
1853
|
# View a KYC document on file
|
|
1854
|
-
# Stream a document backing a reusable verification (the `documentId` values from GET /v1/phone-numbers/kyc `reusable.options[].details[]`), so the account holder can see what's on file before reusing it. Returned inline as `application/pdf` (uploads are normalized to PDF). Auth-scoped: a document is viewable only when its id is referenced by one of the caller's own numbers
|
|
1854
|
+
# Stream a document backing a reusable verification (the `documentId` values from GET /v1/phone-numbers/kyc `reusable.options[].details[]`), so the account holder can see what's on file before reusing it. Returned inline as `application/pdf` (uploads are normalized to PDF). Auth-scoped: a document is viewable only when its id is referenced by one of the caller's own numbers. Otherwise `404`.
|
|
1855
1855
|
# @param document_id [String] The Telnyx document id (from `reusable.options[].details[].documentId`).
|
|
1856
1856
|
# @param [Hash] opts the optional parameters
|
|
1857
1857
|
# @return [File]
|
|
@@ -1861,7 +1861,7 @@ module Zernio
|
|
|
1861
1861
|
end
|
|
1862
1862
|
|
|
1863
1863
|
# View a KYC document on file
|
|
1864
|
-
# Stream a document backing a reusable verification (the `documentId` values from GET /v1/phone-numbers/kyc `reusable.options[].details[]`), so the account holder can see what's on file before reusing it. Returned inline as `application/pdf` (uploads are normalized to PDF). Auth-scoped: a document is viewable only when its id is referenced by one of the caller's own numbers
|
|
1864
|
+
# Stream a document backing a reusable verification (the `documentId` values from GET /v1/phone-numbers/kyc `reusable.options[].details[]`), so the account holder can see what's on file before reusing it. Returned inline as `application/pdf` (uploads are normalized to PDF). Auth-scoped: a document is viewable only when its id is referenced by one of the caller's own numbers. Otherwise `404`.
|
|
1865
1865
|
# @param document_id [String] The Telnyx document id (from `reusable.options[].details[].documentId`).
|
|
1866
1866
|
# @param [Hash] opts the optional parameters
|
|
1867
1867
|
# @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
|
|
@@ -88,7 +88,7 @@ module Zernio
|
|
|
88
88
|
end
|
|
89
89
|
|
|
90
90
|
# Create post
|
|
91
|
-
# Create and optionally publish
|
|
91
|
+
# Create a post, and optionally publish it in the same request. A post published immediately (`publishNow: true`) comes back with `platformPostUrl` in the response. `content` is optional in four cases: - media is attached - all platforms have `customContent` - every platform entry is an X Article (`platformSpecificData.article`) - every platform entry is a LinkedIn text-free reshare (`platformSpecificData.reshareUrl` with no text) See each platform's schema for media constraints. ## Scheduling Pick one of: - `scheduledFor`: publish at the scheduled time - `publishNow: true`: publish synchronously, inside this request - `queuedFromProfile`: publish in the profile's next queue slot With none of them and `isDraft` unset, the post is saved as a draft. `platforms` is required unless the post is a draft. Precedence: `isDraft: true` wins over `publishNow` and `scheduledFor` (the post is saved, never published), and `publishNow: true` wins over `scheduledFor`. A `scheduledFor` already in the past is not rejected: the post is published synchronously in the same request, exactly like `publishNow`. ## Idempotency Two layers of duplicate-protection apply, so safe-to-retry callers (network blips, n8n / Zapier retries, etc.) don't accidentally double-post. **1. Same-request idempotency (5-minute window).** Pass an `x-request-id` header to mark a logical request. If a second request arrives with the same `x-request-id` while the first is in-flight (or within ~5 minutes of completion), we return **HTTP 200** with the original post in the `existingPost` field, and no new post is created. The official Zernio SDKs auto-generate a unique `x-request-id` per call. On a generic HTTP client (curl, n8n's HTTP node, Zapier, custom code), either: - Set a unique `x-request-id` per logical call (recommended, UUIDv4 is fine) - Or omit the header, and we'll treat each request as new **Common pitfall**: if your workflow tool uses a single execution-level request ID and reuses it across multiple HTTP nodes (e.g. one ID for the whole run, shared across 6 different platform calls), every call after the first will look like a retry of the first and return its post. Generate a fresh ID per node. **2. Content-hash dedup (24-hour window).** Independently, we hash `(platform, accountId, content + media URLs)` and reject duplicates within 24 hours with **HTTP 409**. This catches genuine \"same content posted twice to the same account\" cases regardless of `x-request-id`. The response carries `error`, `accountId`, `platform`, and `existingPostId` so you can find the original. To intentionally re-post identical content within 24h, change something (the caption, the media, the account), because the dedup is keyed on the full content fingerprint. Order: same-`x-request-id` retries (200) are checked first; if no idempotency match, the content-hash dedup (409) runs.
|
|
92
92
|
# @param create_post_request [CreatePostRequest]
|
|
93
93
|
# @param [Hash] opts the optional parameters
|
|
94
94
|
# @option opts [String] :x_request_id Optional client-generated request identifier for safe retry (idempotency). When two requests carry the same value, the second is treated as a retry of the first and returns the original post (HTTP 200) instead of creating a duplicate. Window is ~5 minutes from the first request. Generate a UUID per logical call. SDKs do this automatically; HTTP clients should set it themselves or omit it. See the operation description for the full idempotency contract.
|
|
@@ -99,7 +99,7 @@ module Zernio
|
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
# Create post
|
|
102
|
-
# Create and optionally publish
|
|
102
|
+
# Create a post, and optionally publish it in the same request. A post published immediately (`publishNow: true`) comes back with `platformPostUrl` in the response. `content` is optional in four cases: - media is attached - all platforms have `customContent` - every platform entry is an X Article (`platformSpecificData.article`) - every platform entry is a LinkedIn text-free reshare (`platformSpecificData.reshareUrl` with no text) See each platform's schema for media constraints. ## Scheduling Pick one of: - `scheduledFor`: publish at the scheduled time - `publishNow: true`: publish synchronously, inside this request - `queuedFromProfile`: publish in the profile's next queue slot With none of them and `isDraft` unset, the post is saved as a draft. `platforms` is required unless the post is a draft. Precedence: `isDraft: true` wins over `publishNow` and `scheduledFor` (the post is saved, never published), and `publishNow: true` wins over `scheduledFor`. A `scheduledFor` already in the past is not rejected: the post is published synchronously in the same request, exactly like `publishNow`. ## Idempotency Two layers of duplicate-protection apply, so safe-to-retry callers (network blips, n8n / Zapier retries, etc.) don't accidentally double-post. **1. Same-request idempotency (5-minute window).** Pass an `x-request-id` header to mark a logical request. If a second request arrives with the same `x-request-id` while the first is in-flight (or within ~5 minutes of completion), we return **HTTP 200** with the original post in the `existingPost` field, and no new post is created. The official Zernio SDKs auto-generate a unique `x-request-id` per call. On a generic HTTP client (curl, n8n's HTTP node, Zapier, custom code), either: - Set a unique `x-request-id` per logical call (recommended, UUIDv4 is fine) - Or omit the header, and we'll treat each request as new **Common pitfall**: if your workflow tool uses a single execution-level request ID and reuses it across multiple HTTP nodes (e.g. one ID for the whole run, shared across 6 different platform calls), every call after the first will look like a retry of the first and return its post. Generate a fresh ID per node. **2. Content-hash dedup (24-hour window).** Independently, we hash `(platform, accountId, content + media URLs)` and reject duplicates within 24 hours with **HTTP 409**. This catches genuine \"same content posted twice to the same account\" cases regardless of `x-request-id`. The response carries `error`, `accountId`, `platform`, and `existingPostId` so you can find the original. To intentionally re-post identical content within 24h, change something (the caption, the media, the account), because the dedup is keyed on the full content fingerprint. Order: same-`x-request-id` retries (200) are checked first; if no idempotency match, the content-hash dedup (409) runs.
|
|
103
103
|
# @param create_post_request [CreatePostRequest]
|
|
104
104
|
# @param [Hash] opts the optional parameters
|
|
105
105
|
# @option opts [String] :x_request_id Optional client-generated request identifier for safe retry (idempotency). When two requests carry the same value, the second is treated as a retry of the first and returns the original post (HTTP 200) instead of creating a duplicate. Window is ~5 minutes from the first request. Generate a UUID per logical call. SDKs do this automatically; HTTP clients should set it themselves or omit it. See the operation description for the full idempotency contract.
|
|
@@ -222,7 +222,7 @@ module Zernio
|
|
|
222
222
|
end
|
|
223
223
|
|
|
224
224
|
# Edit published post
|
|
225
|
-
# Edit the text of an already-published post. Supported on X
|
|
225
|
+
# Edit the text of an already-published post. Supported on X, Discord, Facebook, Reddit, LinkedIn, Telegram, Pinterest, Google Business Profile, YouTube, and Slack. When a post was published to several accounts on the same platform, pass `accountId` to pick which account's copy to edit (the first entry is edited otherwise). Each platform enforces its own rules: **X** - Connected X account must have an active X Premium subscription - Must be within 1 hour of original publish time - Maximum 5 edits per tweet (enforced by X) - Threads cannot be edited, only single tweets - X assigns a NEW post ID on edit, returned as `id` **Discord** - No time limit and no premium requirement - The message ID is unchanged after the edit **Facebook** - Graph only permits editing a post that the same app created, so this works on posts published through Zernio and is rejected for posts created in Meta Business Suite / Composer or by another tool - Media cannot be swapped, only the message text - Reactions, comments, and shares are preserved. The post ID is unchanged **Reddit** - Self-posts only. A link post has no editable body and is rejected before the write - Body only. Reddit exposes no API to edit a post title, ever - The post ID is unchanged **LinkedIn** - Text only, no time limit. Media, polls, articles, and reshare targets cannot be changed - Works for member and organization posts published through this API. The post keeps its ID and LinkedIn shows an \"edited\" marker - Text is limited to 3,000 characters; mentions and hashtags are preserved **Telegram** - No time limit; messages published through Zernio are editable indefinitely - Text posts: edits the message text (up to 4096 characters) - Media posts: edits the caption only (up to 1024 characters). The media itself cannot be swapped - For albums, the caption shown on the album (its first message) is edited - The message ID is unchanged **Pinterest** - Description only, maximum 800 characters. Media, link, and board cannot be changed, and a pin title derived from the old content's first line at publish stays as-is - Pinterest's pin-update endpoint is currently in closed beta; until the app is allowlisted by Pinterest, edits are rejected with a \"beta feature not yet enabled\" error - The pin ID is unchanged **Google Business Profile** - Post body (summary) text only. Call-to-action, event/offer fields, and media are untouched - No time limit and no edit limit. The post ID is unchanged - The post must still exist on Google: a post deleted from the Business Profile dashboard, or an event/offer post past its end date, returns a 404 **YouTube** - `content` replaces the video description only. The title is unchanged, even if it was originally derived from the content's first line at publish time - Title, tags, thumbnail, and privacy edits belong to `POST /v1/posts/{postId}/update-metadata` - No time window and no edit cap. The video ID is unchanged **Slack** - Text only, up to 4,000 characters. Media cannot be swapped, and media posts whose share message reference never resolved cannot be edited - No time limit unless workspace admins restrict message editing - The message ID is unchanged Media edits are not supported on any platform. The post record in Zernio is updated with the new content and an edit-history entry.
|
|
226
226
|
# @param post_id [String]
|
|
227
227
|
# @param edit_post_request [EditPostRequest]
|
|
228
228
|
# @param [Hash] opts the optional parameters
|
|
@@ -233,7 +233,7 @@ module Zernio
|
|
|
233
233
|
end
|
|
234
234
|
|
|
235
235
|
# Edit published post
|
|
236
|
-
# Edit the text of an already-published post. Supported on X
|
|
236
|
+
# Edit the text of an already-published post. Supported on X, Discord, Facebook, Reddit, LinkedIn, Telegram, Pinterest, Google Business Profile, YouTube, and Slack. When a post was published to several accounts on the same platform, pass `accountId` to pick which account's copy to edit (the first entry is edited otherwise). Each platform enforces its own rules: **X** - Connected X account must have an active X Premium subscription - Must be within 1 hour of original publish time - Maximum 5 edits per tweet (enforced by X) - Threads cannot be edited, only single tweets - X assigns a NEW post ID on edit, returned as `id` **Discord** - No time limit and no premium requirement - The message ID is unchanged after the edit **Facebook** - Graph only permits editing a post that the same app created, so this works on posts published through Zernio and is rejected for posts created in Meta Business Suite / Composer or by another tool - Media cannot be swapped, only the message text - Reactions, comments, and shares are preserved. The post ID is unchanged **Reddit** - Self-posts only. A link post has no editable body and is rejected before the write - Body only. Reddit exposes no API to edit a post title, ever - The post ID is unchanged **LinkedIn** - Text only, no time limit. Media, polls, articles, and reshare targets cannot be changed - Works for member and organization posts published through this API. The post keeps its ID and LinkedIn shows an \"edited\" marker - Text is limited to 3,000 characters; mentions and hashtags are preserved **Telegram** - No time limit; messages published through Zernio are editable indefinitely - Text posts: edits the message text (up to 4096 characters) - Media posts: edits the caption only (up to 1024 characters). The media itself cannot be swapped - For albums, the caption shown on the album (its first message) is edited - The message ID is unchanged **Pinterest** - Description only, maximum 800 characters. Media, link, and board cannot be changed, and a pin title derived from the old content's first line at publish stays as-is - Pinterest's pin-update endpoint is currently in closed beta; until the app is allowlisted by Pinterest, edits are rejected with a \"beta feature not yet enabled\" error - The pin ID is unchanged **Google Business Profile** - Post body (summary) text only. Call-to-action, event/offer fields, and media are untouched - No time limit and no edit limit. The post ID is unchanged - The post must still exist on Google: a post deleted from the Business Profile dashboard, or an event/offer post past its end date, returns a 404 **YouTube** - `content` replaces the video description only. The title is unchanged, even if it was originally derived from the content's first line at publish time - Title, tags, thumbnail, and privacy edits belong to `POST /v1/posts/{postId}/update-metadata` - No time window and no edit cap. The video ID is unchanged **Slack** - Text only, up to 4,000 characters. Media cannot be swapped, and media posts whose share message reference never resolved cannot be edited - No time limit unless workspace admins restrict message editing - The message ID is unchanged Media edits are not supported on any platform. The post record in Zernio is updated with the new content and an edit-history entry.
|
|
237
237
|
# @param post_id [String]
|
|
238
238
|
# @param edit_post_request [EditPostRequest]
|
|
239
239
|
# @param [Hash] opts the optional parameters
|
|
@@ -373,7 +373,7 @@ module Zernio
|
|
|
373
373
|
# @option opts [Boolean] :include_hidden (default to false)
|
|
374
374
|
# @option opts [String] :search Search posts by text content.
|
|
375
375
|
# @option opts [String] :sort_by Sort order for results. (default to 'scheduled-desc')
|
|
376
|
-
# @option opts [String] :account_id Filter posts to those published via a specific
|
|
376
|
+
# @option opts [String] :account_id Filter posts to those published via a specific account (24-char hex ObjectId).
|
|
377
377
|
# @return [PostsListResponse]
|
|
378
378
|
def list_posts(opts = {})
|
|
379
379
|
data, _status_code, _headers = list_posts_with_http_info(opts)
|
|
@@ -395,7 +395,7 @@ module Zernio
|
|
|
395
395
|
# @option opts [Boolean] :include_hidden (default to false)
|
|
396
396
|
# @option opts [String] :search Search posts by text content.
|
|
397
397
|
# @option opts [String] :sort_by Sort order for results. (default to 'scheduled-desc')
|
|
398
|
-
# @option opts [String] :account_id Filter posts to those published via a specific
|
|
398
|
+
# @option opts [String] :account_id Filter posts to those published via a specific account (24-char hex ObjectId).
|
|
399
399
|
# @return [Array<(PostsListResponse, Integer, Hash)>] PostsListResponse data, response status code and response headers
|
|
400
400
|
def list_posts_with_http_info(opts = {})
|
|
401
401
|
if @api_client.config.debugging
|
|
@@ -690,7 +690,7 @@ module Zernio
|
|
|
690
690
|
end
|
|
691
691
|
|
|
692
692
|
# Update post metadata
|
|
693
|
-
# Updates metadata of a published video on the specified platform without re-uploading. Currently only supported for YouTube. At least one updatable field is required. Two modes: 1. Post-based (video published through Zernio): pass the Zernio postId in the URL and platform in the body. 2. Direct video ID (video uploaded outside Zernio, e.g. directly to YouTube): use _ as the postId, and pass videoId + accountId + platform in the body. The accountId is the Zernio
|
|
693
|
+
# Updates metadata of a published video on the specified platform without re-uploading. Currently only supported for YouTube. At least one updatable field is required. Two modes: 1. Post-based (video published through Zernio): pass the Zernio postId in the URL and platform in the body. 2. Direct video ID (video uploaded outside Zernio, e.g. directly to YouTube): use _ as the postId, and pass videoId + accountId + platform in the body. The accountId is the Zernio account ID for the connected YouTube channel.
|
|
694
694
|
# @param post_id [String] Zernio post ID, or \"_\" when using direct video ID mode
|
|
695
695
|
# @param update_post_metadata_request [UpdatePostMetadataRequest]
|
|
696
696
|
# @param [Hash] opts the optional parameters
|
|
@@ -701,7 +701,7 @@ module Zernio
|
|
|
701
701
|
end
|
|
702
702
|
|
|
703
703
|
# Update post metadata
|
|
704
|
-
# Updates metadata of a published video on the specified platform without re-uploading. Currently only supported for YouTube. At least one updatable field is required. Two modes: 1. Post-based (video published through Zernio): pass the Zernio postId in the URL and platform in the body. 2. Direct video ID (video uploaded outside Zernio, e.g. directly to YouTube): use _ as the postId, and pass videoId + accountId + platform in the body. The accountId is the Zernio
|
|
704
|
+
# Updates metadata of a published video on the specified platform without re-uploading. Currently only supported for YouTube. At least one updatable field is required. Two modes: 1. Post-based (video published through Zernio): pass the Zernio postId in the URL and platform in the body. 2. Direct video ID (video uploaded outside Zernio, e.g. directly to YouTube): use _ as the postId, and pass videoId + accountId + platform in the body. The accountId is the Zernio account ID for the connected YouTube channel.
|
|
705
705
|
# @param post_id [String] Zernio post ID, or \"_\" when using direct video ID mode
|
|
706
706
|
# @param update_post_metadata_request [UpdatePostMetadataRequest]
|
|
707
707
|
# @param [Hash] opts the optional parameters
|
|
@@ -20,7 +20,7 @@ module Zernio
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Create profile
|
|
23
|
-
# Creates a new profile with a name, optional description, and color. Names are unique per
|
|
23
|
+
# Creates a new profile with a name, optional description, and color. Names are unique per team: a duplicate returns a 409 whose details.existingProfileId carries the id of the existing profile. Send an Idempotency-Key header to make retries safe: a retried create with the same key and body replays the original 201 (same _id) instead of conflicting.
|
|
24
24
|
# @param create_profile_request [CreateProfileRequest]
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
26
26
|
# @option opts [String] :idempotency_key Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
|
|
@@ -31,7 +31,7 @@ module Zernio
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
# Create profile
|
|
34
|
-
# Creates a new profile with a name, optional description, and color. Names are unique per
|
|
34
|
+
# Creates a new profile with a name, optional description, and color. Names are unique per team: a duplicate returns a 409 whose details.existingProfileId carries the id of the existing profile. Send an Idempotency-Key header to make retries safe: a retried create with the same key and body replays the original 201 (same _id) instead of conflicting.
|
|
35
35
|
# @param create_profile_request [CreateProfileRequest]
|
|
36
36
|
# @param [Hash] opts the optional parameters
|
|
37
37
|
# @option opts [String] :idempotency_key Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
|
|
@@ -97,7 +97,7 @@ module Zernio
|
|
|
97
97
|
end
|
|
98
98
|
|
|
99
99
|
# Create a Reach & Frequency prediction
|
|
100
|
-
# Creates an R&F prediction
|
|
100
|
+
# Creates an R&F prediction. This is a QUOTE, nothing is bought and no ad entities are created. Provide a date range plus exactly one of `budgetAmount` (Meta predicts reach) or `reach` (Meta predicts the budget). The response carries the estimate and its allowed bounds (min/max budget and reach). Predictions expire on their own; to buy, reserve one via POST /v1/ads/rf-predictions/{predictionId}/reserve and pass the RESERVED id to POST /v1/ads/create with `buyingType: \"RESERVED\"`. Reservation campaigns reject automatic placements. Top-level `placements` wins; when it is omitted, `targeting.placements` is used; when neither is set, placements default to Facebook feed (+ Instagram stream when a linked IG professional account resolves). Instagram placements require that IG account.
|
|
101
101
|
# @param create_rf_prediction_request [CreateRfPredictionRequest]
|
|
102
102
|
# @param [Hash] opts the optional parameters
|
|
103
103
|
# @return [CreateRfPrediction201Response]
|
|
@@ -107,7 +107,7 @@ module Zernio
|
|
|
107
107
|
end
|
|
108
108
|
|
|
109
109
|
# Create a Reach & Frequency prediction
|
|
110
|
-
# Creates an R&F prediction
|
|
110
|
+
# Creates an R&F prediction. This is a QUOTE, nothing is bought and no ad entities are created. Provide a date range plus exactly one of `budgetAmount` (Meta predicts reach) or `reach` (Meta predicts the budget). The response carries the estimate and its allowed bounds (min/max budget and reach). Predictions expire on their own; to buy, reserve one via POST /v1/ads/rf-predictions/{predictionId}/reserve and pass the RESERVED id to POST /v1/ads/create with `buyingType: \"RESERVED\"`. Reservation campaigns reject automatic placements. Top-level `placements` wins; when it is omitted, `targeting.placements` is used; when neither is set, placements default to Facebook feed (+ Instagram stream when a linked IG professional account resolves). Instagram placements require that IG account.
|
|
111
111
|
# @param create_rf_prediction_request [CreateRfPredictionRequest]
|
|
112
112
|
# @param [Hash] opts the optional parameters
|
|
113
113
|
# @return [Array<(CreateRfPrediction201Response, Integer, Hash)>] CreateRfPrediction201Response data, response status code and response headers
|
|
@@ -240,7 +240,7 @@ module Zernio
|
|
|
240
240
|
end
|
|
241
241
|
|
|
242
242
|
# Reserve a Reach & Frequency prediction
|
|
243
|
-
# Locks the quoted price + inventory until the returned `expiresAt` and mints a NEW prediction id
|
|
243
|
+
# Locks the quoted price + inventory until the returned `expiresAt` and mints a NEW prediction id. Pass that RESERVED id (not the original) as `rfPredictionId` on POST /v1/ads/create. Release an unused reservation via DELETE.
|
|
244
244
|
# @param prediction_id [String]
|
|
245
245
|
# @param reserve_rf_prediction_request [ReserveRfPredictionRequest]
|
|
246
246
|
# @param [Hash] opts the optional parameters
|
|
@@ -251,7 +251,7 @@ module Zernio
|
|
|
251
251
|
end
|
|
252
252
|
|
|
253
253
|
# Reserve a Reach & Frequency prediction
|
|
254
|
-
# Locks the quoted price + inventory until the returned `expiresAt` and mints a NEW prediction id
|
|
254
|
+
# Locks the quoted price + inventory until the returned `expiresAt` and mints a NEW prediction id. Pass that RESERVED id (not the original) as `rfPredictionId` on POST /v1/ads/create. Release an unused reservation via DELETE.
|
|
255
255
|
# @param prediction_id [String]
|
|
256
256
|
# @param reserve_rf_prediction_request [ReserveRfPredictionRequest]
|
|
257
257
|
# @param [Hash] opts the optional parameters
|
|
@@ -20,7 +20,7 @@ module Zernio
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Delete review reply
|
|
23
|
-
# Delete a reply to a review (Google Business only). Requires accountId in request body.
|
|
23
|
+
# Delete a reply to a review (Google Business Profile only). Requires accountId in request body.
|
|
24
24
|
# @param review_id [String]
|
|
25
25
|
# @param delete_inbox_review_reply_request [DeleteInboxReviewReplyRequest]
|
|
26
26
|
# @param [Hash] opts the optional parameters
|
|
@@ -31,7 +31,7 @@ module Zernio
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
# Delete review reply
|
|
34
|
-
# Delete a reply to a review (Google Business only). Requires accountId in request body.
|
|
34
|
+
# Delete a reply to a review (Google Business Profile only). Requires accountId in request body.
|
|
35
35
|
# @param review_id [String]
|
|
36
36
|
# @param delete_inbox_review_reply_request [DeleteInboxReviewReplyRequest]
|
|
37
37
|
# @param [Hash] opts the optional parameters
|
|
@@ -94,7 +94,7 @@ module Zernio
|
|
|
94
94
|
end
|
|
95
95
|
|
|
96
96
|
# List reviews
|
|
97
|
-
# Fetch reviews from all connected Facebook Pages and Google Business accounts. Aggregates data with filtering and sorting options. Supported platforms: Facebook, Google Business.
|
|
97
|
+
# Fetch reviews from all connected Facebook Pages and Google Business Profile accounts. Aggregates data with filtering and sorting options. Supported platforms: Facebook, Google Business Profile.
|
|
98
98
|
# @param [Hash] opts the optional parameters
|
|
99
99
|
# @option opts [String] :profile_id
|
|
100
100
|
# @option opts [String] :platform
|
|
@@ -105,7 +105,7 @@ module Zernio
|
|
|
105
105
|
# @option opts [String] :sort_order (default to 'desc')
|
|
106
106
|
# @option opts [Integer] :limit (default to 25)
|
|
107
107
|
# @option opts [String] :cursor
|
|
108
|
-
# @option opts [String] :account_id Filter by specific
|
|
108
|
+
# @option opts [String] :account_id Filter by specific account ID
|
|
109
109
|
# @return [ListInboxReviews200Response]
|
|
110
110
|
def list_inbox_reviews(opts = {})
|
|
111
111
|
data, _status_code, _headers = list_inbox_reviews_with_http_info(opts)
|
|
@@ -113,7 +113,7 @@ module Zernio
|
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
# List reviews
|
|
116
|
-
# Fetch reviews from all connected Facebook Pages and Google Business accounts. Aggregates data with filtering and sorting options. Supported platforms: Facebook, Google Business.
|
|
116
|
+
# Fetch reviews from all connected Facebook Pages and Google Business Profile accounts. Aggregates data with filtering and sorting options. Supported platforms: Facebook, Google Business Profile.
|
|
117
117
|
# @param [Hash] opts the optional parameters
|
|
118
118
|
# @option opts [String] :profile_id
|
|
119
119
|
# @option opts [String] :platform
|
|
@@ -124,7 +124,7 @@ module Zernio
|
|
|
124
124
|
# @option opts [String] :sort_order (default to 'desc')
|
|
125
125
|
# @option opts [Integer] :limit (default to 25)
|
|
126
126
|
# @option opts [String] :cursor
|
|
127
|
-
# @option opts [String] :account_id Filter by specific
|
|
127
|
+
# @option opts [String] :account_id Filter by specific account ID
|
|
128
128
|
# @return [Array<(ListInboxReviews200Response, Integer, Hash)>] ListInboxReviews200Response data, response status code and response headers
|
|
129
129
|
def list_inbox_reviews_with_http_info(opts = {})
|
|
130
130
|
if @api_client.config.debugging
|
|
@@ -218,7 +218,7 @@ module Zernio
|
|
|
218
218
|
|
|
219
219
|
# Reply to review
|
|
220
220
|
# Post a reply to a review. Requires accountId in request body. **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of sending the reply to the platform again; same key + different body returns 422; a key still in flight returns 409. Keys are retained for 24 hours and are scoped to the credential and to this exact path, so reusing a key against a different reviewId returns 422 rather than replaying the other review's response. Only successful (2xx) responses are stored for replay. If the request throws or returns a non-2xx status the key is released, so the header protects the \"request succeeded but the response was lost\" case. After an ambiguous failure (a 5xx or a network timeout) fetch the review before retrying with the same key, and treat a missing reply as inconclusive rather than as proof nothing was sent.
|
|
221
|
-
# @param review_id [String] Review ID (URL-encoded for Google Business)
|
|
221
|
+
# @param review_id [String] Review ID (URL-encoded for Google Business Profile)
|
|
222
222
|
# @param reply_to_inbox_review_request [ReplyToInboxReviewRequest]
|
|
223
223
|
# @param [Hash] opts the optional parameters
|
|
224
224
|
# @option opts [String] :idempotency_key Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
|
|
@@ -230,7 +230,7 @@ module Zernio
|
|
|
230
230
|
|
|
231
231
|
# Reply to review
|
|
232
232
|
# Post a reply to a review. Requires accountId in request body. **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of sending the reply to the platform again; same key + different body returns 422; a key still in flight returns 409. Keys are retained for 24 hours and are scoped to the credential and to this exact path, so reusing a key against a different reviewId returns 422 rather than replaying the other review's response. Only successful (2xx) responses are stored for replay. If the request throws or returns a non-2xx status the key is released, so the header protects the \"request succeeded but the response was lost\" case. After an ambiguous failure (a 5xx or a network timeout) fetch the review before retrying with the same key, and treat a missing reply as inconclusive rather than as proof nothing was sent.
|
|
233
|
-
# @param review_id [String] Review ID (URL-encoded for Google Business)
|
|
233
|
+
# @param review_id [String] Review ID (URL-encoded for Google Business Profile)
|
|
234
234
|
# @param reply_to_inbox_review_request [ReplyToInboxReviewRequest]
|
|
235
235
|
# @param [Hash] opts the optional parameters
|
|
236
236
|
# @option opts [String] :idempotency_key Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
|