from campaigns.meta.enums import CampaignCallToAction, CampaignSummaryId SCOPE_EMAIL = "email" SCOPE_PUBLIC_PROFILE = "public_profile" SCOPE_PAGES_SHOW_LIST = "pages_show_list" SCOPE_BUSINESS_MANAGEMENT = "business_management" SCOPE_PAGES_READ_ENGAGEMENT = "pages_read_engagement" SCOPE_INSTAGRAM_BASIC = "instagram_basic" SCOPE_INSTAGRAM_MANAGE_INSIGHTS = "instagram_manage_insights" REQUIRED_SCOPES = [ SCOPE_EMAIL, SCOPE_PUBLIC_PROFILE, SCOPE_PAGES_SHOW_LIST, SCOPE_BUSINESS_MANAGEMENT, SCOPE_PAGES_READ_ENGAGEMENT, ] REQUEST_SCOPES = REQUIRED_SCOPES + [ SCOPE_INSTAGRAM_BASIC, SCOPE_INSTAGRAM_MANAGE_INSIGHTS, ] DEFAULT_EXPIRES_IN = 60 * 60 * 24 * 60 # 2 months DEFAULT_CAMPAIGN_AD_PRIMARY_TEXT = "Your Primary Text" DEFAULT_CAMPAIGN_AD_WEBSITE_URL = "https://example.com" DEFAULT_CAMPAIGN_AD_CALL_TO_ACTION = CampaignCallToAction.LISTEN_NOW CAMPAIGN_SUMMARY_FIELDS = { CampaignSummaryId.BASICS: ( "name", "vendor_id", "subaccount_id", "global_participant_id", "product_id", "facebook_page_id", "instagram_account_id", "objective", ), CampaignSummaryId.SCHEDULE_AND_BUDGET: ( "start_time", "end_time", "lifetime_budget", ), CampaignSummaryId.CREATIVE: ( "content_type", "platform", "post_external_id", "primary_text", "headline", "description", "link_type", "website_url", "call_to_action", "images", "videos", ), CampaignSummaryId.AUDIENCE: ("targeting_audience",), } CAMPAIGN_FIELD_BY_SUMMARY_ID = { field: summary_id for summary_id, fields in CAMPAIGN_SUMMARY_FIELDS.items() for field in fields } ENGAGEMENT_AUDIENCE_RETENTION_SECONDS = 60 * 60 * 24 * 365 LANDING_PAGE_BASE_URL = "https://www.songwhip.com/"