norbelys 0.1.0
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 +7 -0
- data/Gemfile +9 -0
- data/README.md +429 -0
- data/Rakefile +10 -0
- data/docs/AddProgramSenderParams.md +18 -0
- data/docs/AiEmailVariantContent.md +28 -0
- data/docs/AnalyticsApi.md +81 -0
- data/docs/AnalyticsQuery.md +20 -0
- data/docs/AnalyticsQueryName.md +15 -0
- data/docs/AnalyticsQueryParams.md +50 -0
- data/docs/AnalyticsQueryResult.md +20 -0
- data/docs/ApiError.md +18 -0
- data/docs/ApiErrorDetail.md +26 -0
- data/docs/AudienceActivityAction.md +15 -0
- data/docs/AudienceActivityCondition.md +20 -0
- data/docs/AudienceActivityLinkFilter.md +20 -0
- data/docs/AudienceActivityLinkMatchOp.md +15 -0
- data/docs/AudienceActivityParams.md +32 -0
- data/docs/AudienceAttributeCondition.md +22 -0
- data/docs/AudienceConditionOp.md +15 -0
- data/docs/AudienceConditionValue.md +15 -0
- data/docs/AudienceFilter.md +20 -0
- data/docs/AudienceMatch.md +15 -0
- data/docs/AudienceRule.md +26 -0
- data/docs/AudienceSource.md +26 -0
- data/docs/AudienceStatusBreakdown.md +20 -0
- data/docs/AudienceSummary.md +26 -0
- data/docs/AudienceWeekPoint.md +20 -0
- data/docs/BulkUpdateSenderPatch.md +34 -0
- data/docs/BulkUpdateSendersInput.md +20 -0
- data/docs/BulkUpdateSendersResult.md +24 -0
- data/docs/CampaignReportShare.md +22 -0
- data/docs/CollectionAddress.md +28 -0
- data/docs/ConnectionSettings.md +22 -0
- data/docs/CreateSenderInput.md +42 -0
- data/docs/DetachResult.md +18 -0
- data/docs/DmarcRecordToPublish.md +22 -0
- data/docs/Domain.md +38 -0
- data/docs/DomainAge.md +30 -0
- data/docs/DomainCapacity.md +28 -0
- data/docs/DomainCreateParams.md +24 -0
- data/docs/DomainDetail.md +42 -0
- data/docs/DomainHealth.md +24 -0
- data/docs/DomainList.md +26 -0
- data/docs/DomainMonitoring.md +30 -0
- data/docs/DomainMonitoringParams.md +20 -0
- data/docs/DomainSending.md +26 -0
- data/docs/DomainSendingPolicy.md +36 -0
- data/docs/DomainSendingPolicyParams.md +32 -0
- data/docs/DomainSendingUpdateParams.md +20 -0
- data/docs/DomainTracking.md +50 -0
- data/docs/DomainTrackingParams.md +22 -0
- data/docs/DomainTrackingUpdateParams.md +24 -0
- data/docs/DomainUpdateParams.md +22 -0
- data/docs/DomainsApi.md +525 -0
- data/docs/EmailVariantContent.md +28 -0
- data/docs/EnrollProgramParams.md +28 -0
- data/docs/EnrollProgramResult.md +28 -0
- data/docs/Enrollment.md +42 -0
- data/docs/EnrollmentCounts.md +44 -0
- data/docs/EnrollmentList.md +28 -0
- data/docs/EnrollmentPersonRef.md +22 -0
- data/docs/EnrollmentProgramRef.md +20 -0
- data/docs/Features.md +18 -0
- data/docs/Field.md +38 -0
- data/docs/FieldCreateParams.md +26 -0
- data/docs/FieldList.md +20 -0
- data/docs/FieldType.md +15 -0
- data/docs/FieldUpdateParams.md +24 -0
- data/docs/FieldsApi.md +297 -0
- data/docs/FileObject.md +28 -0
- data/docs/FileUpload.md +22 -0
- data/docs/FilesApi.md +81 -0
- data/docs/Group.md +34 -0
- data/docs/GroupAddMembersParams.md +20 -0
- data/docs/GroupAddMembersResult.md +22 -0
- data/docs/GroupCreateParams.md +22 -0
- data/docs/GroupList.md +26 -0
- data/docs/GroupUpdateParams.md +22 -0
- data/docs/GroupsApi.md +521 -0
- data/docs/ImapConnectionUpdate.md +22 -0
- data/docs/InboundMessage.md +48 -0
- data/docs/Integration.md +34 -0
- data/docs/IntegrationConfig.md +26 -0
- data/docs/IntegrationConnectParams.md +18 -0
- data/docs/IntegrationConnectResult.md +18 -0
- data/docs/IntegrationList.md +26 -0
- data/docs/IntegrationNotifyConfig.md +24 -0
- data/docs/IntegrationOptions.md +18 -0
- data/docs/IntegrationProvider.md +15 -0
- data/docs/IntegrationStatus.md +15 -0
- data/docs/IntegrationSyncResult.md +18 -0
- data/docs/IntegrationUpdateParams.md +18 -0
- data/docs/IntegrationsApi.md +513 -0
- data/docs/LaunchProgramParams.md +18 -0
- data/docs/LaunchProgramResult.md +22 -0
- data/docs/Message.md +58 -0
- data/docs/MessageAddress.md +20 -0
- data/docs/MessageAttachment.md +28 -0
- data/docs/MessageAttachmentDownload.md +32 -0
- data/docs/MessageAttachmentInput.md +22 -0
- data/docs/MessageAttachmentList.md +22 -0
- data/docs/MessageCreateParams.md +44 -0
- data/docs/MessageEnrollParams.md +26 -0
- data/docs/MessageList.md +26 -0
- data/docs/MessageReplyParams.md +40 -0
- data/docs/MessageSource.md +36 -0
- data/docs/MessageSourceAttachment.md +22 -0
- data/docs/MessageTestParams.md +40 -0
- data/docs/MessageUpdateParams.md +22 -0
- data/docs/MessagesApi.md +543 -0
- data/docs/MonthlyEmailUsageMeter.md +24 -0
- data/docs/Organization.md +30 -0
- data/docs/OrganizationAlerts.md +18 -0
- data/docs/OrganizationAlertsParams.md +18 -0
- data/docs/OrganizationApi.md +350 -0
- data/docs/OrganizationBouncePolicy.md +20 -0
- data/docs/OrganizationBouncePolicyParams.md +20 -0
- data/docs/OrganizationOnboarding.md +20 -0
- data/docs/OrganizationProfile.md +22 -0
- data/docs/OrganizationProfileParams.md +22 -0
- data/docs/OrganizationPulse.md +28 -0
- data/docs/OrganizationUpdateParams.md +24 -0
- data/docs/OrganizationUsage.md +26 -0
- data/docs/OutboundMessage.md +46 -0
- data/docs/PeopleApi.md +681 -0
- data/docs/PeopleBulkCreateParams.md +28 -0
- data/docs/PeopleBulkCreateResult.md +34 -0
- data/docs/Person.md +52 -0
- data/docs/PersonCreateParams.md +30 -0
- data/docs/PersonDetail.md +60 -0
- data/docs/PersonErased.md +20 -0
- data/docs/PersonGroupRef.md +22 -0
- data/docs/PersonImportItem.md +30 -0
- data/docs/PersonImportReason.md +22 -0
- data/docs/PersonImportStats.md +36 -0
- data/docs/PersonList.md +26 -0
- data/docs/PersonListItem.md +50 -0
- data/docs/PersonSegmentRef.md +22 -0
- data/docs/PersonUpdateParams.md +30 -0
- data/docs/Program.md +78 -0
- data/docs/ProgramCreateParams.md +62 -0
- data/docs/ProgramDetail.md +84 -0
- data/docs/ProgramList.md +26 -0
- data/docs/ProgramListItem.md +80 -0
- data/docs/ProgramPauseMeta.md +20 -0
- data/docs/ProgramSenderRef.md +26 -0
- data/docs/ProgramStats.md +22 -0
- data/docs/ProgramStepInput.md +38 -0
- data/docs/ProgramUpdateParams.md +62 -0
- data/docs/ProgramVariantInput.md +26 -0
- data/docs/ProgramsApi.md +1283 -0
- data/docs/ProgramsAudienceList.md +26 -0
- data/docs/ProgramsSendersList.md +26 -0
- data/docs/ProviderApiSenderInput.md +38 -0
- data/docs/PulseDeliverability.md +30 -0
- data/docs/PulseProgram.md +42 -0
- data/docs/PulseSenderFleet.md +30 -0
- data/docs/PulseValue.md +26 -0
- data/docs/ReportShare.md +22 -0
- data/docs/Segment.md +32 -0
- data/docs/SegmentCreateParams.md +22 -0
- data/docs/SegmentList.md +26 -0
- data/docs/SegmentUpdateParams.md +22 -0
- data/docs/SegmentsApi.md +373 -0
- data/docs/SelfHostedSenderInput.md +36 -0
- data/docs/Sender.md +66 -0
- data/docs/SenderBulkError.md +20 -0
- data/docs/SenderDetail.md +70 -0
- data/docs/SenderList.md +26 -0
- data/docs/SenderRemoveResult.md +20 -0
- data/docs/SenderUsage.md +24 -0
- data/docs/SenderWarmupStatus.md +20 -0
- data/docs/SendersApi.md +531 -0
- data/docs/SlackChannel.md +20 -0
- data/docs/SmtpConnectionSettings.md +26 -0
- data/docs/SmtpConnectionUpdate.md +26 -0
- data/docs/SmtpSenderInput.md +40 -0
- data/docs/StaticEmailVariantContent.md +28 -0
- data/docs/StepWithVariants.md +46 -0
- data/docs/Suppression.md +32 -0
- data/docs/SuppressionBulkParams.md +20 -0
- data/docs/SuppressionBulkResult.md +18 -0
- data/docs/SuppressionCreateParams.md +24 -0
- data/docs/SuppressionList.md +26 -0
- data/docs/SuppressionScope.md +15 -0
- data/docs/SuppressionsApi.md +369 -0
- data/docs/SyncModel.md +15 -0
- data/docs/TeamSize.md +15 -0
- data/docs/TrackingDnsRecord.md +22 -0
- data/docs/UpdateSenderInput.md +48 -0
- data/docs/UsageMeter.md +22 -0
- data/docs/UsagePlan.md +22 -0
- data/docs/Variant.md +34 -0
- data/docs/VariantAi.md +22 -0
- data/docs/VerifyApi.md +81 -0
- data/docs/VerifyEmailInput.md +18 -0
- data/docs/VerifyMx.md +22 -0
- data/docs/VerifyReachability.md +15 -0
- data/docs/VerifyReasonCode.md +15 -0
- data/docs/VerifyResult.md +38 -0
- data/docs/VerifySignals.md +28 -0
- data/docs/VerifySyntax.md +22 -0
- data/docs/VoiceSenderInput.md +38 -0
- data/docs/WarmupRuntimeStatus.md +32 -0
- data/docs/WarmupSettings.md +44 -0
- data/docs/WarmupTemplate.md +20 -0
- data/docs/WarmupTodayTally.md +22 -0
- data/lib/norbelys/api/analytics_api.rb +97 -0
- data/lib/norbelys/api/domains_api.rb +528 -0
- data/lib/norbelys/api/fields_api.rb +290 -0
- data/lib/norbelys/api/files_api.rb +97 -0
- data/lib/norbelys/api/groups_api.rb +516 -0
- data/lib/norbelys/api/integrations_api.rb +509 -0
- data/lib/norbelys/api/messages_api.rb +572 -0
- data/lib/norbelys/api/organization_api.rb +329 -0
- data/lib/norbelys/api/people_api.rb +689 -0
- data/lib/norbelys/api/programs_api.rb +1299 -0
- data/lib/norbelys/api/segments_api.rb +370 -0
- data/lib/norbelys/api/senders_api.rb +539 -0
- data/lib/norbelys/api/suppressions_api.rb +370 -0
- data/lib/norbelys/api/verify_api.rb +97 -0
- data/lib/norbelys/api_client.rb +394 -0
- data/lib/norbelys/api_error.rb +58 -0
- data/lib/norbelys/configuration.rb +308 -0
- data/lib/norbelys/models/add_program_sender_params.rb +222 -0
- data/lib/norbelys/models/ai_email_variant_content.rb +318 -0
- data/lib/norbelys/models/analytics_query.rb +252 -0
- data/lib/norbelys/models/analytics_query_name.rb +63 -0
- data/lib/norbelys/models/analytics_query_params.rb +485 -0
- data/lib/norbelys/models/analytics_query_result.rb +260 -0
- data/lib/norbelys/models/api_error.rb +221 -0
- data/lib/norbelys/models/api_error_detail.rb +310 -0
- data/lib/norbelys/models/audience_activity_action.rb +45 -0
- data/lib/norbelys/models/audience_activity_condition.rb +233 -0
- data/lib/norbelys/models/audience_activity_link_filter.rb +289 -0
- data/lib/norbelys/models/audience_activity_link_match_op.rb +40 -0
- data/lib/norbelys/models/audience_activity_params.rb +395 -0
- data/lib/norbelys/models/audience_attribute_condition.rb +289 -0
- data/lib/norbelys/models/audience_condition_op.rb +59 -0
- data/lib/norbelys/models/audience_condition_value.rb +107 -0
- data/lib/norbelys/models/audience_filter.rb +270 -0
- data/lib/norbelys/models/audience_match.rb +40 -0
- data/lib/norbelys/models/audience_rule.rb +104 -0
- data/lib/norbelys/models/audience_source.rb +343 -0
- data/lib/norbelys/models/audience_status_breakdown.rb +292 -0
- data/lib/norbelys/models/audience_summary.rb +351 -0
- data/lib/norbelys/models/audience_week_point.rb +258 -0
- data/lib/norbelys/models/bulk_update_sender_patch.rb +368 -0
- data/lib/norbelys/models/bulk_update_senders_input.rb +268 -0
- data/lib/norbelys/models/bulk_update_senders_result.rb +291 -0
- data/lib/norbelys/models/campaign_report_share.rb +244 -0
- data/lib/norbelys/models/collection_address.rb +321 -0
- data/lib/norbelys/models/connection_settings.rb +331 -0
- data/lib/norbelys/models/create_sender_input.rb +106 -0
- data/lib/norbelys/models/detach_result.rb +223 -0
- data/lib/norbelys/models/dmarc_record_to_publish.rb +252 -0
- data/lib/norbelys/models/domain.rb +421 -0
- data/lib/norbelys/models/domain_age.rb +351 -0
- data/lib/norbelys/models/domain_capacity.rb +397 -0
- data/lib/norbelys/models/domain_create_params.rb +307 -0
- data/lib/norbelys/models/domain_detail.rb +445 -0
- data/lib/norbelys/models/domain_health.rb +310 -0
- data/lib/norbelys/models/domain_list.rb +292 -0
- data/lib/norbelys/models/domain_monitoring.rb +380 -0
- data/lib/norbelys/models/domain_monitoring_params.rb +262 -0
- data/lib/norbelys/models/domain_sending.rb +302 -0
- data/lib/norbelys/models/domain_sending_policy.rb +479 -0
- data/lib/norbelys/models/domain_sending_policy_params.rb +389 -0
- data/lib/norbelys/models/domain_sending_update_params.rb +225 -0
- data/lib/norbelys/models/domain_tracking.rb +570 -0
- data/lib/norbelys/models/domain_tracking_params.rb +268 -0
- data/lib/norbelys/models/domain_tracking_update_params.rb +306 -0
- data/lib/norbelys/models/domain_update_params.rb +259 -0
- data/lib/norbelys/models/email_variant_content.rb +104 -0
- data/lib/norbelys/models/enroll_program_params.rb +308 -0
- data/lib/norbelys/models/enroll_program_result.rb +366 -0
- data/lib/norbelys/models/enrollment.rb +405 -0
- data/lib/norbelys/models/enrollment_counts.rb +660 -0
- data/lib/norbelys/models/enrollment_list.rb +308 -0
- data/lib/norbelys/models/enrollment_person_ref.rb +246 -0
- data/lib/norbelys/models/enrollment_program_ref.rb +239 -0
- data/lib/norbelys/models/features.rb +223 -0
- data/lib/norbelys/models/field.rb +401 -0
- data/lib/norbelys/models/field_create_params.rb +386 -0
- data/lib/norbelys/models/field_list.rb +234 -0
- data/lib/norbelys/models/field_type.rb +45 -0
- data/lib/norbelys/models/field_update_params.rb +324 -0
- data/lib/norbelys/models/file_object.rb +321 -0
- data/lib/norbelys/models/file_upload.rb +324 -0
- data/lib/norbelys/models/group.rb +339 -0
- data/lib/norbelys/models/group_add_members_params.rb +227 -0
- data/lib/norbelys/models/group_add_members_result.rb +313 -0
- data/lib/norbelys/models/group_create_params.rb +308 -0
- data/lib/norbelys/models/group_list.rb +299 -0
- data/lib/norbelys/models/group_update_params.rb +293 -0
- data/lib/norbelys/models/imap_connection_update.rb +317 -0
- data/lib/norbelys/models/inbound_message.rb +442 -0
- data/lib/norbelys/models/integration.rb +340 -0
- data/lib/norbelys/models/integration_config.rb +254 -0
- data/lib/norbelys/models/integration_connect_params.rb +244 -0
- data/lib/norbelys/models/integration_connect_result.rb +222 -0
- data/lib/norbelys/models/integration_list.rb +292 -0
- data/lib/norbelys/models/integration_notify_config.rb +246 -0
- data/lib/norbelys/models/integration_options.rb +224 -0
- data/lib/norbelys/models/integration_provider.rb +52 -0
- data/lib/norbelys/models/integration_status.rb +41 -0
- data/lib/norbelys/models/integration_sync_result.rb +224 -0
- data/lib/norbelys/models/integration_update_params.rb +222 -0
- data/lib/norbelys/models/launch_program_params.rb +230 -0
- data/lib/norbelys/models/launch_program_result.rb +292 -0
- data/lib/norbelys/models/message.rb +104 -0
- data/lib/norbelys/models/message_address.rb +232 -0
- data/lib/norbelys/models/message_attachment.rb +312 -0
- data/lib/norbelys/models/message_attachment_download.rb +341 -0
- data/lib/norbelys/models/message_attachment_input.rb +296 -0
- data/lib/norbelys/models/message_attachment_list.rb +253 -0
- data/lib/norbelys/models/message_create_params.rb +105 -0
- data/lib/norbelys/models/message_enroll_params.rb +278 -0
- data/lib/norbelys/models/message_list.rb +299 -0
- data/lib/norbelys/models/message_reply_params.rb +369 -0
- data/lib/norbelys/models/message_source.rb +348 -0
- data/lib/norbelys/models/message_source_attachment.rb +242 -0
- data/lib/norbelys/models/message_test_params.rb +364 -0
- data/lib/norbelys/models/message_update_params.rb +269 -0
- data/lib/norbelys/models/monthly_email_usage_meter.rb +303 -0
- data/lib/norbelys/models/organization.rb +321 -0
- data/lib/norbelys/models/organization_alerts.rb +223 -0
- data/lib/norbelys/models/organization_alerts_params.rb +216 -0
- data/lib/norbelys/models/organization_bounce_policy.rb +240 -0
- data/lib/norbelys/models/organization_bounce_policy_params.rb +226 -0
- data/lib/norbelys/models/organization_onboarding.rb +250 -0
- data/lib/norbelys/models/organization_profile.rb +264 -0
- data/lib/norbelys/models/organization_profile_params.rb +270 -0
- data/lib/norbelys/models/organization_pulse.rb +301 -0
- data/lib/norbelys/models/organization_update_params.rb +242 -0
- data/lib/norbelys/models/organization_usage.rb +282 -0
- data/lib/norbelys/models/outbound_message.rb +447 -0
- data/lib/norbelys/models/people_bulk_create_params.rb +401 -0
- data/lib/norbelys/models/people_bulk_create_result.rb +493 -0
- data/lib/norbelys/models/person.rb +500 -0
- data/lib/norbelys/models/person_create_params.rb +320 -0
- data/lib/norbelys/models/person_detail.rb +548 -0
- data/lib/norbelys/models/person_erased.rb +234 -0
- data/lib/norbelys/models/person_group_ref.rb +251 -0
- data/lib/norbelys/models/person_import_item.rb +339 -0
- data/lib/norbelys/models/person_import_reason.rb +309 -0
- data/lib/norbelys/models/person_import_stats.rb +518 -0
- data/lib/norbelys/models/person_list.rb +299 -0
- data/lib/norbelys/models/person_list_item.rb +488 -0
- data/lib/norbelys/models/person_segment_ref.rb +251 -0
- data/lib/norbelys/models/person_update_params.rb +313 -0
- data/lib/norbelys/models/program.rb +871 -0
- data/lib/norbelys/models/program_create_params.rb +704 -0
- data/lib/norbelys/models/program_detail.rb +911 -0
- data/lib/norbelys/models/program_list.rb +292 -0
- data/lib/norbelys/models/program_list_item.rb +887 -0
- data/lib/norbelys/models/program_pause_meta.rb +295 -0
- data/lib/norbelys/models/program_sender_ref.rb +295 -0
- data/lib/norbelys/models/program_stats.rb +297 -0
- data/lib/norbelys/models/program_step_input.rb +469 -0
- data/lib/norbelys/models/program_update_params.rb +697 -0
- data/lib/norbelys/models/program_variant_input.rb +274 -0
- data/lib/norbelys/models/programs_audience_list.rb +293 -0
- data/lib/norbelys/models/programs_senders_list.rb +293 -0
- data/lib/norbelys/models/provider_api_sender_input.rb +395 -0
- data/lib/norbelys/models/pulse_deliverability.rb +325 -0
- data/lib/norbelys/models/pulse_program.rb +453 -0
- data/lib/norbelys/models/pulse_sender_fleet.rb +325 -0
- data/lib/norbelys/models/pulse_value.rb +291 -0
- data/lib/norbelys/models/report_share.rb +244 -0
- data/lib/norbelys/models/segment.rb +307 -0
- data/lib/norbelys/models/segment_create_params.rb +296 -0
- data/lib/norbelys/models/segment_list.rb +299 -0
- data/lib/norbelys/models/segment_update_params.rb +278 -0
- data/lib/norbelys/models/self_hosted_sender_input.rb +378 -0
- data/lib/norbelys/models/sender.rb +708 -0
- data/lib/norbelys/models/sender_bulk_error.rb +239 -0
- data/lib/norbelys/models/sender_detail.rb +726 -0
- data/lib/norbelys/models/sender_list.rb +299 -0
- data/lib/norbelys/models/sender_remove_result.rb +268 -0
- data/lib/norbelys/models/sender_usage.rb +331 -0
- data/lib/norbelys/models/sender_warmup_status.rb +230 -0
- data/lib/norbelys/models/slack_channel.rb +239 -0
- data/lib/norbelys/models/smtp_connection_settings.rb +351 -0
- data/lib/norbelys/models/smtp_connection_update.rb +337 -0
- data/lib/norbelys/models/smtp_sender_input.rb +403 -0
- data/lib/norbelys/models/static_email_variant_content.rb +312 -0
- data/lib/norbelys/models/step_with_variants.rb +591 -0
- data/lib/norbelys/models/suppression.rb +331 -0
- data/lib/norbelys/models/suppression_bulk_params.rb +262 -0
- data/lib/norbelys/models/suppression_bulk_result.rb +241 -0
- data/lib/norbelys/models/suppression_create_params.rb +305 -0
- data/lib/norbelys/models/suppression_list.rb +293 -0
- data/lib/norbelys/models/suppression_scope.rb +40 -0
- data/lib/norbelys/models/sync_model.rb +41 -0
- data/lib/norbelys/models/team_size.rb +43 -0
- data/lib/norbelys/models/tracking_dns_record.rb +252 -0
- data/lib/norbelys/models/update_sender_input.rb +481 -0
- data/lib/norbelys/models/usage_meter.rb +286 -0
- data/lib/norbelys/models/usage_plan.rb +257 -0
- data/lib/norbelys/models/variant.rb +385 -0
- data/lib/norbelys/models/variant_ai.rb +314 -0
- data/lib/norbelys/models/verify_email_input.rb +251 -0
- data/lib/norbelys/models/verify_mx.rb +254 -0
- data/lib/norbelys/models/verify_reachability.rb +42 -0
- data/lib/norbelys/models/verify_reason_code.rb +52 -0
- data/lib/norbelys/models/verify_result.rb +426 -0
- data/lib/norbelys/models/verify_signals.rb +308 -0
- data/lib/norbelys/models/verify_syntax.rb +257 -0
- data/lib/norbelys/models/voice_sender_input.rb +388 -0
- data/lib/norbelys/models/warmup_runtime_status.rb +440 -0
- data/lib/norbelys/models/warmup_settings.rb +562 -0
- data/lib/norbelys/models/warmup_template.rb +295 -0
- data/lib/norbelys/models/warmup_today_tally.rb +314 -0
- data/lib/norbelys/version.rb +15 -0
- data/lib/norbelys.rb +243 -0
- data/norbelys.gemspec +39 -0
- data/spec/api/analytics_api_spec.rb +48 -0
- data/spec/api/domains_api_spec.rb +128 -0
- data/spec/api/fields_api_spec.rb +85 -0
- data/spec/api/files_api_spec.rb +48 -0
- data/spec/api/groups_api_spec.rb +127 -0
- data/spec/api/integrations_api_spec.rb +124 -0
- data/spec/api/messages_api_spec.rb +139 -0
- data/spec/api/organization_api_spec.rb +92 -0
- data/spec/api/people_api_spec.rb +158 -0
- data/spec/api/programs_api_spec.rb +270 -0
- data/spec/api/segments_api_spec.rb +100 -0
- data/spec/api/senders_api_spec.rb +130 -0
- data/spec/api/suppressions_api_spec.rb +98 -0
- data/spec/api/verify_api_spec.rb +48 -0
- data/spec/models/add_program_sender_params_spec.rb +36 -0
- data/spec/models/ai_email_variant_content_spec.rb +66 -0
- data/spec/models/analytics_query_name_spec.rb +30 -0
- data/spec/models/analytics_query_params_spec.rb +136 -0
- data/spec/models/analytics_query_result_spec.rb +42 -0
- data/spec/models/analytics_query_spec.rb +42 -0
- data/spec/models/api_error_detail_spec.rb +64 -0
- data/spec/models/api_error_spec.rb +36 -0
- data/spec/models/audience_activity_action_spec.rb +30 -0
- data/spec/models/audience_activity_condition_spec.rb +42 -0
- data/spec/models/audience_activity_link_filter_spec.rb +42 -0
- data/spec/models/audience_activity_link_match_op_spec.rb +30 -0
- data/spec/models/audience_activity_params_spec.rb +78 -0
- data/spec/models/audience_attribute_condition_spec.rb +48 -0
- data/spec/models/audience_condition_op_spec.rb +30 -0
- data/spec/models/audience_condition_value_spec.rb +21 -0
- data/spec/models/audience_filter_spec.rb +42 -0
- data/spec/models/audience_match_spec.rb +30 -0
- data/spec/models/audience_rule_spec.rb +21 -0
- data/spec/models/audience_source_spec.rb +64 -0
- data/spec/models/audience_status_breakdown_spec.rb +46 -0
- data/spec/models/audience_summary_spec.rb +60 -0
- data/spec/models/audience_week_point_spec.rb +42 -0
- data/spec/models/bulk_update_sender_patch_spec.rb +88 -0
- data/spec/models/bulk_update_senders_input_spec.rb +42 -0
- data/spec/models/bulk_update_senders_result_spec.rb +54 -0
- data/spec/models/campaign_report_share_spec.rb +48 -0
- data/spec/models/collection_address_spec.rb +70 -0
- data/spec/models/connection_settings_spec.rb +52 -0
- data/spec/models/create_sender_input_spec.rb +21 -0
- data/spec/models/detach_result_spec.rb +36 -0
- data/spec/models/dmarc_record_to_publish_spec.rb +48 -0
- data/spec/models/domain_age_spec.rb +76 -0
- data/spec/models/domain_capacity_spec.rb +70 -0
- data/spec/models/domain_create_params_spec.rb +58 -0
- data/spec/models/domain_detail_spec.rb +112 -0
- data/spec/models/domain_health_spec.rb +62 -0
- data/spec/models/domain_list_spec.rb +60 -0
- data/spec/models/domain_monitoring_params_spec.rb +46 -0
- data/spec/models/domain_monitoring_spec.rb +84 -0
- data/spec/models/domain_sending_policy_params_spec.rb +82 -0
- data/spec/models/domain_sending_policy_spec.rb +94 -0
- data/spec/models/domain_sending_spec.rb +60 -0
- data/spec/models/domain_sending_update_params_spec.rb +42 -0
- data/spec/models/domain_spec.rb +100 -0
- data/spec/models/domain_tracking_params_spec.rb +48 -0
- data/spec/models/domain_tracking_spec.rb +160 -0
- data/spec/models/domain_tracking_update_params_spec.rb +58 -0
- data/spec/models/domain_update_params_spec.rb +48 -0
- data/spec/models/email_variant_content_spec.rb +21 -0
- data/spec/models/enroll_program_params_spec.rb +70 -0
- data/spec/models/enroll_program_result_spec.rb +66 -0
- data/spec/models/enrollment_counts_spec.rb +114 -0
- data/spec/models/enrollment_list_spec.rb +66 -0
- data/spec/models/enrollment_person_ref_spec.rb +48 -0
- data/spec/models/enrollment_program_ref_spec.rb +42 -0
- data/spec/models/enrollment_spec.rb +112 -0
- data/spec/models/features_spec.rb +36 -0
- data/spec/models/field_create_params_spec.rb +64 -0
- data/spec/models/field_list_spec.rb +42 -0
- data/spec/models/field_spec.rb +96 -0
- data/spec/models/field_type_spec.rb +30 -0
- data/spec/models/field_update_params_spec.rb +58 -0
- data/spec/models/file_object_spec.rb +66 -0
- data/spec/models/file_upload_spec.rb +48 -0
- data/spec/models/group_add_members_params_spec.rb +42 -0
- data/spec/models/group_add_members_result_spec.rb +48 -0
- data/spec/models/group_create_params_spec.rb +48 -0
- data/spec/models/group_list_spec.rb +60 -0
- data/spec/models/group_spec.rb +84 -0
- data/spec/models/group_update_params_spec.rb +48 -0
- data/spec/models/imap_connection_update_spec.rb +52 -0
- data/spec/models/inbound_message_spec.rb +130 -0
- data/spec/models/integration_config_spec.rb +60 -0
- data/spec/models/integration_connect_params_spec.rb +36 -0
- data/spec/models/integration_connect_result_spec.rb +36 -0
- data/spec/models/integration_list_spec.rb +60 -0
- data/spec/models/integration_notify_config_spec.rb +54 -0
- data/spec/models/integration_options_spec.rb +36 -0
- data/spec/models/integration_provider_spec.rb +30 -0
- data/spec/models/integration_spec.rb +84 -0
- data/spec/models/integration_status_spec.rb +30 -0
- data/spec/models/integration_sync_result_spec.rb +36 -0
- data/spec/models/integration_update_params_spec.rb +36 -0
- data/spec/models/launch_program_params_spec.rb +36 -0
- data/spec/models/launch_program_result_spec.rb +52 -0
- data/spec/models/message_address_spec.rb +42 -0
- data/spec/models/message_attachment_download_spec.rb +78 -0
- data/spec/models/message_attachment_input_spec.rb +48 -0
- data/spec/models/message_attachment_list_spec.rb +48 -0
- data/spec/models/message_attachment_spec.rb +66 -0
- data/spec/models/message_create_params_spec.rb +21 -0
- data/spec/models/message_enroll_params_spec.rb +60 -0
- data/spec/models/message_list_spec.rb +60 -0
- data/spec/models/message_reply_params_spec.rb +102 -0
- data/spec/models/message_source_attachment_spec.rb +48 -0
- data/spec/models/message_source_spec.rb +90 -0
- data/spec/models/message_spec.rb +21 -0
- data/spec/models/message_test_params_spec.rb +102 -0
- data/spec/models/message_update_params_spec.rb +52 -0
- data/spec/models/monthly_email_usage_meter_spec.rb +58 -0
- data/spec/models/organization_alerts_params_spec.rb +36 -0
- data/spec/models/organization_alerts_spec.rb +36 -0
- data/spec/models/organization_bounce_policy_params_spec.rb +42 -0
- data/spec/models/organization_bounce_policy_spec.rb +42 -0
- data/spec/models/organization_onboarding_spec.rb +42 -0
- data/spec/models/organization_profile_params_spec.rb +52 -0
- data/spec/models/organization_profile_spec.rb +48 -0
- data/spec/models/organization_pulse_spec.rb +66 -0
- data/spec/models/organization_spec.rb +72 -0
- data/spec/models/organization_update_params_spec.rb +54 -0
- data/spec/models/organization_usage_spec.rb +60 -0
- data/spec/models/outbound_message_spec.rb +128 -0
- data/spec/models/people_bulk_create_params_spec.rb +70 -0
- data/spec/models/people_bulk_create_result_spec.rb +84 -0
- data/spec/models/person_create_params_spec.rb +76 -0
- data/spec/models/person_detail_spec.rb +170 -0
- data/spec/models/person_erased_spec.rb +42 -0
- data/spec/models/person_group_ref_spec.rb +48 -0
- data/spec/models/person_import_item_spec.rb +76 -0
- data/spec/models/person_import_reason_spec.rb +52 -0
- data/spec/models/person_import_stats_spec.rb +94 -0
- data/spec/models/person_list_item_spec.rb +140 -0
- data/spec/models/person_list_spec.rb +60 -0
- data/spec/models/person_segment_ref_spec.rb +48 -0
- data/spec/models/person_spec.rb +146 -0
- data/spec/models/person_update_params_spec.rb +76 -0
- data/spec/models/program_create_params_spec.rb +180 -0
- data/spec/models/program_detail_spec.rb +254 -0
- data/spec/models/program_list_item_spec.rb +242 -0
- data/spec/models/program_list_spec.rb +60 -0
- data/spec/models/program_pause_meta_spec.rb +42 -0
- data/spec/models/program_sender_ref_spec.rb +60 -0
- data/spec/models/program_spec.rb +236 -0
- data/spec/models/program_stats_spec.rb +48 -0
- data/spec/models/program_step_input_spec.rb +108 -0
- data/spec/models/program_update_params_spec.rb +180 -0
- data/spec/models/program_variant_input_spec.rb +60 -0
- data/spec/models/programs_audience_list_spec.rb +60 -0
- data/spec/models/programs_senders_list_spec.rb +60 -0
- data/spec/models/provider_api_sender_input_spec.rb +96 -0
- data/spec/models/pulse_deliverability_spec.rb +72 -0
- data/spec/models/pulse_program_spec.rb +112 -0
- data/spec/models/pulse_sender_fleet_spec.rb +72 -0
- data/spec/models/pulse_value_spec.rb +60 -0
- data/spec/models/report_share_spec.rb +48 -0
- data/spec/models/segment_create_params_spec.rb +48 -0
- data/spec/models/segment_list_spec.rb +60 -0
- data/spec/models/segment_spec.rb +78 -0
- data/spec/models/segment_update_params_spec.rb +48 -0
- data/spec/models/self_hosted_sender_input_spec.rb +90 -0
- data/spec/models/sender_bulk_error_spec.rb +42 -0
- data/spec/models/sender_detail_spec.rb +212 -0
- data/spec/models/sender_list_spec.rb +60 -0
- data/spec/models/sender_remove_result_spec.rb +46 -0
- data/spec/models/sender_spec.rb +200 -0
- data/spec/models/sender_usage_spec.rb +54 -0
- data/spec/models/sender_warmup_status_spec.rb +42 -0
- data/spec/models/slack_channel_spec.rb +42 -0
- data/spec/models/smtp_connection_settings_spec.rb +64 -0
- data/spec/models/smtp_connection_update_spec.rb +64 -0
- data/spec/models/smtp_sender_input_spec.rb +102 -0
- data/spec/models/static_email_variant_content_spec.rb +66 -0
- data/spec/models/step_with_variants_spec.rb +136 -0
- data/spec/models/suppression_bulk_params_spec.rb +42 -0
- data/spec/models/suppression_bulk_result_spec.rb +36 -0
- data/spec/models/suppression_create_params_spec.rb +58 -0
- data/spec/models/suppression_list_spec.rb +60 -0
- data/spec/models/suppression_scope_spec.rb +30 -0
- data/spec/models/suppression_spec.rb +78 -0
- data/spec/models/sync_model_spec.rb +30 -0
- data/spec/models/team_size_spec.rb +30 -0
- data/spec/models/tracking_dns_record_spec.rb +48 -0
- data/spec/models/update_sender_input_spec.rb +134 -0
- data/spec/models/usage_meter_spec.rb +52 -0
- data/spec/models/usage_plan_spec.rb +48 -0
- data/spec/models/variant_ai_spec.rb +52 -0
- data/spec/models/variant_spec.rb +88 -0
- data/spec/models/verify_email_input_spec.rb +36 -0
- data/spec/models/verify_mx_spec.rb +48 -0
- data/spec/models/verify_reachability_spec.rb +30 -0
- data/spec/models/verify_reason_code_spec.rb +30 -0
- data/spec/models/verify_result_spec.rb +96 -0
- data/spec/models/verify_signals_spec.rb +66 -0
- data/spec/models/verify_syntax_spec.rb +48 -0
- data/spec/models/voice_sender_input_spec.rb +96 -0
- data/spec/models/warmup_runtime_status_spec.rb +86 -0
- data/spec/models/warmup_settings_spec.rb +118 -0
- data/spec/models/warmup_template_spec.rb +42 -0
- data/spec/models/warmup_today_tally_spec.rb +48 -0
- data/spec/spec_helper.rb +111 -0
- metadata +935 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Norbelys::PeopleBulkCreateResult
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **created** | **Integer** | Number of people actually inserted. | |
|
|
8
|
+
| **enrolled** | **Integer** | Total enrollments created across all `campaignIds` (0 when none requested). | |
|
|
9
|
+
| **fields_dropped** | **Integer** | Individual field VALUES dropped as invalid (an unparseable phone, a malformed `email`/`phone` custom-field value). The person was still imported — only the bad value was left out. | |
|
|
10
|
+
| **grouped** | **Integer** | Total group memberships created across all `groupIds` (0 when none requested). | |
|
|
11
|
+
| **ids** | **Array<String>** | Ids of EVERY matched person (new + pre-existing), for enrolling the whole set. | |
|
|
12
|
+
| **import_id** | **String** | The import id — poll its verification stats at GET /v1/people/bulk/{importId}. | |
|
|
13
|
+
| **rejected** | **Integer** | People dropped because the email was malformed — never inserted, and never fatal to the rest of the batch. | |
|
|
14
|
+
| **skipped** | **Integer** | People skipped as duplicate emails (already exist). | |
|
|
15
|
+
| **updated** | **Integer** | Existing people updated in place. 0 when `onConflict` is `skip`. | |
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```ruby
|
|
20
|
+
require 'norbelys'
|
|
21
|
+
|
|
22
|
+
instance = Norbelys::PeopleBulkCreateResult.new(
|
|
23
|
+
created: null,
|
|
24
|
+
enrolled: null,
|
|
25
|
+
fields_dropped: null,
|
|
26
|
+
grouped: null,
|
|
27
|
+
ids: null,
|
|
28
|
+
import_id: null,
|
|
29
|
+
rejected: null,
|
|
30
|
+
skipped: null,
|
|
31
|
+
updated: null
|
|
32
|
+
)
|
|
33
|
+
```
|
|
34
|
+
|
data/docs/Person.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Norbelys::Person
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **archived_at** | **Object** | | [optional] |
|
|
8
|
+
| **created_at** | **Object** | | [optional] |
|
|
9
|
+
| **custom_fields** | **Hash<String, Object>** | | |
|
|
10
|
+
| **email** | **String** | | |
|
|
11
|
+
| **email_domain** | **String** | | |
|
|
12
|
+
| **family_name** | **String** | | |
|
|
13
|
+
| **given_name** | **String** | | |
|
|
14
|
+
| **id** | **String** | The person id. | |
|
|
15
|
+
| **import_id** | **String** | | |
|
|
16
|
+
| **last_activity_at** | **Object** | | [optional] |
|
|
17
|
+
| **object** | **Object** | | [optional] |
|
|
18
|
+
| **private_notes** | **String** | | |
|
|
19
|
+
| **score** | **Integer** | | |
|
|
20
|
+
| **source** | **String** | Where the person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. | |
|
|
21
|
+
| **status** | **String** | Lifecycle status: `active`, `replied`, `bounced`, `unsubscribed`, `finished`. | |
|
|
22
|
+
| **telephone** | **String** | | |
|
|
23
|
+
| **telephones** | **Array<String>** | | |
|
|
24
|
+
| **updated_at** | **Object** | | [optional] |
|
|
25
|
+
|
|
26
|
+
## Example
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
require 'norbelys'
|
|
30
|
+
|
|
31
|
+
instance = Norbelys::Person.new(
|
|
32
|
+
archived_at: null,
|
|
33
|
+
created_at: null,
|
|
34
|
+
custom_fields: null,
|
|
35
|
+
email: null,
|
|
36
|
+
email_domain: null,
|
|
37
|
+
family_name: null,
|
|
38
|
+
given_name: null,
|
|
39
|
+
id: null,
|
|
40
|
+
import_id: null,
|
|
41
|
+
last_activity_at: null,
|
|
42
|
+
object: null,
|
|
43
|
+
private_notes: null,
|
|
44
|
+
score: null,
|
|
45
|
+
source: null,
|
|
46
|
+
status: null,
|
|
47
|
+
telephone: null,
|
|
48
|
+
telephones: null,
|
|
49
|
+
updated_at: null
|
|
50
|
+
)
|
|
51
|
+
```
|
|
52
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Norbelys::PersonCreateParams
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **custom_fields** | **Hash<String, Object>** | Custom field values keyed by code (see the Fields page). | [optional] |
|
|
8
|
+
| **email** | **String** | The person's email address. | |
|
|
9
|
+
| **family_name** | **String** | The person's last name. | [optional] |
|
|
10
|
+
| **given_name** | **String** | The person's first name. | [optional] |
|
|
11
|
+
| **source** | **String** | Where this person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. Defaults to `manual`. | [optional] |
|
|
12
|
+
| **telephone** | **String** | The primary telephone number. Normalized to E.164 on write; an invalid number is dropped (the person still saves), never fatal. | [optional] |
|
|
13
|
+
| **telephones** | **Array<String>** | Additional telephone numbers. Merged with `telephone`, normalized to E.164, deduped; invalid entries are dropped. | [optional] |
|
|
14
|
+
|
|
15
|
+
## Example
|
|
16
|
+
|
|
17
|
+
```ruby
|
|
18
|
+
require 'norbelys'
|
|
19
|
+
|
|
20
|
+
instance = Norbelys::PersonCreateParams.new(
|
|
21
|
+
custom_fields: null,
|
|
22
|
+
email: null,
|
|
23
|
+
family_name: null,
|
|
24
|
+
given_name: null,
|
|
25
|
+
source: null,
|
|
26
|
+
telephone: null,
|
|
27
|
+
telephones: null
|
|
28
|
+
)
|
|
29
|
+
```
|
|
30
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Norbelys::PersonDetail
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **archived_at** | **Object** | | [optional] |
|
|
8
|
+
| **created_at** | **Object** | | [optional] |
|
|
9
|
+
| **custom_fields** | **Hash<String, Object>** | | |
|
|
10
|
+
| **email** | **String** | | |
|
|
11
|
+
| **email_domain** | **String** | | |
|
|
12
|
+
| **family_name** | **String** | | |
|
|
13
|
+
| **given_name** | **String** | | |
|
|
14
|
+
| **id** | **String** | The person id. | |
|
|
15
|
+
| **import_id** | **String** | | |
|
|
16
|
+
| **last_activity_at** | **Object** | | [optional] |
|
|
17
|
+
| **object** | **Object** | | [optional] |
|
|
18
|
+
| **private_notes** | **String** | | |
|
|
19
|
+
| **score** | **Integer** | | |
|
|
20
|
+
| **source** | **String** | Where the person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. | |
|
|
21
|
+
| **status** | **String** | Lifecycle status: `active`, `replied`, `bounced`, `unsubscribed`, `finished`. | |
|
|
22
|
+
| **telephone** | **String** | | |
|
|
23
|
+
| **telephones** | **Array<String>** | | |
|
|
24
|
+
| **updated_at** | **Object** | | [optional] |
|
|
25
|
+
| **enrollments** | [**Array<Enrollment>**](Enrollment.md) | Expansion: the person's enrollments across all campaigns. | [optional] |
|
|
26
|
+
| **groups** | [**Array<PersonGroupRef>**](PersonGroupRef.md) | Expansion: the static groups this person belongs to. | [optional] |
|
|
27
|
+
| **segments** | [**Array<PersonSegmentRef>**](PersonSegmentRef.md) | Expansion: the dynamic segments this person currently matches. | [optional] |
|
|
28
|
+
| **timeline** | [**Array<Message>**](Message.md) | Expansion: the person's merged sent + received messages, newest first. | [optional] |
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
|
|
32
|
+
```ruby
|
|
33
|
+
require 'norbelys'
|
|
34
|
+
|
|
35
|
+
instance = Norbelys::PersonDetail.new(
|
|
36
|
+
archived_at: null,
|
|
37
|
+
created_at: null,
|
|
38
|
+
custom_fields: null,
|
|
39
|
+
email: null,
|
|
40
|
+
email_domain: null,
|
|
41
|
+
family_name: null,
|
|
42
|
+
given_name: null,
|
|
43
|
+
id: null,
|
|
44
|
+
import_id: null,
|
|
45
|
+
last_activity_at: null,
|
|
46
|
+
object: null,
|
|
47
|
+
private_notes: null,
|
|
48
|
+
score: null,
|
|
49
|
+
source: null,
|
|
50
|
+
status: null,
|
|
51
|
+
telephone: null,
|
|
52
|
+
telephones: null,
|
|
53
|
+
updated_at: null,
|
|
54
|
+
enrollments: null,
|
|
55
|
+
groups: null,
|
|
56
|
+
segments: null,
|
|
57
|
+
timeline: null
|
|
58
|
+
)
|
|
59
|
+
```
|
|
60
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Norbelys::PersonErased
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **erased** | **Object** | | |
|
|
8
|
+
| **id** | **String** | The erased person's id. | |
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
require 'norbelys'
|
|
14
|
+
|
|
15
|
+
instance = Norbelys::PersonErased.new(
|
|
16
|
+
erased: null,
|
|
17
|
+
id: null
|
|
18
|
+
)
|
|
19
|
+
```
|
|
20
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Norbelys::PersonGroupRef
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **id** | **String** | The reference id. | |
|
|
8
|
+
| **name** | **String** | Display name. | |
|
|
9
|
+
| **color** | **String** | | |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'norbelys'
|
|
15
|
+
|
|
16
|
+
instance = Norbelys::PersonGroupRef.new(
|
|
17
|
+
id: null,
|
|
18
|
+
name: null,
|
|
19
|
+
color: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Norbelys::PersonImportItem
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **custom_fields** | **Hash<String, Object>** | Custom field values keyed by code (see the Fields page). | [optional] |
|
|
8
|
+
| **email** | **String** | The person's email address. A malformed address is skipped (counted in `rejected`), never fatal to the batch. | |
|
|
9
|
+
| **family_name** | **String** | The person's last name. | [optional] |
|
|
10
|
+
| **given_name** | **String** | The person's first name. | [optional] |
|
|
11
|
+
| **source** | **String** | Where this person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. Defaults to `manual`. | [optional] |
|
|
12
|
+
| **telephone** | **String** | The primary telephone number. Normalized to E.164 on write; an invalid number is dropped (the person still saves), never fatal. | [optional] |
|
|
13
|
+
| **telephones** | **Array<String>** | Additional telephone numbers. Merged with `telephone`, normalized to E.164, deduped; invalid entries are dropped. | [optional] |
|
|
14
|
+
|
|
15
|
+
## Example
|
|
16
|
+
|
|
17
|
+
```ruby
|
|
18
|
+
require 'norbelys'
|
|
19
|
+
|
|
20
|
+
instance = Norbelys::PersonImportItem.new(
|
|
21
|
+
custom_fields: null,
|
|
22
|
+
email: null,
|
|
23
|
+
family_name: null,
|
|
24
|
+
given_name: null,
|
|
25
|
+
source: null,
|
|
26
|
+
telephone: null,
|
|
27
|
+
telephones: null
|
|
28
|
+
)
|
|
29
|
+
```
|
|
30
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Norbelys::PersonImportReason
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **count** | **Integer** | People in this (outcome, reason) bucket. | |
|
|
8
|
+
| **outcome** | **String** | Which outcome bucket this reason belongs to: `sendable`, `suppressed_new`, or `suppressed_existing`. | |
|
|
9
|
+
| **reason_code** | **String** | Machine-readable reason for the verdict (typo_suspected · invalid_tld · disposable · no_mail_server · previously_bounced · spam_listed · role_account · …). | |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'norbelys'
|
|
15
|
+
|
|
16
|
+
instance = Norbelys::PersonImportReason.new(
|
|
17
|
+
count: null,
|
|
18
|
+
outcome: null,
|
|
19
|
+
reason_code: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Norbelys::PersonImportStats
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **created** | **Integer** | New people this import inserted. | |
|
|
8
|
+
| **id** | **String** | The import id. | |
|
|
9
|
+
| **object** | **Object** | | [optional] |
|
|
10
|
+
| **pending** | **Integer** | Created people still awaiting a verdict (`created − processed`). | |
|
|
11
|
+
| **processed** | **Integer** | How many of the created people have been verified so far. | |
|
|
12
|
+
| **reasons** | [**Array<PersonImportReason>**](PersonImportReason.md) | The cleaning report: WHAT the verification found, per reason — which addresses were removed as dead domains, likely typos, disposables, previously bounced, and so on. Ordered by count, descending. | |
|
|
13
|
+
| **sendable** | **Integer** | Verified and safe to email. | |
|
|
14
|
+
| **status** | **String** | `processing` while addresses are still being verified, `completed` once every created person has a verdict. | |
|
|
15
|
+
| **suppressed_existing** | **Integer** | Already on the suppression list before the import, so verification was skipped. | |
|
|
16
|
+
| **suppressed_new** | **Integer** | Newly suppressed by an undeliverable verdict. | |
|
|
17
|
+
|
|
18
|
+
## Example
|
|
19
|
+
|
|
20
|
+
```ruby
|
|
21
|
+
require 'norbelys'
|
|
22
|
+
|
|
23
|
+
instance = Norbelys::PersonImportStats.new(
|
|
24
|
+
created: null,
|
|
25
|
+
id: null,
|
|
26
|
+
object: null,
|
|
27
|
+
pending: null,
|
|
28
|
+
processed: null,
|
|
29
|
+
reasons: null,
|
|
30
|
+
sendable: null,
|
|
31
|
+
status: null,
|
|
32
|
+
suppressed_existing: null,
|
|
33
|
+
suppressed_new: null
|
|
34
|
+
)
|
|
35
|
+
```
|
|
36
|
+
|
data/docs/PersonList.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Norbelys::PersonList
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **data** | [**Array<PersonListItem>**](PersonListItem.md) | The page of results, newest first. | |
|
|
8
|
+
| **has_more** | **Boolean** | Whether another page exists beyond this one. | |
|
|
9
|
+
| **next_cursor** | **String** | | |
|
|
10
|
+
| **object** | **Object** | | [optional] |
|
|
11
|
+
| **total** | **Integer** | Count of ALL people matching the filters. | |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
require 'norbelys'
|
|
17
|
+
|
|
18
|
+
instance = Norbelys::PersonList.new(
|
|
19
|
+
data: null,
|
|
20
|
+
has_more: null,
|
|
21
|
+
next_cursor: null,
|
|
22
|
+
object: null,
|
|
23
|
+
total: null
|
|
24
|
+
)
|
|
25
|
+
```
|
|
26
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Norbelys::PersonListItem
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **archived_at** | **Object** | | [optional] |
|
|
8
|
+
| **created_at** | **Object** | | [optional] |
|
|
9
|
+
| **custom_fields** | **Hash<String, Object>** | | |
|
|
10
|
+
| **email** | **String** | | |
|
|
11
|
+
| **email_domain** | **String** | | |
|
|
12
|
+
| **family_name** | **String** | | |
|
|
13
|
+
| **given_name** | **String** | | |
|
|
14
|
+
| **id** | **String** | The person id. | |
|
|
15
|
+
| **import_id** | **String** | | |
|
|
16
|
+
| **last_activity_at** | **Object** | | [optional] |
|
|
17
|
+
| **object** | **Object** | | [optional] |
|
|
18
|
+
| **score** | **Integer** | | |
|
|
19
|
+
| **source** | **String** | Where the person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. | |
|
|
20
|
+
| **status** | **String** | Lifecycle status: `active`, `replied`, `bounced`, `unsubscribed`, `finished`. | |
|
|
21
|
+
| **telephone** | **String** | | |
|
|
22
|
+
| **telephones** | **Array<String>** | | |
|
|
23
|
+
| **updated_at** | **Object** | | [optional] |
|
|
24
|
+
|
|
25
|
+
## Example
|
|
26
|
+
|
|
27
|
+
```ruby
|
|
28
|
+
require 'norbelys'
|
|
29
|
+
|
|
30
|
+
instance = Norbelys::PersonListItem.new(
|
|
31
|
+
archived_at: null,
|
|
32
|
+
created_at: null,
|
|
33
|
+
custom_fields: null,
|
|
34
|
+
email: null,
|
|
35
|
+
email_domain: null,
|
|
36
|
+
family_name: null,
|
|
37
|
+
given_name: null,
|
|
38
|
+
id: null,
|
|
39
|
+
import_id: null,
|
|
40
|
+
last_activity_at: null,
|
|
41
|
+
object: null,
|
|
42
|
+
score: null,
|
|
43
|
+
source: null,
|
|
44
|
+
status: null,
|
|
45
|
+
telephone: null,
|
|
46
|
+
telephones: null,
|
|
47
|
+
updated_at: null
|
|
48
|
+
)
|
|
49
|
+
```
|
|
50
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Norbelys::PersonSegmentRef
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **id** | **String** | The reference id. | |
|
|
8
|
+
| **name** | **String** | Display name. | |
|
|
9
|
+
| **description** | **String** | | |
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
require 'norbelys'
|
|
15
|
+
|
|
16
|
+
instance = Norbelys::PersonSegmentRef.new(
|
|
17
|
+
id: null,
|
|
18
|
+
name: null,
|
|
19
|
+
description: null
|
|
20
|
+
)
|
|
21
|
+
```
|
|
22
|
+
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Norbelys::PersonUpdateParams
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **custom_fields** | **Hash<String, Object>** | | [optional] |
|
|
8
|
+
| **family_name** | **String** | | [optional] |
|
|
9
|
+
| **given_name** | **String** | | [optional] |
|
|
10
|
+
| **private_notes** | **String** | | [optional] |
|
|
11
|
+
| **status** | **String** | Set the lifecycle status: `active`, `replied`, `bounced`, `unsubscribed`, `finished`. | [optional] |
|
|
12
|
+
| **telephone** | **String** | | [optional] |
|
|
13
|
+
| **telephones** | **Array<String>** | | [optional] |
|
|
14
|
+
|
|
15
|
+
## Example
|
|
16
|
+
|
|
17
|
+
```ruby
|
|
18
|
+
require 'norbelys'
|
|
19
|
+
|
|
20
|
+
instance = Norbelys::PersonUpdateParams.new(
|
|
21
|
+
custom_fields: null,
|
|
22
|
+
family_name: null,
|
|
23
|
+
given_name: null,
|
|
24
|
+
private_notes: null,
|
|
25
|
+
status: null,
|
|
26
|
+
telephone: null,
|
|
27
|
+
telephones: null
|
|
28
|
+
)
|
|
29
|
+
```
|
|
30
|
+
|
data/docs/Program.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Norbelys::Program
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **active_days** | **Array<Integer>** | | |
|
|
8
|
+
| **add_unsubscribe** | **Boolean** | Attach RFC 8058 one-click unsubscribe headers + footer. | |
|
|
9
|
+
| **archived_at** | **Object** | | [optional] |
|
|
10
|
+
| **auto_pause_on_company_reply** | **Boolean** | Pause every lead at a company once one of them replies. | |
|
|
11
|
+
| **bounce_pause_threshold** | **Float** | Auto-pause when the bounce rate reaches this percent; 0 disables. | |
|
|
12
|
+
| **created_at** | **Object** | | [optional] |
|
|
13
|
+
| **id** | **String** | The program id. | |
|
|
14
|
+
| **jitter_max_seconds** | **Integer** | Random extra wait per send, upper bound (seconds). | |
|
|
15
|
+
| **jitter_min_seconds** | **Integer** | Random extra wait per send, lower bound (seconds). | |
|
|
16
|
+
| **kind** | **String** | Kind of sending; `cold_sequence` is the only kind today. | |
|
|
17
|
+
| **name** | **String** | Display name. | |
|
|
18
|
+
| **new_per_day** | **Integer** | New leads started per day for the WHOLE campaign, shared across all its mailboxes (follow-ups are not counted). 0 = no daily cap — new leads flow at mailbox capacity. Real throughput is always bounded by the mailboxes' own daily limits. | |
|
|
19
|
+
| **object** | **Object** | | [optional] |
|
|
20
|
+
| **paused_at** | **Object** | | [optional] |
|
|
21
|
+
| **paused_meta** | [**ProgramPauseMeta**](ProgramPauseMeta.md) | | |
|
|
22
|
+
| **paused_reason** | **String** | | |
|
|
23
|
+
| **plain_text_mode** | **Boolean** | Send the body as plain text only: no HTML part, open pixel, or link tracking. | |
|
|
24
|
+
| **send_interval_minutes** | **Integer** | Minutes between sends from one mailbox. | |
|
|
25
|
+
| **spam_pause_threshold** | **Float** | Auto-pause when the spam-complaint rate reaches this percent; 0 disables. | |
|
|
26
|
+
| **start_date** | **Object** | | [optional] |
|
|
27
|
+
| **status** | **String** | Lifecycle status: `draft`, `active`, `paused`, `done`. | |
|
|
28
|
+
| **stop_condition** | **String** | Engagement that pulls a lead out of the cadence: `reply`, `click`, `open`, `none`. | |
|
|
29
|
+
| **timezone** | **String** | IANA timezone the window applies in. | |
|
|
30
|
+
| **track_clicks** | **Boolean** | Rewrite links to track clicks. | |
|
|
31
|
+
| **tracking_domain_id** | **String** | | |
|
|
32
|
+
| **track_opens** | **Boolean** | Insert the open pixel. | |
|
|
33
|
+
| **unsubscribe_text** | **String** | | |
|
|
34
|
+
| **updated_at** | **Object** | | [optional] |
|
|
35
|
+
| **variant_distribution** | **String** | How A/B arms are spread across leads with no decided winner: `pattern` (deterministic per-lead hash) or `random` (independent roll per lead). | |
|
|
36
|
+
| **window_from** | **String** | | |
|
|
37
|
+
| **window_to** | **String** | | |
|
|
38
|
+
|
|
39
|
+
## Example
|
|
40
|
+
|
|
41
|
+
```ruby
|
|
42
|
+
require 'norbelys'
|
|
43
|
+
|
|
44
|
+
instance = Norbelys::Program.new(
|
|
45
|
+
active_days: null,
|
|
46
|
+
add_unsubscribe: null,
|
|
47
|
+
archived_at: null,
|
|
48
|
+
auto_pause_on_company_reply: null,
|
|
49
|
+
bounce_pause_threshold: null,
|
|
50
|
+
created_at: null,
|
|
51
|
+
id: null,
|
|
52
|
+
jitter_max_seconds: null,
|
|
53
|
+
jitter_min_seconds: null,
|
|
54
|
+
kind: null,
|
|
55
|
+
name: null,
|
|
56
|
+
new_per_day: null,
|
|
57
|
+
object: null,
|
|
58
|
+
paused_at: null,
|
|
59
|
+
paused_meta: null,
|
|
60
|
+
paused_reason: null,
|
|
61
|
+
plain_text_mode: null,
|
|
62
|
+
send_interval_minutes: null,
|
|
63
|
+
spam_pause_threshold: null,
|
|
64
|
+
start_date: null,
|
|
65
|
+
status: null,
|
|
66
|
+
stop_condition: null,
|
|
67
|
+
timezone: null,
|
|
68
|
+
track_clicks: null,
|
|
69
|
+
tracking_domain_id: null,
|
|
70
|
+
track_opens: null,
|
|
71
|
+
unsubscribe_text: null,
|
|
72
|
+
updated_at: null,
|
|
73
|
+
variant_distribution: null,
|
|
74
|
+
window_from: null,
|
|
75
|
+
window_to: null
|
|
76
|
+
)
|
|
77
|
+
```
|
|
78
|
+
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Norbelys::ProgramCreateParams
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **active_days** | **Array<Integer>** | | [optional] |
|
|
8
|
+
| **add_unsubscribe** | **Boolean** | Attach RFC 8058 one-click unsubscribe headers + footer. Defaults off (opt-in). | [optional] |
|
|
9
|
+
| **auto_pause_on_company_reply** | **Boolean** | Pause every lead at a company once one of them replies. | [optional] |
|
|
10
|
+
| **bounce_pause_threshold** | **Float** | Auto-pause when the bounce rate reaches this percent; 0 disables. Default 2. | [optional] |
|
|
11
|
+
| **jitter_max_seconds** | **Integer** | Random extra wait per send, upper bound (seconds). | [optional] |
|
|
12
|
+
| **jitter_min_seconds** | **Integer** | Random extra wait per send, lower bound (seconds). | [optional] |
|
|
13
|
+
| **kind** | **String** | Defaults to \"cold_sequence\". | [optional] |
|
|
14
|
+
| **name** | **String** | Display name. | |
|
|
15
|
+
| **new_per_day** | **Integer** | New leads started per day for the whole campaign, shared across all its mailboxes (follow-ups excluded); 0 = uncapped. | [optional] |
|
|
16
|
+
| **plain_text_mode** | **Boolean** | Send the body as plain text only: no HTML part, open pixel, or link tracking. | [optional] |
|
|
17
|
+
| **send_interval_minutes** | **Integer** | Minutes between sends from one mailbox (cold-email floor is 3). | [optional] |
|
|
18
|
+
| **spam_pause_threshold** | **Float** | Auto-pause when the spam-complaint rate reaches this percent; 0 disables. Default 0.3. | [optional] |
|
|
19
|
+
| **start_date** | **Integer** | | [optional] |
|
|
20
|
+
| **steps** | [**Array<ProgramStepInput>**](ProgramStepInput.md) | Build the whole cadence in one call: ordered steps, each with its arms. Omit to start empty and add steps later via programs.update. | [optional] |
|
|
21
|
+
| **stop_condition** | **String** | Engagement that pulls a lead out of the cadence: `reply`, `click`, `open`, `none`. | [optional] |
|
|
22
|
+
| **timezone** | **String** | IANA timezone. | [optional] |
|
|
23
|
+
| **track_clicks** | **Boolean** | Rewrite links to track clicks. | [optional] |
|
|
24
|
+
| **tracking_domain_id** | **String** | | [optional] |
|
|
25
|
+
| **track_opens** | **Boolean** | Insert the open pixel. | [optional] |
|
|
26
|
+
| **unsubscribe_text** | **String** | Custom unsubscribe footer copy. | [optional] |
|
|
27
|
+
| **variant_distribution** | **String** | How A/B arms are spread across leads with no decided winner: `pattern` (deterministic per-lead hash) or `random` (independent roll per lead). | [optional] |
|
|
28
|
+
| **window_from** | **String** | | [optional] |
|
|
29
|
+
| **window_to** | **String** | | [optional] |
|
|
30
|
+
|
|
31
|
+
## Example
|
|
32
|
+
|
|
33
|
+
```ruby
|
|
34
|
+
require 'norbelys'
|
|
35
|
+
|
|
36
|
+
instance = Norbelys::ProgramCreateParams.new(
|
|
37
|
+
active_days: null,
|
|
38
|
+
add_unsubscribe: null,
|
|
39
|
+
auto_pause_on_company_reply: null,
|
|
40
|
+
bounce_pause_threshold: null,
|
|
41
|
+
jitter_max_seconds: null,
|
|
42
|
+
jitter_min_seconds: null,
|
|
43
|
+
kind: null,
|
|
44
|
+
name: null,
|
|
45
|
+
new_per_day: null,
|
|
46
|
+
plain_text_mode: null,
|
|
47
|
+
send_interval_minutes: null,
|
|
48
|
+
spam_pause_threshold: null,
|
|
49
|
+
start_date: null,
|
|
50
|
+
steps: null,
|
|
51
|
+
stop_condition: null,
|
|
52
|
+
timezone: null,
|
|
53
|
+
track_clicks: null,
|
|
54
|
+
tracking_domain_id: null,
|
|
55
|
+
track_opens: null,
|
|
56
|
+
unsubscribe_text: null,
|
|
57
|
+
variant_distribution: null,
|
|
58
|
+
window_from: null,
|
|
59
|
+
window_to: null
|
|
60
|
+
)
|
|
61
|
+
```
|
|
62
|
+
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Norbelys::ProgramDetail
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Name | Type | Description | Notes |
|
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
|
7
|
+
| **active_days** | **Array<Integer>** | | |
|
|
8
|
+
| **add_unsubscribe** | **Boolean** | Attach RFC 8058 one-click unsubscribe headers + footer. | |
|
|
9
|
+
| **archived_at** | **Object** | | [optional] |
|
|
10
|
+
| **auto_pause_on_company_reply** | **Boolean** | Pause every lead at a company once one of them replies. | |
|
|
11
|
+
| **bounce_pause_threshold** | **Float** | Auto-pause when the bounce rate reaches this percent; 0 disables. | |
|
|
12
|
+
| **created_at** | **Object** | | [optional] |
|
|
13
|
+
| **id** | **String** | The program id. | |
|
|
14
|
+
| **jitter_max_seconds** | **Integer** | Random extra wait per send, upper bound (seconds). | |
|
|
15
|
+
| **jitter_min_seconds** | **Integer** | Random extra wait per send, lower bound (seconds). | |
|
|
16
|
+
| **kind** | **String** | Kind of sending; `cold_sequence` is the only kind today. | |
|
|
17
|
+
| **name** | **String** | Display name. | |
|
|
18
|
+
| **new_per_day** | **Integer** | New leads started per day for the WHOLE campaign, shared across all its mailboxes (follow-ups are not counted). 0 = no daily cap — new leads flow at mailbox capacity. Real throughput is always bounded by the mailboxes' own daily limits. | |
|
|
19
|
+
| **object** | **Object** | | [optional] |
|
|
20
|
+
| **paused_at** | **Object** | | [optional] |
|
|
21
|
+
| **paused_meta** | [**ProgramPauseMeta**](ProgramPauseMeta.md) | | |
|
|
22
|
+
| **paused_reason** | **String** | | |
|
|
23
|
+
| **plain_text_mode** | **Boolean** | Send the body as plain text only: no HTML part, open pixel, or link tracking. | |
|
|
24
|
+
| **send_interval_minutes** | **Integer** | Minutes between sends from one mailbox. | |
|
|
25
|
+
| **spam_pause_threshold** | **Float** | Auto-pause when the spam-complaint rate reaches this percent; 0 disables. | |
|
|
26
|
+
| **start_date** | **Object** | | [optional] |
|
|
27
|
+
| **status** | **String** | Lifecycle status: `draft`, `active`, `paused`, `done`. | |
|
|
28
|
+
| **stop_condition** | **String** | Engagement that pulls a lead out of the cadence: `reply`, `click`, `open`, `none`. | |
|
|
29
|
+
| **timezone** | **String** | IANA timezone the window applies in. | |
|
|
30
|
+
| **track_clicks** | **Boolean** | Rewrite links to track clicks. | |
|
|
31
|
+
| **tracking_domain_id** | **String** | | |
|
|
32
|
+
| **track_opens** | **Boolean** | Insert the open pixel. | |
|
|
33
|
+
| **unsubscribe_text** | **String** | | |
|
|
34
|
+
| **updated_at** | **Object** | | [optional] |
|
|
35
|
+
| **variant_distribution** | **String** | How A/B arms are spread across leads with no decided winner: `pattern` (deterministic per-lead hash) or `random` (independent roll per lead). | |
|
|
36
|
+
| **window_from** | **String** | | |
|
|
37
|
+
| **window_to** | **String** | | |
|
|
38
|
+
| **stats** | [**ProgramStats**](ProgramStats.md) | | |
|
|
39
|
+
| **senders** | [**Array<ProgramSenderRef>**](ProgramSenderRef.md) | The attached mailboxes — present when expand[]=senders. | [optional] |
|
|
40
|
+
| **steps** | [**Array<StepWithVariants>**](StepWithVariants.md) | The cadence with arms — present when expand[]=steps (always returned by create/update). | [optional] |
|
|
41
|
+
|
|
42
|
+
## Example
|
|
43
|
+
|
|
44
|
+
```ruby
|
|
45
|
+
require 'norbelys'
|
|
46
|
+
|
|
47
|
+
instance = Norbelys::ProgramDetail.new(
|
|
48
|
+
active_days: null,
|
|
49
|
+
add_unsubscribe: null,
|
|
50
|
+
archived_at: null,
|
|
51
|
+
auto_pause_on_company_reply: null,
|
|
52
|
+
bounce_pause_threshold: null,
|
|
53
|
+
created_at: null,
|
|
54
|
+
id: null,
|
|
55
|
+
jitter_max_seconds: null,
|
|
56
|
+
jitter_min_seconds: null,
|
|
57
|
+
kind: null,
|
|
58
|
+
name: null,
|
|
59
|
+
new_per_day: null,
|
|
60
|
+
object: null,
|
|
61
|
+
paused_at: null,
|
|
62
|
+
paused_meta: null,
|
|
63
|
+
paused_reason: null,
|
|
64
|
+
plain_text_mode: null,
|
|
65
|
+
send_interval_minutes: null,
|
|
66
|
+
spam_pause_threshold: null,
|
|
67
|
+
start_date: null,
|
|
68
|
+
status: null,
|
|
69
|
+
stop_condition: null,
|
|
70
|
+
timezone: null,
|
|
71
|
+
track_clicks: null,
|
|
72
|
+
tracking_domain_id: null,
|
|
73
|
+
track_opens: null,
|
|
74
|
+
unsubscribe_text: null,
|
|
75
|
+
updated_at: null,
|
|
76
|
+
variant_distribution: null,
|
|
77
|
+
window_from: null,
|
|
78
|
+
window_to: null,
|
|
79
|
+
stats: null,
|
|
80
|
+
senders: null,
|
|
81
|
+
steps: null
|
|
82
|
+
)
|
|
83
|
+
```
|
|
84
|
+
|