@whop/sdk 0.0.39 → 0.0.40
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.
- package/CHANGELOG.md +19 -0
- package/client.d.mts +88 -40
- package/client.d.mts.map +1 -1
- package/client.d.ts +88 -40
- package/client.d.ts.map +1 -1
- package/client.js +59 -0
- package/client.js.map +1 -1
- package/client.mjs +59 -0
- package/client.mjs.map +1 -1
- package/internal/types.d.mts +6 -6
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +6 -6
- package/internal/types.d.ts.map +1 -1
- package/internal/utils/log.d.mts.map +1 -1
- package/internal/utils/log.d.ts.map +1 -1
- package/internal/utils/log.js +2 -0
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +2 -0
- package/internal/utils/log.mjs.map +1 -1
- package/package.json +15 -9
- package/resources/accounts.d.mts +244 -0
- package/resources/accounts.d.mts.map +1 -0
- package/resources/accounts.d.ts +244 -0
- package/resources/accounts.d.ts.map +1 -0
- package/resources/accounts.js +46 -0
- package/resources/accounts.js.map +1 -0
- package/resources/accounts.mjs +42 -0
- package/resources/accounts.mjs.map +1 -0
- package/resources/ad-campaigns.d.mts +296 -0
- package/resources/ad-campaigns.d.mts.map +1 -0
- package/resources/ad-campaigns.d.ts +296 -0
- package/resources/ad-campaigns.d.ts.map +1 -0
- package/resources/ad-campaigns.js +104 -0
- package/resources/ad-campaigns.js.map +1 -0
- package/resources/ad-campaigns.mjs +100 -0
- package/resources/ad-campaigns.mjs.map +1 -0
- package/resources/ad-groups.d.mts +1461 -0
- package/resources/ad-groups.d.mts.map +1 -0
- package/resources/ad-groups.d.ts +1461 -0
- package/resources/ad-groups.d.ts.map +1 -0
- package/resources/ad-groups.js +121 -0
- package/resources/ad-groups.js.map +1 -0
- package/resources/ad-groups.mjs +117 -0
- package/resources/ad-groups.mjs.map +1 -0
- package/resources/ad-reports.d.mts +379 -0
- package/resources/ad-reports.d.mts.map +1 -0
- package/resources/ad-reports.d.ts +379 -0
- package/resources/ad-reports.d.ts.map +1 -0
- package/resources/ad-reports.js +26 -0
- package/resources/ad-reports.js.map +1 -0
- package/resources/ad-reports.mjs +22 -0
- package/resources/ad-reports.mjs.map +1 -0
- package/resources/ads.d.mts +234 -0
- package/resources/ads.d.mts.map +1 -0
- package/resources/ads.d.ts +234 -0
- package/resources/ads.d.ts.map +1 -0
- package/resources/ads.js +56 -0
- package/resources/ads.js.map +1 -0
- package/resources/ads.mjs +52 -0
- package/resources/ads.mjs.map +1 -0
- package/resources/affiliates/affiliates.d.mts +31 -31
- package/resources/affiliates/affiliates.d.mts.map +1 -1
- package/resources/affiliates/affiliates.d.ts +31 -31
- package/resources/affiliates/affiliates.d.ts.map +1 -1
- package/resources/affiliates/affiliates.js +21 -21
- package/resources/affiliates/affiliates.js.map +1 -1
- package/resources/affiliates/affiliates.mjs +21 -21
- package/resources/affiliates/affiliates.mjs.map +1 -1
- package/resources/affiliates/index.d.mts +2 -2
- package/resources/affiliates/index.d.mts.map +1 -1
- package/resources/affiliates/index.d.ts +2 -2
- package/resources/affiliates/index.d.ts.map +1 -1
- package/resources/affiliates/overrides.d.mts +37 -37
- package/resources/affiliates/overrides.d.mts.map +1 -1
- package/resources/affiliates/overrides.d.ts +37 -37
- package/resources/affiliates/overrides.d.ts.map +1 -1
- package/resources/affiliates/overrides.js +23 -23
- package/resources/affiliates/overrides.js.map +1 -1
- package/resources/affiliates/overrides.mjs +23 -23
- package/resources/affiliates/overrides.mjs.map +1 -1
- package/resources/ai-chats.d.mts +23 -23
- package/resources/ai-chats.d.mts.map +1 -1
- package/resources/ai-chats.d.ts +23 -23
- package/resources/ai-chats.d.ts.map +1 -1
- package/resources/ai-chats.js +6 -6
- package/resources/ai-chats.js.map +1 -1
- package/resources/ai-chats.mjs +6 -6
- package/resources/ai-chats.mjs.map +1 -1
- package/resources/app-builds.d.mts +54 -54
- package/resources/app-builds.d.mts.map +1 -1
- package/resources/app-builds.d.ts +54 -54
- package/resources/app-builds.d.ts.map +1 -1
- package/resources/app-builds.js +21 -21
- package/resources/app-builds.js.map +1 -1
- package/resources/app-builds.mjs +21 -21
- package/resources/app-builds.mjs.map +1 -1
- package/resources/apps.d.mts +57 -57
- package/resources/apps.d.mts.map +1 -1
- package/resources/apps.d.ts +57 -57
- package/resources/apps.d.ts.map +1 -1
- package/resources/apps.js +15 -15
- package/resources/apps.js.map +1 -1
- package/resources/apps.mjs +15 -15
- package/resources/apps.mjs.map +1 -1
- package/resources/authorized-users.d.mts +36 -36
- package/resources/authorized-users.d.mts.map +1 -1
- package/resources/authorized-users.d.ts +36 -36
- package/resources/authorized-users.d.ts.map +1 -1
- package/resources/authorized-users.js +21 -21
- package/resources/authorized-users.js.map +1 -1
- package/resources/authorized-users.mjs +21 -21
- package/resources/authorized-users.mjs.map +1 -1
- package/resources/bounties.d.mts +281 -0
- package/resources/bounties.d.mts.map +1 -0
- package/resources/bounties.d.ts +281 -0
- package/resources/bounties.d.ts.map +1 -0
- package/resources/bounties.js +63 -0
- package/resources/bounties.js.map +1 -0
- package/resources/bounties.mjs +59 -0
- package/resources/bounties.mjs.map +1 -0
- package/resources/chat-channels.d.mts +43 -43
- package/resources/chat-channels.d.mts.map +1 -1
- package/resources/chat-channels.d.ts +43 -43
- package/resources/chat-channels.d.ts.map +1 -1
- package/resources/chat-channels.js +24 -24
- package/resources/chat-channels.js.map +1 -1
- package/resources/chat-channels.mjs +24 -24
- package/resources/chat-channels.mjs.map +1 -1
- package/resources/checkout-configurations.d.mts +73 -45
- package/resources/checkout-configurations.d.mts.map +1 -1
- package/resources/checkout-configurations.d.ts +73 -45
- package/resources/checkout-configurations.d.ts.map +1 -1
- package/resources/checkout-configurations.js +11 -11
- package/resources/checkout-configurations.js.map +1 -1
- package/resources/checkout-configurations.mjs +11 -11
- package/resources/checkout-configurations.mjs.map +1 -1
- package/resources/companies.d.mts +98 -35
- package/resources/companies.d.mts.map +1 -1
- package/resources/companies.d.ts +98 -35
- package/resources/companies.d.ts.map +1 -1
- package/resources/companies.js +24 -17
- package/resources/companies.js.map +1 -1
- package/resources/companies.mjs +24 -17
- package/resources/companies.mjs.map +1 -1
- package/resources/company-token-transactions.d.mts +39 -39
- package/resources/company-token-transactions.d.mts.map +1 -1
- package/resources/company-token-transactions.d.ts +39 -39
- package/resources/company-token-transactions.d.ts.map +1 -1
- package/resources/company-token-transactions.js +14 -14
- package/resources/company-token-transactions.js.map +1 -1
- package/resources/company-token-transactions.mjs +14 -14
- package/resources/company-token-transactions.mjs.map +1 -1
- package/resources/conversions.d.mts +248 -0
- package/resources/conversions.d.mts.map +1 -0
- package/resources/conversions.d.ts +248 -0
- package/resources/conversions.d.ts.map +1 -0
- package/resources/conversions.js +30 -0
- package/resources/conversions.js.map +1 -0
- package/resources/conversions.mjs +26 -0
- package/resources/conversions.mjs.map +1 -0
- package/resources/course-chapters.d.mts +36 -36
- package/resources/course-chapters.d.mts.map +1 -1
- package/resources/course-chapters.d.ts +36 -36
- package/resources/course-chapters.d.ts.map +1 -1
- package/resources/course-chapters.js +23 -23
- package/resources/course-chapters.js.map +1 -1
- package/resources/course-chapters.mjs +23 -23
- package/resources/course-chapters.mjs.map +1 -1
- package/resources/course-lesson-interactions.d.mts +5 -5
- package/resources/course-lesson-interactions.d.mts.map +1 -1
- package/resources/course-lesson-interactions.d.ts +5 -5
- package/resources/course-lesson-interactions.d.ts.map +1 -1
- package/resources/course-lesson-interactions.js +7 -7
- package/resources/course-lesson-interactions.js.map +1 -1
- package/resources/course-lesson-interactions.mjs +7 -7
- package/resources/course-lesson-interactions.mjs.map +1 -1
- package/resources/course-lessons.d.mts +40 -40
- package/resources/course-lessons.d.mts.map +1 -1
- package/resources/course-lessons.d.ts +40 -40
- package/resources/course-lessons.d.ts.map +1 -1
- package/resources/course-lessons.js +22 -22
- package/resources/course-lessons.js.map +1 -1
- package/resources/course-lessons.mjs +22 -22
- package/resources/course-lessons.mjs.map +1 -1
- package/resources/course-students.d.mts +5 -5
- package/resources/course-students.d.mts.map +1 -1
- package/resources/course-students.d.ts +5 -5
- package/resources/course-students.d.ts.map +1 -1
- package/resources/course-students.js +10 -10
- package/resources/course-students.js.map +1 -1
- package/resources/course-students.mjs +10 -10
- package/resources/course-students.mjs.map +1 -1
- package/resources/courses.d.mts +40 -40
- package/resources/courses.d.mts.map +1 -1
- package/resources/courses.d.ts +40 -40
- package/resources/courses.d.ts.map +1 -1
- package/resources/courses.js +19 -19
- package/resources/courses.js.map +1 -1
- package/resources/courses.mjs +19 -19
- package/resources/courses.mjs.map +1 -1
- package/resources/deposits.d.mts +64 -0
- package/resources/deposits.d.mts.map +1 -0
- package/resources/deposits.d.ts +64 -0
- package/resources/deposits.d.ts.map +1 -0
- package/resources/deposits.js +16 -0
- package/resources/deposits.js.map +1 -0
- package/resources/deposits.mjs +12 -0
- package/resources/deposits.mjs.map +1 -0
- package/resources/dispute-alerts.d.mts +10 -10
- package/resources/dispute-alerts.d.mts.map +1 -1
- package/resources/dispute-alerts.d.ts +10 -10
- package/resources/dispute-alerts.d.ts.map +1 -1
- package/resources/dispute-alerts.js +13 -13
- package/resources/dispute-alerts.js.map +1 -1
- package/resources/dispute-alerts.mjs +13 -13
- package/resources/dispute-alerts.mjs.map +1 -1
- package/resources/disputes.d.mts +13 -15
- package/resources/disputes.d.mts.map +1 -1
- package/resources/disputes.d.ts +13 -15
- package/resources/disputes.d.ts.map +1 -1
- package/resources/disputes.js +11 -11
- package/resources/disputes.js.map +1 -1
- package/resources/disputes.mjs +11 -11
- package/resources/disputes.mjs.map +1 -1
- package/resources/dm-channels.d.mts +37 -37
- package/resources/dm-channels.d.mts.map +1 -1
- package/resources/dm-channels.d.ts +37 -37
- package/resources/dm-channels.d.ts.map +1 -1
- package/resources/dm-channels.js +19 -19
- package/resources/dm-channels.js.map +1 -1
- package/resources/dm-channels.mjs +19 -19
- package/resources/dm-channels.mjs.map +1 -1
- package/resources/dm-members.d.mts +38 -38
- package/resources/dm-members.d.mts.map +1 -1
- package/resources/dm-members.d.ts +38 -38
- package/resources/dm-members.d.ts.map +1 -1
- package/resources/dm-members.js +21 -21
- package/resources/dm-members.js.map +1 -1
- package/resources/dm-members.mjs +21 -21
- package/resources/dm-members.mjs.map +1 -1
- package/resources/entries.d.mts +5 -5
- package/resources/entries.d.mts.map +1 -1
- package/resources/entries.d.ts +5 -5
- package/resources/entries.d.ts.map +1 -1
- package/resources/entries.js +7 -7
- package/resources/entries.js.map +1 -1
- package/resources/entries.mjs +7 -7
- package/resources/entries.mjs.map +1 -1
- package/resources/experiences.d.mts +50 -50
- package/resources/experiences.d.mts.map +1 -1
- package/resources/experiences.d.ts +50 -50
- package/resources/experiences.d.ts.map +1 -1
- package/resources/experiences.js +17 -17
- package/resources/experiences.js.map +1 -1
- package/resources/experiences.mjs +17 -17
- package/resources/experiences.mjs.map +1 -1
- package/resources/fee-markups.d.mts +36 -36
- package/resources/fee-markups.d.mts.map +1 -1
- package/resources/fee-markups.d.ts +36 -36
- package/resources/fee-markups.d.ts.map +1 -1
- package/resources/fee-markups.js +18 -18
- package/resources/fee-markups.js.map +1 -1
- package/resources/fee-markups.mjs +18 -18
- package/resources/fee-markups.mjs.map +1 -1
- package/resources/files.d.mts +18 -1
- package/resources/files.d.mts.map +1 -1
- package/resources/files.d.ts +18 -1
- package/resources/files.d.ts.map +1 -1
- package/resources/forum-posts.d.mts +52 -48
- package/resources/forum-posts.d.mts.map +1 -1
- package/resources/forum-posts.d.ts +52 -48
- package/resources/forum-posts.d.ts.map +1 -1
- package/resources/forum-posts.js +21 -21
- package/resources/forum-posts.js.map +1 -1
- package/resources/forum-posts.mjs +21 -21
- package/resources/forum-posts.mjs.map +1 -1
- package/resources/forums.d.mts +33 -33
- package/resources/forums.d.mts.map +1 -1
- package/resources/forums.d.ts +33 -33
- package/resources/forums.d.ts.map +1 -1
- package/resources/forums.js +11 -11
- package/resources/forums.js.map +1 -1
- package/resources/forums.mjs +11 -11
- package/resources/forums.mjs.map +1 -1
- package/resources/index.d.mts +45 -35
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +45 -35
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +22 -2
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +10 -0
- package/resources/index.mjs.map +1 -1
- package/resources/invoices.d.mts +86 -81
- package/resources/invoices.d.mts.map +1 -1
- package/resources/invoices.d.ts +86 -81
- package/resources/invoices.d.ts.map +1 -1
- package/resources/invoices.js +40 -40
- package/resources/invoices.js.map +1 -1
- package/resources/invoices.mjs +40 -40
- package/resources/invoices.mjs.map +1 -1
- package/resources/leads.d.mts +53 -53
- package/resources/leads.d.mts.map +1 -1
- package/resources/leads.d.ts +53 -53
- package/resources/leads.d.ts.map +1 -1
- package/resources/leads.js +24 -24
- package/resources/leads.js.map +1 -1
- package/resources/leads.mjs +24 -24
- package/resources/leads.mjs.map +1 -1
- package/resources/ledger-accounts.d.mts +34 -1
- package/resources/ledger-accounts.d.mts.map +1 -1
- package/resources/ledger-accounts.d.ts +34 -1
- package/resources/ledger-accounts.d.ts.map +1 -1
- package/resources/members.d.mts +9 -7
- package/resources/members.d.mts.map +1 -1
- package/resources/members.d.ts +9 -7
- package/resources/members.d.ts.map +1 -1
- package/resources/members.js +7 -7
- package/resources/members.js.map +1 -1
- package/resources/members.mjs +7 -7
- package/resources/members.mjs.map +1 -1
- package/resources/memberships.d.mts +61 -47
- package/resources/memberships.d.mts.map +1 -1
- package/resources/memberships.d.ts +61 -47
- package/resources/memberships.d.ts.map +1 -1
- package/resources/memberships.js +38 -38
- package/resources/memberships.js.map +1 -1
- package/resources/memberships.mjs +38 -38
- package/resources/memberships.mjs.map +1 -1
- package/resources/messages.d.mts +36 -36
- package/resources/messages.d.mts.map +1 -1
- package/resources/messages.d.ts +36 -36
- package/resources/messages.d.ts.map +1 -1
- package/resources/messages.js +16 -16
- package/resources/messages.js.map +1 -1
- package/resources/messages.mjs +16 -16
- package/resources/messages.mjs.map +1 -1
- package/resources/payment-methods.d.mts +20 -20
- package/resources/payment-methods.d.mts.map +1 -1
- package/resources/payment-methods.d.ts +20 -20
- package/resources/payment-methods.d.ts.map +1 -1
- package/resources/payment-methods.js +10 -10
- package/resources/payment-methods.js.map +1 -1
- package/resources/payment-methods.mjs +10 -10
- package/resources/payment-methods.mjs.map +1 -1
- package/resources/payments.d.mts +172 -145
- package/resources/payments.d.mts.map +1 -1
- package/resources/payments.d.ts +172 -145
- package/resources/payments.d.ts.map +1 -1
- package/resources/payments.js +68 -68
- package/resources/payments.js.map +1 -1
- package/resources/payments.mjs +68 -68
- package/resources/payments.mjs.map +1 -1
- package/resources/payout-accounts.d.mts +1 -1
- package/resources/payout-accounts.d.ts +1 -1
- package/resources/payout-methods.d.mts +5 -5
- package/resources/payout-methods.d.mts.map +1 -1
- package/resources/payout-methods.d.ts +5 -5
- package/resources/payout-methods.d.ts.map +1 -1
- package/resources/payout-methods.js +10 -10
- package/resources/payout-methods.js.map +1 -1
- package/resources/payout-methods.mjs +10 -10
- package/resources/payout-methods.mjs.map +1 -1
- package/resources/plans.d.mts +128 -70
- package/resources/plans.d.mts.map +1 -1
- package/resources/plans.d.ts +128 -70
- package/resources/plans.d.ts.map +1 -1
- package/resources/plans.js +21 -21
- package/resources/plans.js.map +1 -1
- package/resources/plans.mjs +21 -21
- package/resources/plans.mjs.map +1 -1
- package/resources/products.d.mts +81 -65
- package/resources/products.d.mts.map +1 -1
- package/resources/products.d.ts +81 -65
- package/resources/products.d.ts.map +1 -1
- package/resources/products.js +25 -25
- package/resources/products.js.map +1 -1
- package/resources/products.mjs +25 -25
- package/resources/products.mjs.map +1 -1
- package/resources/promo-codes.d.mts +59 -59
- package/resources/promo-codes.d.mts.map +1 -1
- package/resources/promo-codes.d.ts +59 -59
- package/resources/promo-codes.d.ts.map +1 -1
- package/resources/promo-codes.js +22 -22
- package/resources/promo-codes.js.map +1 -1
- package/resources/promo-codes.mjs +22 -22
- package/resources/promo-codes.mjs.map +1 -1
- package/resources/reactions.d.mts +25 -25
- package/resources/reactions.d.mts.map +1 -1
- package/resources/reactions.d.ts +25 -25
- package/resources/reactions.d.ts.map +1 -1
- package/resources/reactions.js +11 -11
- package/resources/reactions.js.map +1 -1
- package/resources/reactions.mjs +11 -11
- package/resources/reactions.mjs.map +1 -1
- package/resources/refunds.d.mts +59 -10
- package/resources/refunds.d.mts.map +1 -1
- package/resources/refunds.d.ts +59 -10
- package/resources/refunds.d.ts.map +1 -1
- package/resources/refunds.js +12 -10
- package/resources/refunds.js.map +1 -1
- package/resources/refunds.mjs +12 -10
- package/resources/refunds.mjs.map +1 -1
- package/resources/resolution-center-cases.d.mts +6 -6
- package/resources/resolution-center-cases.d.mts.map +1 -1
- package/resources/resolution-center-cases.d.ts +6 -6
- package/resources/resolution-center-cases.d.ts.map +1 -1
- package/resources/resolution-center-cases.js +10 -10
- package/resources/resolution-center-cases.js.map +1 -1
- package/resources/resolution-center-cases.mjs +10 -10
- package/resources/resolution-center-cases.mjs.map +1 -1
- package/resources/reviews.d.mts +4 -4
- package/resources/reviews.d.mts.map +1 -1
- package/resources/reviews.d.ts +4 -4
- package/resources/reviews.d.ts.map +1 -1
- package/resources/reviews.js +6 -6
- package/resources/reviews.js.map +1 -1
- package/resources/reviews.mjs +6 -6
- package/resources/reviews.mjs.map +1 -1
- package/resources/setup-intents.d.mts +6 -6
- package/resources/setup-intents.d.mts.map +1 -1
- package/resources/setup-intents.d.ts +6 -6
- package/resources/setup-intents.d.ts.map +1 -1
- package/resources/setup-intents.js +11 -11
- package/resources/setup-intents.js.map +1 -1
- package/resources/setup-intents.mjs +11 -11
- package/resources/setup-intents.mjs.map +1 -1
- package/resources/shared.d.mts +89 -6
- package/resources/shared.d.mts.map +1 -1
- package/resources/shared.d.ts +89 -6
- package/resources/shared.d.ts.map +1 -1
- package/resources/shipments.d.mts +35 -35
- package/resources/shipments.d.mts.map +1 -1
- package/resources/shipments.d.ts +35 -35
- package/resources/shipments.d.ts.map +1 -1
- package/resources/shipments.js +20 -20
- package/resources/shipments.js.map +1 -1
- package/resources/shipments.mjs +20 -20
- package/resources/shipments.mjs.map +1 -1
- package/resources/support-channels.d.mts +35 -34
- package/resources/support-channels.d.mts.map +1 -1
- package/resources/support-channels.d.ts +35 -34
- package/resources/support-channels.d.ts.map +1 -1
- package/resources/support-channels.js +21 -21
- package/resources/support-channels.js.map +1 -1
- package/resources/support-channels.mjs +21 -21
- package/resources/support-channels.mjs.map +1 -1
- package/resources/swaps.d.mts +62 -0
- package/resources/swaps.d.mts.map +1 -0
- package/resources/swaps.d.ts +62 -0
- package/resources/swaps.d.ts.map +1 -0
- package/resources/swaps.js +15 -0
- package/resources/swaps.js.map +1 -0
- package/resources/swaps.mjs +11 -0
- package/resources/swaps.mjs.map +1 -0
- package/resources/transfers.d.mts +57 -55
- package/resources/transfers.d.mts.map +1 -1
- package/resources/transfers.d.ts +57 -55
- package/resources/transfers.d.ts.map +1 -1
- package/resources/transfers.js +19 -19
- package/resources/transfers.js.map +1 -1
- package/resources/transfers.mjs +19 -19
- package/resources/transfers.mjs.map +1 -1
- package/resources/users.d.mts +20 -20
- package/resources/users.d.mts.map +1 -1
- package/resources/users.d.ts +20 -20
- package/resources/users.d.ts.map +1 -1
- package/resources/users.js +16 -16
- package/resources/users.js.map +1 -1
- package/resources/users.mjs +16 -16
- package/resources/users.mjs.map +1 -1
- package/resources/verifications.d.mts +2 -2
- package/resources/verifications.d.ts +2 -2
- package/resources/wallets.d.mts +89 -0
- package/resources/wallets.d.mts.map +1 -0
- package/resources/wallets.d.ts +89 -0
- package/resources/wallets.d.ts.map +1 -0
- package/resources/wallets.js +28 -0
- package/resources/wallets.js.map +1 -0
- package/resources/wallets.mjs +24 -0
- package/resources/wallets.mjs.map +1 -0
- package/resources/webhooks.d.mts +2182 -1196
- package/resources/webhooks.d.mts.map +1 -1
- package/resources/webhooks.d.ts +2182 -1196
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +31 -31
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +31 -31
- package/resources/webhooks.mjs.map +1 -1
- package/resources/withdrawals.d.mts +47 -47
- package/resources/withdrawals.d.mts.map +1 -1
- package/resources/withdrawals.d.ts +47 -47
- package/resources/withdrawals.d.ts.map +1 -1
- package/resources/withdrawals.js +21 -21
- package/resources/withdrawals.js.map +1 -1
- package/resources/withdrawals.mjs +21 -21
- package/resources/withdrawals.mjs.map +1 -1
- package/src/client.ts +277 -60
- package/src/internal/types.ts +6 -8
- package/src/internal/utils/log.ts +2 -0
- package/src/resources/accounts.ts +318 -0
- package/src/resources/ad-campaigns.ts +376 -0
- package/src/resources/ad-groups.ts +1958 -0
- package/src/resources/ad-reports.ts +484 -0
- package/src/resources/ads.ts +295 -0
- package/src/resources/affiliates/affiliates.ts +39 -39
- package/src/resources/affiliates/index.ts +2 -2
- package/src/resources/affiliates/overrides.ts +51 -51
- package/src/resources/ai-chats.ts +33 -33
- package/src/resources/app-builds.ts +68 -68
- package/src/resources/apps.ts +86 -86
- package/src/resources/authorized-users.ts +48 -48
- package/src/resources/bounties.ts +353 -0
- package/src/resources/chat-channels.ts +57 -57
- package/src/resources/checkout-configurations.ts +97 -63
- package/src/resources/companies.ts +123 -41
- package/src/resources/company-token-transactions.ts +55 -55
- package/src/resources/conversions.ts +316 -0
- package/src/resources/course-chapters.ts +47 -47
- package/src/resources/course-lesson-interactions.ts +12 -12
- package/src/resources/course-lessons.ts +54 -54
- package/src/resources/course-students.ts +12 -12
- package/src/resources/courses.ts +51 -51
- package/src/resources/deposits.ts +87 -0
- package/src/resources/dispute-alerts.ts +18 -18
- package/src/resources/disputes.ts +18 -20
- package/src/resources/dm-channels.ts +45 -45
- package/src/resources/dm-members.ts +45 -45
- package/src/resources/entries.ts +10 -10
- package/src/resources/experiences.ts +64 -64
- package/src/resources/fee-markups.ts +44 -44
- package/src/resources/files.ts +23 -1
- package/src/resources/forum-posts.ts +65 -60
- package/src/resources/forums.ts +44 -44
- package/src/resources/index.ts +129 -57
- package/src/resources/invoices.ts +113 -107
- package/src/resources/leads.ts +64 -64
- package/src/resources/ledger-accounts.ts +41 -1
- package/src/resources/members.ts +14 -12
- package/src/resources/memberships.ts +73 -61
- package/src/resources/messages.ts +48 -48
- package/src/resources/payment-methods.ts +30 -30
- package/src/resources/payments.ts +222 -183
- package/src/resources/payout-accounts.ts +1 -1
- package/src/resources/payout-methods.ts +11 -11
- package/src/resources/plans.ts +151 -88
- package/src/resources/products.ts +98 -84
- package/src/resources/promo-codes.ts +74 -74
- package/src/resources/reactions.ts +33 -33
- package/src/resources/refunds.ts +65 -15
- package/src/resources/resolution-center-cases.ts +11 -12
- package/src/resources/reviews.ts +7 -7
- package/src/resources/setup-intents.ts +13 -13
- package/src/resources/shared.ts +94 -5
- package/src/resources/shipments.ts +44 -44
- package/src/resources/support-channels.ts +46 -45
- package/src/resources/swaps.ts +87 -0
- package/src/resources/transfers.ts +68 -66
- package/src/resources/users.ts +29 -29
- package/src/resources/verifications.ts +2 -2
- package/src/resources/wallets.ts +136 -0
- package/src/resources/webhooks.ts +2449 -1277
- package/src/resources/withdrawals.ts +55 -55
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -0,0 +1,1958 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import * as AdCampaignsAPI from './ad-campaigns';
|
|
5
|
+
import { APIPromise } from '../core/api-promise';
|
|
6
|
+
import { CursorPage, type CursorPageParams, PagePromise } from '../core/pagination';
|
|
7
|
+
import { RequestOptions } from '../internal/request-options';
|
|
8
|
+
import { path } from '../internal/utils/path';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Ad groups
|
|
12
|
+
*/
|
|
13
|
+
export class AdGroups extends APIResource {
|
|
14
|
+
/**
|
|
15
|
+
* Returns a paginated list of ad groups scoped by campaign or company, with
|
|
16
|
+
* optional filtering by status and creation date.
|
|
17
|
+
*
|
|
18
|
+
* Required permissions:
|
|
19
|
+
*
|
|
20
|
+
* - `ad_campaign:basic:read`
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* // Automatically fetches more pages as needed.
|
|
25
|
+
* for await (const adGroupListResponse of client.adGroups.list()) {
|
|
26
|
+
* // ...
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
list(
|
|
31
|
+
query: AdGroupListParams | null | undefined = {},
|
|
32
|
+
options?: RequestOptions,
|
|
33
|
+
): PagePromise<AdGroupListResponsesCursorPage, AdGroupListResponse> {
|
|
34
|
+
return this._client.getAPIList('/ad_groups', CursorPage<AdGroupListResponse>, { query, ...options });
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves a single ad group by its unique identifier.
|
|
39
|
+
*
|
|
40
|
+
* Required permissions:
|
|
41
|
+
*
|
|
42
|
+
* - `ad_campaign:basic:read`
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* const adGroup = await client.adGroups.retrieve(
|
|
47
|
+
* 'adgrp_xxxxxxxxxxxx',
|
|
48
|
+
* );
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
retrieve(id: string, options?: RequestOptions): APIPromise<AdGroup> {
|
|
52
|
+
return this._client.get(path`/ad_groups/${id}`, options);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Updates an existing ad group.
|
|
57
|
+
*
|
|
58
|
+
* Required permissions:
|
|
59
|
+
*
|
|
60
|
+
* - `ad_campaign:update`
|
|
61
|
+
* - `ad_campaign:basic:read`
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* const adGroup = await client.adGroups.update(
|
|
66
|
+
* 'adgrp_xxxxxxxxxxxx',
|
|
67
|
+
* );
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
update(
|
|
71
|
+
id: string,
|
|
72
|
+
body: AdGroupUpdateParams | null | undefined = {},
|
|
73
|
+
options?: RequestOptions,
|
|
74
|
+
): APIPromise<AdGroup> {
|
|
75
|
+
return this._client.patch(path`/ad_groups/${id}`, { body, ...options });
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Soft-deletes an ad group.
|
|
80
|
+
*
|
|
81
|
+
* Required permissions:
|
|
82
|
+
*
|
|
83
|
+
* - `ad_campaign:update`
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* const adGroup = await client.adGroups.delete(
|
|
88
|
+
* 'adgrp_xxxxxxxxxxxx',
|
|
89
|
+
* );
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
delete(id: string, options?: RequestOptions): APIPromise<AdGroupDeleteResponse> {
|
|
93
|
+
return this._client.delete(path`/ad_groups/${id}`, options);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Pauses an ad group.
|
|
98
|
+
*
|
|
99
|
+
* Required permissions:
|
|
100
|
+
*
|
|
101
|
+
* - `ad_campaign:update`
|
|
102
|
+
* - `ad_campaign:basic:read`
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* const adGroup = await client.adGroups.pause(
|
|
107
|
+
* 'adgrp_xxxxxxxxxxxx',
|
|
108
|
+
* );
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
pause(id: string, options?: RequestOptions): APIPromise<AdGroup> {
|
|
112
|
+
return this._client.post(path`/ad_groups/${id}/pause`, options);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Resumes a paused ad group.
|
|
117
|
+
*
|
|
118
|
+
* Required permissions:
|
|
119
|
+
*
|
|
120
|
+
* - `ad_campaign:update`
|
|
121
|
+
* - `ad_campaign:basic:read`
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```ts
|
|
125
|
+
* const adGroup = await client.adGroups.unpause(
|
|
126
|
+
* 'adgrp_xxxxxxxxxxxx',
|
|
127
|
+
* );
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
unpause(id: string, options?: RequestOptions): APIPromise<AdGroup> {
|
|
131
|
+
return this._client.post(path`/ad_groups/${id}/unpause`, options);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export type AdGroupListResponsesCursorPage = CursorPage<AdGroupListResponse>;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* The budget type for an ad campaign or ad group.
|
|
139
|
+
*/
|
|
140
|
+
export type AdBudgetType = 'daily' | 'lifetime';
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* An ad group (ad set) belonging to an ad campaign.
|
|
144
|
+
*/
|
|
145
|
+
export interface AdGroup {
|
|
146
|
+
/**
|
|
147
|
+
* The unique identifier for this ad group.
|
|
148
|
+
*/
|
|
149
|
+
id: string;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* The ad campaign this ad group belongs to.
|
|
153
|
+
*/
|
|
154
|
+
ad_campaign: AdGroup.AdCampaign;
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Budget amount in dollars.
|
|
158
|
+
*/
|
|
159
|
+
budget: number | null;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* The budget type for an ad campaign or ad group.
|
|
163
|
+
*/
|
|
164
|
+
budget_type: AdBudgetType | null;
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* When the ad group was created.
|
|
168
|
+
*/
|
|
169
|
+
created_at: string;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* The external ad platform this ad group is running on (e.g., meta, tiktok).
|
|
173
|
+
*/
|
|
174
|
+
platform: AdCampaignsAPI.AdCampaignPlatform;
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Current operational status of the ad group.
|
|
178
|
+
*/
|
|
179
|
+
status: AdGroupStatus;
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Human-readable name shown on the external platform.
|
|
183
|
+
*/
|
|
184
|
+
title: string | null;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* When the ad group was last updated.
|
|
188
|
+
*/
|
|
189
|
+
updated_at: string;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
export namespace AdGroup {
|
|
193
|
+
/**
|
|
194
|
+
* The ad campaign this ad group belongs to.
|
|
195
|
+
*/
|
|
196
|
+
export interface AdCampaign {
|
|
197
|
+
/**
|
|
198
|
+
* The unique identifier for this ad campaign.
|
|
199
|
+
*/
|
|
200
|
+
id: string;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* The status of an external ad group.
|
|
206
|
+
*/
|
|
207
|
+
export type AdGroupStatus = 'active' | 'paused' | 'inactive' | 'in_review' | 'rejected' | 'flagged';
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* An ad group (ad set) belonging to an ad campaign.
|
|
211
|
+
*/
|
|
212
|
+
export interface AdGroupListResponse {
|
|
213
|
+
/**
|
|
214
|
+
* The unique identifier for this ad group.
|
|
215
|
+
*/
|
|
216
|
+
id: string;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* The ad campaign this ad group belongs to.
|
|
220
|
+
*/
|
|
221
|
+
ad_campaign: AdGroupListResponse.AdCampaign;
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Budget amount in dollars.
|
|
225
|
+
*/
|
|
226
|
+
budget: number | null;
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* The budget type for an ad campaign or ad group.
|
|
230
|
+
*/
|
|
231
|
+
budget_type: AdBudgetType | null;
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* When the ad group was created.
|
|
235
|
+
*/
|
|
236
|
+
created_at: string;
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* The external ad platform this ad group is running on (e.g., meta, tiktok).
|
|
240
|
+
*/
|
|
241
|
+
platform: AdCampaignsAPI.AdCampaignPlatform;
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Current operational status of the ad group.
|
|
245
|
+
*/
|
|
246
|
+
status: AdGroupStatus;
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Human-readable name shown on the external platform.
|
|
250
|
+
*/
|
|
251
|
+
title: string | null;
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* When the ad group was last updated.
|
|
255
|
+
*/
|
|
256
|
+
updated_at: string;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
export namespace AdGroupListResponse {
|
|
260
|
+
/**
|
|
261
|
+
* The ad campaign this ad group belongs to.
|
|
262
|
+
*/
|
|
263
|
+
export interface AdCampaign {
|
|
264
|
+
/**
|
|
265
|
+
* The unique identifier for this ad campaign.
|
|
266
|
+
*/
|
|
267
|
+
id: string;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Represents `true` or `false` values.
|
|
273
|
+
*/
|
|
274
|
+
export type AdGroupDeleteResponse = boolean;
|
|
275
|
+
|
|
276
|
+
export interface AdGroupListParams extends CursorPageParams {
|
|
277
|
+
/**
|
|
278
|
+
* Returns the elements in the list that come before the specified cursor.
|
|
279
|
+
*/
|
|
280
|
+
before?: string | null;
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Filter by campaign. Provide exactly one of campaign_id or company_id.
|
|
284
|
+
*/
|
|
285
|
+
campaign_id?: string | null;
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Filter by company. Provide exactly one of campaign_id or company_id.
|
|
289
|
+
*/
|
|
290
|
+
company_id?: string | null;
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Only return ad groups created after this timestamp.
|
|
294
|
+
*/
|
|
295
|
+
created_after?: string | null;
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Only return ad groups created before this timestamp.
|
|
299
|
+
*/
|
|
300
|
+
created_before?: string | null;
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Returns the first _n_ elements from the list.
|
|
304
|
+
*/
|
|
305
|
+
first?: number | null;
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* When false, excludes paused ad groups so pagination matches the dashboard's
|
|
309
|
+
* hide-paused toggle.
|
|
310
|
+
*/
|
|
311
|
+
include_paused?: boolean | null;
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Returns the last _n_ elements from the list.
|
|
315
|
+
*/
|
|
316
|
+
last?: number | null;
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Case-insensitive substring match against the ad group name.
|
|
320
|
+
*/
|
|
321
|
+
query?: string | null;
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* The status of an external ad group.
|
|
325
|
+
*/
|
|
326
|
+
status?: AdGroupStatus | null;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
export interface AdGroupUpdateParams {
|
|
330
|
+
/**
|
|
331
|
+
* Budget amount in dollars.
|
|
332
|
+
*/
|
|
333
|
+
budget?: number | null;
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* The budget type for an ad campaign or ad group.
|
|
337
|
+
*/
|
|
338
|
+
budget_type?: AdBudgetType | null;
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Unified ad group configuration (bidding, optimization, targeting).
|
|
342
|
+
*/
|
|
343
|
+
config?: AdGroupUpdateParams.Config | null;
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Daily budget in dollars.
|
|
347
|
+
*/
|
|
348
|
+
daily_budget?: number | null;
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Human-readable ad group name.
|
|
352
|
+
*/
|
|
353
|
+
name?: string | null;
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Platform-specific ad group configuration.
|
|
357
|
+
*/
|
|
358
|
+
platform_config?: AdGroupUpdateParams.PlatformConfig | null;
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* The status of an external ad group.
|
|
362
|
+
*/
|
|
363
|
+
status?: AdGroupStatus | null;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
export namespace AdGroupUpdateParams {
|
|
367
|
+
/**
|
|
368
|
+
* Unified ad group configuration (bidding, optimization, targeting).
|
|
369
|
+
*/
|
|
370
|
+
export interface Config {
|
|
371
|
+
/**
|
|
372
|
+
* Bid cap amount in cents. Used when bid_strategy is bid_cap or cost_cap.
|
|
373
|
+
*/
|
|
374
|
+
bid_amount?: number | null;
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Bid strategy: lowest_cost, bid_cap, or cost_cap.
|
|
378
|
+
*/
|
|
379
|
+
bid_strategy?: 'lowest_cost' | 'bid_cap' | 'cost_cap' | null;
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* How you are billed (e.g., impressions, clicks).
|
|
383
|
+
*/
|
|
384
|
+
billing_event?: 'impressions' | 'clicks' | 'optimized_cpm' | 'video_views' | null;
|
|
385
|
+
|
|
386
|
+
/**
|
|
387
|
+
* Scheduled end time (ISO8601). Required for lifetime budgets.
|
|
388
|
+
*/
|
|
389
|
+
end_time?: string | null;
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* Maximum number of times to show ads to each person in the frequency interval.
|
|
393
|
+
*/
|
|
394
|
+
frequency_cap?: number | null;
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* Number of days for the frequency cap interval.
|
|
398
|
+
*/
|
|
399
|
+
frequency_cap_interval_days?: number | null;
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* What the ad group optimizes for (e.g., conversions, link_clicks, reach).
|
|
403
|
+
*/
|
|
404
|
+
optimization_goal?:
|
|
405
|
+
| 'conversions'
|
|
406
|
+
| 'link_clicks'
|
|
407
|
+
| 'landing_page_views'
|
|
408
|
+
| 'reach'
|
|
409
|
+
| 'impressions'
|
|
410
|
+
| 'app_installs'
|
|
411
|
+
| 'video_views'
|
|
412
|
+
| 'lead_generation'
|
|
413
|
+
| 'value'
|
|
414
|
+
| 'page_likes'
|
|
415
|
+
| 'conversations'
|
|
416
|
+
| 'ad_recall_lift'
|
|
417
|
+
| 'two_second_continuous_video_views'
|
|
418
|
+
| 'post_engagement'
|
|
419
|
+
| 'event_responses'
|
|
420
|
+
| 'reminders_set'
|
|
421
|
+
| 'quality_lead'
|
|
422
|
+
| null;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Budget pacing: standard (even) or accelerated (fast).
|
|
426
|
+
*/
|
|
427
|
+
pacing?: 'standard' | 'accelerated' | null;
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* Scheduled start time (ISO8601).
|
|
431
|
+
*/
|
|
432
|
+
start_time?: string | null;
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* Audience targeting settings (demographics, geo, interests, audiences, devices).
|
|
436
|
+
*/
|
|
437
|
+
targeting?: Config.Targeting | null;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
export namespace Config {
|
|
441
|
+
/**
|
|
442
|
+
* Audience targeting settings (demographics, geo, interests, audiences, devices).
|
|
443
|
+
*/
|
|
444
|
+
export interface Targeting {
|
|
445
|
+
/**
|
|
446
|
+
* Maximum age for demographic targeting.
|
|
447
|
+
*/
|
|
448
|
+
age_max?: number | null;
|
|
449
|
+
|
|
450
|
+
/**
|
|
451
|
+
* Minimum age for demographic targeting.
|
|
452
|
+
*/
|
|
453
|
+
age_min?: number | null;
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* ISO 3166-1 alpha-2 country codes to target.
|
|
457
|
+
*/
|
|
458
|
+
countries?: Array<string> | null;
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* Device platforms to target.
|
|
462
|
+
*/
|
|
463
|
+
device_platforms?: Array<'mobile' | 'desktop'> | null;
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* Platform audience IDs to exclude.
|
|
467
|
+
*/
|
|
468
|
+
exclude_audience_ids?: Array<string> | null;
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* Genders to target.
|
|
472
|
+
*/
|
|
473
|
+
genders?: Array<'male' | 'female' | 'all'> | null;
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* Platform audience IDs to include.
|
|
477
|
+
*/
|
|
478
|
+
include_audience_ids?: Array<string> | null;
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* Platform-specific interest IDs to target.
|
|
482
|
+
*/
|
|
483
|
+
interest_ids?: Array<string> | null;
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Language codes to target.
|
|
487
|
+
*/
|
|
488
|
+
languages?: Array<string> | null;
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* Placement strategy for ad delivery.
|
|
492
|
+
*/
|
|
493
|
+
placement_type?: 'automatic' | 'manual' | null;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* Platform-specific ad group configuration.
|
|
499
|
+
*/
|
|
500
|
+
export interface PlatformConfig {
|
|
501
|
+
/**
|
|
502
|
+
* Meta (Facebook/Instagram) ad set configuration.
|
|
503
|
+
*/
|
|
504
|
+
meta?: PlatformConfig.Meta | null;
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* TikTok ad group configuration.
|
|
508
|
+
*/
|
|
509
|
+
tiktok?: PlatformConfig.Tiktok | null;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
export namespace PlatformConfig {
|
|
513
|
+
/**
|
|
514
|
+
* Meta (Facebook/Instagram) ad set configuration.
|
|
515
|
+
*/
|
|
516
|
+
export interface Meta {
|
|
517
|
+
android_devices?: Array<string> | null;
|
|
518
|
+
|
|
519
|
+
/**
|
|
520
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
521
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
522
|
+
*/
|
|
523
|
+
attribution_setting?: string | null;
|
|
524
|
+
|
|
525
|
+
/**
|
|
526
|
+
* Conversion attribution windows.
|
|
527
|
+
*/
|
|
528
|
+
attribution_spec?: Array<Meta.AttributionSpec> | null;
|
|
529
|
+
|
|
530
|
+
audience_network_positions?: Array<string> | null;
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
* Audience type for retargeting.
|
|
534
|
+
*/
|
|
535
|
+
audience_type?: string | null;
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Bid amount in cents.
|
|
539
|
+
*/
|
|
540
|
+
bid_amount?: number | null;
|
|
541
|
+
|
|
542
|
+
/**
|
|
543
|
+
* Meta bid strategy.
|
|
544
|
+
*/
|
|
545
|
+
bid_strategy?:
|
|
546
|
+
| 'LOWEST_COST_WITHOUT_CAP'
|
|
547
|
+
| 'LOWEST_COST_WITH_BID_CAP'
|
|
548
|
+
| 'COST_CAP'
|
|
549
|
+
| 'LOWEST_COST_WITH_MIN_ROAS'
|
|
550
|
+
| null;
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* How you are billed on Meta.
|
|
554
|
+
*/
|
|
555
|
+
billing_event?:
|
|
556
|
+
| 'APP_INSTALLS'
|
|
557
|
+
| 'CLICKS'
|
|
558
|
+
| 'IMPRESSIONS'
|
|
559
|
+
| 'LINK_CLICKS'
|
|
560
|
+
| 'NONE'
|
|
561
|
+
| 'OFFER_CLAIMS'
|
|
562
|
+
| 'PAGE_LIKES'
|
|
563
|
+
| 'POST_ENGAGEMENT'
|
|
564
|
+
| 'THRUPLAY'
|
|
565
|
+
| 'PURCHASE'
|
|
566
|
+
| 'LISTING_INTERACTION'
|
|
567
|
+
| null;
|
|
568
|
+
|
|
569
|
+
brand_safety_content_filter_levels?: Array<string> | null;
|
|
570
|
+
|
|
571
|
+
/**
|
|
572
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
573
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
574
|
+
*/
|
|
575
|
+
budget_remaining?: string | null;
|
|
576
|
+
|
|
577
|
+
/**
|
|
578
|
+
* Represents signed double-precision fractional values as specified by
|
|
579
|
+
* [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).
|
|
580
|
+
*/
|
|
581
|
+
cost_per_result_goal?: number | null;
|
|
582
|
+
|
|
583
|
+
/**
|
|
584
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
585
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
586
|
+
*/
|
|
587
|
+
created_time?: string | null;
|
|
588
|
+
|
|
589
|
+
/**
|
|
590
|
+
* Daily budget in cents.
|
|
591
|
+
*/
|
|
592
|
+
daily_budget?: number | null;
|
|
593
|
+
|
|
594
|
+
/**
|
|
595
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
596
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
597
|
+
*/
|
|
598
|
+
daily_min_spend_target?: string | null;
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
602
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
603
|
+
*/
|
|
604
|
+
daily_spend_cap?: string | null;
|
|
605
|
+
|
|
606
|
+
/**
|
|
607
|
+
* Where ads in this ad set direct people.
|
|
608
|
+
*/
|
|
609
|
+
destination_type?:
|
|
610
|
+
| 'UNDEFINED'
|
|
611
|
+
| 'WEBSITE'
|
|
612
|
+
| 'APP'
|
|
613
|
+
| 'FACEBOOK'
|
|
614
|
+
| 'MESSENGER'
|
|
615
|
+
| 'WHATSAPP'
|
|
616
|
+
| 'INSTAGRAM_DIRECT'
|
|
617
|
+
| 'INSTAGRAM_PROFILE'
|
|
618
|
+
| 'PHONE_CALL'
|
|
619
|
+
| 'SHOP_AUTOMATIC'
|
|
620
|
+
| 'APPLINKS_AUTOMATIC'
|
|
621
|
+
| 'ON_AD'
|
|
622
|
+
| 'ON_POST'
|
|
623
|
+
| 'ON_VIDEO'
|
|
624
|
+
| 'ON_PAGE'
|
|
625
|
+
| 'ON_EVENT'
|
|
626
|
+
| 'MESSAGING_MESSENGER_WHATSAPP'
|
|
627
|
+
| 'MESSAGING_INSTAGRAM_DIRECT_MESSENGER'
|
|
628
|
+
| 'MESSAGING_INSTAGRAM_DIRECT_WHATSAPP'
|
|
629
|
+
| 'MESSAGING_INSTAGRAM_DIRECT_MESSENGER_WHATSAPP'
|
|
630
|
+
| 'INSTAGRAM_PROFILE_AND_FACEBOOK_PAGE'
|
|
631
|
+
| 'FACEBOOK_PAGE'
|
|
632
|
+
| 'INSTAGRAM_LIVE'
|
|
633
|
+
| 'FACEBOOK_LIVE'
|
|
634
|
+
| 'IMAGINE'
|
|
635
|
+
| 'LEAD_FROM_IG_DIRECT'
|
|
636
|
+
| 'LEAD_FROM_MESSENGER'
|
|
637
|
+
| 'LEAD_FORM_MESSENGER'
|
|
638
|
+
| 'WEBSITE_AND_LEAD_FORM'
|
|
639
|
+
| 'WEBSITE_AND_PHONE_CALL'
|
|
640
|
+
| 'BROADCAST_CHANNEL'
|
|
641
|
+
| null;
|
|
642
|
+
|
|
643
|
+
/**
|
|
644
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
645
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
646
|
+
*/
|
|
647
|
+
dsa_beneficiary?: string | null;
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
651
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
652
|
+
*/
|
|
653
|
+
dsa_payor?: string | null;
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* End time (ISO8601). Required for lifetime budgets.
|
|
657
|
+
*/
|
|
658
|
+
end_time?: string | null;
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* Geo locations to exclude.
|
|
662
|
+
*/
|
|
663
|
+
excluded_geo_locations?: Meta.ExcludedGeoLocations | null;
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* Facebook ad placements (feed, reels, stories, etc.).
|
|
667
|
+
*/
|
|
668
|
+
facebook_positions?: Array<string> | null;
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* Represents non-fractional signed whole numeric values. Int can represent values
|
|
672
|
+
* between -(2^31) and 2^31 - 1.
|
|
673
|
+
*/
|
|
674
|
+
frequency_control_count?: number | null;
|
|
675
|
+
|
|
676
|
+
/**
|
|
677
|
+
* Represents non-fractional signed whole numeric values. Int can represent values
|
|
678
|
+
* between -(2^31) and 2^31 - 1.
|
|
679
|
+
*/
|
|
680
|
+
frequency_control_days?: number | null;
|
|
681
|
+
|
|
682
|
+
/**
|
|
683
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
684
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
685
|
+
*/
|
|
686
|
+
frequency_control_type?: string | null;
|
|
687
|
+
|
|
688
|
+
geo_cities?: Array<Meta.GeoCity> | null;
|
|
689
|
+
|
|
690
|
+
/**
|
|
691
|
+
* Geo targeting (countries, regions, cities, zips).
|
|
692
|
+
*/
|
|
693
|
+
geo_locations?: Meta.GeoLocations | null;
|
|
694
|
+
|
|
695
|
+
geo_regions?: Array<Meta.GeoRegion> | null;
|
|
696
|
+
|
|
697
|
+
geo_zips?: Array<string> | null;
|
|
698
|
+
|
|
699
|
+
/**
|
|
700
|
+
* Instagram account ID for this ad set.
|
|
701
|
+
*/
|
|
702
|
+
instagram_actor_id?: string | null;
|
|
703
|
+
|
|
704
|
+
/**
|
|
705
|
+
* Instagram ad placements (stream, story, reels, etc.).
|
|
706
|
+
*/
|
|
707
|
+
instagram_positions?: Array<string> | null;
|
|
708
|
+
|
|
709
|
+
ios_devices?: Array<string> | null;
|
|
710
|
+
|
|
711
|
+
/**
|
|
712
|
+
* Represents `true` or `false` values.
|
|
713
|
+
*/
|
|
714
|
+
is_dynamic_creative?: boolean | null;
|
|
715
|
+
|
|
716
|
+
lead_conversion_location?:
|
|
717
|
+
| 'website'
|
|
718
|
+
| 'instant_forms'
|
|
719
|
+
| 'website_and_instant_forms'
|
|
720
|
+
| 'messenger'
|
|
721
|
+
| 'instagram'
|
|
722
|
+
| 'calls'
|
|
723
|
+
| 'app'
|
|
724
|
+
| null;
|
|
725
|
+
|
|
726
|
+
/**
|
|
727
|
+
* Configuration for a Meta lead gen instant form.
|
|
728
|
+
*/
|
|
729
|
+
lead_form_config?: Meta.LeadFormConfig | null;
|
|
730
|
+
|
|
731
|
+
/**
|
|
732
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
733
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
734
|
+
*/
|
|
735
|
+
lead_gen_form_id?: string | null;
|
|
736
|
+
|
|
737
|
+
/**
|
|
738
|
+
* Lifetime budget in cents.
|
|
739
|
+
*/
|
|
740
|
+
lifetime_budget?: number | null;
|
|
741
|
+
|
|
742
|
+
/**
|
|
743
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
744
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
745
|
+
*/
|
|
746
|
+
lifetime_min_spend_target?: string | null;
|
|
747
|
+
|
|
748
|
+
/**
|
|
749
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
750
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
751
|
+
*/
|
|
752
|
+
lifetime_spend_cap?: string | null;
|
|
753
|
+
|
|
754
|
+
location_types?: Array<string> | null;
|
|
755
|
+
|
|
756
|
+
messenger_positions?: Array<string> | null;
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* What this ad set optimizes for on Meta.
|
|
760
|
+
*/
|
|
761
|
+
optimization_goal?:
|
|
762
|
+
| 'NONE'
|
|
763
|
+
| 'APP_INSTALLS'
|
|
764
|
+
| 'AD_RECALL_LIFT'
|
|
765
|
+
| 'ENGAGED_USERS'
|
|
766
|
+
| 'EVENT_RESPONSES'
|
|
767
|
+
| 'IMPRESSIONS'
|
|
768
|
+
| 'LEAD_GENERATION'
|
|
769
|
+
| 'QUALITY_LEAD'
|
|
770
|
+
| 'LINK_CLICKS'
|
|
771
|
+
| 'OFFSITE_CONVERSIONS'
|
|
772
|
+
| 'PAGE_LIKES'
|
|
773
|
+
| 'POST_ENGAGEMENT'
|
|
774
|
+
| 'QUALITY_CALL'
|
|
775
|
+
| 'REACH'
|
|
776
|
+
| 'LANDING_PAGE_VIEWS'
|
|
777
|
+
| 'VISIT_INSTAGRAM_PROFILE'
|
|
778
|
+
| 'VALUE'
|
|
779
|
+
| 'THRUPLAY'
|
|
780
|
+
| 'DERIVED_EVENTS'
|
|
781
|
+
| 'APP_INSTALLS_AND_OFFSITE_CONVERSIONS'
|
|
782
|
+
| 'CONVERSATIONS'
|
|
783
|
+
| 'IN_APP_VALUE'
|
|
784
|
+
| 'MESSAGING_PURCHASE_CONVERSION'
|
|
785
|
+
| 'SUBSCRIBERS'
|
|
786
|
+
| 'REMINDERS_SET'
|
|
787
|
+
| 'MEANINGFUL_CALL_ATTEMPT'
|
|
788
|
+
| 'PROFILE_VISIT'
|
|
789
|
+
| 'PROFILE_AND_PAGE_ENGAGEMENT'
|
|
790
|
+
| 'TWO_SECOND_CONTINUOUS_VIDEO_VIEWS'
|
|
791
|
+
| 'ENGAGED_REACH'
|
|
792
|
+
| 'ENGAGED_PAGE_VIEWS'
|
|
793
|
+
| 'MESSAGING_DEEP_CONVERSATION_AND_FOLLOW'
|
|
794
|
+
| 'ADVERTISER_SILOED_VALUE'
|
|
795
|
+
| 'AUTOMATIC_OBJECTIVE'
|
|
796
|
+
| 'MESSAGING_APPOINTMENT_CONVERSION'
|
|
797
|
+
| null;
|
|
798
|
+
|
|
799
|
+
/**
|
|
800
|
+
* Facebook Page ID for this ad set.
|
|
801
|
+
*/
|
|
802
|
+
page_id?: string | null;
|
|
803
|
+
|
|
804
|
+
/**
|
|
805
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
806
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
807
|
+
*/
|
|
808
|
+
pixel_id?: string | null;
|
|
809
|
+
|
|
810
|
+
/**
|
|
811
|
+
* The object this ad set promotes (pixel, page, etc.).
|
|
812
|
+
*/
|
|
813
|
+
promoted_object?: Meta.PromotedObject | null;
|
|
814
|
+
|
|
815
|
+
/**
|
|
816
|
+
* Platforms to publish on (facebook, instagram, messenger, audience_network).
|
|
817
|
+
*/
|
|
818
|
+
publisher_platforms?: Array<string> | null;
|
|
819
|
+
|
|
820
|
+
/**
|
|
821
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
822
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
823
|
+
*/
|
|
824
|
+
source_adset_id?: string | null;
|
|
825
|
+
|
|
826
|
+
/**
|
|
827
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
828
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
829
|
+
*/
|
|
830
|
+
start_time?: string | null;
|
|
831
|
+
|
|
832
|
+
status?: 'ACTIVE' | 'PAUSED' | null;
|
|
833
|
+
|
|
834
|
+
/**
|
|
835
|
+
* Advantage+ audience expansion settings.
|
|
836
|
+
*/
|
|
837
|
+
targeting_automation?: Meta.TargetingAutomation | null;
|
|
838
|
+
|
|
839
|
+
threads_positions?: Array<string> | null;
|
|
840
|
+
|
|
841
|
+
/**
|
|
842
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
843
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
844
|
+
*/
|
|
845
|
+
updated_time?: string | null;
|
|
846
|
+
|
|
847
|
+
user_device?: Array<string> | null;
|
|
848
|
+
|
|
849
|
+
user_os?: Array<string> | null;
|
|
850
|
+
|
|
851
|
+
/**
|
|
852
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
853
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
854
|
+
*/
|
|
855
|
+
whatsapp_phone_number?: string | null;
|
|
856
|
+
|
|
857
|
+
whatsapp_positions?: Array<string> | null;
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
export namespace Meta {
|
|
861
|
+
/**
|
|
862
|
+
* Meta conversion attribution window.
|
|
863
|
+
*/
|
|
864
|
+
export interface AttributionSpec {
|
|
865
|
+
/**
|
|
866
|
+
* Attribution event type (e.g., CLICK_THROUGH, VIEW_THROUGH).
|
|
867
|
+
*/
|
|
868
|
+
event_type: string;
|
|
869
|
+
|
|
870
|
+
/**
|
|
871
|
+
* Attribution window in days (1, 7, 28).
|
|
872
|
+
*/
|
|
873
|
+
window_days: number;
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
/**
|
|
877
|
+
* Geo locations to exclude.
|
|
878
|
+
*/
|
|
879
|
+
export interface ExcludedGeoLocations {
|
|
880
|
+
/**
|
|
881
|
+
* City targets.
|
|
882
|
+
*/
|
|
883
|
+
cities?: Array<ExcludedGeoLocations.City> | null;
|
|
884
|
+
|
|
885
|
+
/**
|
|
886
|
+
* ISO 3166-1 alpha-2 country codes.
|
|
887
|
+
*/
|
|
888
|
+
countries?: Array<string> | null;
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
* Location types (home, recent, travel_in).
|
|
892
|
+
*/
|
|
893
|
+
location_types?: Array<string> | null;
|
|
894
|
+
|
|
895
|
+
/**
|
|
896
|
+
* Region/state targets.
|
|
897
|
+
*/
|
|
898
|
+
regions?: Array<ExcludedGeoLocations.Region> | null;
|
|
899
|
+
|
|
900
|
+
/**
|
|
901
|
+
* Zip/postal code targets.
|
|
902
|
+
*/
|
|
903
|
+
zips?: Array<ExcludedGeoLocations.Zip> | null;
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
export namespace ExcludedGeoLocations {
|
|
907
|
+
/**
|
|
908
|
+
* A Meta geo target entry (region, city, or zip).
|
|
909
|
+
*/
|
|
910
|
+
export interface City {
|
|
911
|
+
/**
|
|
912
|
+
* Meta geo target key/ID.
|
|
913
|
+
*/
|
|
914
|
+
key: string;
|
|
915
|
+
|
|
916
|
+
/**
|
|
917
|
+
* Country code for this entry.
|
|
918
|
+
*/
|
|
919
|
+
country?: string | null;
|
|
920
|
+
|
|
921
|
+
/**
|
|
922
|
+
* Display name.
|
|
923
|
+
*/
|
|
924
|
+
name?: string | null;
|
|
925
|
+
|
|
926
|
+
/**
|
|
927
|
+
* Radius in miles (cities only).
|
|
928
|
+
*/
|
|
929
|
+
radius?: number | null;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
/**
|
|
933
|
+
* A Meta geo target entry (region, city, or zip).
|
|
934
|
+
*/
|
|
935
|
+
export interface Region {
|
|
936
|
+
/**
|
|
937
|
+
* Meta geo target key/ID.
|
|
938
|
+
*/
|
|
939
|
+
key: string;
|
|
940
|
+
|
|
941
|
+
/**
|
|
942
|
+
* Country code for this entry.
|
|
943
|
+
*/
|
|
944
|
+
country?: string | null;
|
|
945
|
+
|
|
946
|
+
/**
|
|
947
|
+
* Display name.
|
|
948
|
+
*/
|
|
949
|
+
name?: string | null;
|
|
950
|
+
|
|
951
|
+
/**
|
|
952
|
+
* Radius in miles (cities only).
|
|
953
|
+
*/
|
|
954
|
+
radius?: number | null;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
/**
|
|
958
|
+
* A Meta geo target entry (region, city, or zip).
|
|
959
|
+
*/
|
|
960
|
+
export interface Zip {
|
|
961
|
+
/**
|
|
962
|
+
* Meta geo target key/ID.
|
|
963
|
+
*/
|
|
964
|
+
key: string;
|
|
965
|
+
|
|
966
|
+
/**
|
|
967
|
+
* Country code for this entry.
|
|
968
|
+
*/
|
|
969
|
+
country?: string | null;
|
|
970
|
+
|
|
971
|
+
/**
|
|
972
|
+
* Display name.
|
|
973
|
+
*/
|
|
974
|
+
name?: string | null;
|
|
975
|
+
|
|
976
|
+
/**
|
|
977
|
+
* Radius in miles (cities only).
|
|
978
|
+
*/
|
|
979
|
+
radius?: number | null;
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
/**
|
|
984
|
+
* A Meta geo target entry (region, city, or zip).
|
|
985
|
+
*/
|
|
986
|
+
export interface GeoCity {
|
|
987
|
+
/**
|
|
988
|
+
* Meta geo target key/ID.
|
|
989
|
+
*/
|
|
990
|
+
key: string;
|
|
991
|
+
|
|
992
|
+
/**
|
|
993
|
+
* Country code for this entry.
|
|
994
|
+
*/
|
|
995
|
+
country?: string | null;
|
|
996
|
+
|
|
997
|
+
/**
|
|
998
|
+
* Display name.
|
|
999
|
+
*/
|
|
1000
|
+
name?: string | null;
|
|
1001
|
+
|
|
1002
|
+
/**
|
|
1003
|
+
* Radius in miles (cities only).
|
|
1004
|
+
*/
|
|
1005
|
+
radius?: number | null;
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
/**
|
|
1009
|
+
* Geo targeting (countries, regions, cities, zips).
|
|
1010
|
+
*/
|
|
1011
|
+
export interface GeoLocations {
|
|
1012
|
+
/**
|
|
1013
|
+
* City targets.
|
|
1014
|
+
*/
|
|
1015
|
+
cities?: Array<GeoLocations.City> | null;
|
|
1016
|
+
|
|
1017
|
+
/**
|
|
1018
|
+
* ISO 3166-1 alpha-2 country codes.
|
|
1019
|
+
*/
|
|
1020
|
+
countries?: Array<string> | null;
|
|
1021
|
+
|
|
1022
|
+
/**
|
|
1023
|
+
* Location types (home, recent, travel_in).
|
|
1024
|
+
*/
|
|
1025
|
+
location_types?: Array<string> | null;
|
|
1026
|
+
|
|
1027
|
+
/**
|
|
1028
|
+
* Region/state targets.
|
|
1029
|
+
*/
|
|
1030
|
+
regions?: Array<GeoLocations.Region> | null;
|
|
1031
|
+
|
|
1032
|
+
/**
|
|
1033
|
+
* Zip/postal code targets.
|
|
1034
|
+
*/
|
|
1035
|
+
zips?: Array<GeoLocations.Zip> | null;
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
export namespace GeoLocations {
|
|
1039
|
+
/**
|
|
1040
|
+
* A Meta geo target entry (region, city, or zip).
|
|
1041
|
+
*/
|
|
1042
|
+
export interface City {
|
|
1043
|
+
/**
|
|
1044
|
+
* Meta geo target key/ID.
|
|
1045
|
+
*/
|
|
1046
|
+
key: string;
|
|
1047
|
+
|
|
1048
|
+
/**
|
|
1049
|
+
* Country code for this entry.
|
|
1050
|
+
*/
|
|
1051
|
+
country?: string | null;
|
|
1052
|
+
|
|
1053
|
+
/**
|
|
1054
|
+
* Display name.
|
|
1055
|
+
*/
|
|
1056
|
+
name?: string | null;
|
|
1057
|
+
|
|
1058
|
+
/**
|
|
1059
|
+
* Radius in miles (cities only).
|
|
1060
|
+
*/
|
|
1061
|
+
radius?: number | null;
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
/**
|
|
1065
|
+
* A Meta geo target entry (region, city, or zip).
|
|
1066
|
+
*/
|
|
1067
|
+
export interface Region {
|
|
1068
|
+
/**
|
|
1069
|
+
* Meta geo target key/ID.
|
|
1070
|
+
*/
|
|
1071
|
+
key: string;
|
|
1072
|
+
|
|
1073
|
+
/**
|
|
1074
|
+
* Country code for this entry.
|
|
1075
|
+
*/
|
|
1076
|
+
country?: string | null;
|
|
1077
|
+
|
|
1078
|
+
/**
|
|
1079
|
+
* Display name.
|
|
1080
|
+
*/
|
|
1081
|
+
name?: string | null;
|
|
1082
|
+
|
|
1083
|
+
/**
|
|
1084
|
+
* Radius in miles (cities only).
|
|
1085
|
+
*/
|
|
1086
|
+
radius?: number | null;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
/**
|
|
1090
|
+
* A Meta geo target entry (region, city, or zip).
|
|
1091
|
+
*/
|
|
1092
|
+
export interface Zip {
|
|
1093
|
+
/**
|
|
1094
|
+
* Meta geo target key/ID.
|
|
1095
|
+
*/
|
|
1096
|
+
key: string;
|
|
1097
|
+
|
|
1098
|
+
/**
|
|
1099
|
+
* Country code for this entry.
|
|
1100
|
+
*/
|
|
1101
|
+
country?: string | null;
|
|
1102
|
+
|
|
1103
|
+
/**
|
|
1104
|
+
* Display name.
|
|
1105
|
+
*/
|
|
1106
|
+
name?: string | null;
|
|
1107
|
+
|
|
1108
|
+
/**
|
|
1109
|
+
* Radius in miles (cities only).
|
|
1110
|
+
*/
|
|
1111
|
+
radius?: number | null;
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
/**
|
|
1116
|
+
* A Meta geo target entry (region, city, or zip).
|
|
1117
|
+
*/
|
|
1118
|
+
export interface GeoRegion {
|
|
1119
|
+
/**
|
|
1120
|
+
* Meta geo target key/ID.
|
|
1121
|
+
*/
|
|
1122
|
+
key: string;
|
|
1123
|
+
|
|
1124
|
+
/**
|
|
1125
|
+
* Country code for this entry.
|
|
1126
|
+
*/
|
|
1127
|
+
country?: string | null;
|
|
1128
|
+
|
|
1129
|
+
/**
|
|
1130
|
+
* Display name.
|
|
1131
|
+
*/
|
|
1132
|
+
name?: string | null;
|
|
1133
|
+
|
|
1134
|
+
/**
|
|
1135
|
+
* Radius in miles (cities only).
|
|
1136
|
+
*/
|
|
1137
|
+
radius?: number | null;
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
/**
|
|
1141
|
+
* Configuration for a Meta lead gen instant form.
|
|
1142
|
+
*/
|
|
1143
|
+
export interface LeadFormConfig {
|
|
1144
|
+
/**
|
|
1145
|
+
* Name of the lead form.
|
|
1146
|
+
*/
|
|
1147
|
+
name: string;
|
|
1148
|
+
|
|
1149
|
+
/**
|
|
1150
|
+
* URL to your privacy policy. Required by Meta.
|
|
1151
|
+
*/
|
|
1152
|
+
privacy_policy_url: string;
|
|
1153
|
+
|
|
1154
|
+
/**
|
|
1155
|
+
* Questions to ask on the form.
|
|
1156
|
+
*/
|
|
1157
|
+
questions: Array<LeadFormConfig.Question>;
|
|
1158
|
+
|
|
1159
|
+
/**
|
|
1160
|
+
* Background image source: from_ad or custom.
|
|
1161
|
+
*/
|
|
1162
|
+
background_image_source?: string | null;
|
|
1163
|
+
|
|
1164
|
+
/**
|
|
1165
|
+
* URL of custom background image.
|
|
1166
|
+
*/
|
|
1167
|
+
background_image_url?: string | null;
|
|
1168
|
+
|
|
1169
|
+
/**
|
|
1170
|
+
* Whether conditional logic is enabled for questions.
|
|
1171
|
+
*/
|
|
1172
|
+
conditional_logic_enabled?: boolean | null;
|
|
1173
|
+
|
|
1174
|
+
/**
|
|
1175
|
+
* CTA button text on the greeting card.
|
|
1176
|
+
*/
|
|
1177
|
+
context_card_button_text?: string | null;
|
|
1178
|
+
|
|
1179
|
+
/**
|
|
1180
|
+
* Optional greeting card bullet points.
|
|
1181
|
+
*/
|
|
1182
|
+
context_card_content?: Array<string> | null;
|
|
1183
|
+
|
|
1184
|
+
/**
|
|
1185
|
+
* Greeting layout: PARAGRAPH_STYLE or LIST_STYLE.
|
|
1186
|
+
*/
|
|
1187
|
+
context_card_style?: string | null;
|
|
1188
|
+
|
|
1189
|
+
/**
|
|
1190
|
+
* Optional greeting card title.
|
|
1191
|
+
*/
|
|
1192
|
+
context_card_title?: string | null;
|
|
1193
|
+
|
|
1194
|
+
/**
|
|
1195
|
+
* Custom disclaimer body text.
|
|
1196
|
+
*/
|
|
1197
|
+
custom_disclaimer_body?: string | null;
|
|
1198
|
+
|
|
1199
|
+
/**
|
|
1200
|
+
* Consent checkboxes for the custom disclaimer.
|
|
1201
|
+
*/
|
|
1202
|
+
custom_disclaimer_checkboxes?: Array<LeadFormConfig.CustomDisclaimerCheckbox> | null;
|
|
1203
|
+
|
|
1204
|
+
/**
|
|
1205
|
+
* Custom disclaimer section title.
|
|
1206
|
+
*/
|
|
1207
|
+
custom_disclaimer_title?: string | null;
|
|
1208
|
+
|
|
1209
|
+
/**
|
|
1210
|
+
* Form type: more_volume, higher_intent, or rich_creative.
|
|
1211
|
+
*/
|
|
1212
|
+
form_type?: string | null;
|
|
1213
|
+
|
|
1214
|
+
/**
|
|
1215
|
+
* Enable Messenger follow-up after form submission.
|
|
1216
|
+
*/
|
|
1217
|
+
messenger_enabled?: boolean | null;
|
|
1218
|
+
|
|
1219
|
+
/**
|
|
1220
|
+
* Require phone number verification via OTP (higher_intent only).
|
|
1221
|
+
*/
|
|
1222
|
+
phone_verification_enabled?: boolean | null;
|
|
1223
|
+
|
|
1224
|
+
/**
|
|
1225
|
+
* Custom link text for privacy policy (max 70 chars).
|
|
1226
|
+
*/
|
|
1227
|
+
privacy_policy_link_text?: string | null;
|
|
1228
|
+
|
|
1229
|
+
/**
|
|
1230
|
+
* Custom headline for the questions page.
|
|
1231
|
+
*/
|
|
1232
|
+
question_page_custom_headline?: string | null;
|
|
1233
|
+
|
|
1234
|
+
/**
|
|
1235
|
+
* Headline for rich creative form intro.
|
|
1236
|
+
*/
|
|
1237
|
+
rich_creative_headline?: string | null;
|
|
1238
|
+
|
|
1239
|
+
/**
|
|
1240
|
+
* Overview description for rich creative form intro.
|
|
1241
|
+
*/
|
|
1242
|
+
rich_creative_overview?: string | null;
|
|
1243
|
+
|
|
1244
|
+
/**
|
|
1245
|
+
* Uploaded image URL for rich creative form type.
|
|
1246
|
+
*/
|
|
1247
|
+
rich_creative_url?: string | null;
|
|
1248
|
+
|
|
1249
|
+
/**
|
|
1250
|
+
* Thank you / ending pages (supports multiple for conditional routing).
|
|
1251
|
+
*/
|
|
1252
|
+
thank_you_pages?: Array<LeadFormConfig.ThankYouPage> | null;
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
export namespace LeadFormConfig {
|
|
1256
|
+
/**
|
|
1257
|
+
* A question on a Meta lead gen form.
|
|
1258
|
+
*/
|
|
1259
|
+
export interface Question {
|
|
1260
|
+
/**
|
|
1261
|
+
* Question type (EMAIL, FULL_NAME, PHONE, CUSTOM, DATE_TIME, etc.).
|
|
1262
|
+
*/
|
|
1263
|
+
type: string;
|
|
1264
|
+
|
|
1265
|
+
/**
|
|
1266
|
+
* Group ID for conditional question routing.
|
|
1267
|
+
*/
|
|
1268
|
+
conditional_questions_group_id?: string | null;
|
|
1269
|
+
|
|
1270
|
+
/**
|
|
1271
|
+
* Questions shown conditionally based on this question's answer.
|
|
1272
|
+
*/
|
|
1273
|
+
dependent_conditional_questions?: Array<Question.DependentConditionalQuestion> | null;
|
|
1274
|
+
|
|
1275
|
+
/**
|
|
1276
|
+
* Helper text shown below the question.
|
|
1277
|
+
*/
|
|
1278
|
+
inline_context?: string | null;
|
|
1279
|
+
|
|
1280
|
+
/**
|
|
1281
|
+
* Unique key for this question.
|
|
1282
|
+
*/
|
|
1283
|
+
key?: string | null;
|
|
1284
|
+
|
|
1285
|
+
/**
|
|
1286
|
+
* Custom label for CUSTOM questions.
|
|
1287
|
+
*/
|
|
1288
|
+
label?: string | null;
|
|
1289
|
+
|
|
1290
|
+
/**
|
|
1291
|
+
* Answer options for multiple choice CUSTOM questions.
|
|
1292
|
+
*/
|
|
1293
|
+
options?: Array<Question.Option> | null;
|
|
1294
|
+
|
|
1295
|
+
/**
|
|
1296
|
+
* UI hint: short_answer, multiple_choice, or appointment.
|
|
1297
|
+
*/
|
|
1298
|
+
question_format?: string | null;
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
export namespace Question {
|
|
1302
|
+
/**
|
|
1303
|
+
* A dependent conditional question (non-recursive to avoid schema recursion).
|
|
1304
|
+
*/
|
|
1305
|
+
export interface DependentConditionalQuestion {
|
|
1306
|
+
/**
|
|
1307
|
+
* Question type (EMAIL, FULL_NAME, PHONE, CUSTOM, DATE_TIME, etc.).
|
|
1308
|
+
*/
|
|
1309
|
+
type: string;
|
|
1310
|
+
|
|
1311
|
+
/**
|
|
1312
|
+
* Helper text shown below the question.
|
|
1313
|
+
*/
|
|
1314
|
+
inline_context?: string | null;
|
|
1315
|
+
|
|
1316
|
+
/**
|
|
1317
|
+
* Unique key for this question.
|
|
1318
|
+
*/
|
|
1319
|
+
key?: string | null;
|
|
1320
|
+
|
|
1321
|
+
/**
|
|
1322
|
+
* Custom label for CUSTOM questions.
|
|
1323
|
+
*/
|
|
1324
|
+
label?: string | null;
|
|
1325
|
+
|
|
1326
|
+
/**
|
|
1327
|
+
* Answer options for multiple choice questions.
|
|
1328
|
+
*/
|
|
1329
|
+
options?: Array<DependentConditionalQuestion.Option> | null;
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
export namespace DependentConditionalQuestion {
|
|
1333
|
+
/**
|
|
1334
|
+
* An answer option for a multiple choice lead form question.
|
|
1335
|
+
*/
|
|
1336
|
+
export interface Option {
|
|
1337
|
+
/**
|
|
1338
|
+
* Unique key for this option.
|
|
1339
|
+
*/
|
|
1340
|
+
key: string;
|
|
1341
|
+
|
|
1342
|
+
/**
|
|
1343
|
+
* Display text for this option.
|
|
1344
|
+
*/
|
|
1345
|
+
value: string;
|
|
1346
|
+
|
|
1347
|
+
/**
|
|
1348
|
+
* Conditional logic routing for this answer option.
|
|
1349
|
+
*/
|
|
1350
|
+
logic?: Option.Logic | null;
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
export namespace Option {
|
|
1354
|
+
/**
|
|
1355
|
+
* Conditional logic routing for this answer option.
|
|
1356
|
+
*/
|
|
1357
|
+
export interface Logic {
|
|
1358
|
+
/**
|
|
1359
|
+
* Logic type: go_to_question, submit_form, or close_form.
|
|
1360
|
+
*/
|
|
1361
|
+
type: string;
|
|
1362
|
+
|
|
1363
|
+
/**
|
|
1364
|
+
* Index of the end page to route to (for submit_form type).
|
|
1365
|
+
*/
|
|
1366
|
+
target_end_page_index?: number | null;
|
|
1367
|
+
|
|
1368
|
+
/**
|
|
1369
|
+
* Index of the question to route to (for go_to_question type).
|
|
1370
|
+
*/
|
|
1371
|
+
target_question_index?: number | null;
|
|
1372
|
+
}
|
|
1373
|
+
}
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
/**
|
|
1377
|
+
* An answer option for a multiple choice lead form question.
|
|
1378
|
+
*/
|
|
1379
|
+
export interface Option {
|
|
1380
|
+
/**
|
|
1381
|
+
* Unique key for this option.
|
|
1382
|
+
*/
|
|
1383
|
+
key: string;
|
|
1384
|
+
|
|
1385
|
+
/**
|
|
1386
|
+
* Display text for this option.
|
|
1387
|
+
*/
|
|
1388
|
+
value: string;
|
|
1389
|
+
|
|
1390
|
+
/**
|
|
1391
|
+
* Conditional logic routing for this answer option.
|
|
1392
|
+
*/
|
|
1393
|
+
logic?: Option.Logic | null;
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
export namespace Option {
|
|
1397
|
+
/**
|
|
1398
|
+
* Conditional logic routing for this answer option.
|
|
1399
|
+
*/
|
|
1400
|
+
export interface Logic {
|
|
1401
|
+
/**
|
|
1402
|
+
* Logic type: go_to_question, submit_form, or close_form.
|
|
1403
|
+
*/
|
|
1404
|
+
type: string;
|
|
1405
|
+
|
|
1406
|
+
/**
|
|
1407
|
+
* Index of the end page to route to (for submit_form type).
|
|
1408
|
+
*/
|
|
1409
|
+
target_end_page_index?: number | null;
|
|
1410
|
+
|
|
1411
|
+
/**
|
|
1412
|
+
* Index of the question to route to (for go_to_question type).
|
|
1413
|
+
*/
|
|
1414
|
+
target_question_index?: number | null;
|
|
1415
|
+
}
|
|
1416
|
+
}
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1419
|
+
/**
|
|
1420
|
+
* A consent checkbox for the custom disclaimer section.
|
|
1421
|
+
*/
|
|
1422
|
+
export interface CustomDisclaimerCheckbox {
|
|
1423
|
+
/**
|
|
1424
|
+
* Unique key for this checkbox.
|
|
1425
|
+
*/
|
|
1426
|
+
key: string;
|
|
1427
|
+
|
|
1428
|
+
/**
|
|
1429
|
+
* Label text for the checkbox.
|
|
1430
|
+
*/
|
|
1431
|
+
text: string;
|
|
1432
|
+
|
|
1433
|
+
/**
|
|
1434
|
+
* Whether the checkbox is checked by default.
|
|
1435
|
+
*/
|
|
1436
|
+
is_checked_by_default?: boolean | null;
|
|
1437
|
+
|
|
1438
|
+
/**
|
|
1439
|
+
* Whether the checkbox must be checked to submit.
|
|
1440
|
+
*/
|
|
1441
|
+
is_required?: boolean | null;
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
/**
|
|
1445
|
+
* A thank-you / ending page for a Meta lead gen form.
|
|
1446
|
+
*/
|
|
1447
|
+
export interface ThankYouPage {
|
|
1448
|
+
/**
|
|
1449
|
+
* Body text for this ending page.
|
|
1450
|
+
*/
|
|
1451
|
+
body?: string | null;
|
|
1452
|
+
|
|
1453
|
+
/**
|
|
1454
|
+
* Business phone number for call CTA.
|
|
1455
|
+
*/
|
|
1456
|
+
business_phone?: string | null;
|
|
1457
|
+
|
|
1458
|
+
/**
|
|
1459
|
+
* Custom button text.
|
|
1460
|
+
*/
|
|
1461
|
+
button_text?: string | null;
|
|
1462
|
+
|
|
1463
|
+
/**
|
|
1464
|
+
* CTA button type: VIEW_WEBSITE, CALL_BUSINESS, DOWNLOAD.
|
|
1465
|
+
*/
|
|
1466
|
+
button_type?: string | null;
|
|
1467
|
+
|
|
1468
|
+
/**
|
|
1469
|
+
* Question group ID for conditional routing to this page.
|
|
1470
|
+
*/
|
|
1471
|
+
conditional_question_group_id?: string | null;
|
|
1472
|
+
|
|
1473
|
+
/**
|
|
1474
|
+
* Enable Messenger follow-up.
|
|
1475
|
+
*/
|
|
1476
|
+
enable_messenger?: boolean | null;
|
|
1477
|
+
|
|
1478
|
+
/**
|
|
1479
|
+
* Uploaded file URL for gated content download.
|
|
1480
|
+
*/
|
|
1481
|
+
gated_file_url?: string | null;
|
|
1482
|
+
|
|
1483
|
+
/**
|
|
1484
|
+
* URL the button links to.
|
|
1485
|
+
*/
|
|
1486
|
+
link?: string | null;
|
|
1487
|
+
|
|
1488
|
+
/**
|
|
1489
|
+
* Internal name for this ending page.
|
|
1490
|
+
*/
|
|
1491
|
+
name?: string | null;
|
|
1492
|
+
|
|
1493
|
+
/**
|
|
1494
|
+
* Headline for this ending page.
|
|
1495
|
+
*/
|
|
1496
|
+
title?: string | null;
|
|
1497
|
+
}
|
|
1498
|
+
}
|
|
1499
|
+
|
|
1500
|
+
/**
|
|
1501
|
+
* The object this ad set promotes (pixel, page, etc.).
|
|
1502
|
+
*/
|
|
1503
|
+
export interface PromotedObject {
|
|
1504
|
+
/**
|
|
1505
|
+
* Custom conversion rule ID (numeric, from Meta Events Manager).
|
|
1506
|
+
*/
|
|
1507
|
+
custom_conversion_id?: string | null;
|
|
1508
|
+
|
|
1509
|
+
/**
|
|
1510
|
+
* Pixel event name, used when custom_event_type is OTHER.
|
|
1511
|
+
*/
|
|
1512
|
+
custom_event_str?: string | null;
|
|
1513
|
+
|
|
1514
|
+
/**
|
|
1515
|
+
* Custom event type (e.g., PURCHASE, COMPLETE_REGISTRATION, OTHER).
|
|
1516
|
+
*/
|
|
1517
|
+
custom_event_type?: string | null;
|
|
1518
|
+
|
|
1519
|
+
/**
|
|
1520
|
+
* Facebook Page ID.
|
|
1521
|
+
*/
|
|
1522
|
+
page_id?: string | null;
|
|
1523
|
+
|
|
1524
|
+
/**
|
|
1525
|
+
* Meta Pixel ID for conversion tracking.
|
|
1526
|
+
*/
|
|
1527
|
+
pixel_id?: string | null;
|
|
1528
|
+
|
|
1529
|
+
/**
|
|
1530
|
+
* WhatsApp phone number for messaging campaigns.
|
|
1531
|
+
*/
|
|
1532
|
+
whatsapp_phone_number?: string | null;
|
|
1533
|
+
}
|
|
1534
|
+
|
|
1535
|
+
/**
|
|
1536
|
+
* Advantage+ audience expansion settings.
|
|
1537
|
+
*/
|
|
1538
|
+
export interface TargetingAutomation {
|
|
1539
|
+
/**
|
|
1540
|
+
* 0 = off (use exact targeting), 1 = on (let Meta expand audience).
|
|
1541
|
+
*/
|
|
1542
|
+
advantage_audience?: number | null;
|
|
1543
|
+
}
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1546
|
+
/**
|
|
1547
|
+
* TikTok ad group configuration.
|
|
1548
|
+
*/
|
|
1549
|
+
export interface Tiktok {
|
|
1550
|
+
actions?: Array<Tiktok.Action> | null;
|
|
1551
|
+
|
|
1552
|
+
age_groups?: Array<
|
|
1553
|
+
'AGE_13_17' | 'AGE_18_24' | 'AGE_25_34' | 'AGE_35_44' | 'AGE_45_54' | 'AGE_55_100'
|
|
1554
|
+
> | null;
|
|
1555
|
+
|
|
1556
|
+
/**
|
|
1557
|
+
* App ID for app promotion campaigns.
|
|
1558
|
+
*/
|
|
1559
|
+
app_id?: string | null;
|
|
1560
|
+
|
|
1561
|
+
attribution_event_count?: 'UNSET' | 'EVERY' | 'ONCE' | null;
|
|
1562
|
+
|
|
1563
|
+
audience_ids?: Array<string> | null;
|
|
1564
|
+
|
|
1565
|
+
/**
|
|
1566
|
+
* Represents untyped JSON
|
|
1567
|
+
*/
|
|
1568
|
+
audience_rule?: { [key: string]: unknown } | null;
|
|
1569
|
+
|
|
1570
|
+
audience_type?: 'NORMAL' | 'SMART_INTERESTS_BEHAVIORS' | null;
|
|
1571
|
+
|
|
1572
|
+
/**
|
|
1573
|
+
* Bid price (cost per result for Cost Cap).
|
|
1574
|
+
*/
|
|
1575
|
+
bid_price?: number | null;
|
|
1576
|
+
|
|
1577
|
+
/**
|
|
1578
|
+
* Bidding strategy (BID_TYPE_NO_BID, BID_TYPE_CUSTOM).
|
|
1579
|
+
*/
|
|
1580
|
+
bid_type?: 'BID_TYPE_NO_BID' | 'BID_TYPE_CUSTOM' | null;
|
|
1581
|
+
|
|
1582
|
+
/**
|
|
1583
|
+
* How you are billed on TikTok (CPC, CPM, OCPM, CPV).
|
|
1584
|
+
*/
|
|
1585
|
+
billing_event?: 'CPC' | 'CPM' | 'OCPM' | 'CPV' | null;
|
|
1586
|
+
|
|
1587
|
+
brand_safety_type?:
|
|
1588
|
+
| 'NO_BRAND_SAFETY'
|
|
1589
|
+
| 'STANDARD_INVENTORY'
|
|
1590
|
+
| 'LIMITED_INVENTORY'
|
|
1591
|
+
| 'FULL_INVENTORY'
|
|
1592
|
+
| 'EXPANDED_INVENTORY'
|
|
1593
|
+
| null;
|
|
1594
|
+
|
|
1595
|
+
/**
|
|
1596
|
+
* Budget mode (BUDGET_MODE_DAY, BUDGET_MODE_TOTAL,
|
|
1597
|
+
* BUDGET_MODE_DYNAMIC_DAILY_BUDGET).
|
|
1598
|
+
*/
|
|
1599
|
+
budget_mode?: 'BUDGET_MODE_DAY' | 'BUDGET_MODE_TOTAL' | 'BUDGET_MODE_DYNAMIC_DAILY_BUDGET' | null;
|
|
1600
|
+
|
|
1601
|
+
carrier_ids?: Array<string> | null;
|
|
1602
|
+
|
|
1603
|
+
category_exclusion_ids?: Array<string> | null;
|
|
1604
|
+
|
|
1605
|
+
click_attribution_window?:
|
|
1606
|
+
| 'OFF'
|
|
1607
|
+
| 'ONE_DAY'
|
|
1608
|
+
| 'SEVEN_DAYS'
|
|
1609
|
+
| 'FOURTEEN_DAYS'
|
|
1610
|
+
| 'TWENTY_EIGHT_DAYS'
|
|
1611
|
+
| null;
|
|
1612
|
+
|
|
1613
|
+
/**
|
|
1614
|
+
* Represents `true` or `false` values.
|
|
1615
|
+
*/
|
|
1616
|
+
comment_disabled?: boolean | null;
|
|
1617
|
+
|
|
1618
|
+
contextual_tag_ids?: Array<string> | null;
|
|
1619
|
+
|
|
1620
|
+
/**
|
|
1621
|
+
* Target cost per conversion for oCPM.
|
|
1622
|
+
*/
|
|
1623
|
+
conversion_bid_price?: number | null;
|
|
1624
|
+
|
|
1625
|
+
/**
|
|
1626
|
+
* Creative delivery strategy.
|
|
1627
|
+
*/
|
|
1628
|
+
creative_material_mode?: string | null;
|
|
1629
|
+
|
|
1630
|
+
/**
|
|
1631
|
+
* Ad delivery schedule (48x7 character string).
|
|
1632
|
+
*/
|
|
1633
|
+
dayparting?: string | null;
|
|
1634
|
+
|
|
1635
|
+
/**
|
|
1636
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
1637
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
1638
|
+
*/
|
|
1639
|
+
deep_funnel_event_source?: string | null;
|
|
1640
|
+
|
|
1641
|
+
/**
|
|
1642
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
1643
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
1644
|
+
*/
|
|
1645
|
+
deep_funnel_event_source_id?: string | null;
|
|
1646
|
+
|
|
1647
|
+
deep_funnel_optimization_status?: 'ON' | 'OFF' | null;
|
|
1648
|
+
|
|
1649
|
+
device_model_ids?: Array<string> | null;
|
|
1650
|
+
|
|
1651
|
+
device_price_ranges?: Array<string> | null;
|
|
1652
|
+
|
|
1653
|
+
engaged_view_attribution_window?: 'OFF' | 'ONE_DAY' | 'SEVEN_DAYS' | null;
|
|
1654
|
+
|
|
1655
|
+
excluded_audience_ids?: Array<string> | null;
|
|
1656
|
+
|
|
1657
|
+
/**
|
|
1658
|
+
* TikTok location/region IDs to exclude.
|
|
1659
|
+
*/
|
|
1660
|
+
excluded_location_ids?: Array<string> | null;
|
|
1661
|
+
|
|
1662
|
+
/**
|
|
1663
|
+
* Represents non-fractional signed whole numeric values. Int can represent values
|
|
1664
|
+
* between -(2^31) and 2^31 - 1.
|
|
1665
|
+
*/
|
|
1666
|
+
frequency?: number | null;
|
|
1667
|
+
|
|
1668
|
+
/**
|
|
1669
|
+
* Represents non-fractional signed whole numeric values. Int can represent values
|
|
1670
|
+
* between -(2^31) and 2^31 - 1.
|
|
1671
|
+
*/
|
|
1672
|
+
frequency_schedule?: number | null;
|
|
1673
|
+
|
|
1674
|
+
gender?: 'GENDER_UNLIMITED' | 'GENDER_MALE' | 'GENDER_FEMALE' | null;
|
|
1675
|
+
|
|
1676
|
+
/**
|
|
1677
|
+
* Business Center ID for BC_AUTH_TT identity.
|
|
1678
|
+
*/
|
|
1679
|
+
identity_authorized_bc_id?: string | null;
|
|
1680
|
+
|
|
1681
|
+
/**
|
|
1682
|
+
* TikTok identity ID for the ad group.
|
|
1683
|
+
*/
|
|
1684
|
+
identity_id?: string | null;
|
|
1685
|
+
|
|
1686
|
+
/**
|
|
1687
|
+
* Identity type (AUTH_CODE, TT_USER, BC_AUTH_TT).
|
|
1688
|
+
*/
|
|
1689
|
+
identity_type?: string | null;
|
|
1690
|
+
|
|
1691
|
+
/**
|
|
1692
|
+
* Instant form configuration for lead generation campaigns.
|
|
1693
|
+
*/
|
|
1694
|
+
instant_form_config?: Tiktok.InstantFormConfig | null;
|
|
1695
|
+
|
|
1696
|
+
/**
|
|
1697
|
+
* TikTok instant form ID (set automatically when instant_form_config is provided).
|
|
1698
|
+
*/
|
|
1699
|
+
instant_form_id?: string | null;
|
|
1700
|
+
|
|
1701
|
+
interest_category_ids?: Array<string> | null;
|
|
1702
|
+
|
|
1703
|
+
interest_keyword_ids?: Array<string> | null;
|
|
1704
|
+
|
|
1705
|
+
/**
|
|
1706
|
+
* Represents `true` or `false` values.
|
|
1707
|
+
*/
|
|
1708
|
+
inventory_filter_enabled?: boolean | null;
|
|
1709
|
+
|
|
1710
|
+
ios14_targeting?: 'UNSET' | 'IOS14_MINUS' | 'IOS14_PLUS' | 'ALL' | null;
|
|
1711
|
+
|
|
1712
|
+
isp_ids?: Array<string> | null;
|
|
1713
|
+
|
|
1714
|
+
languages?: Array<string> | null;
|
|
1715
|
+
|
|
1716
|
+
/**
|
|
1717
|
+
* TikTok location/region IDs for geo targeting.
|
|
1718
|
+
*/
|
|
1719
|
+
location_ids?: Array<string> | null;
|
|
1720
|
+
|
|
1721
|
+
/**
|
|
1722
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
1723
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
1724
|
+
*/
|
|
1725
|
+
min_android_version?: string | null;
|
|
1726
|
+
|
|
1727
|
+
/**
|
|
1728
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
1729
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
1730
|
+
*/
|
|
1731
|
+
min_ios_version?: string | null;
|
|
1732
|
+
|
|
1733
|
+
network_types?: Array<string> | null;
|
|
1734
|
+
|
|
1735
|
+
operating_systems?: Array<'ANDROID' | 'IOS'> | null;
|
|
1736
|
+
|
|
1737
|
+
/**
|
|
1738
|
+
* Initial status (ENABLE, DISABLE).
|
|
1739
|
+
*/
|
|
1740
|
+
operation_status?: 'ENABLE' | 'DISABLE' | null;
|
|
1741
|
+
|
|
1742
|
+
/**
|
|
1743
|
+
* Conversion event (e.g., COMPLETE_PAYMENT).
|
|
1744
|
+
*/
|
|
1745
|
+
optimization_event?: string | null;
|
|
1746
|
+
|
|
1747
|
+
/**
|
|
1748
|
+
* What this ad group optimizes for on TikTok.
|
|
1749
|
+
*/
|
|
1750
|
+
optimization_goal?:
|
|
1751
|
+
| 'CLICK'
|
|
1752
|
+
| 'CONVERT'
|
|
1753
|
+
| 'INSTALL'
|
|
1754
|
+
| 'IN_APP_EVENT'
|
|
1755
|
+
| 'REACH'
|
|
1756
|
+
| 'SHOW'
|
|
1757
|
+
| 'VIDEO_VIEW'
|
|
1758
|
+
| 'ENGAGED_VIEW'
|
|
1759
|
+
| 'ENGAGED_VIEW_FIFTEEN'
|
|
1760
|
+
| 'LEAD_GENERATION'
|
|
1761
|
+
| 'PREFERRED_LEAD'
|
|
1762
|
+
| 'CONVERSATION'
|
|
1763
|
+
| 'FOLLOWERS'
|
|
1764
|
+
| 'PROFILE_VIEWS'
|
|
1765
|
+
| 'PAGE_VISIT'
|
|
1766
|
+
| 'VALUE'
|
|
1767
|
+
| 'AUTOMATIC_VALUE_OPTIMIZATION'
|
|
1768
|
+
| 'TRAFFIC_LANDING_PAGE_VIEW'
|
|
1769
|
+
| 'DESTINATION_VISIT'
|
|
1770
|
+
| 'MT_LIVE_ROOM'
|
|
1771
|
+
| 'PRODUCT_CLICK_IN_LIVE'
|
|
1772
|
+
| null;
|
|
1773
|
+
|
|
1774
|
+
/**
|
|
1775
|
+
* Budget pacing (PACING_MODE_SMOOTH, PACING_MODE_FAST).
|
|
1776
|
+
*/
|
|
1777
|
+
pacing?: 'PACING_MODE_SMOOTH' | 'PACING_MODE_FAST' | null;
|
|
1778
|
+
|
|
1779
|
+
pangle_audience_package_exclude_ids?: Array<string> | null;
|
|
1780
|
+
|
|
1781
|
+
pangle_audience_package_include_ids?: Array<string> | null;
|
|
1782
|
+
|
|
1783
|
+
pangle_block_app_ids?: Array<string> | null;
|
|
1784
|
+
|
|
1785
|
+
/**
|
|
1786
|
+
* TikTok Pixel ID for conversion tracking.
|
|
1787
|
+
*/
|
|
1788
|
+
pixel_id?: string | null;
|
|
1789
|
+
|
|
1790
|
+
/**
|
|
1791
|
+
* Placement strategy (PLACEMENT_TYPE_AUTOMATIC, PLACEMENT_TYPE_NORMAL).
|
|
1792
|
+
*/
|
|
1793
|
+
placement_type?: 'PLACEMENT_TYPE_AUTOMATIC' | 'PLACEMENT_TYPE_NORMAL' | null;
|
|
1794
|
+
|
|
1795
|
+
/**
|
|
1796
|
+
* Placements (PLACEMENT_TIKTOK, PLACEMENT_PANGLE, etc.).
|
|
1797
|
+
*/
|
|
1798
|
+
placements?: Array<string> | null;
|
|
1799
|
+
|
|
1800
|
+
/**
|
|
1801
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
1802
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
1803
|
+
*/
|
|
1804
|
+
product_set_id?: string | null;
|
|
1805
|
+
|
|
1806
|
+
product_source?: 'CATALOG' | 'STORE' | 'SHOWCASE' | null;
|
|
1807
|
+
|
|
1808
|
+
/**
|
|
1809
|
+
* Promotion type (optimization location).
|
|
1810
|
+
*/
|
|
1811
|
+
promotion_type?: string | null;
|
|
1812
|
+
|
|
1813
|
+
/**
|
|
1814
|
+
* Schedule end time (UTC, YYYY-MM-DD HH:MM:SS).
|
|
1815
|
+
*/
|
|
1816
|
+
schedule_end_time?: string | null;
|
|
1817
|
+
|
|
1818
|
+
/**
|
|
1819
|
+
* Schedule start time (UTC, YYYY-MM-DD HH:MM:SS).
|
|
1820
|
+
*/
|
|
1821
|
+
schedule_start_time?: string | null;
|
|
1822
|
+
|
|
1823
|
+
/**
|
|
1824
|
+
* Schedule type (SCHEDULE_START_END, SCHEDULE_FROM_NOW).
|
|
1825
|
+
*/
|
|
1826
|
+
schedule_type?: 'SCHEDULE_START_END' | 'SCHEDULE_FROM_NOW' | null;
|
|
1827
|
+
|
|
1828
|
+
/**
|
|
1829
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
1830
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
1831
|
+
*/
|
|
1832
|
+
secondary_optimization_event?: string | null;
|
|
1833
|
+
|
|
1834
|
+
/**
|
|
1835
|
+
* Represents non-fractional signed whole numeric values. Int can represent values
|
|
1836
|
+
* between -(2^31) and 2^31 - 1.
|
|
1837
|
+
*/
|
|
1838
|
+
shopping_ads_retargeting_actions_days?: number | null;
|
|
1839
|
+
|
|
1840
|
+
shopping_ads_retargeting_type?: 'OFF' | 'LAB1' | 'LAB2' | 'LAB3' | 'LAB4' | 'LAB5' | null;
|
|
1841
|
+
|
|
1842
|
+
spending_power?: 'ALL' | 'HIGH' | null;
|
|
1843
|
+
|
|
1844
|
+
/**
|
|
1845
|
+
* TikTok subplacements (IN_FEED, SEARCH_FEED, etc.).
|
|
1846
|
+
*/
|
|
1847
|
+
tiktok_subplacements?: Array<string> | null;
|
|
1848
|
+
|
|
1849
|
+
/**
|
|
1850
|
+
* Represents textual data as UTF-8 character sequences. This type is most often
|
|
1851
|
+
* used by GraphQL to represent free-form human-readable text.
|
|
1852
|
+
*/
|
|
1853
|
+
vertical_sensitivity_id?: string | null;
|
|
1854
|
+
|
|
1855
|
+
/**
|
|
1856
|
+
* Represents `true` or `false` values.
|
|
1857
|
+
*/
|
|
1858
|
+
video_download_disabled?: boolean | null;
|
|
1859
|
+
|
|
1860
|
+
video_user_actions?: Array<string> | null;
|
|
1861
|
+
|
|
1862
|
+
view_attribution_window?: 'OFF' | 'ONE_DAY' | 'SEVEN_DAYS' | null;
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
export namespace Tiktok {
|
|
1866
|
+
/**
|
|
1867
|
+
* A single TikTok behavioral targeting entry. One category of past user behavior
|
|
1868
|
+
* (what they did, over what window, on which kind of content). See
|
|
1869
|
+
* docs/tiktok_api/ad_group.md § actions.
|
|
1870
|
+
*/
|
|
1871
|
+
export interface Action {
|
|
1872
|
+
/**
|
|
1873
|
+
* Behavioral category IDs. Use /tool/action_category/ to list them.
|
|
1874
|
+
*/
|
|
1875
|
+
action_category_ids?: Array<string> | null;
|
|
1876
|
+
|
|
1877
|
+
/**
|
|
1878
|
+
* Lookback window in days. TikTok accepts 7, 15, 30, 60, 90, or 180.
|
|
1879
|
+
*/
|
|
1880
|
+
action_period?: number | null;
|
|
1881
|
+
|
|
1882
|
+
/**
|
|
1883
|
+
* The category of TikTok content a behavioral targeting rule applies to. See
|
|
1884
|
+
* docs/tiktok_api/ad_group.md § actions.
|
|
1885
|
+
*/
|
|
1886
|
+
action_scene?: 'VIDEO_RELATED' | 'CREATOR_RELATED' | 'HASHTAG_RELATED' | 'LIVE_RELATED' | null;
|
|
1887
|
+
|
|
1888
|
+
/**
|
|
1889
|
+
* Specific video interactions (WATCHED_TO_END, LIKED, COMMENTED, SHARED, FOLLOWED,
|
|
1890
|
+
* PROFILE_VISITED).
|
|
1891
|
+
*/
|
|
1892
|
+
video_user_actions?: Array<
|
|
1893
|
+
'WATCHED_TO_END' | 'LIKED' | 'COMMENTED' | 'SHARED' | 'FOLLOWED' | 'PROFILE_VISITED'
|
|
1894
|
+
> | null;
|
|
1895
|
+
}
|
|
1896
|
+
|
|
1897
|
+
/**
|
|
1898
|
+
* Instant form configuration for lead generation campaigns.
|
|
1899
|
+
*/
|
|
1900
|
+
export interface InstantFormConfig {
|
|
1901
|
+
/**
|
|
1902
|
+
* URL to your privacy policy.
|
|
1903
|
+
*/
|
|
1904
|
+
privacy_policy_url: string;
|
|
1905
|
+
|
|
1906
|
+
/**
|
|
1907
|
+
* Form questions (at least one required).
|
|
1908
|
+
*/
|
|
1909
|
+
questions: Array<InstantFormConfig.Question>;
|
|
1910
|
+
|
|
1911
|
+
/**
|
|
1912
|
+
* Submit button text.
|
|
1913
|
+
*/
|
|
1914
|
+
button_text?: string | null;
|
|
1915
|
+
|
|
1916
|
+
/**
|
|
1917
|
+
* Greeting text shown at the top of the form.
|
|
1918
|
+
*/
|
|
1919
|
+
greeting?: string | null;
|
|
1920
|
+
|
|
1921
|
+
/**
|
|
1922
|
+
* Form name. Auto-generated if omitted.
|
|
1923
|
+
*/
|
|
1924
|
+
name?: string | null;
|
|
1925
|
+
}
|
|
1926
|
+
|
|
1927
|
+
export namespace InstantFormConfig {
|
|
1928
|
+
/**
|
|
1929
|
+
* A question for a TikTok instant form.
|
|
1930
|
+
*/
|
|
1931
|
+
export interface Question {
|
|
1932
|
+
/**
|
|
1933
|
+
* Question type (EMAIL, PHONE_NUMBER, NAME, CUSTOM).
|
|
1934
|
+
*/
|
|
1935
|
+
field_type: string;
|
|
1936
|
+
|
|
1937
|
+
/**
|
|
1938
|
+
* Custom label for the question.
|
|
1939
|
+
*/
|
|
1940
|
+
label?: string | null;
|
|
1941
|
+
}
|
|
1942
|
+
}
|
|
1943
|
+
}
|
|
1944
|
+
}
|
|
1945
|
+
}
|
|
1946
|
+
|
|
1947
|
+
export declare namespace AdGroups {
|
|
1948
|
+
export {
|
|
1949
|
+
type AdBudgetType as AdBudgetType,
|
|
1950
|
+
type AdGroup as AdGroup,
|
|
1951
|
+
type AdGroupStatus as AdGroupStatus,
|
|
1952
|
+
type AdGroupListResponse as AdGroupListResponse,
|
|
1953
|
+
type AdGroupDeleteResponse as AdGroupDeleteResponse,
|
|
1954
|
+
type AdGroupListResponsesCursorPage as AdGroupListResponsesCursorPage,
|
|
1955
|
+
type AdGroupListParams as AdGroupListParams,
|
|
1956
|
+
type AdGroupUpdateParams as AdGroupUpdateParams,
|
|
1957
|
+
};
|
|
1958
|
+
}
|