@tagadapay/headless-sdk 1.16.0 → 1.17.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.
- package/dist/core/client.d.ts +5 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +6 -1
- package/dist/core/client.js.map +1 -1
- package/dist/core/http.d.ts +2 -0
- package/dist/core/http.d.ts.map +1 -1
- package/dist/core/http.js +21 -5
- package/dist/core/http.js.map +1 -1
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/modules/checkout.d.ts.map +1 -1
- package/dist/core/modules/checkout.js +12 -0
- package/dist/core/modules/checkout.js.map +1 -1
- package/dist/core/modules/commerce.d.ts +4 -0
- package/dist/core/modules/commerce.d.ts.map +1 -0
- package/dist/core/modules/commerce.js +5 -0
- package/dist/core/modules/commerce.js.map +1 -0
- package/dist/core/modules/customer.d.ts +47 -1
- package/dist/core/modules/customer.d.ts.map +1 -1
- package/dist/core/modules/customer.js +60 -3
- package/dist/core/modules/customer.js.map +1 -1
- package/dist/core/modules/experiments.d.ts +21 -0
- package/dist/core/modules/experiments.d.ts.map +1 -0
- package/dist/core/modules/experiments.js +85 -0
- package/dist/core/modules/experiments.js.map +1 -0
- package/dist/core/modules/funnel.d.ts +2 -1
- package/dist/core/modules/funnel.d.ts.map +1 -1
- package/dist/core/modules/funnel.js +6 -1
- package/dist/core/modules/funnel.js.map +1 -1
- package/dist/core/modules/lazyCommerce.d.ts +16 -0
- package/dist/core/modules/lazyCommerce.d.ts.map +1 -0
- package/dist/core/modules/lazyCommerce.js +20 -0
- package/dist/core/modules/lazyCommerce.js.map +1 -0
- package/dist/core/modules/offers.d.ts +30 -5
- package/dist/core/modules/offers.d.ts.map +1 -1
- package/dist/core/modules/offers.js +66 -7
- package/dist/core/modules/offers.js.map +1 -1
- package/dist/core/modules/portal/index.d.ts +102 -0
- package/dist/core/modules/portal/index.d.ts.map +1 -0
- package/dist/core/modules/portal/index.js +166 -0
- package/dist/core/modules/portal/index.js.map +1 -0
- package/dist/core/modules/portal/types.d.ts +617 -0
- package/dist/core/modules/portal/types.d.ts.map +1 -0
- package/dist/core/modules/portal/types.js +11 -0
- package/dist/core/modules/portal/types.js.map +1 -0
- package/dist/core/modules/track.d.ts +8 -0
- package/dist/core/modules/track.d.ts.map +1 -1
- package/dist/core/modules/track.js +49 -8
- package/dist/core/modules/track.js.map +1 -1
- package/dist/core/types.d.ts +11 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +0 -3
- package/dist/core/types.js.map +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/pixels/pixelTracker.d.ts.map +1 -1
- package/dist/pixels/pixelTracker.js +4 -2
- package/dist/pixels/pixelTracker.js.map +1 -1
- package/dist/tagada-headless-commerce.min.js +8 -0
- package/dist/tagada-headless-commerce.min.js.map +7 -0
- package/dist/tagada-headless-react.min.js +2 -2
- package/dist/tagada-headless-react.min.js.map +4 -4
- package/dist/tagada-headless.js +299 -288
- package/dist/tagada-headless.min.js +2 -2
- package/dist/tagada-headless.min.js.map +4 -4
- package/dist/tagada-pixels.min.js +2 -2
- package/dist/tagada-pixels.min.js.map +3 -3
- package/dist/tgd/contract/attribution.d.ts +28 -0
- package/dist/tgd/contract/attribution.d.ts.map +1 -0
- package/dist/tgd/contract/attribution.js +44 -0
- package/dist/tgd/contract/attribution.js.map +1 -0
- package/dist/tgd/contract/browser-api.d.ts +57 -0
- package/dist/tgd/contract/browser-api.d.ts.map +1 -0
- package/dist/tgd/contract/browser-api.js +2 -0
- package/dist/tgd/contract/browser-api.js.map +1 -0
- package/dist/tgd/contract/canvas.d.ts +120 -0
- package/dist/tgd/contract/canvas.d.ts.map +1 -0
- package/dist/tgd/contract/canvas.js +12 -0
- package/dist/tgd/contract/canvas.js.map +1 -0
- package/dist/tgd/contract/dedup-keys.d.ts +24 -0
- package/dist/tgd/contract/dedup-keys.d.ts.map +1 -0
- package/dist/tgd/contract/dedup-keys.js +23 -0
- package/dist/tgd/contract/dedup-keys.js.map +1 -0
- package/dist/tgd/contract/destination-names.d.ts +4 -0
- package/dist/tgd/contract/destination-names.d.ts.map +1 -0
- package/dist/tgd/contract/destination-names.js +66 -0
- package/dist/tgd/contract/destination-names.js.map +1 -0
- package/dist/tgd/contract/destinations.d.ts +124 -0
- package/dist/tgd/contract/destinations.d.ts.map +1 -0
- package/dist/tgd/contract/destinations.js +63 -0
- package/dist/tgd/contract/destinations.js.map +1 -0
- package/dist/tgd/contract/envelope.d.ts +203 -0
- package/dist/tgd/contract/envelope.d.ts.map +1 -0
- package/dist/tgd/contract/envelope.js +103 -0
- package/dist/tgd/contract/envelope.js.map +1 -0
- package/dist/tgd/contract/experiments.d.ts +87 -0
- package/dist/tgd/contract/experiments.d.ts.map +1 -0
- package/dist/tgd/contract/experiments.js +2 -0
- package/dist/tgd/contract/experiments.js.map +1 -0
- package/dist/tgd/contract/index.d.ts +20 -0
- package/dist/tgd/contract/index.d.ts.map +1 -0
- package/dist/tgd/contract/index.js +20 -0
- package/dist/tgd/contract/index.js.map +1 -0
- package/dist/tgd/contract/is-test.d.ts +2 -0
- package/dist/tgd/contract/is-test.d.ts.map +1 -0
- package/dist/tgd/contract/is-test.js +3 -0
- package/dist/tgd/contract/is-test.js.map +1 -0
- package/dist/tgd/contract/junk-ids.d.ts +4 -0
- package/dist/tgd/contract/junk-ids.d.ts.map +1 -0
- package/dist/tgd/contract/junk-ids.js +7 -0
- package/dist/tgd/contract/junk-ids.js.map +1 -0
- package/dist/tgd/contract/limits.d.ts +19 -0
- package/dist/tgd/contract/limits.d.ts.map +1 -0
- package/dist/tgd/contract/limits.js +20 -0
- package/dist/tgd/contract/limits.js.map +1 -0
- package/dist/tgd/contract/names.d.ts +13 -0
- package/dist/tgd/contract/names.d.ts.map +1 -0
- package/dist/tgd/contract/names.js +15 -0
- package/dist/tgd/contract/names.js.map +1 -0
- package/dist/tgd/contract/registry.d.ts +116 -0
- package/dist/tgd/contract/registry.d.ts.map +1 -0
- package/dist/tgd/contract/registry.js +59 -0
- package/dist/tgd/contract/registry.js.map +1 -0
- package/dist/tgd/contract/signed-ids.d.ts +33 -0
- package/dist/tgd/contract/signed-ids.d.ts.map +1 -0
- package/dist/tgd/contract/signed-ids.js +26 -0
- package/dist/tgd/contract/signed-ids.js.map +1 -0
- package/dist/tgd/contract/snapshots.d.ts +69 -0
- package/dist/tgd/contract/snapshots.d.ts.map +1 -0
- package/dist/tgd/contract/snapshots.js +2 -0
- package/dist/tgd/contract/snapshots.js.map +1 -0
- package/dist/tgd/contract/time.d.ts +9 -0
- package/dist/tgd/contract/time.d.ts.map +1 -0
- package/dist/tgd/contract/time.js +9 -0
- package/dist/tgd/contract/time.js.map +1 -0
- package/dist/tgd/contract/unions.d.ts +21 -0
- package/dist/tgd/contract/unions.d.ts.map +1 -0
- package/dist/tgd/contract/unions.js +17 -0
- package/dist/tgd/contract/unions.js.map +1 -0
- package/dist/tgd/contract/unit.d.ts +12 -0
- package/dist/tgd/contract/unit.d.ts.map +1 -0
- package/dist/tgd/contract/unit.js +18 -0
- package/dist/tgd/contract/unit.js.map +1 -0
- package/dist/tgd/contract/wire.d.ts +59 -0
- package/dist/tgd/contract/wire.d.ts.map +1 -0
- package/dist/tgd/contract/wire.js +2 -0
- package/dist/tgd/contract/wire.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,617 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Customer portal data contract (Subscriptions V3).
|
|
3
|
+
*
|
|
4
|
+
* Amounts are integer minor units. A bare `Cents` is in the store currency, a
|
|
5
|
+
* `Money` holds one amount per store currency. Dates are ISO strings.
|
|
6
|
+
*
|
|
7
|
+
* This file has no imports on purpose: the portal UI package and the CRM
|
|
8
|
+
* import it as types only.
|
|
9
|
+
*/
|
|
10
|
+
export type Cents = number;
|
|
11
|
+
export type IsoDate = string;
|
|
12
|
+
/** ISO 4217 code: `USD`, `EUR`, `GBP`. */
|
|
13
|
+
export type CurrencyCode = string;
|
|
14
|
+
/** One amount per store currency. */
|
|
15
|
+
export type Money = Readonly<Record<CurrencyCode, Cents>>;
|
|
16
|
+
/** How the store sells on its own site: a Shopify theme, WooCommerce, or Tagada funnels only. */
|
|
17
|
+
export type StorefrontType = 'shopify' | 'woocommerce' | 'none';
|
|
18
|
+
export type Store = {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly domain: string;
|
|
22
|
+
/** Store (default) currency. */
|
|
23
|
+
readonly currency: CurrencyCode;
|
|
24
|
+
/** Every currency the store sells in, default first. */
|
|
25
|
+
readonly currencies: readonly CurrencyCode[];
|
|
26
|
+
/** Tagada checkout custom domain; the customer portal lives on it (`<checkoutDomain>/account`). */
|
|
27
|
+
readonly checkoutDomain: string;
|
|
28
|
+
readonly supportEmail: string;
|
|
29
|
+
/** Logo URL or data URI. */
|
|
30
|
+
readonly logo: string;
|
|
31
|
+
readonly shippingFlatRate: Cents;
|
|
32
|
+
/** Storefronts the store sells through besides Tagada funnels. */
|
|
33
|
+
readonly storefronts: {
|
|
34
|
+
readonly shopify: boolean;
|
|
35
|
+
readonly woocommerce: boolean;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export type Variant = {
|
|
39
|
+
readonly id: string;
|
|
40
|
+
readonly title: string;
|
|
41
|
+
readonly sku: string;
|
|
42
|
+
/** One-time price in the store currency. */
|
|
43
|
+
readonly price: Cents;
|
|
44
|
+
/** One-time price per currency. */
|
|
45
|
+
readonly prices: Money;
|
|
46
|
+
readonly compareAtPrice: Cents | null;
|
|
47
|
+
readonly inventory: number;
|
|
48
|
+
};
|
|
49
|
+
/** How a product can be bought. */
|
|
50
|
+
export type PurchaseMode = 'one-time' | 'one-time-and-subscription' | 'subscription-only';
|
|
51
|
+
export type Product = {
|
|
52
|
+
readonly id: string;
|
|
53
|
+
readonly title: string;
|
|
54
|
+
readonly handle: string;
|
|
55
|
+
readonly description: string;
|
|
56
|
+
readonly status: 'active' | 'draft';
|
|
57
|
+
readonly image: string | null;
|
|
58
|
+
readonly variants: readonly Variant[];
|
|
59
|
+
readonly purchaseMode: PurchaseMode;
|
|
60
|
+
/** Subscription purchase options, in display order. Empty = one-time only. */
|
|
61
|
+
readonly options: readonly SubscriptionOption[];
|
|
62
|
+
/** Only buyable by active members. */
|
|
63
|
+
readonly memberOnly: boolean;
|
|
64
|
+
/** What subscribers of this product may do, where it differs from the store defaults (`PortalConfig.permissions`). */
|
|
65
|
+
readonly permissionOverrides: Partial<Record<PermissionKey, boolean | undefined>>;
|
|
66
|
+
};
|
|
67
|
+
/** The on/off customer permissions of the portal (store defaults, per-product overrides). */
|
|
68
|
+
export type PermissionKey = 'canSkip' | 'canPause' | 'canChangeDate' | 'canChangeFrequency' | 'canSwapProduct' | 'canChangeQuantity' | 'canCancel';
|
|
69
|
+
/** A free or paid trial, set where the product is sold (funnel block, portal, SDK), never on the product. */
|
|
70
|
+
export type Trial = {
|
|
71
|
+
readonly days: number;
|
|
72
|
+
readonly price: Money;
|
|
73
|
+
};
|
|
74
|
+
export type Interval = 'week' | 'month' | 'year';
|
|
75
|
+
/** Where a purchase option comes from: Tagada only, a Tagada option synced to Shopify, or another Shopify app (read-only). */
|
|
76
|
+
export type SubscriptionOptionOrigin = 'tagada' | 'shopify_tagada' | 'shopify_external';
|
|
77
|
+
/**
|
|
78
|
+
* A subscription purchase option of a product: rhythm + % off the one-time
|
|
79
|
+
* price, so it works in every currency. Option ids are unique across the store.
|
|
80
|
+
*/
|
|
81
|
+
export type SubscriptionOption = {
|
|
82
|
+
readonly id: string;
|
|
83
|
+
/** Customer-facing: "Monthly", "Every 2 weeks", "Yearly". */
|
|
84
|
+
readonly label: string;
|
|
85
|
+
readonly interval: Interval;
|
|
86
|
+
readonly intervalCount: number;
|
|
87
|
+
/** Percent off the one-time price of the variant, in each currency. 0 = none; null = amounts set per price. */
|
|
88
|
+
readonly discountPercent: number | null;
|
|
89
|
+
readonly origin: SubscriptionOptionOrigin;
|
|
90
|
+
/** Mirrored as a Shopify selling plan (`origin !== 'tagada'`): edits sync to Shopify. */
|
|
91
|
+
readonly shopifySynced: boolean;
|
|
92
|
+
/** Minimum number of paid orders before the customer can cancel. */
|
|
93
|
+
readonly minimumCycles: number | null;
|
|
94
|
+
/** Preselected on the product page. One per product. */
|
|
95
|
+
readonly isDefault: boolean;
|
|
96
|
+
/** Price per delivery of each variant (by variant id), per currency, as charged. Needed when `discountPercent` is null. */
|
|
97
|
+
readonly variantPrices?: Readonly<Record<string, Money>> | undefined;
|
|
98
|
+
};
|
|
99
|
+
export type CreditPrice = {
|
|
100
|
+
readonly productId: string;
|
|
101
|
+
readonly credits: number;
|
|
102
|
+
};
|
|
103
|
+
export type PerkId = 'memberPrices' | 'storewideDiscount' | 'freeShipping' | 'monthlyCredits' | 'creditPrices' | 'creditPacks' | 'memberOnly';
|
|
104
|
+
export type MembershipPerks = {
|
|
105
|
+
/** Off perks keep their settings. */
|
|
106
|
+
readonly enabled: Readonly<Record<PerkId, boolean>>;
|
|
107
|
+
/** Member price, percent off, on eligible products. */
|
|
108
|
+
readonly memberPricePercent: number;
|
|
109
|
+
readonly memberPriceProductIds: readonly string[];
|
|
110
|
+
readonly memberPriceOverrides: readonly {
|
|
111
|
+
readonly productId: string;
|
|
112
|
+
readonly percent: number;
|
|
113
|
+
}[];
|
|
114
|
+
/** New products become eligible for the member price. */
|
|
115
|
+
readonly includeNewProducts: boolean;
|
|
116
|
+
readonly monthlyCredits: number;
|
|
117
|
+
/** Unused credits roll over up to this balance; null = no cap. */
|
|
118
|
+
readonly creditRolloverCap: number | null;
|
|
119
|
+
/** After cancelling, credits stay usable this many days. */
|
|
120
|
+
readonly creditsUsableAfterCancelDays: number;
|
|
121
|
+
readonly creditPrices: readonly CreditPrice[];
|
|
122
|
+
/** Free shipping from this order subtotal; 0 = always free. null = perk off. */
|
|
123
|
+
readonly freeShippingThreshold: Cents | null;
|
|
124
|
+
readonly storewideDiscountPercent: number;
|
|
125
|
+
/** A cart holding the membership product gets the perks on that order. */
|
|
126
|
+
readonly perksOnJoiningOrder: boolean;
|
|
127
|
+
};
|
|
128
|
+
export type CreditPack = {
|
|
129
|
+
readonly id: string;
|
|
130
|
+
/** The product sold for this pack; a paid order line of it grants the credits. */
|
|
131
|
+
readonly productId: string;
|
|
132
|
+
readonly name: string;
|
|
133
|
+
readonly credits: number;
|
|
134
|
+
readonly bonusCredits: number;
|
|
135
|
+
readonly price: Cents;
|
|
136
|
+
readonly membersOnly: boolean;
|
|
137
|
+
};
|
|
138
|
+
/** Monthly and yearly are two options of the Membership; upgrading = moving to the yearly option. */
|
|
139
|
+
export type MembershipOption = {
|
|
140
|
+
readonly id: Billing;
|
|
141
|
+
readonly label: string;
|
|
142
|
+
readonly interval: 'month' | 'year';
|
|
143
|
+
readonly price: Money;
|
|
144
|
+
/** Off = not sold (the other option stays). */
|
|
145
|
+
readonly enabled: boolean;
|
|
146
|
+
readonly isDefault: boolean;
|
|
147
|
+
};
|
|
148
|
+
export type MembershipProgram = {
|
|
149
|
+
readonly id: string;
|
|
150
|
+
/** Product sold by the program; older preview fixtures use the program id. */
|
|
151
|
+
readonly productId?: string | undefined;
|
|
152
|
+
readonly name: string;
|
|
153
|
+
readonly status: 'active' | 'draft';
|
|
154
|
+
readonly description: string;
|
|
155
|
+
readonly image: string;
|
|
156
|
+
/** Monthly, then yearly. */
|
|
157
|
+
readonly options: readonly MembershipOption[];
|
|
158
|
+
readonly minimumMonths: number | null;
|
|
159
|
+
readonly perks: MembershipPerks;
|
|
160
|
+
readonly creditPacks: readonly CreditPack[];
|
|
161
|
+
readonly memberOnlyProductIds: readonly string[];
|
|
162
|
+
/** One title per perk, read by the CRM perk row and the customer perk card. */
|
|
163
|
+
readonly perkTitles: Readonly<Record<PerkId, string>>;
|
|
164
|
+
/** Days a member keeps perks after a failed renewal. */
|
|
165
|
+
readonly gracePeriodDays: number;
|
|
166
|
+
};
|
|
167
|
+
/** What a funnel block sells: a product (one-time or one of its options) or a Membership option. */
|
|
168
|
+
export type FunnelBlockLine = {
|
|
169
|
+
readonly type: 'product';
|
|
170
|
+
readonly productId: string;
|
|
171
|
+
readonly variantId: string;
|
|
172
|
+
readonly optionId: string | null;
|
|
173
|
+
} | {
|
|
174
|
+
readonly type: 'membership';
|
|
175
|
+
readonly optionId: Billing;
|
|
176
|
+
};
|
|
177
|
+
/** An order bump or one-click upsell block on a funnel step. Read-only in the CRM. */
|
|
178
|
+
export type FunnelBlock = {
|
|
179
|
+
readonly id: string;
|
|
180
|
+
readonly kind: 'order-bump' | 'one-click-upsell';
|
|
181
|
+
readonly funnelName: string;
|
|
182
|
+
readonly stepName: string;
|
|
183
|
+
readonly title: string;
|
|
184
|
+
readonly description: string;
|
|
185
|
+
readonly line: FunnelBlockLine;
|
|
186
|
+
/** Extra percent off, on top of the option's own discount. */
|
|
187
|
+
readonly discountPercent: number;
|
|
188
|
+
/** Trial set on this block. Subscription options and Membership only. */
|
|
189
|
+
readonly trial: Trial | null;
|
|
190
|
+
/** Order bump: checked by default. */
|
|
191
|
+
readonly precheck: boolean;
|
|
192
|
+
readonly enabled: boolean;
|
|
193
|
+
readonly performance: {
|
|
194
|
+
readonly shown: number;
|
|
195
|
+
readonly accepted: number;
|
|
196
|
+
readonly revenue: Cents;
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
export type RetentionOfferKind = 'discount' | 'skip' | 'pause' | 'frequency' | 'swap' | 'downgrade-yearly';
|
|
200
|
+
export type RetentionOffer = {
|
|
201
|
+
readonly id: string;
|
|
202
|
+
readonly kind: RetentionOfferKind;
|
|
203
|
+
readonly title: string;
|
|
204
|
+
readonly body: string;
|
|
205
|
+
/** Percent for a discount, cycles for a skip, days for a pause. */
|
|
206
|
+
readonly value: number | null;
|
|
207
|
+
readonly appliesTo: 'subscription' | 'membership' | 'both';
|
|
208
|
+
readonly enabled: boolean;
|
|
209
|
+
};
|
|
210
|
+
export type CancelReason = {
|
|
211
|
+
readonly id: string;
|
|
212
|
+
readonly label: string;
|
|
213
|
+
readonly offerId: string | null;
|
|
214
|
+
readonly appliesTo: 'subscription' | 'membership' | 'both';
|
|
215
|
+
};
|
|
216
|
+
export type CancelConfirmCopy = {
|
|
217
|
+
readonly title: string;
|
|
218
|
+
readonly body: string;
|
|
219
|
+
};
|
|
220
|
+
export type RetentionConfig = {
|
|
221
|
+
readonly reasons: readonly CancelReason[];
|
|
222
|
+
readonly offers: readonly RetentionOffer[];
|
|
223
|
+
/** Last step. The membership "you will lose" list is generated from active perks. */
|
|
224
|
+
readonly confirm: {
|
|
225
|
+
readonly subscription: CancelConfirmCopy;
|
|
226
|
+
readonly membership: CancelConfirmCopy;
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
/** What a cancel flow cancels. */
|
|
230
|
+
export type CancelTarget = {
|
|
231
|
+
readonly type: 'subscription';
|
|
232
|
+
readonly subscriptionId: string;
|
|
233
|
+
} | {
|
|
234
|
+
readonly type: 'membership';
|
|
235
|
+
};
|
|
236
|
+
export type CancelStep = 'reasons' | 'offer' | 'confirm' | 'done';
|
|
237
|
+
export type Address = {
|
|
238
|
+
readonly id: string;
|
|
239
|
+
readonly name: string;
|
|
240
|
+
readonly line1: string;
|
|
241
|
+
readonly line2: string | null;
|
|
242
|
+
readonly city: string;
|
|
243
|
+
readonly region: string;
|
|
244
|
+
readonly postalCode: string;
|
|
245
|
+
readonly country: string;
|
|
246
|
+
readonly isDefault: boolean;
|
|
247
|
+
};
|
|
248
|
+
export type CardBrand = 'visa' | 'mastercard' | 'amex';
|
|
249
|
+
export type PaymentMethod = {
|
|
250
|
+
readonly id: string;
|
|
251
|
+
/** Card scheme as the processor reports it (`visa`, `mastercard`, `amex`, …). */
|
|
252
|
+
readonly brand: CardBrand | (string & {});
|
|
253
|
+
readonly last4: string;
|
|
254
|
+
readonly expMonth: number;
|
|
255
|
+
readonly expYear: number;
|
|
256
|
+
readonly isDefault: boolean;
|
|
257
|
+
};
|
|
258
|
+
export type Customer = {
|
|
259
|
+
readonly id: string;
|
|
260
|
+
readonly firstName: string;
|
|
261
|
+
readonly lastName: string;
|
|
262
|
+
readonly email: string;
|
|
263
|
+
readonly phone: string | null;
|
|
264
|
+
readonly createdAt: IsoDate;
|
|
265
|
+
readonly addresses: readonly Address[];
|
|
266
|
+
readonly paymentMethods: readonly PaymentMethod[];
|
|
267
|
+
readonly tags: readonly string[];
|
|
268
|
+
};
|
|
269
|
+
export type OrderLine = {
|
|
270
|
+
readonly productId: string;
|
|
271
|
+
readonly variantId: string;
|
|
272
|
+
readonly title: string;
|
|
273
|
+
readonly variantTitle: string;
|
|
274
|
+
readonly quantity: number;
|
|
275
|
+
readonly unitPrice: Cents;
|
|
276
|
+
/** Credits spent instead of money on this line. */
|
|
277
|
+
readonly credits: number;
|
|
278
|
+
};
|
|
279
|
+
export type OrderSource = 'checkout' | 'subscription' | 'membership' | 'credits';
|
|
280
|
+
export type Order = {
|
|
281
|
+
readonly id: string;
|
|
282
|
+
readonly number: string;
|
|
283
|
+
readonly customerId: string;
|
|
284
|
+
readonly createdAt: IsoDate;
|
|
285
|
+
readonly source: OrderSource;
|
|
286
|
+
readonly subscriptionId: string | null;
|
|
287
|
+
/** Order currency; amounts below are in it. Absent only in data built before it was sent. */
|
|
288
|
+
readonly currency?: CurrencyCode | undefined;
|
|
289
|
+
readonly financialStatus: 'paid' | 'refunded' | 'partially-refunded' | 'failed';
|
|
290
|
+
readonly fulfillmentStatus: 'unfulfilled' | 'shipped' | 'delivered';
|
|
291
|
+
readonly lines: readonly OrderLine[];
|
|
292
|
+
readonly subtotal: Cents;
|
|
293
|
+
readonly discount: Cents;
|
|
294
|
+
readonly shipping: Cents;
|
|
295
|
+
readonly tax: Cents;
|
|
296
|
+
readonly total: Cents;
|
|
297
|
+
readonly creditsUsed: number;
|
|
298
|
+
readonly paymentMethodId: string | null;
|
|
299
|
+
readonly shippingAddressId: string | null;
|
|
300
|
+
readonly trackingNumber: string | null;
|
|
301
|
+
};
|
|
302
|
+
export type NextOrderAddOn = {
|
|
303
|
+
readonly productId: string;
|
|
304
|
+
readonly variantId: string;
|
|
305
|
+
readonly quantity: number;
|
|
306
|
+
readonly unitPrice: Cents;
|
|
307
|
+
};
|
|
308
|
+
export type SubscriptionStatus = 'active' | 'trialing' | 'paused' | 'past_due' | 'canceled';
|
|
309
|
+
export type Subscription = {
|
|
310
|
+
readonly id: string;
|
|
311
|
+
readonly customerId: string;
|
|
312
|
+
readonly status: SubscriptionStatus;
|
|
313
|
+
readonly productId: string;
|
|
314
|
+
readonly variantId: string;
|
|
315
|
+
/** A `SubscriptionOption.id` of the product. */
|
|
316
|
+
readonly optionId: string;
|
|
317
|
+
/** Existing subscription display context, even when its product or option is no longer sold. */
|
|
318
|
+
readonly display?: {
|
|
319
|
+
readonly productTitle: string;
|
|
320
|
+
readonly variantTitle: string;
|
|
321
|
+
readonly sku: string;
|
|
322
|
+
readonly image: string | null;
|
|
323
|
+
readonly option: SubscriptionOption;
|
|
324
|
+
} | undefined;
|
|
325
|
+
/** Fixed for the subscription's life. */
|
|
326
|
+
readonly currency: CurrencyCode;
|
|
327
|
+
readonly quantity: number;
|
|
328
|
+
/** Price per delivery in the subscription currency, after the option discount (and the member price). */
|
|
329
|
+
readonly price: Cents;
|
|
330
|
+
readonly startedAt: IsoDate;
|
|
331
|
+
readonly nextBillingAt: IsoDate | null;
|
|
332
|
+
readonly trialEndsAt: IsoDate | null;
|
|
333
|
+
readonly pausedUntil: IsoDate | null;
|
|
334
|
+
readonly canceledAt: IsoDate | null;
|
|
335
|
+
readonly cancelReasonId: string | null;
|
|
336
|
+
readonly skippedDates: readonly IsoDate[];
|
|
337
|
+
readonly lastPaymentFailedAt: IsoDate | null;
|
|
338
|
+
/** Paid charges so far, the first order included: what the option's `minimumCycles` counts. */
|
|
339
|
+
readonly paidOrdersCount?: number | undefined;
|
|
340
|
+
/** One-time items added to the next order only ("Add to this order"). Absent = none. */
|
|
341
|
+
readonly nextOrderAddOns?: readonly NextOrderAddOn[] | undefined;
|
|
342
|
+
readonly paymentMethodId: string;
|
|
343
|
+
readonly shippingAddressId: string;
|
|
344
|
+
};
|
|
345
|
+
export type MembershipStatus = 'active' | 'trialing' | 'grace' | 'canceled';
|
|
346
|
+
/** Membership option id. */
|
|
347
|
+
export type Billing = 'monthly' | 'yearly';
|
|
348
|
+
export type Membership = {
|
|
349
|
+
readonly id: string;
|
|
350
|
+
readonly customerId: string;
|
|
351
|
+
readonly programId: string;
|
|
352
|
+
readonly status: MembershipStatus;
|
|
353
|
+
readonly billing: Billing;
|
|
354
|
+
readonly startedAt: IsoDate;
|
|
355
|
+
readonly renewsAt: IsoDate | null;
|
|
356
|
+
readonly trialEndsAt: IsoDate | null;
|
|
357
|
+
readonly graceEndsAt: IsoDate | null;
|
|
358
|
+
readonly canceledAt: IsoDate | null;
|
|
359
|
+
readonly creditsBalance: number;
|
|
360
|
+
readonly savedToDate: Cents;
|
|
361
|
+
readonly paymentMethodId: string;
|
|
362
|
+
};
|
|
363
|
+
export type CreditReason = 'monthly-grant' | 'pack-purchase' | 'redemption' | 'expiry' | 'refund' | 'adjustment' | 'welcome';
|
|
364
|
+
export type CreditLedgerEntry = {
|
|
365
|
+
readonly id: string;
|
|
366
|
+
readonly customerId: string;
|
|
367
|
+
readonly at: IsoDate;
|
|
368
|
+
readonly delta: number;
|
|
369
|
+
readonly balanceAfter: number;
|
|
370
|
+
readonly reason: CreditReason;
|
|
371
|
+
readonly label: string;
|
|
372
|
+
readonly orderId: string | null;
|
|
373
|
+
};
|
|
374
|
+
export type PortalTemplateId = 'essential' | 'editorial' | 'bold';
|
|
375
|
+
/** essential = left nav · bold = top tabs, one column · editorial = top nav, main + right rail. */
|
|
376
|
+
export type PortalLayout = 'sidebar' | 'top-tabs' | 'top-nav-rail';
|
|
377
|
+
export type PortalTheme = {
|
|
378
|
+
readonly logo: string | null;
|
|
379
|
+
/** Optional for existing designs; null uses the template artwork. */
|
|
380
|
+
readonly heroImage?: string | null;
|
|
381
|
+
readonly accent: string;
|
|
382
|
+
readonly accentContrast: string;
|
|
383
|
+
readonly background: string;
|
|
384
|
+
readonly surface: string;
|
|
385
|
+
readonly text: string;
|
|
386
|
+
readonly mutedText: string;
|
|
387
|
+
readonly border: string;
|
|
388
|
+
readonly radius: number;
|
|
389
|
+
readonly headingFont: string;
|
|
390
|
+
readonly bodyFont: string;
|
|
391
|
+
readonly buttonShape: 'rounded' | 'pill' | 'square';
|
|
392
|
+
};
|
|
393
|
+
export type PortalPageId = 'home' | 'subscriptions' | 'subscription' | 'orders' | 'order' | 'membership' | 'credits' | 'account';
|
|
394
|
+
/** Key of the portal module registry (`greeting`, `next-order`, `credits`, …); open to new modules. */
|
|
395
|
+
export type PortalModuleId = string;
|
|
396
|
+
/** Customer actions a module can expose; each is also gated by `PortalPermissions`. */
|
|
397
|
+
export type PortalActionId = 'send-now' | 'skip' | 'pause' | 'change-date' | 'change-frequency' | 'swap' | 'change-quantity' | 'cancel';
|
|
398
|
+
export type PortalArea = 'header' | 'main' | 'side';
|
|
399
|
+
export type PortalModule = {
|
|
400
|
+
readonly id: PortalModuleId;
|
|
401
|
+
readonly visible: boolean;
|
|
402
|
+
/** `side` exists only in the `top-nav-rail` layout. */
|
|
403
|
+
readonly area: PortalArea;
|
|
404
|
+
readonly width: 'full' | 'half';
|
|
405
|
+
readonly layout: 'list' | 'grid';
|
|
406
|
+
/** null = the module's own heading. */
|
|
407
|
+
readonly heading: string | null;
|
|
408
|
+
readonly actions: Partial<Record<PortalActionId, boolean | undefined>>;
|
|
409
|
+
};
|
|
410
|
+
/** Modules per page, in display order within each area. */
|
|
411
|
+
export type PortalPages = Readonly<Record<PortalPageId, readonly PortalModule[]>>;
|
|
412
|
+
export type PortalTemplate = {
|
|
413
|
+
readonly id: PortalTemplateId;
|
|
414
|
+
readonly name: string;
|
|
415
|
+
readonly theme: PortalTheme;
|
|
416
|
+
readonly layout: PortalLayout;
|
|
417
|
+
readonly pages: PortalPages;
|
|
418
|
+
};
|
|
419
|
+
export type PortalCopy = {
|
|
420
|
+
readonly welcomeTitle: string;
|
|
421
|
+
readonly welcomeBody: string;
|
|
422
|
+
readonly supportLabel: string;
|
|
423
|
+
};
|
|
424
|
+
export type PortalPermissions = {
|
|
425
|
+
readonly canSkip: boolean;
|
|
426
|
+
readonly canPause: boolean;
|
|
427
|
+
readonly maxPauseDays: number;
|
|
428
|
+
readonly canChangeDate: boolean;
|
|
429
|
+
readonly canChangeFrequency: boolean;
|
|
430
|
+
readonly canSwapProduct: boolean;
|
|
431
|
+
readonly canChangeQuantity: boolean;
|
|
432
|
+
readonly canCancel: boolean;
|
|
433
|
+
};
|
|
434
|
+
/** The portal design document (`customer_portals.draft` / `.published`). */
|
|
435
|
+
export type PortalConfig = {
|
|
436
|
+
/** Version of this document's shape; readers migrate older versions. */
|
|
437
|
+
readonly schemaVersion: number;
|
|
438
|
+
/** Draft after any edit, live after Publish. */
|
|
439
|
+
readonly status: 'draft' | 'live';
|
|
440
|
+
readonly templateId: PortalTemplateId;
|
|
441
|
+
readonly theme: PortalTheme;
|
|
442
|
+
readonly layout: PortalLayout;
|
|
443
|
+
readonly pages: PortalPages;
|
|
444
|
+
readonly copy: PortalCopy;
|
|
445
|
+
readonly permissions: PortalPermissions;
|
|
446
|
+
/** Optional own subdomain for the portal; null = `<checkoutDomain>/account`. */
|
|
447
|
+
readonly customDomain: string | null;
|
|
448
|
+
};
|
|
449
|
+
/** `GET /portal/config?storeId=`: everything public about the store's portal. */
|
|
450
|
+
export type PortalPublicConfig = {
|
|
451
|
+
readonly store: Store;
|
|
452
|
+
/** The published design. */
|
|
453
|
+
readonly portal: PortalConfig;
|
|
454
|
+
readonly retention: RetentionConfig;
|
|
455
|
+
/** null = the store has no Membership program. */
|
|
456
|
+
readonly membership: MembershipProgram | null;
|
|
457
|
+
/** Products the portal can show (swaps, member products, credit prices, packs). */
|
|
458
|
+
readonly products: readonly Product[];
|
|
459
|
+
};
|
|
460
|
+
/** `GET /portal/me`: the logged-in customer, composed from the module loaders. */
|
|
461
|
+
export type PortalMe = {
|
|
462
|
+
readonly customer: Customer;
|
|
463
|
+
/** Newest first. */
|
|
464
|
+
readonly orders: readonly Order[];
|
|
465
|
+
readonly subscriptions: readonly Subscription[];
|
|
466
|
+
readonly membership: Membership | null;
|
|
467
|
+
/** Oldest first. */
|
|
468
|
+
readonly creditLedger: readonly CreditLedgerEntry[];
|
|
469
|
+
};
|
|
470
|
+
/** `GET /portal/credits`. */
|
|
471
|
+
export type PortalCredits = {
|
|
472
|
+
readonly balance: number;
|
|
473
|
+
/** Oldest first. */
|
|
474
|
+
readonly ledger: readonly CreditLedgerEntry[];
|
|
475
|
+
};
|
|
476
|
+
/** `POST /portal/cancel-flow`: cancel after the reasons step (no offer taken). */
|
|
477
|
+
export type PortalCancelFlowInput = {
|
|
478
|
+
readonly target: CancelTarget;
|
|
479
|
+
readonly reasonId: string | null;
|
|
480
|
+
};
|
|
481
|
+
/**
|
|
482
|
+
* `POST /portal/cancel-flow/accept`: take the retention offer shown for a reason. Offers that ask
|
|
483
|
+
* the customer to pick carry the pick: `optionId` (frequency), `productId` + `variantId` (swap),
|
|
484
|
+
* `days` (pause; default the offer's value).
|
|
485
|
+
*/
|
|
486
|
+
export type PortalCancelOfferInput = {
|
|
487
|
+
readonly target: CancelTarget;
|
|
488
|
+
readonly reasonId: string;
|
|
489
|
+
readonly offerId: string;
|
|
490
|
+
readonly optionId?: string;
|
|
491
|
+
readonly productId?: string;
|
|
492
|
+
readonly variantId?: string;
|
|
493
|
+
readonly days?: number;
|
|
494
|
+
};
|
|
495
|
+
/** What a cancel flow or a plan switch changed. The other side is null. */
|
|
496
|
+
export type PortalTargetResult = {
|
|
497
|
+
readonly subscription: Subscription | null;
|
|
498
|
+
readonly membership: Membership | null;
|
|
499
|
+
};
|
|
500
|
+
/** `POST /portal/switch`: move to another option now, charged now, new period from today. */
|
|
501
|
+
export type PortalSwitchInput = {
|
|
502
|
+
readonly target: CancelTarget;
|
|
503
|
+
/** A `SubscriptionOption.id`, or a `Billing` for the membership. */
|
|
504
|
+
readonly optionId: string;
|
|
505
|
+
};
|
|
506
|
+
export type PortalSwitchResult = PortalTargetResult & {
|
|
507
|
+
/** The order of the immediate charge. */
|
|
508
|
+
readonly orderId: string;
|
|
509
|
+
/** `requires_action`: the card asks for 3DS; the subscription is unchanged. */
|
|
510
|
+
readonly status?: 'paid' | 'requires_action';
|
|
511
|
+
/** The 3DS page when `status` is `requires_action`. */
|
|
512
|
+
readonly redirectUrl?: string | null;
|
|
513
|
+
};
|
|
514
|
+
/** `GET /portal/offers/:token`: the upsell a signed email link offers, for the `/account/offer/:token` page (no login). */
|
|
515
|
+
export type PortalOffer = {
|
|
516
|
+
readonly status: 'open' | 'accepted' | 'expired';
|
|
517
|
+
readonly expiresAt: IsoDate;
|
|
518
|
+
readonly line: FunnelBlockLine;
|
|
519
|
+
readonly title: string;
|
|
520
|
+
readonly description: string;
|
|
521
|
+
/** Price per delivery after the block discount, in `currency`. */
|
|
522
|
+
readonly price: Cents;
|
|
523
|
+
readonly currency: CurrencyCode;
|
|
524
|
+
/** Extra percent off from the funnel block. */
|
|
525
|
+
readonly discountPercent: number;
|
|
526
|
+
/** The line moves the subscription the order started instead of adding one. */
|
|
527
|
+
readonly isSwitch: boolean;
|
|
528
|
+
/** Set once accepted. */
|
|
529
|
+
readonly orderId: string | null;
|
|
530
|
+
/** Free or paid trial the line starts with. */
|
|
531
|
+
readonly trial: Trial | null;
|
|
532
|
+
/** Number of the order the upsell followed, for the page header. */
|
|
533
|
+
readonly orderNumber: string | null;
|
|
534
|
+
/** Id of the order the upsell followed ("View order"). Absent from servers that predate it. */
|
|
535
|
+
readonly parentOrderId?: string | null | undefined;
|
|
536
|
+
/** The saved card the accept charges: the link is opened without a login. */
|
|
537
|
+
readonly card: {
|
|
538
|
+
readonly brand: string;
|
|
539
|
+
readonly last4: string;
|
|
540
|
+
} | null;
|
|
541
|
+
};
|
|
542
|
+
/** `POST /portal/offers/accept`: accept a signed upsell link from an email. */
|
|
543
|
+
export type PortalAcceptOfferInput = {
|
|
544
|
+
readonly token: string;
|
|
545
|
+
};
|
|
546
|
+
export type PortalAcceptOfferResult = {
|
|
547
|
+
readonly orderId: string;
|
|
548
|
+
readonly status: 'paid' | 'requires_action';
|
|
549
|
+
/** 3DS or buyer confirmation page when `status` is `requires_action`. */
|
|
550
|
+
readonly redirectUrl: string | null;
|
|
551
|
+
};
|
|
552
|
+
/** `POST /portal/next-order`: the quantity of a one-time item on the subscription's next renewal; 0 takes it off. */
|
|
553
|
+
export type PortalAddToNextOrderInput = {
|
|
554
|
+
readonly subscriptionId: string;
|
|
555
|
+
readonly productId: string;
|
|
556
|
+
readonly variantId: string;
|
|
557
|
+
readonly quantity: number;
|
|
558
|
+
};
|
|
559
|
+
/** `POST /portal/credits/redeem`: pay a product with credits. */
|
|
560
|
+
export type PortalRedeemCreditsInput = {
|
|
561
|
+
readonly productId: string;
|
|
562
|
+
readonly variantId: string;
|
|
563
|
+
readonly quantity: number;
|
|
564
|
+
};
|
|
565
|
+
/** `POST /portal/credits/packs/buy`: buy a credit pack with the stored card. */
|
|
566
|
+
export type PortalBuyCreditPackInput = {
|
|
567
|
+
readonly packId: string;
|
|
568
|
+
};
|
|
569
|
+
export type PortalCreditsOrderResult = {
|
|
570
|
+
readonly orderId: string;
|
|
571
|
+
readonly balance: number;
|
|
572
|
+
/** A pack bought with a card that needs 3DS: `requires_action`, then `redirectUrl` opens the bank page. Absent = paid. */
|
|
573
|
+
readonly status?: 'paid' | 'requires_action' | undefined;
|
|
574
|
+
readonly redirectUrl?: string | null | undefined;
|
|
575
|
+
};
|
|
576
|
+
export type PortalVerifyCodeResult = {
|
|
577
|
+
readonly token: string;
|
|
578
|
+
readonly sessionId: string;
|
|
579
|
+
};
|
|
580
|
+
/** An address of the book. No id, an empty one, or one the book does not hold adds it. */
|
|
581
|
+
export type PortalAddressInput = Omit<Address, 'id'> & {
|
|
582
|
+
readonly id?: string | null | undefined;
|
|
583
|
+
};
|
|
584
|
+
/** A card tokenized in the browser (`client.payment.tokenizeCard`): the card never reaches the API. */
|
|
585
|
+
export type PortalAddCardInput = {
|
|
586
|
+
readonly tagadaToken: string;
|
|
587
|
+
readonly makeDefault: boolean;
|
|
588
|
+
};
|
|
589
|
+
export type PortalBuyAgainLine = {
|
|
590
|
+
readonly variantId: string;
|
|
591
|
+
readonly quantity: number;
|
|
592
|
+
};
|
|
593
|
+
/** A charge on the default saved card: `requires_action` sends the browser to `redirectUrl` (3DS). */
|
|
594
|
+
export type PortalCheckoutResult = {
|
|
595
|
+
readonly orderId: string;
|
|
596
|
+
readonly status: 'paid' | 'requires_action';
|
|
597
|
+
readonly redirectUrl: string | null;
|
|
598
|
+
};
|
|
599
|
+
/** A subscription after a portal action (retry, send now, reactivate, card, unskip). */
|
|
600
|
+
export type PortalSubscriptionResult = {
|
|
601
|
+
readonly subscriptionId: string;
|
|
602
|
+
/** `past_due` while a charge settles. */
|
|
603
|
+
readonly status: string;
|
|
604
|
+
};
|
|
605
|
+
/**
|
|
606
|
+
* `/portal/profile`: the email is the portal login. A new one needs `emailCode`, the code
|
|
607
|
+
* `requestEmailChangeCode` sent to it; one used by another customer is refused.
|
|
608
|
+
*/
|
|
609
|
+
export type PortalProfileInput = {
|
|
610
|
+
readonly firstName: string;
|
|
611
|
+
readonly lastName: string;
|
|
612
|
+
readonly email: string;
|
|
613
|
+
/** null keeps the phone on file. */
|
|
614
|
+
readonly phone: string | null;
|
|
615
|
+
readonly emailCode?: string | undefined;
|
|
616
|
+
};
|
|
617
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/modules/portal/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Customer portal data contract (Subscriptions V3).
|
|
3
|
+
*
|
|
4
|
+
* Amounts are integer minor units. A bare `Cents` is in the store currency, a
|
|
5
|
+
* `Money` holds one amount per store currency. Dates are ISO strings.
|
|
6
|
+
*
|
|
7
|
+
* This file has no imports on purpose: the portal UI package and the CRM
|
|
8
|
+
* import it as types only.
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/modules/portal/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|