@tagadapay/node-sdk 0.1.0 → 0.2.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.
Files changed (55) hide show
  1. package/README.md +12 -4
  2. package/dist/HttpClient.d.ts +2 -2
  3. package/dist/HttpClient.d.ts.map +1 -1
  4. package/dist/HttpClient.js +2 -2
  5. package/dist/Tagada.d.ts +3 -1
  6. package/dist/Tagada.d.ts.map +1 -1
  7. package/dist/Tagada.js +3 -1
  8. package/dist/Tagada.js.map +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/resources/EmailTemplates.d.ts +66 -0
  12. package/dist/resources/EmailTemplates.d.ts.map +1 -0
  13. package/dist/resources/EmailTemplates.js +72 -0
  14. package/dist/resources/EmailTemplates.js.map +1 -0
  15. package/dist/resources/Funnels.d.ts +6 -1
  16. package/dist/resources/Funnels.d.ts.map +1 -1
  17. package/dist/resources/Funnels.js +7 -0
  18. package/dist/resources/Funnels.js.map +1 -1
  19. package/dist/resources/PaymentFlows.d.ts +3 -3
  20. package/dist/resources/PaymentFlows.js +3 -3
  21. package/dist/resources/Plugins.d.ts +74 -16
  22. package/dist/resources/Plugins.d.ts.map +1 -1
  23. package/dist/resources/Plugins.js +305 -18
  24. package/dist/resources/Plugins.js.map +1 -1
  25. package/dist/resources/Processors.d.ts +39 -1
  26. package/dist/resources/Processors.d.ts.map +1 -1
  27. package/dist/resources/Processors.js +43 -0
  28. package/dist/resources/Processors.js.map +1 -1
  29. package/dist/resources/Webhooks.d.ts +1 -1
  30. package/dist/resources/Webhooks.js +1 -1
  31. package/dist/resources/index.d.ts +1 -0
  32. package/dist/resources/index.d.ts.map +1 -1
  33. package/dist/resources/index.js +1 -0
  34. package/dist/resources/index.js.map +1 -1
  35. package/dist/types/checkout-offers.d.ts +1 -1
  36. package/dist/types/checkout-offers.d.ts.map +1 -1
  37. package/dist/types/emailTemplates.d.ts +55 -0
  38. package/dist/types/emailTemplates.d.ts.map +1 -0
  39. package/dist/types/emailTemplates.js +5 -0
  40. package/dist/types/emailTemplates.js.map +1 -0
  41. package/dist/types/events.d.ts +2 -1
  42. package/dist/types/events.d.ts.map +1 -1
  43. package/dist/types/funnels.d.ts +10 -0
  44. package/dist/types/funnels.d.ts.map +1 -1
  45. package/dist/types/index.d.ts +2 -0
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/dist/types/index.js +2 -0
  48. package/dist/types/index.js.map +1 -1
  49. package/dist/types/paymentFlows.d.ts +4 -3
  50. package/dist/types/paymentFlows.d.ts.map +1 -1
  51. package/dist/types/plugins.d.ts +104 -2
  52. package/dist/types/plugins.d.ts.map +1 -1
  53. package/dist/types/processors.d.ts +37 -0
  54. package/dist/types/processors.d.ts.map +1 -1
  55. package/package.json +1 -1
@@ -1,12 +1,260 @@
1
1
  import { BaseResource } from './BaseResource.js';
2
+ const CONTENT_TYPES = {
3
+ '.html': 'text/html',
4
+ '.js': 'application/javascript',
5
+ '.mjs': 'application/javascript',
6
+ '.css': 'text/css',
7
+ '.svg': 'image/svg+xml',
8
+ '.png': 'image/png',
9
+ '.jpg': 'image/jpeg',
10
+ '.jpeg': 'image/jpeg',
11
+ '.gif': 'image/gif',
12
+ '.webp': 'image/webp',
13
+ '.ico': 'image/x-icon',
14
+ '.json': 'application/json',
15
+ '.woff': 'font/woff',
16
+ '.woff2': 'font/woff2',
17
+ '.ttf': 'font/ttf',
18
+ '.eot': 'application/vnd.ms-fontobject',
19
+ '.map': 'application/json',
20
+ '.txt': 'text/plain',
21
+ '.xml': 'application/xml',
22
+ '.webmanifest': 'application/manifest+json',
23
+ };
24
+ const INLINE_SIZE_LIMIT = 3.5 * 1024 * 1024; // 3.5 MB raw — base64 expands ~33%
25
+ const VERCEL_BLOB_API = 'https://vercel.com/api/blob';
26
+ const CRC_TABLE = new Uint32Array(256);
27
+ for (let i = 0; i < 256; i++) {
28
+ let c = i;
29
+ for (let j = 0; j < 8; j++)
30
+ c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
31
+ CRC_TABLE[i] = c;
32
+ }
33
+ function crc32(buf) {
34
+ let crc = 0xffffffff;
35
+ for (let i = 0; i < buf.length; i++)
36
+ crc = CRC_TABLE[(crc ^ buf[i]) & 0xff] ^ (crc >>> 8);
37
+ return (crc ^ 0xffffffff) >>> 0;
38
+ }
2
39
  /**
3
40
  * Plugins V2 — deploy HTML/JS/CSS pages, instantiate them for stores,
4
41
  * and mount them to custom domains or aliases.
5
- *
6
- * This is the mechanism Tagada uses to serve checkout pages, landing pages,
7
- * upsell pages, and any custom storefront on your own domains.
8
42
  */
