@faststore/api 3.99.1 → 3.100.9

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 (30) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/platforms/vtex/clients/commerce/index.d.ts +16 -2
  3. package/dist/cjs/src/platforms/vtex/clients/commerce/index.d.ts.map +1 -1
  4. package/dist/cjs/src/platforms/vtex/clients/commerce/index.js +58 -3
  5. package/dist/cjs/src/platforms/vtex/clients/commerce/index.js.map +1 -1
  6. package/dist/cjs/src/platforms/vtex/clients/fetch.d.ts +1 -0
  7. package/dist/cjs/src/platforms/vtex/clients/fetch.d.ts.map +1 -1
  8. package/dist/cjs/src/platforms/vtex/clients/fetch.js +45 -2
  9. package/dist/cjs/src/platforms/vtex/clients/fetch.js.map +1 -1
  10. package/dist/cjs/src/platforms/vtex/clients/index.d.ts +2 -2
  11. package/dist/cjs/src/platforms/vtex/resolvers/subscribeToNewsletter.d.ts.map +1 -1
  12. package/dist/cjs/src/platforms/vtex/resolvers/subscribeToNewsletter.js +20 -1
  13. package/dist/cjs/src/platforms/vtex/resolvers/subscribeToNewsletter.js.map +1 -1
  14. package/dist/esm/package.json +1 -1
  15. package/dist/esm/src/platforms/vtex/clients/commerce/index.d.ts +16 -2
  16. package/dist/esm/src/platforms/vtex/clients/commerce/index.d.ts.map +1 -1
  17. package/dist/esm/src/platforms/vtex/clients/commerce/index.js +56 -2
  18. package/dist/esm/src/platforms/vtex/clients/commerce/index.js.map +1 -1
  19. package/dist/esm/src/platforms/vtex/clients/fetch.d.ts +1 -0
  20. package/dist/esm/src/platforms/vtex/clients/fetch.d.ts.map +1 -1
  21. package/dist/esm/src/platforms/vtex/clients/fetch.js +43 -1
  22. package/dist/esm/src/platforms/vtex/clients/fetch.js.map +1 -1
  23. package/dist/esm/src/platforms/vtex/clients/index.d.ts +2 -2
  24. package/dist/esm/src/platforms/vtex/resolvers/subscribeToNewsletter.d.ts.map +1 -1
  25. package/dist/esm/src/platforms/vtex/resolvers/subscribeToNewsletter.js +20 -1
  26. package/dist/esm/src/platforms/vtex/resolvers/subscribeToNewsletter.js.map +1 -1
  27. package/package.json +2 -2
  28. package/src/platforms/vtex/clients/commerce/index.ts +72 -3
  29. package/src/platforms/vtex/clients/fetch.ts +52 -1
  30. package/src/platforms/vtex/resolvers/subscribeToNewsletter.ts +27 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/api",
3
- "version": "3.99.0",
3
+ "version": "3.100.9",
4
4
  "license": "MIT",
5
5
  "main": "dist/cjs/src/index.js",
6
6
  "typings": "dist/esm/src/index.d.ts",
@@ -19,6 +19,8 @@ import type { Simulation, SimulationArgs, SimulationOptions } from './types/Simu
19
19
  import type { ScopesByUnit, UnitResponse } from './types/Unit';
20
20
  import type { VtexIdResponse } from './types/VtexId';
21
21
  type ValueOf<T> = T extends Record<string, infer K> ? K : never;