9
43
  export class Plugins extends BaseResource {
44
+ // ─── High-Level Helpers ─────────────────────────────────────────────
45
+ /**
46
+ * Deploy a local build directory to TagadaPay's CDN in one call.
47
+ *
48
+ * Handles everything automatically: file collection, MIME type detection,
49
+ * base64 encoding, instantiation, and mounting to a CDN hostname.
50
+ * Builds up to ~3.5 MB are uploaded inline; larger builds are automatically
51
+ * zipped and uploaded via Vercel Blob (up to 50 MB).
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const result = await tagada.plugins.deployDirectory({
56
+ * directory: './dist',
57
+ * storeId: 'store_xxx',
58
+ * name: 'my-store',
59
+ * });
60
+ * console.log(result.url); // https://my-store--store_xxx.cdn.tagadapay.com/
61
+ * ```
62
+ */
63
+ async deployDirectory(params, opts) {
64
+ const { directory, storeId, name, version = '1.0.0', overwrite = true } = params;
65
+ const { readFileSync, readdirSync, statSync } = await import('fs');
66
+ const { join, relative, extname, resolve } = await import('path');
67
+ const collectRawFiles = (dir, base) => {
68
+ const files = [];
69
+ for (const entry of readdirSync(dir)) {
70
+ const full = join(dir, entry);
71
+ if (statSync(full).isDirectory()) {
72
+ files.push(...collectRawFiles(full, base));
73
+ }
74
+ else {
75
+ const ext = extname(full).toLowerCase();
76
+ files.push({
77
+ relPath: '/' + relative(base, full).replace(/\\/g, '/'),
78
+ content: readFileSync(full),
79
+ contentType: CONTENT_TYPES[ext] || 'application/octet-stream',
80
+ });
81
+ }
82
+ }
83
+ return files;
84
+ };
85
+ const absDir = resolve(directory);
86
+ const rawFiles = collectRawFiles(absDir, absDir);
87
+ const totalSize = rawFiles.reduce((sum, f) => sum + f.content.length, 0);
88
+ const deployOpts = { timeout: 180000, ...opts };
89
+ let deployResult;
90
+ if (totalSize <= INLINE_SIZE_LIMIT) {
91
+ const inlineAssets = rawFiles.map(f => ({
92
+ path: f.relPath,
93
+ content: f.content.toString('base64'),
94
+ contentType: f.contentType,
95
+ }));
96
+ deployResult = await this.deploy({
97
+ storeId,
98
+ manifest: { name, version, pages: [{ id: 'main', path: '/', name: 'Store' }] },
99
+ inlineAssets,
100
+ overwrite,
101
+ }, deployOpts);
102
+ }
103
+ else {
104
+ const zipBuffer = await this._createZipBuffer(rawFiles);
105
+ const blobUrl = await this._uploadZipToBlob(zipBuffer, name);
106
+ deployResult = await this.deploy({
107
+ storeId,
108
+ manifest: { name, version, pages: [{ id: 'main', path: '/', name: 'Store' }] },
109
+ zipUrl: blobUrl,
110
+ overwrite,
111
+ }, deployOpts);
112
+ }
113
+ const instanceResult = await this.instantiate({
114
+ deploymentId: deployResult.deploymentId,
115
+ storeId,
116
+ config: {},
117
+ }, opts);
118
+ const hostname = params.hostname || `${name}--${storeId}.cdn.tagadapay.com`;
119
+ await this.mount({
120
+ deploymentId: deployResult.deploymentId,
121
+ deploymentInstanceId: instanceResult.instanceId,
122
+ storeId,
123
+ hostname,
124
+ basePath: '/',
125
+ matcher: '/',
126
+ }, opts);
127
+ return {
128
+ pluginId: deployResult.pluginId,
129
+ deploymentId: deployResult.deploymentId,
130
+ instanceId: instanceResult.instanceId,
131
+ version: deployResult.version,
132
+ hostname,
133
+ url: `https://${hostname}/`,
134
+ uploadedFiles: deployResult.uploadedFiles,
135
+ };
136
+ }
137
+ // ─── Private: ZIP + Blob Upload ────────────────────────────────────
138
+ /**
139
+ * Create a ZIP archive from raw file buffers using only Node.js built-ins.
140
+ * Uses the STORE method (no compression) for speed — the files are already
141
+ * minified JS/CSS/images, so deflate savings are minimal.
142
+ */
143
+ async _createZipBuffer(files) {
144
+ const entries = [];
145
+ const parts = [];
146
+ let offset = 0;
147
+ for (const file of files) {
148
+ const pathStr = file.relPath.startsWith('/') ? file.relPath.slice(1) : file.relPath;
149
+ const nameBytes = Buffer.from(pathStr, 'utf-8');
150
+ const content = file.content;
151
+ const checksum = crc32(content);
152
+ const localHeader = Buffer.alloc(30 + nameBytes.length);
153
+ localHeader.writeUInt32LE(0x04034b50, 0); // local file header signature
154
+ localHeader.writeUInt16LE(20, 4); // version needed to extract (2.0)
155
+ localHeader.writeUInt16LE(0, 6); // general purpose bit flag
156
+ localHeader.writeUInt16LE(0, 8); // compression method: stored
157
+ localHeader.writeUInt16LE(0, 10); // last mod file time
158
+ localHeader.writeUInt16LE(0, 12); // last mod file date
159
+ localHeader.writeUInt32LE(checksum, 14); // crc-32
160
+ localHeader.writeUInt32LE(content.length, 18); // compressed size
161
+ localHeader.writeUInt32LE(content.length, 22); // uncompressed size
162
+ localHeader.writeUInt16LE(nameBytes.length, 26); // file name length
163
+ localHeader.writeUInt16LE(0, 28); // extra field length
164
+ nameBytes.copy(localHeader, 30);
165
+ entries.push({ name: nameBytes, content, crc: checksum, localHeaderOffset: offset });
166
+ parts.push(localHeader, content);
167
+ offset += localHeader.length + content.length;
168
+ }
169
+ const centralDirOffset = offset;
170
+ for (const entry of entries) {
171
+ const cdHeader = Buffer.alloc(46 + entry.name.length);
172
+ cdHeader.writeUInt32LE(0x02014b50, 0); // central directory file header signature
173
+ cdHeader.writeUInt16LE(20, 4); // version made by
174
+ cdHeader.writeUInt16LE(20, 6); // version needed to extract
175
+ cdHeader.writeUInt16LE(0, 8); // general purpose bit flag
176
+ cdHeader.writeUInt16LE(0, 10); // compression method: stored
177
+ cdHeader.writeUInt16LE(0, 12); // last mod file time
178
+ cdHeader.writeUInt16LE(0, 14); // last mod file date
179
+ cdHeader.writeUInt32LE(entry.crc, 16); // crc-32
180
+ cdHeader.writeUInt32LE(entry.content.length, 20); // compressed size
181
+ cdHeader.writeUInt32LE(entry.content.length, 24); // uncompressed size
182
+ cdHeader.writeUInt16LE(entry.name.length, 28); // file name length
183
+ cdHeader.writeUInt16LE(0, 30); // extra field length
184
+ cdHeader.writeUInt16LE(0, 32); // file comment length
185
+ cdHeader.writeUInt16LE(0, 34); // disk number start
186
+ cdHeader.writeUInt16LE(0, 36); // internal file attributes
187
+ cdHeader.writeUInt32LE(0, 38); // external file attributes
188
+ cdHeader.writeUInt32LE(entry.localHeaderOffset, 42); // relative offset of local header
189
+ entry.name.copy(cdHeader, 46);
190
+ parts.push(cdHeader);
191
+ offset += cdHeader.length;
192
+ }
193
+ const centralDirSize = offset - centralDirOffset;
194
+ const eocd = Buffer.alloc(22);
195
+ eocd.writeUInt32LE(0x06054b50, 0); // end of central directory signature
196
+ eocd.writeUInt16LE(0, 4); // disk number
197
+ eocd.writeUInt16LE(0, 6); // disk with central dir
198
+ eocd.writeUInt16LE(entries.length, 8); // entries on this disk
199
+ eocd.writeUInt16LE(entries.length, 10); // total entries
200
+ eocd.writeUInt32LE(centralDirSize, 12); // size of central directory
201
+ eocd.writeUInt32LE(centralDirOffset, 16); // offset of central directory
202
+ eocd.writeUInt16LE(0, 20); // comment length
203
+ parts.push(eocd);
204
+ return Buffer.concat(parts);
205
+ }
206
+ /**
207
+ * Upload a ZIP buffer to Vercel Blob using the two-step client upload protocol.
208
+ * Step 1: POST to generate-upload-token to get a signed clientToken.
209
+ * Step 2: PUT the ZIP to the Vercel Blob API with that token.
210
+ */
211
+ async _uploadZipToBlob(zipBuffer, pluginName) {
212
+ const apiKey = this.client.apiKey;
213
+ const baseUrl = this.client.baseUrl;
214
+ const filename = `${pluginName}-${Date.now()}.zip`;
215
+ const tokenUrl = `${baseUrl}/plugins/generate-upload-token`;
216
+ const tokenRes = await fetch(tokenUrl, {
217
+ method: 'POST',
218
+ headers: { 'Content-Type': 'application/json' },
219
+ body: JSON.stringify({
220
+ type: 'blob.generate-client-token',
221
+ payload: {
222
+ pathname: filename,
223
+ clientPayload: JSON.stringify({ apiKey, pluginId: pluginName }),
224
+ multipart: false,
225
+ },
226
+ }),
227
+ });
228
+ if (!tokenRes.ok) {
229
+ const errText = await tokenRes.text().catch(() => '');
230
+ throw new Error(`Failed to get upload token (HTTP ${tokenRes.status}): ${errText}`);
231
+ }
232
+ const { clientToken } = (await tokenRes.json());
233
+ if (!clientToken?.startsWith('vercel_blob_client_')) {
234
+ throw new Error('Invalid upload token received from server');
235
+ }
236
+ const params = new URLSearchParams({ pathname: filename });
237
+ const putRes = await fetch(`${VERCEL_BLOB_API}?${params.toString()}`, {
238
+ method: 'PUT',
239
+ headers: {
240
+ authorization: `Bearer ${clientToken}`,
241
+ 'x-vercel-blob-access': 'public',
242
+ 'x-content-type': 'application/zip',
243
+ 'x-api-version': '12',
244
+ },
245
+ body: zipBuffer,
246
+ });
247
+ if (!putRes.ok) {
248
+ const errBody = await putRes.text().catch(() => '');
249
+ throw new Error(`Blob upload failed (HTTP ${putRes.status}): ${errBody}`);
250
+ }
251
+ const blob = (await putRes.json());
252
+ if (!blob.url) {
253
+ throw new Error('Blob upload succeeded but no URL returned');
254
+ }
255
+ return blob.url;
256
+ }
257
+ // ─── Deploy ──────────────────────────────────────────────────────────
10
258
  /**
11
259
  * Deploy a plugin with inline assets (HTML, JS, CSS as base64) or
12
260
  * from a ZIP URL. Returns a deploymentId used for instantiation and mounting.
@@ -14,16 +262,37 @@ export class Plugins extends BaseResource {
14
262
  async deploy(params, opts) {
15
263
  return this._post('/plugins/v2/deploy', params, opts);
16
264
  }
265
+ // ─── Instances ───────────────────────────────────────────────────────
17
266
  /**
18
267
  * Create an instance of a deployed plugin for a specific store.
19
- * Instances allow per-store configuration of the same deployment.
20
268
  */
21
269
  async instantiate(params, opts) {
22
270
  return this._post('/plugins/v2/instantiate', params, opts);
23
271
  }
272
+ /**
273
+ * List all instances for a store.
274
+ * Optionally filter by deploymentId.
275
+ */
276
+ async listInstances(storeId, deploymentId, opts) {
277
+ return this._get(`/plugins/v2/instances/${encodeURIComponent(storeId)}`, deploymentId ? { deploymentId } : undefined, opts);
278
+ }
279
+ /**
280
+ * Retrieve a single instance by ID.
281
+ */
282
+ async retrieveInstance(instanceId, opts) {
283
+ return this._get(`/plugins/v2/instances/detail/${encodeURIComponent(instanceId)}`, undefined, opts);
284
+ }
285
+ // ─── Deployments ─────────────────────────────────────────────────────
286
+ /**
287
+ * Retrieve deployment details (version, pages, instances).
288
+ * Does not require storeId — deployments are global.
289
+ */
290
+ async retrieveDeployment(deploymentId, opts) {
291
+ return this._get(`/plugins/v2/deployments/${encodeURIComponent(deploymentId)}`, undefined, opts);
292
+ }
293
+ // ─── Mounting ────────────────────────────────────────────────────────
24
294
  /**
25
295
  * Mount a plugin deployment/instance to a custom domain or alias.
26
- * The domain must be verified in your account's custom domains.
27
296
  */
28
297
  async mount(params, opts) {
29
298
  return this._post('/plugins/v2/mount', params, opts);
@@ -35,35 +304,53 @@ export class Plugins extends BaseResource {
35
304
  return this._post('/plugins/v2/unmount', params, opts);
36
305
  }
37
306
  /**
38
- * List all plugins for a store.
307
+ * Configure A/B split testing on an existing route.
308
+ *
309
+ * @example Weighted 50/50 split
310
+ * ```ts
311
+ * await tagada.plugins.configureSplit({
312
+ * routeId: 'route_xxx',
313
+ * storeId: 'store_xxx',
314
+ * splitConfig: {
315
+ * type: 'weighted',
316
+ * instances: [
317
+ * { instanceId: 'inst_a', deploymentId: 'dep_a', weight: 50 },
318
+ * { instanceId: 'inst_b', deploymentId: 'dep_b', weight: 50 },
319
+ * ],
320
+ * },
321
+ * });
322
+ * ```
39
323
  */
40
- async list(storeId, opts) {
41
- return this._post('/plugins/v2/list', { storeId }, opts);
324
+ async configureSplit(params, opts) {
325
+ return this._post('/plugins/v2/split', params, opts);
42
326
  }
327
+ // ─── Listing ─────────────────────────────────────────────────────────
43
328
  /**
44
- * List all instances for a store.
329
+ * List all plugins for a store.
45
330
  */
46
- async listInstances(storeId, opts) {
47
- return this._post('/plugins/v2/instances', { storeId }, opts);
331
+ async list(storeId, opts) {
332
+ return this._get(`/plugins/v2/list/${encodeURIComponent(storeId)}`, undefined, opts);
48
333
  }
49
334
  /**
50
335
  * List mount points for a store.
51
336
  */
52
337
  async listMountPoints(storeId, opts) {
53
- return this._post('/plugins/v2/mount-points', { storeId }, opts);
338
+ return this._get(`/plugins/v2/mount-points/${encodeURIComponent(storeId)}`, undefined, opts);
54
339
  }
340
+ // ─── Details ─────────────────────────────────────────────────────────
55
341
  /**
56
- * Get detailed info about a specific deployment.
342
+ * Get detailed info about a plugin.
57
343
  */
58
- async deploymentDetails(deploymentId, storeId, opts) {
59
- return this._post('/plugins/v2/deployment/details', { deploymentId, storeId }, opts);
344
+ async details(pluginId, storeId, opts) {
345
+ return this._get(`/plugins/v2/details/${encodeURIComponent(pluginId)}`, { storeId }, opts);
60
346
  }
61
347
  /**
62
- * Get detailed info about a plugin.
348
+ * @deprecated Use retrieveDeployment() instead it doesn't require storeId.
63
349
  */
64
- async details(pluginId, storeId, opts) {
65
- return this._post('/plugins/v2/details', { pluginId, storeId }, opts);
350
+ async deploymentDetails(deploymentId, storeId, opts) {
351
+ return this._post('/plugins/v2/deployment/details', { deploymentId, storeId }, opts);
66
352
  }
353
+ // ─── Management ──────────────────────────────────────────────────────
67
354
  /**
68
355
  * Delete a plugin and all its deployments.
69
356
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Plugins.js","sourceRoot":"","sources":["../../src/resources/Plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAYjD;;;;;;GAMG;AACH,MAAM,OAAO,OAAQ,SAAQ,YAAY;IACvC;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,MAA0B,EAAE,IAAqB;QAC5D,OAAO,IAAI,CAAC,KAAK,CAAqB,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,MAA+B,EAAE,IAAqB;QACtE,OAAO,IAAI,CAAC,KAAK,CAA0B,yBAAyB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,MAAyB,EAAE,IAAqB;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAoB,mBAAmB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAA2B,EAAE,IAAqB;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,IAAqB;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,IAAqB;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,IAAqB;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,YAAoB,EAAE,OAAe,EAAE,IAAqB;QAClF,OAAO,IAAI,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAe,EAAE,IAAqB;QACpE,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,IAAqB;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,YAAoB,EAAE,OAAe,EAAE,IAAqB;QACjF,OAAO,IAAI,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;CACF"}
1
+ {"version":3,"file":"Plugins.js","sourceRoot":"","sources":["../../src/resources/Plugins.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { BaseResource } from './BaseResource.js';
2
2
  import type { RequestOptions } from '../types/common.js';
3
- import type { Processor, ProcessorCreateParams, ProcessorUpdateParams } from '../types/processors.js';
3
+ import type { Processor, ProcessorCreateParams, ProcessorUpdateParams, StripeConnectInitiateParams, StripeConnectInitiateResponse, StripeConnectDisconnectParams, StripeAccountDetails } from '../types/processors.js';
4
4
  /**
5
5
  * Processors represent the payment gateways/PSPs connected to your Tagada
6
6
  * account. Tagada is gateway-agnostic: you can connect Stripe, Adyen, NMI,
@@ -50,5 +50,43 @@ export declare class Processors extends BaseResource {
50
50
  del(processorIds: string[], opts?: RequestOptions): Promise<{
51
51
  processors: string[];
52
52
  }>;
53
+ /**
54
+ * Initiate a Stripe Connect OAuth flow. Returns a URL that the merchant
55
+ * must visit in their browser to authorize TagadaPay to use their Stripe
56
+ * account.
57
+ *
58
+ * After the merchant completes the OAuth flow, Stripe redirects back to
59
+ * TagadaPay, which saves the connected account credentials on the
60
+ * processor automatically.
61
+ *
62
+ * @example
63
+ * const { url } = await tagada.processors.initiateStripeConnect({
64
+ * processorId: 'processor_abc123',
65
+ * });
66
+ * // Redirect the merchant to `url` in their browser
67
+ */
68
+ initiateStripeConnect(params: StripeConnectInitiateParams, opts?: RequestOptions): Promise<StripeConnectInitiateResponse>;
69
+ /**
70
+ * Disconnect a Stripe Connect account from a processor.
71
+ * Revokes the OAuth authorization and disables the processor.
72
+ *
73
+ * @example
74
+ * await tagada.processors.disconnectStripe({
75
+ * accountId: 'acct_1234567890',
76
+ * processorId: 'processor_abc123',
77
+ * });
78
+ */
79
+ disconnectStripe(params: StripeConnectDisconnectParams, opts?: RequestOptions): Promise<{
80
+ success: boolean;
81
+ }>;
82
+ /**
83
+ * Retrieve details about a connected Stripe account (capabilities,
84
+ * charges enabled, country, etc.).
85
+ *
86
+ * @example
87
+ * const details = await tagada.processors.getStripeAccountDetails('acct_1234567890');
88
+ * console.log(details.charges_enabled, details.country);
89
+ */
90
+ getStripeAccountDetails(accountId: string, opts?: RequestOptions): Promise<StripeAccountDetails>;
53
91
  }
54
92
  //# sourceMappingURL=Processors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Processors.d.ts","sourceRoot":"","sources":["../../src/resources/Processors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEtG;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C;;OAEG;IACG,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAIvE;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAI9E;;;;;;;;;;;;;;;;;OAiBG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,SAAS,CAAA;KAAE,CAAC;IAIrG;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,SAAS,CAAA;KAAE,CAAC;IAIrG;;OAEG;IACG,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAG5F"}
1
+ {"version":3,"file":"Processors.d.ts","sourceRoot":"","sources":["../../src/resources/Processors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,6BAA6B,EAC7B,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C;;OAEG;IACG,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAIvE;;OAEG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAI9E;;;;;;;;;;;;;;;;;OAiBG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,SAAS,CAAA;KAAE,CAAC;IAIrG;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,SAAS,CAAA;KAAE,CAAC;IAIrG;;OAEG;IACG,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAM3F;;;;;;;;;;;;;;OAcG;IACG,qBAAqB,CACzB,MAAM,EAAE,2BAA2B,EACnC,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,6BAA6B,CAAC;IAQzC;;;;;;;;;OASG;IACG,gBAAgB,CACpB,MAAM,EAAE,6BAA6B,EACrC,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAQhC;;;;;;;OAOG;IACG,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,cAAc,GACpB,OAAO,CAAC,oBAAoB,CAAC;CAOjC"}
@@ -50,5 +50,48 @@ export class Processors extends BaseResource {
50
50
  async del(processorIds, opts) {
51
51
  return this._post('/processors/delete', { processorIds }, opts);
52
52
  }
53
+ // ── Stripe Connect ───────────────────────────────────────────────────
54
+ /**
55
+ * Initiate a Stripe Connect OAuth flow. Returns a URL that the merchant
56
+ * must visit in their browser to authorize TagadaPay to use their Stripe
57
+ * account.
58
+ *
59
+ * After the merchant completes the OAuth flow, Stripe redirects back to
60
+ * TagadaPay, which saves the connected account credentials on the
61
+ * processor automatically.
62
+ *
63
+ * @example
64
+ * const { url } = await tagada.processors.initiateStripeConnect({
65
+ * processorId: 'processor_abc123',
66
+ * });
67
+ * // Redirect the merchant to `url` in their browser
68
+ */
69
+ async initiateStripeConnect(params, opts) {
70
+ return this._post('/processors/stripe-connect/initiate', params, opts);
71
+ }
72
+ /**
73
+ * Disconnect a Stripe Connect account from a processor.
74
+ * Revokes the OAuth authorization and disables the processor.
75
+ *
76
+ * @example
77
+ * await tagada.processors.disconnectStripe({
78
+ * accountId: 'acct_1234567890',
79
+ * processorId: 'processor_abc123',
80
+ * });
81
+ */
82
+ async disconnectStripe(params, opts) {
83
+ return this._post('/processors/stripe-connect/disconnect', params, opts);
84
+ }
85
+ /**
86
+ * Retrieve details about a connected Stripe account (capabilities,
87
+ * charges enabled, country, etc.).
88
+ *
89
+ * @example
90
+ * const details = await tagada.processors.getStripeAccountDetails('acct_1234567890');
91
+ * console.log(details.charges_enabled, details.country);
92
+ */
93
+ async getStripeAccountDetails(accountId, opts) {
94
+ return this._post('/processors/stripe-connect/account', { accountId }, opts);
95
+ }
53
96
  }
54
97
  //# sourceMappingURL=Processors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Processors.js","sourceRoot":"","sources":["../../src/resources/Processors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;;GAIG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1C;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAAqB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAA8B,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,IAAqB;QACvD,OAAO,IAAI,CAAC,KAAK,CAAY,iBAAiB,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,MAAM,CAAC,MAA6B,EAAE,IAAqB;QAC/D,OAAO,IAAI,CAAC,KAAK,CAA2B,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAA6B,EAAE,IAAqB;QAC/D,OAAO,IAAI,CAAC,KAAK,CAA2B,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,YAAsB,EAAE,IAAqB;QACrD,OAAO,IAAI,CAAC,KAAK,CAA2B,oBAAoB,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5F,CAAC;CACF"}
1
+ {"version":3,"file":"Processors.js","sourceRoot":"","sources":["../../src/resources/Processors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAYjD;;;;GAIG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1C;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAAqB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAA8B,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,IAAqB;QACvD,OAAO,IAAI,CAAC,KAAK,CAAY,iBAAiB,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,MAAM,CAAC,MAA6B,EAAE,IAAqB;QAC/D,OAAO,IAAI,CAAC,KAAK,CAA2B,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAA6B,EAAE,IAAqB;QAC/D,OAAO,IAAI,CAAC,KAAK,CAA2B,oBAAoB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,YAAsB,EAAE,IAAqB;QACrD,OAAO,IAAI,CAAC,KAAK,CAA2B,oBAAoB,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5F,CAAC;IAED,wEAAwE;IAExE;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,qBAAqB,CACzB,MAAmC,EACnC,IAAqB;QAErB,OAAO,IAAI,CAAC,KAAK,CACf,qCAAqC,EACrC,MAAM,EACN,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CACpB,MAAqC,EACrC,IAAqB;QAErB,OAAO,IAAI,CAAC,KAAK,CACf,uCAAuC,EACvC,MAAM,EACN,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,uBAAuB,CAC3B,SAAiB,EACjB,IAAqB;QAErB,OAAO,IAAI,CAAC,KAAK,CACf,oCAAoC,EACpC,EAAE,SAAS,EAAE,EACb,IAAI,CACL,CAAC;IACJ,CAAC;CACF"}
@@ -13,7 +13,7 @@ export declare class Webhooks extends BaseResource {
13
13
  * const webhook = await tagada.webhooks.create({
14
14
  * storeId: 'store_xxx',
15
15
  * url: 'https://example.com/webhooks/tagada',
16
- * eventTypes: ['payment.completed', 'subscription.created'],
16
+ * eventTypes: ['payment/succeeded', 'subscription/created', 'order/paid'],
17
17
  * });
18
18
  * console.log(webhook.secret); // Use this to verify signatures
19
19
  */
@@ -13,7 +13,7 @@ export class Webhooks extends BaseResource {
13
13
  * const webhook = await tagada.webhooks.create({
14
14
  * storeId: 'store_xxx',
15
15
  * url: 'https://example.com/webhooks/tagada',
16
- * eventTypes: ['payment.completed', 'subscription.created'],
16
+ * eventTypes: ['payment/succeeded', 'subscription/created', 'order/paid'],
17
17
  * });
18
18
  * console.log(webhook.secret); // Use this to verify signatures
19
19
  */
@@ -18,4 +18,5 @@ export { BlockRules } from './BlockRules.js';
18
18
  export { Plugins } from './Plugins.js';
19
19
  export { Offers } from './Offers.js';
20
20
  export { CheckoutOffers } from './CheckoutOffers.js';
21
+ export { EmailTemplates } from './EmailTemplates.js';
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -18,4 +18,5 @@ export { BlockRules } from './BlockRules.js';
18
18
  export { Plugins } from './Plugins.js';
19
19
  export { Offers } from './Offers.js';
20
20
  export { CheckoutOffers } from './CheckoutOffers.js';
21
+ export { EmailTemplates } from './EmailTemplates.js';
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -36,7 +36,7 @@ export interface CheckoutOffer {
36
36
  variantId: string;
37
37
  price?: {
38
38
  id: string;
39
- currencyOptions: Record<string, any>;
39
+ currencyOptions: Record<string, unknown>;
40
40
  variant?: {
41
41
  id: string;
42
42
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"checkout-offers.d.ts","sourceRoot":"","sources":["../../src/types/checkout-offers.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,KAAK,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE;YACN,EAAE,EAAE,MAAM,CAAC;YACX,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,OAAO,CAAC,EAAE;gBACR,EAAE,EAAE,MAAM,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,CAAC,EAAE;oBACR,EAAE,EAAE,MAAM,CAAC;oBACX,IAAI,EAAE,MAAM,CAAC;iBACd,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,SAAS,EAAE;YACT,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,CAAC,CAAC;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB"}
1
+ {"version":3,"file":"checkout-offers.d.ts","sourceRoot":"","sources":["../../src/types/checkout-offers.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,KAAK,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE;YACN,EAAE,EAAE,MAAM,CAAC;YACX,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,CAAC,EAAE;gBACR,EAAE,EAAE,MAAM,CAAC;gBACX,IAAI,EAAE,MAAM,CAAC;gBACb,OAAO,CAAC,EAAE;oBACR,EAAE,EAAE,MAAM,CAAC;oBACX,IAAI,EAAE,MAAM,CAAC;iBACd,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,SAAS,EAAE;YACT,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,CAAC,CAAC;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB"}
@@ -0,0 +1,55 @@
1
+ export type EmailTemplateType = 'abandoned_checkout' | 'order_paid' | 'order_refunded' | 'customer_promotion_code' | 'club_membership_started' | 'subscription_rebill_upcoming' | 'subscription_rebill_succeeded' | 'subscription_canceled' | 'subscription_past_due' | 'free_trial_expiration_incoming' | 'club_membership_deactivated';
2
+ export interface EmailTemplateListParams {
3
+ storeId: string;
4
+ }
5
+ export interface EmailTemplateCreateParams {
6
+ storeId: string;
7
+ type: EmailTemplateType;
8
+ name: string;
9
+ /** Localized subjects: `{ en: "Your order...", fr: "Votre commande..." }` */
10
+ subject: Record<string, string>;
11
+ active: boolean;
12
+ params?: {
13
+ replyTo?: string;
14
+ specific?: Record<string, string>;
15
+ };
16
+ /** Localized body content: `{ order_paid: { body: { en: "<p>...</p>" } } }` */
17
+ templateVariables?: Record<string, Record<string, Record<string, string>>>;
18
+ }
19
+ export interface EmailTemplateUpdateParams {
20
+ storeId?: string;
21
+ type?: EmailTemplateType;
22
+ name?: string;
23
+ subject?: Record<string, string>;
24
+ active?: boolean;
25
+ params?: {
26
+ replyTo?: string;
27
+ specific?: Record<string, string>;
28
+ };
29
+ templateVariables?: Record<string, Record<string, Record<string, string>>>;
30
+ }
31
+ export interface EmailTemplateTestParams {
32
+ templateId: string;
33
+ to: string;
34
+ locale?: string;
35
+ }
36
+ export interface EmailTemplate {
37
+ id: string;
38
+ type: EmailTemplateType;
39
+ name: string;
40
+ subject: Record<string, string>;
41
+ active: boolean;
42
+ storeId: string;
43
+ accountId: string;
44
+ params?: Record<string, unknown>;
45
+ templateVariables?: Record<string, unknown>;
46
+ createdAt: string;
47
+ updatedAt: string;
48
+ [key: string]: unknown;
49
+ }
50
+ export interface EmailTemplateTypeInfo {
51
+ type: EmailTemplateType;
52
+ label: string;
53
+ description: string;
54
+ }
55
+ //# sourceMappingURL=emailTemplates.d.ts.map