22
+ /** Test-only: forget which accounts were warned about the anonymous fallback. */
23
+ export declare const resetAnonymousNewsletterWarnings: () => void;
22
24
  export declare const VtexCommerce: ({ account, environment, incrementAddress, subDomainPrefix }: Options, ctx: Context) => {
23
25
  catalog: {
24
26
  salesChannel: (sc: string) => Promise<SalesChannel>;
@@ -78,8 +80,20 @@ export declare const VtexCommerce: ({ account, environment, incrementAddress, su
78
80
  pickupPoints: ({ geoCoordinates, }: PickupPointsInput) => Promise<PickupPoints>;
79
81
  };
80
82
  session: (search: string) => Promise<Session>;
81
- subscribeToNewsletter: (data: {
82
- name: string;
83
+ /**
84
+ * Creates a newsletter subscription in the `NL` Master Data entity.
85
+ *
86
+ * With `FS_NEWSLETTER_APP_KEY`/`FS_NEWSLETTER_APP_TOKEN` set, the document is
87
+ * created with a `POST` authenticated by that dedicated key, so `NL` fields
88
+ * can stay private. The request is create-only: the body is built here from
89
+ * the validated fields and never carries a document id, so the caller can't
90
+ * reach an existing record.
91
+ *
92
+ * Without the credentials, it falls back to the legacy anonymous `PATCH`,
93
+ * which only works while `NL` fields are public.
94
+ */
95
+ subscribeToNewsletter: ({ name, email, }: {
96
+ name?: string | undefined;
83
97
  email: string;
84
98
  }) => Promise<MasterDataResponse>;
85
99
  profile: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/platforms/vtex/clients/commerce/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/platforms/vtex/clients/commerce/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VtexCommerce = void 0;
3
+ exports.VtexCommerce = exports.resetAnonymousNewsletterWarnings = void 0;
4
4
  const cookie_1 = require("cookie");
5
5
  const fetch_1 = require("../fetch");
6
6
  const __1 = require("../../../..");
@@ -12,6 +12,17 @@ const BASE_INIT = {
12
12
  'content-type': 'application/json',
13
13
  },
14
14
  };
15
+ // Accounts already warned that they rely on public `NL` fields. The commerce
16
+ // client is created per request, so the warning is kept once per account
17
+ // instead of per instance, to avoid flooding the logs. The account comes from
18
+ // the store's API options, not from the request, so the set holds at most one
19
+ // entry per account the process is configured for (usually one). It's still
20
+ // capped, so it can't grow without bound if that ever changes.
21
+ const MAX_WARNED_NEWSLETTER_ACCOUNTS = 100;
22
+ const accountsWarnedAboutAnonymousNewsletter = new Set();
23
+ /** Test-only: forget which accounts were warned about the anonymous fallback. */
24
+ const resetAnonymousNewsletterWarnings = () => accountsWarnedAboutAnonymousNewsletter.clear();
25
+ exports.resetAnonymousNewsletterWarnings = resetAnonymousNewsletterWarnings;
15
26
  const VtexCommerce = ({ account, environment, incrementAddress, subDomainPrefix }, ctx) => {
16
27
  const base = `https://${account}.${environment}.com.br`;
17
28
  const storeCookies = (0, cookies_1.getStoreCookie)(ctx);
@@ -227,10 +238,54 @@ const VtexCommerce = ({ account, environment, incrementAddress, subDomainPrefix
227
238
  body: '{}',
228
239
  }, { storeCookies });
229
240
  },
230
- subscribeToNewsletter: (data) => {
241
+ /**
242
+ * Creates a newsletter subscription in the `NL` Master Data entity.
243
+ *
244
+ * With `FS_NEWSLETTER_APP_KEY`/`FS_NEWSLETTER_APP_TOKEN` set, the document is
245
+ * created with a `POST` authenticated by that dedicated key, so `NL` fields
246
+ * can stay private. The request is create-only: the body is built here from
247
+ * the validated fields and never carries a document id, so the caller can't
248
+ * reach an existing record.
249
+ *
250
+ * Without the credentials, it falls back to the legacy anonymous `PATCH`,
251
+ * which only works while `NL` fields are public.
252
+ */
253
+ subscribeToNewsletter: ({ name, email, }) => {
254
+ const body = JSON.stringify({
255
+ ...(name ? { name } : {}),
256
+ email,
257
+ isNewsletterOptIn: true,
258
+ });
259
+ const appKey = process.env.FS_NEWSLETTER_APP_KEY;
260
+ const appToken = process.env.FS_NEWSLETTER_APP_TOKEN;
261
+ if (appKey && appToken) {
262
+ return (0, fetch_1.fetchAPI)(`${base}/api/dataentities/NL/documents`, {
263
+ method: 'POST',
264
+ headers: {
265
+ 'content-type': 'application/json',
266
+ accept: 'application/json',
267
+ 'X-VTEX-API-AppKey': appKey,
268
+ 'X-VTEX-API-AppToken': appToken,
269
+ },
270
+ body,
271
+ });
272
+ }
273
+ if (!accountsWarnedAboutAnonymousNewsletter.has(account)) {
274
+ if (accountsWarnedAboutAnonymousNewsletter.size >=
275
+ MAX_WARNED_NEWSLETTER_ACCOUNTS) {
276
+ accountsWarnedAboutAnonymousNewsletter.clear();
277
+ }
278
+ accountsWarnedAboutAnonymousNewsletter.add(account);
279
+ // Name only the missing variables, so a partial setup is easy to spot.
280
+ const missing = [
281
+ !appKey && 'FS_NEWSLETTER_APP_KEY',
282
+ !appToken && 'FS_NEWSLETTER_APP_TOKEN',
283
+ ].filter(Boolean);
284
+ console.warn(`[subscribeToNewsletter] ${missing.join(' and ')} ${missing.length > 1 ? 'are' : 'is'} not set. Falling back to an anonymous Master Data request, which requires public fields in the NL entity. Configure both credentials and make the NL fields private.`);
285
+ }
231
286
  return (0, fetch_1.fetchAPI)(`${base}/api/dataentities/NL/documents/`, {
232
287
  ...BASE_INIT,
233
- body: JSON.stringify({ ...data, isNewsletterOptIn: true }),
288
+ body,
234
289
  method: 'PATCH',
235
290
  }, { storeCookies });
236
291
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/platforms/vtex/clients/commerce/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/platforms/vtex/clients/commerce/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  interface FetchAPIOptions {
2
2
  storeCookies?: (headers: Headers) => void;
3
3
  }
4
+ export declare const redactHeaders: (headers?: HeadersInit) => Record<string, string> | undefined;
4
5
  export declare const fetchAPI: (info: RequestInfo, init?: RequestInit, options?: FetchAPIOptions) => Promise<any>;
5
6
  export {};
6
7
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/clients/fetch.ts"],"names":[],"mappings":"AAYA,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1C;AAED,eAAO,MAAM,QAAQ,SACb,WAAW,SACV,WAAW,YACR,eAAe,iBA0C1B,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/clients/fetch.ts"],"names":[],"mappings":"AAYA,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1C;AAWD,eAAO,MAAM,aAAa,aACd,WAAW,KACpB,OAAO,MAAM,EAAE,MAAM,CAAC,GAAG,SAsB3B,CAAA;AAED,eAAO,MAAM,QAAQ,SACb,WAAW,SACV,WAAW,YACR,eAAe,iBA0D1B,CAAA"}
@@ -1,11 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchAPI = void 0;
3
+ exports.fetchAPI = exports.redactHeaders = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const isomorphic_unfetch_1 = tslib_1.__importDefault(require("isomorphic-unfetch"));
6
6
  const package_json_1 = tslib_1.__importDefault(require("../../../../package.json"));
7
7
  const errors_1 = require("../../errors");
8
8
  const USER_AGENT = `${package_json_1.default.name}@${package_json_1.default.version}`;
9
+ // Headers that may carry credentials: store API keys (`X-VTEX-API-AppKey`,
10
+ // `X-VTEX-API-AppToken`), shopper cookies (`Cookie`, `Set-Cookie`,
11
+ // `VtexIdclientAutCookie_*`), `Authorization`, and generic token, secret or
12
+ // API key headers. They are replaced before a failed request and its response
13
+ // are logged. Matched by substring so new credential headers are covered too.
14
+ const SENSITIVE_HEADER = /authorization|cookie|token|secret|api-?key|appkey/i;
15
+ const REDACTED = '[redacted]';
16
+ const redactHeaders = (headers) => {
17
+ if (!headers) {
18
+ return undefined;
19
+ }
20
+ const redacted = {};
21
+ const add = (name, value) => {
22
+ redacted[name] = SENSITIVE_HEADER.test(name) ? REDACTED : value;
23
+ };
24
+ if (Array.isArray(headers)) {
25
+ headers.forEach(([name, value]) => add(name, value));
26
+ }
27
+ else if (typeof headers.forEach === 'function') {
28
+ // Matches both the global `Headers` and the polyfill returned by
29
+ // `isomorphic-unfetch` on Node, which isn't an instance of the global one.
30
+ const headerList = headers;
31
+ headerList.forEach((value, name) => add(name, value));
32
+ }
33
+ else {
34
+ Object.entries(headers).forEach(([name, value]) => add(name, value));
35
+ }
36
+ return redacted;
37
+ };
38
+ exports.redactHeaders = redactHeaders;
9
39
  const fetchAPI = async (info, init, options) => {
10
40
  const response = await (0, isomorphic_unfetch_1.default)(info, {
11
41
  ...init,
@@ -20,7 +50,20 @@ const fetchAPI = async (info, init, options) => {
20
50
  }
21
51
  return response.status !== 204 ? response.json() : undefined;
22
52
  }
23
- console.error(info, init, response);
53
+ // Log a summary instead of the raw Response, whose headers may include
54
+ // `Set-Cookie` with shopper credentials. The request body is omitted because
55
+ // it can carry personal data (e.g. the newsletter email and name).
56
+ console.error(
57
+ // Only the URL: a `Request` instance could carry unredacted headers.
58
+ typeof info === 'string' ? info : info.url, init && {
59
+ ...init,
60
+ headers: (0, exports.redactHeaders)(init.headers),
61
+ body: init.body ? REDACTED : undefined,
62
+ }, {
63
+ status: response.status,
64
+ statusText: response.statusText,
65
+ headers: (0, exports.redactHeaders)(response.headers),
66
+ });
24
67
  const text = await response.text();
25
68
  // Check if response has a valid status property
26
69
  if (typeof response?.status === 'number') {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/clients/fetch.ts"],"names":[],"mappings":";;;;AAAA,oFAAsC;AACtC,oFAAkD;AAClD,yCAMqB;AAErB,MAAM,UAAU,GAAG,GAAG,sBAAW,CAAC,IAAI,IAAI,sBAAW,CAAC,OAAO,EAAE,CAAA;AAMxD,MAAM,QAAQ,GAAG,KAAK,EAC3B,IAAiB,EACjB,IAAkB,EAClB,OAAyB,EACzB,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,IAAA,4BAAK,EAAC,IAAI,EAAE;QACjC,GAAG,IAAI;QACP,OAAO,EAAE;YACP,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YACxB,YAAY,EAAE,UAAU;SACzB;KACF,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAElC,gDAAgD;IAChD,IAAI,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,GAAG;gBACN,MAAM,IAAI,wBAAe,CAAC,IAAI,CAAC,CAAA;YACjC,KAAK,GAAG;gBACN,MAAM,IAAI,0BAAiB,CAAC,IAAI,CAAC,CAAA;YACnC,KAAK,GAAG;gBACN,MAAM,IAAI,uBAAc,CAAC,IAAI,CAAC,CAAA;YAChC,KAAK,GAAG;gBACN,MAAM,IAAI,sBAAa,CAAC,IAAI,CAAC,CAAA;YAC/B;gBACE,MAAM,IAAI,uBAAc,CACtB,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EACjD,IAAI,CACL,CAAA;QACL,CAAC;IACH,CAAC;IAED,wFAAwF;IACxF,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC,CAAA;AA7CY,QAAA,QAAQ,YA6CpB"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/clients/fetch.ts"],"names":[],"mappings":"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"}
@@ -67,8 +67,8 @@ export declare const getClients: (options: Options, ctx: Context) => {
67
67
  pickupPoints: ({ geoCoordinates, }: import("./commerce/types/PickupPoints").PickupPointsInput) => Promise<import("./commerce/types/PickupPoints").PickupPoints>;
68
68
  };
69
69
  session: (search: string) => Promise<import("./commerce/types/Session").Session>;
70
- subscribeToNewsletter: (data: {
71
- name: string;
70
+ subscribeToNewsletter: ({ name, email, }: {
71
+ name?: string | undefined;
72
72
  email: string;
73
73
  }) => Promise<import("./commerce/types/Newsletter").MasterDataResponse>;
74
74
  profile: {
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeToNewsletter.d.ts","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/resolvers/subscribeToNewsletter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,KAAK,EACV,iCAAiC,EACjC,gBAAgB,EACjB,MAAM,+BAA+B,CAAA;AAEtC,eAAO,MAAM,qBAAqB,MAC7B,GAAG,YACI,iCAAiC,6BAChB,OAAO,KACjC,QAAQ,gBAAgB,GAAG,IAAI,CAGjC,CAAA"}
1
+ {"version":3,"file":"subscribeToNewsletter.d.ts","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/resolvers/subscribeToNewsletter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,KAAK,EACV,iCAAiC,EACjC,gBAAgB,EACjB,MAAM,+BAA+B,CAAA;AAStC,eAAO,MAAM,qBAAqB,MAC7B,GAAG,YACI,iCAAiC,6BAChB,OAAO,KACjC,QAAQ,gBAAgB,GAAG,IAAI,CAsBjC,CAAA"}
@@ -1,8 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.subscribeToNewsletter = void 0;
4
+ const errors_1 = require("../../errors");
5
+ const EMAIL_MAX_LENGTH = 254;
6
+ const NAME_MAX_LENGTH = 100;
7
+ // Character classes exclude `.`, so each domain label is matched once and the
8
+ // pattern stays linear on long inputs.
9
+ const EMAIL_PATTERN = /^[^\s@]+@[^\s@.]+(\.[^\s@.]+)+$/;
4
10
  const subscribeToNewsletter = async (_, { data }, { clients: { commerce } }) => {
5
- const response = await commerce.subscribeToNewsletter(data);
11
+ // The subscription is written with a store credential, so only validated
12
+ // values reach Master Data (see "Authentication in API extensions").
13
+ const email = data.email?.trim().toLowerCase() ?? '';
14
+ const name = data.name?.trim() ?? '';
15
+ if (email.length > EMAIL_MAX_LENGTH || !EMAIL_PATTERN.test(email)) {
16
+ throw new errors_1.BadRequestError('Invalid email');
17
+ }
18
+ if (name.length > NAME_MAX_LENGTH) {
19
+ throw new errors_1.BadRequestError(`Invalid name: must have at most ${NAME_MAX_LENGTH} characters`);
20
+ }
21
+ const response = await commerce.subscribeToNewsletter({
22
+ email,
23
+ name: name || undefined,
24
+ });
6
25
  return { id: response?.Id };
7
26
  };
8
27
  exports.subscribeToNewsletter = subscribeToNewsletter;
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeToNewsletter.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/resolvers/subscribeToNewsletter.ts"],"names":[],"mappings":";;;AAMO,MAAM,qBAAqB,GAAG,KAAK,EACxC,CAAM,EACN,EAAE,IAAI,EAAqC,EAC3C,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAW,EACA,EAAE;IACpC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC3D,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AAC7B,CAAC,CAAA;AAPY,QAAA,qBAAqB,yBAOjC"}
1
+ {"version":3,"file":"subscribeToNewsletter.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/resolvers/subscribeToNewsletter.ts"],"names":[],"mappings":";;;AAKA,yCAA8C;AAE9C,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAC5B,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,8EAA8E;AAC9E,uCAAuC;AACvC,MAAM,aAAa,GAAG,iCAAiC,CAAA;AAEhD,MAAM,qBAAqB,GAAG,KAAK,EACxC,CAAM,EACN,EAAE,IAAI,EAAqC,EAC3C,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAW,EACA,EAAE;IACpC,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAEpC,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,wBAAe,CAAC,eAAe,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,IAAI,wBAAe,CACvB,mCAAmC,eAAe,aAAa,CAChE,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC;QACpD,KAAK;QACL,IAAI,EAAE,IAAI,IAAI,SAAS;KACxB,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AAC7B,CAAC,CAAA;AA1BY,QAAA,qBAAqB,yBA0BjC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/api",
3
- "version": "3.99.0",
3
+ "version": "3.100.9",
4
4
  "license": "MIT",
5
5
  "main": "dist/cjs/src/index.js",
6
6
  "typings": "dist/esm/src/index.d.ts",
@@ -19,6 +19,8 @@ import type { Simulation, SimulationArgs, SimulationOptions } from './types/Simu
19
19
  import type { ScopesByUnit, UnitResponse } from './types/Unit';
20
20
  import type { VtexIdResponse } from './types/VtexId';
21
21
  type ValueOf<T> = T extends Record<string, infer K> ? K : never;
22
+ /** Test-only: forget which accounts were warned about the anonymous fallback. */
23
+ export declare const resetAnonymousNewsletterWarnings: () => void;
22
24
  export declare const VtexCommerce: ({ account, environment, incrementAddress, subDomainPrefix }: Options, ctx: Context) => {
23
25
  catalog: {
24
26
  salesChannel: (sc: string) => Promise<SalesChannel>;
@@ -78,8 +80,20 @@ export declare const VtexCommerce: ({ account, environment, incrementAddress, su
78
80
  pickupPoints: ({ geoCoordinates, }: PickupPointsInput) => Promise<PickupPoints>;
79
81
  };
80
82
  session: (search: string) => Promise<Session>;
81
- subscribeToNewsletter: (data: {
82
- name: string;
83
+ /**
84
+ * Creates a newsletter subscription in the `NL` Master Data entity.
85
+ *
86
+ * With `FS_NEWSLETTER_APP_KEY`/`FS_NEWSLETTER_APP_TOKEN` set, the document is
87
+ * created with a `POST` authenticated by that dedicated key, so `NL` fields
88
+ * can stay private. The request is create-only: the body is built here from
89
+ * the validated fields and never carries a document id, so the caller can't
90
+ * reach an existing record.
91
+ *
92
+ * Without the credentials, it falls back to the legacy anonymous `PATCH`,
93
+ * which only works while `NL` fields are public.
94
+ */
95
+ subscribeToNewsletter: ({ name, email, }: {
96
+ name?: string | undefined;
83
97
  email: string;
84
98
  }) => Promise<MasterDataResponse>;
85
99
  profile: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/platforms/vtex/clients/commerce/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/platforms/vtex/clients/commerce/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,16 @@ const BASE_INIT = {
9
9
  'content-type': 'application/json',
10
10
  },
11
11
  };
12
+ // Accounts already warned that they rely on public `NL` fields. The commerce
13
+ // client is created per request, so the warning is kept once per account
14
+ // instead of per instance, to avoid flooding the logs. The account comes from
15
+ // the store's API options, not from the request, so the set holds at most one
16
+ // entry per account the process is configured for (usually one). It's still
17
+ // capped, so it can't grow without bound if that ever changes.
18
+ const MAX_WARNED_NEWSLETTER_ACCOUNTS = 100;
19
+ const accountsWarnedAboutAnonymousNewsletter = new Set();
20
+ /** Test-only: forget which accounts were warned about the anonymous fallback. */
21
+ export const resetAnonymousNewsletterWarnings = () => accountsWarnedAboutAnonymousNewsletter.clear();
12
22
  export const VtexCommerce = ({ account, environment, incrementAddress, subDomainPrefix }, ctx) => {
13
23
  const base = `https://${account}.${environment}.com.br`;
14
24
  const storeCookies = getStoreCookie(ctx);
@@ -224,10 +234,54 @@ export const VtexCommerce = ({ account, environment, incrementAddress, subDomain
224
234
  body: '{}',
225
235
  }, { storeCookies });
226
236
  },
227
- subscribeToNewsletter: (data) => {
237
+ /**
238
+ * Creates a newsletter subscription in the `NL` Master Data entity.
239
+ *
240
+ * With `FS_NEWSLETTER_APP_KEY`/`FS_NEWSLETTER_APP_TOKEN` set, the document is
241
+ * created with a `POST` authenticated by that dedicated key, so `NL` fields
242
+ * can stay private. The request is create-only: the body is built here from
243
+ * the validated fields and never carries a document id, so the caller can't
244
+ * reach an existing record.
245
+ *
246
+ * Without the credentials, it falls back to the legacy anonymous `PATCH`,
247
+ * which only works while `NL` fields are public.
248
+ */
249
+ subscribeToNewsletter: ({ name, email, }) => {
250
+ const body = JSON.stringify({
251
+ ...(name ? { name } : {}),
252
+ email,
253
+ isNewsletterOptIn: true,
254
+ });
255
+ const appKey = process.env.FS_NEWSLETTER_APP_KEY;
256
+ const appToken = process.env.FS_NEWSLETTER_APP_TOKEN;
257
+ if (appKey && appToken) {
258
+ return fetchAPI(`${base}/api/dataentities/NL/documents`, {
259
+ method: 'POST',
260
+ headers: {
261
+ 'content-type': 'application/json',
262
+ accept: 'application/json',
263
+ 'X-VTEX-API-AppKey': appKey,
264
+ 'X-VTEX-API-AppToken': appToken,
265
+ },
266
+ body,
267
+ });
268
+ }
269
+ if (!accountsWarnedAboutAnonymousNewsletter.has(account)) {
270
+ if (accountsWarnedAboutAnonymousNewsletter.size >=
271
+ MAX_WARNED_NEWSLETTER_ACCOUNTS) {
272
+ accountsWarnedAboutAnonymousNewsletter.clear();
273
+ }
274
+ accountsWarnedAboutAnonymousNewsletter.add(account);
275
+ // Name only the missing variables, so a partial setup is easy to spot.
276
+ const missing = [
277
+ !appKey && 'FS_NEWSLETTER_APP_KEY',
278
+ !appToken && 'FS_NEWSLETTER_APP_TOKEN',
279
+ ].filter(Boolean);
280
+ console.warn(`[subscribeToNewsletter] ${missing.join(' and ')} ${missing.length > 1 ? 'are' : 'is'} not set. Falling back to an anonymous Master Data request, which requires public fields in the NL entity. Configure both credentials and make the NL fields private.`);
281
+ }
228
282
  return fetchAPI(`${base}/api/dataentities/NL/documents/`, {
229
283
  ...BASE_INIT,
230
- body: JSON.stringify({ ...data, isNewsletterOptIn: true }),
284
+ body,
231
285
  method: 'PATCH',
232
286
  }, { storeCookies });
233
287
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/platforms/vtex/clients/commerce/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/platforms/vtex/clients/commerce/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  interface FetchAPIOptions {
2
2
  storeCookies?: (headers: Headers) => void;
3
3
  }
4
+ export declare const redactHeaders: (headers?: HeadersInit) => Record<string, string> | undefined;
4
5
  export declare const fetchAPI: (info: RequestInfo, init?: RequestInit, options?: FetchAPIOptions) => Promise<any>;
5
6
  export {};
6
7
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/clients/fetch.ts"],"names":[],"mappings":"AAYA,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1C;AAED,eAAO,MAAM,QAAQ,SACb,WAAW,SACV,WAAW,YACR,eAAe,iBA0C1B,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/clients/fetch.ts"],"names":[],"mappings":"AAYA,UAAU,eAAe;IACvB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1C;AAWD,eAAO,MAAM,aAAa,aACd,WAAW,KACpB,OAAO,MAAM,EAAE,MAAM,CAAC,GAAG,SAsB3B,CAAA;AAED,eAAO,MAAM,QAAQ,SACb,WAAW,SACV,WAAW,YACR,eAAe,iBA0D1B,CAAA"}
@@ -2,6 +2,35 @@ import fetch from 'isomorphic-unfetch';
2
2
  import packageJson from '../../../../package.json';
3
3
  import { BadRequestError, FastStoreError, ForbiddenError, NotFoundError, UnauthorizedError, } from '../../errors';
4
4
  const USER_AGENT = `${packageJson.name}@${packageJson.version}`;
5
+ // Headers that may carry credentials: store API keys (`X-VTEX-API-AppKey`,
6
+ // `X-VTEX-API-AppToken`), shopper cookies (`Cookie`, `Set-Cookie`,
7
+ // `VtexIdclientAutCookie_*`), `Authorization`, and generic token, secret or
8
+ // API key headers. They are replaced before a failed request and its response
9
+ // are logged. Matched by substring so new credential headers are covered too.
10
+ const SENSITIVE_HEADER = /authorization|cookie|token|secret|api-?key|appkey/i;
11
+ const REDACTED = '[redacted]';
12
+ export const redactHeaders = (headers) => {
13
+ if (!headers) {
14
+ return undefined;
15
+ }
16
+ const redacted = {};
17
+ const add = (name, value) => {
18
+ redacted[name] = SENSITIVE_HEADER.test(name) ? REDACTED : value;
19
+ };
20
+ if (Array.isArray(headers)) {
21
+ headers.forEach(([name, value]) => add(name, value));
22
+ }
23
+ else if (typeof headers.forEach === 'function') {
24
+ // Matches both the global `Headers` and the polyfill returned by
25
+ // `isomorphic-unfetch` on Node, which isn't an instance of the global one.
26
+ const headerList = headers;
27
+ headerList.forEach((value, name) => add(name, value));
28
+ }
29
+ else {
30
+ Object.entries(headers).forEach(([name, value]) => add(name, value));
31
+ }
32
+ return redacted;
33
+ };
5
34
  export const fetchAPI = async (info, init, options) => {
6
35
  const response = await fetch(info, {
7
36
  ...init,
@@ -16,7 +45,20 @@ export const fetchAPI = async (info, init, options) => {
16
45
  }
17
46
  return response.status !== 204 ? response.json() : undefined;
18
47
  }
19
- console.error(info, init, response);
48
+ // Log a summary instead of the raw Response, whose headers may include
49
+ // `Set-Cookie` with shopper credentials. The request body is omitted because
50
+ // it can carry personal data (e.g. the newsletter email and name).
51
+ console.error(
52
+ // Only the URL: a `Request` instance could carry unredacted headers.
53
+ typeof info === 'string' ? info : info.url, init && {
54
+ ...init,
55
+ headers: redactHeaders(init.headers),
56
+ body: init.body ? REDACTED : undefined,
57
+ }, {
58
+ status: response.status,
59
+ statusText: response.statusText,
60
+ headers: redactHeaders(response.headers),
61
+ });
20
62
  const text = await response.text();
21
63
  // Check if response has a valid status property
22
64
  if (typeof response?.status === 'number') {
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/clients/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,oBAAoB,CAAA;AACtC,OAAO,WAAW,MAAM,0BAA0B,CAAA;AAClD,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAErB,MAAM,UAAU,GAAG,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE,CAAA;AAM/D,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,IAAiB,EACjB,IAAkB,EAClB,OAAyB,EACzB,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;QACjC,GAAG,IAAI;QACP,OAAO,EAAE;YACP,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YACxB,YAAY,EAAE,UAAU;SACzB;KACF,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;QAChB,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9D,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAElC,gDAAgD;IAChD,IAAI,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,GAAG;gBACN,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;YACjC,KAAK,GAAG;gBACN,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACnC,KAAK,GAAG;gBACN,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;YAChC,KAAK,GAAG;gBACN,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,CAAA;YAC/B;gBACE,MAAM,IAAI,cAAc,CACtB,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EACjD,IAAI,CACL,CAAA;QACL,CAAC;IACH,CAAC;IAED,wFAAwF;IACxF,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC,CAAA"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/clients/fetch.ts"],"names":[],"mappings":"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"}
@@ -67,8 +67,8 @@ export declare const getClients: (options: Options, ctx: Context) => {
67
67
  pickupPoints: ({ geoCoordinates, }: import("./commerce/types/PickupPoints").PickupPointsInput) => Promise<import("./commerce/types/PickupPoints").PickupPoints>;
68
68
  };
69
69
  session: (search: string) => Promise<import("./commerce/types/Session").Session>;
70
- subscribeToNewsletter: (data: {
71
- name: string;
70
+ subscribeToNewsletter: ({ name, email, }: {
71
+ name?: string | undefined;
72
72
  email: string;
73
73
  }) => Promise<import("./commerce/types/Newsletter").MasterDataResponse>;
74
74
  profile: {
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeToNewsletter.d.ts","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/resolvers/subscribeToNewsletter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,KAAK,EACV,iCAAiC,EACjC,gBAAgB,EACjB,MAAM,+BAA+B,CAAA;AAEtC,eAAO,MAAM,qBAAqB,MAC7B,GAAG,YACI,iCAAiC,6BAChB,OAAO,KACjC,QAAQ,gBAAgB,GAAG,IAAI,CAGjC,CAAA"}
1
+ {"version":3,"file":"subscribeToNewsletter.d.ts","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/resolvers/subscribeToNewsletter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,KAAK,EACV,iCAAiC,EACjC,gBAAgB,EACjB,MAAM,+BAA+B,CAAA;AAStC,eAAO,MAAM,qBAAqB,MAC7B,GAAG,YACI,iCAAiC,6BAChB,OAAO,KACjC,QAAQ,gBAAgB,GAAG,IAAI,CAsBjC,CAAA"}
@@ -1,5 +1,24 @@
1
+ import { BadRequestError } from '../../errors';
2
+ const EMAIL_MAX_LENGTH = 254;
3
+ const NAME_MAX_LENGTH = 100;
4
+ // Character classes exclude `.`, so each domain label is matched once and the
5
+ // pattern stays linear on long inputs.
6
+ const EMAIL_PATTERN = /^[^\s@]+@[^\s@.]+(\.[^\s@.]+)+$/;
1
7
  export const subscribeToNewsletter = async (_, { data }, { clients: { commerce } }) => {
2
- const response = await commerce.subscribeToNewsletter(data);
8
+ // The subscription is written with a store credential, so only validated
9
+ // values reach Master Data (see "Authentication in API extensions").
10
+ const email = data.email?.trim().toLowerCase() ?? '';
11
+ const name = data.name?.trim() ?? '';
12
+ if (email.length > EMAIL_MAX_LENGTH || !EMAIL_PATTERN.test(email)) {
13
+ throw new BadRequestError('Invalid email');
14
+ }
15
+ if (name.length > NAME_MAX_LENGTH) {
16
+ throw new BadRequestError(`Invalid name: must have at most ${NAME_MAX_LENGTH} characters`);
17
+ }
18
+ const response = await commerce.subscribeToNewsletter({
19
+ email,
20
+ name: name || undefined,
21
+ });
3
22
  return { id: response?.Id };
4
23
  };
5
24
  //# sourceMappingURL=subscribeToNewsletter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscribeToNewsletter.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/resolvers/subscribeToNewsletter.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,CAAM,EACN,EAAE,IAAI,EAAqC,EAC3C,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAW,EACA,EAAE;IACpC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC3D,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AAC7B,CAAC,CAAA"}
1
+ {"version":3,"file":"subscribeToNewsletter.js","sourceRoot":"","sources":["../../../../../../src/platforms/vtex/resolvers/subscribeToNewsletter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAC5B,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,8EAA8E;AAC9E,uCAAuC;AACvC,MAAM,aAAa,GAAG,iCAAiC,CAAA;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,CAAM,EACN,EAAE,IAAI,EAAqC,EAC3C,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAW,EACA,EAAE;IACpC,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAEpC,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,eAAe,CAAC,eAAe,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,IAAI,eAAe,CACvB,mCAAmC,eAAe,aAAa,CAChE,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC;QACpD,KAAK;QACL,IAAI,EAAE,IAAI,IAAI,SAAS;KACxB,CAAC,CAAA;IAEF,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;AAC7B,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/api",
3
- "version": "3.99.1",
3
+ "version": "3.100.9",
4
4
  "license": "MIT",
5
5
  "main": "dist/cjs/src/index.js",
6
6
  "typings": "dist/esm/src/index.d.ts",
@@ -80,5 +80,5 @@
80
80
  "volta": {
81
81
  "extends": "../../package.json"
82
82
  },
83
- "gitHead": "58c9a02f542a1b6ca57296d08361646f979ec469"
83
+ "gitHead": "16138db7514af037b35b6919fa9710c4db770bd0"
84
84
  }
@@ -54,6 +54,19 @@ const BASE_INIT = {
54
54
  },
55
55
  }
56
56
 
57
+ // Accounts already warned that they rely on public `NL` fields. The commerce
58
+ // client is created per request, so the warning is kept once per account
59
+ // instead of per instance, to avoid flooding the logs. The account comes from
60
+ // the store's API options, not from the request, so the set holds at most one
61
+ // entry per account the process is configured for (usually one). It's still
62
+ // capped, so it can't grow without bound if that ever changes.
63
+ const MAX_WARNED_NEWSLETTER_ACCOUNTS = 100
64
+ const accountsWarnedAboutAnonymousNewsletter = new Set<string>()
65
+
66
+ /** Test-only: forget which accounts were warned about the anonymous fallback. */
67
+ export const resetAnonymousNewsletterWarnings = () =>
68
+ accountsWarnedAboutAnonymousNewsletter.clear()
69
+
57
70
  export const VtexCommerce = (
58
71
  { account, environment, incrementAddress, subDomainPrefix }: Options,
59
72
  ctx: Context
@@ -448,15 +461,71 @@ export const VtexCommerce = (
448
461
  { storeCookies }
449
462
  )
450
463
  },
451
- subscribeToNewsletter: (data: {
452
- name: string
464
+ /**
465
+ * Creates a newsletter subscription in the `NL` Master Data entity.
466
+ *
467
+ * With `FS_NEWSLETTER_APP_KEY`/`FS_NEWSLETTER_APP_TOKEN` set, the document is
468
+ * created with a `POST` authenticated by that dedicated key, so `NL` fields
469
+ * can stay private. The request is create-only: the body is built here from
470
+ * the validated fields and never carries a document id, so the caller can't
471
+ * reach an existing record.
472
+ *
473
+ * Without the credentials, it falls back to the legacy anonymous `PATCH`,
474
+ * which only works while `NL` fields are public.
475
+ */
476
+ subscribeToNewsletter: ({
477
+ name,
478
+ email,
479
+ }: {
480
+ name?: string
453
481
  email: string
454
482
  }): Promise<MasterDataResponse> => {
483
+ const body = JSON.stringify({
484
+ ...(name ? { name } : {}),
485
+ email,
486
+ isNewsletterOptIn: true,
487
+ })
488
+ const appKey = process.env.FS_NEWSLETTER_APP_KEY
489
+ const appToken = process.env.FS_NEWSLETTER_APP_TOKEN
490
+
491
+ if (appKey && appToken) {
492
+ return fetchAPI(`${base}/api/dataentities/NL/documents`, {
493
+ method: 'POST',
494
+ headers: {
495
+ 'content-type': 'application/json',
496
+ accept: 'application/json',
497
+ 'X-VTEX-API-AppKey': appKey,
498
+ 'X-VTEX-API-AppToken': appToken,
499
+ },
500
+ body,
501
+ })
502
+ }
503
+
504
+ if (!accountsWarnedAboutAnonymousNewsletter.has(account)) {
505
+ if (
506
+ accountsWarnedAboutAnonymousNewsletter.size >=
507
+ MAX_WARNED_NEWSLETTER_ACCOUNTS
508
+ ) {
509
+ accountsWarnedAboutAnonymousNewsletter.clear()
510
+ }
511
+ accountsWarnedAboutAnonymousNewsletter.add(account)
512
+
513
+ // Name only the missing variables, so a partial setup is easy to spot.
514
+ const missing = [
515
+ !appKey && 'FS_NEWSLETTER_APP_KEY',
516
+ !appToken && 'FS_NEWSLETTER_APP_TOKEN',
517
+ ].filter(Boolean)
518
+
519
+ console.warn(
520
+ `[subscribeToNewsletter] ${missing.join(' and ')} ${missing.length > 1 ? 'are' : 'is'} not set. Falling back to an anonymous Master Data request, which requires public fields in the NL entity. Configure both credentials and make the NL fields private.`
521
+ )
522
+ }
523
+
455
524
  return fetchAPI(
456
525
  `${base}/api/dataentities/NL/documents/`,
457
526
  {
458
527
  ...BASE_INIT,
459
- body: JSON.stringify({ ...data, isNewsletterOptIn: true }),
528
+ body,
460
529
  method: 'PATCH',
461
530
  },
462
531
  { storeCookies }
@@ -14,6 +14,41 @@ interface FetchAPIOptions {
14
14
  storeCookies?: (headers: Headers) => void
15
15
  }
16
16
 
17
+ // Headers that may carry credentials: store API keys (`X-VTEX-API-AppKey`,
18
+ // `X-VTEX-API-AppToken`), shopper cookies (`Cookie`, `Set-Cookie`,
19
+ // `VtexIdclientAutCookie_*`), `Authorization`, and generic token, secret or
20
+ // API key headers. They are replaced before a failed request and its response
21
+ // are logged. Matched by substring so new credential headers are covered too.
22
+ const SENSITIVE_HEADER = /authorization|cookie|token|secret|api-?key|appkey/i
23
+
24
+ const REDACTED = '[redacted]'
25
+
26
+ export const redactHeaders = (
27
+ headers?: HeadersInit
28
+ ): Record<string, string> | undefined => {
29
+ if (!headers) {
30
+ return undefined
31
+ }
32
+
33
+ const redacted: Record<string, string> = {}
34
+ const add = (name: string, value: string) => {
35
+ redacted[name] = SENSITIVE_HEADER.test(name) ? REDACTED : value
36
+ }
37
+
38
+ if (Array.isArray(headers)) {
39
+ headers.forEach(([name, value]) => add(name, value))
40
+ } else if (typeof (headers as Headers).forEach === 'function') {
41
+ // Matches both the global `Headers` and the polyfill returned by
42
+ // `isomorphic-unfetch` on Node, which isn't an instance of the global one.
43
+ const headerList = headers as Headers
44
+ headerList.forEach((value, name) => add(name, value))
45
+ } else {
46
+ Object.entries(headers).forEach(([name, value]) => add(name, value))
47
+ }
48
+
49
+ return redacted
50
+ }
51
+
17
52
  export const fetchAPI = async (
18
53
  info: RequestInfo,
19
54
  init?: RequestInit,
@@ -35,7 +70,23 @@ export const fetchAPI = async (
35
70
  return response.status !== 204 ? response.json() : undefined
36
71
  }
37
72
 
38
- console.error(info, init, response)
73
+ // Log a summary instead of the raw Response, whose headers may include
74
+ // `Set-Cookie` with shopper credentials. The request body is omitted because
75
+ // it can carry personal data (e.g. the newsletter email and name).
76
+ console.error(
77
+ // Only the URL: a `Request` instance could carry unredacted headers.
78
+ typeof info === 'string' ? info : info.url,
79
+ init && {
80
+ ...init,
81
+ headers: redactHeaders(init.headers),
82
+ body: init.body ? REDACTED : undefined,
83
+ },
84
+ {
85
+ status: response.status,
86
+ statusText: response.statusText,
87
+ headers: redactHeaders(response.headers),
88
+ }
89
+ )
39
90
  const text = await response.text()
40
91
 
41
92
  // Check if response has a valid status property
@@ -3,12 +3,38 @@ import type {
3
3
  MutationSubscribeToNewsletterArgs,
4
4
  PersonNewsletter,
5
5
  } from '../../../__generated__/schema'
6
+ import { BadRequestError } from '../../errors'
7
+
8
+ const EMAIL_MAX_LENGTH = 254
9
+ const NAME_MAX_LENGTH = 100
10
+ // Character classes exclude `.`, so each domain label is matched once and the
11
+ // pattern stays linear on long inputs.
12
+ const EMAIL_PATTERN = /^[^\s@]+@[^\s@.]+(\.[^\s@.]+)+$/
6
13
 
7
14
  export const subscribeToNewsletter = async (
8
15
  _: any,
9
16
  { data }: MutationSubscribeToNewsletterArgs,
10
17
  { clients: { commerce } }: Context
11
18
  ): Promise<PersonNewsletter | null> => {
12
- const response = await commerce.subscribeToNewsletter(data)
19
+ // The subscription is written with a store credential, so only validated
20
+ // values reach Master Data (see "Authentication in API extensions").
21
+ const email = data.email?.trim().toLowerCase() ?? ''
22
+ const name = data.name?.trim() ?? ''
23
+
24
+ if (email.length > EMAIL_MAX_LENGTH || !EMAIL_PATTERN.test(email)) {
25
+ throw new BadRequestError('Invalid email')
26
+ }
27
+
28
+ if (name.length > NAME_MAX_LENGTH) {
29
+ throw new BadRequestError(
30
+ `Invalid name: must have at most ${NAME_MAX_LENGTH} characters`
31
+ )
32
+ }
33
+
34
+ const response = await commerce.subscribeToNewsletter({
35
+ email,
36
+ name: name || undefined,
37
+ })
38
+
13
39
  return { id: response?.Id }
14
40
  }