@kb0912/notification-brevo 2.0.8 → 2.1.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.
@@ -38,6 +38,7 @@ exports.sendAbandonedCartWorkflow = (0, workflows_sdk_1.createWorkflow)("send-ab
38
38
  const locale = (0, resolve_locale_1.resolveLocaleStep)({
39
39
  customerMetadata: carts[0].customer?.metadata,
40
40
  cartMetadata: carts[0].metadata,
41
+ phone: carts[0].customer?.phone,
41
42
  });
42
43
  const template = input._useDiscountTemplate ? "cart.abandoned.discount" : "cart.abandoned";
43
44
  const notificationData = [
@@ -59,4 +60,4 @@ exports.sendAbandonedCartWorkflow = (0, workflows_sdk_1.createWorkflow)("send-ab
59
60
  const notification = (0, send_notification_1.sendNotificationStep)(notificationData);
60
61
  return new workflows_sdk_1.WorkflowResponse(notification);
61
62
  });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1hYmFuZG9uZWQtY2FydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc2VuZC1hYmFuZG9uZWQtY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFDMUMsNERBQStEO0FBQy9ELGlFQUFnRTtBQUNoRSwyREFBMEQ7QUFFMUQsOERBQWlFO0FBV2pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUNqQyxrQ0FBa0MsRUFDbEMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUFDLENBQUE7UUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRVksUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELHFCQUFxQixFQUNyQixDQUFDLEtBQW9CLEVBQUUsRUFBRTtJQUN2QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFBO0lBRW5DLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN4QyxNQUFNLEVBQUUsTUFBTTtRQUNkLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixPQUFPO1lBQ1AsWUFBWTtZQUNaLFVBQVU7WUFDVixxQkFBcUI7WUFDckIsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLFNBQVM7U0FDVjtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFO0tBQzlCLENBQUMsQ0FBQTtJQUVGLGdEQUFnRDtJQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFpQixFQUFDO1FBQy9CLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUTtRQUM3QyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7S0FDaEMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUE7SUFFMUYsTUFBTSxnQkFBZ0IsR0FBNEI7UUFDaEQ7WUFDRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDbEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUTtZQUNSLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDZCxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7Z0JBQ3BDLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztnQkFDcEMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO2dCQUNsQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO2dCQUM5QyxTQUFTLEVBQUUsUUFBUTtnQkFDbkIsT0FBTyxFQUFFLE1BQU07YUFDaEI7U0FDRjtLQUNGLENBQUE7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLHdDQUFvQixFQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDM0QsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQzNDLENBQUMsQ0FDRixDQUFBIn0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1hYmFuZG9uZWQtY2FydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc2VuZC1hYmFuZG9uZWQtY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFDMUMsNERBQStEO0FBQy9ELGlFQUFnRTtBQUNoRSwyREFBMEQ7QUFFMUQsOERBQWlFO0FBV2pFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUNqQyxrQ0FBa0MsRUFDbEMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUFDLENBQUE7UUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRVksUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELHFCQUFxQixFQUNyQixDQUFDLEtBQW9CLEVBQUUsRUFBRTtJQUN2QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFBO0lBRW5DLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN4QyxNQUFNLEVBQUUsTUFBTTtRQUNkLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixPQUFPO1lBQ1AsWUFBWTtZQUNaLFVBQVU7WUFDVixxQkFBcUI7WUFDckIsb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLFNBQVM7U0FDVjtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFO0tBQzlCLENBQUMsQ0FBQTtJQUVGLGdEQUFnRDtJQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFpQixFQUFDO1FBQy9CLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUTtRQUM3QyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7UUFDL0IsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSztLQUNoQyxDQUFDLENBQUE7SUFFRixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQTtJQUUxRixNQUFNLGdCQUFnQixHQUE0QjtRQUNoRDtZQUNFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRO1lBQ1IsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNkLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztnQkFDcEMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO2dCQUNwQyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7Z0JBQ2xDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7Z0JBQzlDLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixPQUFPLEVBQUUsTUFBTTthQUNoQjtTQUNGO0tBQ0YsQ0FBQTtJQUVELE1BQU0sWUFBWSxHQUFHLElBQUEsd0NBQW9CLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUMzRCxPQUFPLElBQUksZ0NBQWdCLENBQUMsWUFBWSxDQUFDLENBQUE7QUFDM0MsQ0FBQyxDQUNGLENBQUEifQ==
@@ -26,6 +26,8 @@ const loadSettingsStep = (0, workflows_sdk_1.createStep)("load-settings-for-cust
26
26
  */
27
27
  const autoCreateAndSendPromotionStep = (0, workflows_sdk_1.createStep)("auto-create-and-send-promotion", async (input, { container }) => {
28
28
  const logger = container.resolve("logger");
29
+ const Modules = await import("@medusajs/framework/utils").then(m => m.Modules);
30
+ // ── Load settings ──
29
31
  let settings;
30
32
  try {
31
33
  const brevoSettingsService = container.resolve(brevo_settings_1.BREVO_SETTINGS_MODULE);
@@ -37,38 +39,67 @@ const autoCreateAndSendPromotionStep = (0, workflows_sdk_1.createStep)("auto-cre
37
39
  if (!settings?.promotion_auto_create) {
38
40
  return new workflows_sdk_1.StepResponse(null);
39
41
  }
40
- // Skip if customer doesn't have an account (guest)
41
- if (!input.hasAccount) {
42
- logger.info(`[Brevo] Skipping welcome promotion for ${input.email}: no account`);
42
+ // ── Load customer directly from DB (proven pattern from old subscriber) ──
43
+ const customerModuleService = container.resolve(Modules.CUSTOMER);
44
+ let customer;
45
+ try {
46
+ customer = await customerModuleService.retrieveCustomer(input.customerId);
47
+ }
48
+ catch (e) {
49
+ logger.error(`[Brevo] Could not retrieve customer ${input.customerId}: ${e?.message}`);
50
+ return new workflows_sdk_1.StepResponse(null);
51
+ }
52
+ if (!customer.has_account) {
53
+ logger.info(`[Brevo] Skipping welcome promotion for ${customer.email}: no account`);
43
54
  return new workflows_sdk_1.StepResponse(null);
44
55
  }
45
- // Skip if customer's country or phone prefix is in excluded list
46
- const excludedCountries = Array.isArray(settings.promotion_excluded_countries)
47
- ? settings.promotion_excluded_countries : [];
48
- if (excludedCountries.length > 0) {
49
- // Phone prefix → country lookup (common countries)
56
+ // ── Country exclusion: check phone prefix ──
57
+ // Parse excluded countries robustly (handle both array and stringified JSON)
58
+ let excludedCountries = [];
59
+ const rawExcluded = settings.promotion_excluded_countries;
60
+ if (Array.isArray(rawExcluded)) {
61
+ excludedCountries = rawExcluded;
62
+ }
63
+ else if (typeof rawExcluded === "string") {
64
+ try {
65
+ excludedCountries = JSON.parse(rawExcluded);
66
+ }
67
+ catch { /* ignore */ }
68
+ }
69
+ logger.info(`[Brevo] Welcome promotion check | email=${customer.email} | phone=${customer.phone} | excludedCountries=${JSON.stringify(excludedCountries)}`);
70
+ if (excludedCountries.length > 0 && customer.phone) {
71
+ // Phone prefix → country (match both +84 and 84 formats)
50
72
  const PHONE_PREFIXES = {
51
- "+84": "vn", "+66": "th", "+82": "kr", "+81": "jp",
52
- "+1": "us", "+44": "gb", "+86": "cn", "+91": "in",
53
- "+65": "sg", "+60": "my", "+62": "id", "+63": "ph",
54
- "+61": "au", "+64": "nz", "+49": "de", "+33": "fr",
55
- "+39": "it", "+34": "es", "+7": "ru", "+55": "br",
56
- "+52": "mx", "+971": "ae", "+966": "sa",
73
+ "+84": "vn", "84": "vn",
74
+ "+66": "th", "66": "th",
75
+ "+82": "kr", "82": "kr",
76
+ "+81": "jp", "81": "jp",
77
+ "+1": "us",
78
+ "+44": "gb", "44": "gb",
79
+ "+86": "cn", "86": "cn",
80
+ "+91": "in", "91": "in",
81
+ "+65": "sg", "65": "sg",
82
+ "+60": "my", "60": "my",
83
+ "+62": "id", "62": "id",
84
+ "+63": "ph", "63": "ph",
85
+ "+61": "au", "+64": "nz",
86
+ "+49": "de", "+33": "fr",
87
+ "+39": "it", "+34": "es",
88
+ "+971": "ae", "+966": "sa",
57
89
  "+886": "tw", "+852": "hk", "+853": "mo",
58
90
  };
59
- // Check phone prefix
60
- if (input.phone) {
61
- for (const [prefix, cc] of Object.entries(PHONE_PREFIXES)) {
62
- if (input.phone.startsWith(prefix) && excludedCountries.includes(cc)) {
63
- logger.info(`[Brevo] Skipping welcome promotion for ${input.email}: excluded country ${cc} (phone ${prefix})`);
64
- return new workflows_sdk_1.StepResponse(null);
65
- }
91
+ // Sort by prefix length descending to match longer prefixes first (+886 before +8)
92
+ const sortedPrefixes = Object.entries(PHONE_PREFIXES).sort((a, b) => b[0].length - a[0].length);
93
+ for (const [prefix, cc] of sortedPrefixes) {
94
+ if (customer.phone.startsWith(prefix) && excludedCountries.includes(cc)) {
95
+ logger.info(`[Brevo] Skipping welcome promotion for ${customer.email}: excluded country ${cc} (phone ${prefix})`);
96
+ return new workflows_sdk_1.StepResponse(null);
66
97
  }
67
98
  }
68
99
  }
100
+ // ── Create promotion ──
69
101
  try {
70
- const promotionService = container.resolve("promotion");
71
- const customerService = container.resolve("customer");
102
+ const promotionService = container.resolve(Modules.PROMOTION);
72
103
  const discountType = settings.promotion_discount_type || "percentage";
73
104
  const discountValue = settings.promotion_discount_value || 10;
74
105
  const expiryDays = settings.promotion_expiry_days || 30;
@@ -76,8 +107,8 @@ const autoCreateAndSendPromotionStep = (0, workflows_sdk_1.createStep)("auto-cre
76
107
  const excludedCurrencies = Array.isArray(settings.promotion_excluded_currencies)
77
108
  ? settings.promotion_excluded_currencies : [];
78
109
  const codePrefix = (settings.promotion_code_prefix || "WELCOME").toUpperCase();
79
- // Generate unique 8-char alphanumeric suffix
80
- const chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"; // no I/O/0/1 to avoid confusion
110
+ // Generate unique code (same format as old subscriber: PREFIX-XXXXXXXX)
111
+ const chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
81
112
  let suffix = "";
82
113
  for (let i = 0; i < 8; i++)
83
114
  suffix += chars[Math.floor(Math.random() * chars.length)];
@@ -86,10 +117,8 @@ const autoCreateAndSendPromotionStep = (0, workflows_sdk_1.createStep)("auto-cre
86
117
  const endsAt = new Date(Date.now() + expiryDays * 24 * 60 * 60 * 1000);
87
118
  // Build promotion rules
88
119
  const rules = [
89
- // Lock to this specific customer
90
- { attribute: "customer_id", operator: "eq", values: [input.customerId] },
120
+ { attribute: "customer_id", operator: "eq", values: [customer.id] },
91
121
  ];
92
- // Exclude currencies
93
122
  for (const cur of excludedCurrencies) {
94
123
  rules.push({ attribute: "currency_code", operator: "ne", values: [cur] });
95
124
  }
@@ -100,7 +129,7 @@ const autoCreateAndSendPromotionStep = (0, workflows_sdk_1.createStep)("auto-cre
100
129
  status: "active",
101
130
  rules,
102
131
  campaign: {
103
- name: `Welcome - ${input.email}`,
132
+ name: `Welcome - ${customer.email} - ${customer.phone}`,
104
133
  campaign_identifier: `welcome-${code}`,
105
134
  starts_at: startsAt,
106
135
  ends_at: endsAt,
@@ -111,26 +140,26 @@ const autoCreateAndSendPromotionStep = (0, workflows_sdk_1.createStep)("auto-cre
111
140
  value: discountValue,
112
141
  target_type: "order",
113
142
  max_quantity: 1,
114
- currency_code: isPercentage ? undefined : (input.currencyCode || "usd"),
143
+ currency_code: isPercentage ? undefined : (customer.currency_code || "usd"),
115
144
  },
116
145
  });
117
146
  // Store in customer metadata for expiry reminder tracking
118
- await customerService.updateCustomers(input.customerId, {
147
+ await customerModuleService.updateCustomers(customer.id, {
119
148
  metadata: {
120
149
  welcome_promotion_code: code,
121
150
  welcome_promotion_expires_at: endsAt.toISOString(),
122
151
  },
123
152
  });
124
- logger.info(`[Brevo] Created welcome promotion ${code} for ${input.email}`);
153
+ logger.info(`[Brevo] Created welcome promotion ${code} for ${customer.email}`);
125
154
  // Send the promotion email
126
155
  const notificationService = container.resolve("notification");
127
156
  await notificationService.createNotifications({
128
- to: input.email,
157
+ to: customer.email,
129
158
  channel: "email",
130
159
  template: "promotion-new-customer",
131
160
  data: {
132
- first_name: input.firstName,
133
- last_name: input.lastName,
161
+ first_name: customer.first_name,
162
+ last_name: customer.last_name,
134
163
  promotion_code: code,
135
164
  discount_value: discountValue,
136
165
  discount_type: discountType,
@@ -139,7 +168,7 @@ const autoCreateAndSendPromotionStep = (0, workflows_sdk_1.createStep)("auto-cre
139
168
  _locale: input.locale,
140
169
  },
141
170
  });
142
- logger.info(`[Brevo] Promotion email sent to ${input.email} with code ${code}`);
171
+ logger.info(`[Brevo] Promotion email sent to ${customer.email} with code ${code}`);
143
172
  return new workflows_sdk_1.StepResponse({ promotion_code: code });
144
173
  }
145
174
  catch (error) {
@@ -157,6 +186,7 @@ exports.sendCustomerCreatedWorkflow = (0, workflows_sdk_1.createWorkflow)("send-
157
186
  // Resolve customer preferred language
158
187
  const locale = (0, resolve_locale_1.resolveLocaleStep)({
159
188
  customerMetadata: customers[0].metadata,
189
+ phone: customers[0].phone,
160
190
  });
161
191
  const notification = (0, send_notification_1.sendNotificationStep)([
162
192
  {
@@ -186,13 +216,8 @@ exports.sendCustomerCreatedWorkflow = (0, workflows_sdk_1.createWorkflow)("send-
186
216
  // Auto-create welcome promotion + send email (single step)
187
217
  autoCreateAndSendPromotionStep({
188
218
  customerId: customers[0].id,
189
- email: customers[0].email,
190
- firstName: customers[0].first_name,
191
- lastName: customers[0].last_name,
192
- phone: customers[0].phone,
193
- hasAccount: customers[0].has_account,
194
219
  locale,
195
220
  });
196
221
  return new workflows_sdk_1.WorkflowResponse(notification);
197
222
  });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1jdXN0b21lci1jcmVhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zZW5kLWN1c3RvbWVyLWNyZWF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzBDO0FBQzFDLDREQUErRDtBQUMvRCxpRUFBZ0U7QUFDaEUsbUVBQWlFO0FBQ2pFLGlFQUErRDtBQUMvRCwyREFBMEQ7QUFDMUQsOERBQWlFO0FBTWpFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUNqQyxvQ0FBb0MsRUFDcEMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUFDLENBQUE7UUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLDhCQUE4QixHQUFHLElBQUEsMEJBQVUsRUFDL0MsZ0NBQWdDLEVBQ2hDLEtBQUssRUFBRSxLQVNOLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2xCLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFMUMsSUFBSSxRQUFhLENBQUE7SUFDakIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUFDLENBQUE7UUFDMUUsUUFBUSxHQUFHLE1BQU0sb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDckQsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sSUFBSSw0QkFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFRCxJQUFJLENBQUMsUUFBUSxFQUFFLHFCQUFxQixFQUFFLENBQUM7UUFDckMsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQUVELG1EQUFtRDtJQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsMENBQTBDLEtBQUssQ0FBQyxLQUFLLGNBQWMsQ0FBQyxDQUFBO1FBQ2hGLE9BQU8sSUFBSSw0QkFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9CLENBQUM7SUFFRCxpRUFBaUU7SUFDakUsTUFBTSxpQkFBaUIsR0FBYSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQztRQUN0RixDQUFDLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFOUMsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakMsbURBQW1EO1FBQ25ELE1BQU0sY0FBYyxHQUEyQjtZQUM3QyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtZQUNsRCxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtZQUNqRCxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtZQUNsRCxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtZQUNsRCxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtZQUNqRCxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUk7WUFDdkMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJO1NBQ3pDLENBQUE7UUFFRCxxQkFBcUI7UUFDckIsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDckUsTUFBTSxDQUFDLElBQUksQ0FBQywwQ0FBMEMsS0FBSyxDQUFDLEtBQUssc0JBQXNCLEVBQUUsV0FBVyxNQUFNLEdBQUcsQ0FBQyxDQUFBO29CQUM5RyxPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDL0IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILE1BQU0sZ0JBQWdCLEdBQVEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM1RCxNQUFNLGVBQWUsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRTFELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsSUFBSSxZQUFZLENBQUE7UUFDckUsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLHdCQUF3QixJQUFJLEVBQUUsQ0FBQTtRQUM3RCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMscUJBQXFCLElBQUksRUFBRSxDQUFBO1FBQ3ZELE1BQU0sWUFBWSxHQUFHLFlBQVksS0FBSyxZQUFZLENBQUE7UUFDbEQsTUFBTSxrQkFBa0IsR0FBYSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyw2QkFBNkIsQ0FBQztZQUN4RixDQUFDLENBQUMsUUFBUSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFDL0MsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFRLENBQUMscUJBQXFCLElBQUksU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFOUUsNkNBQTZDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLGtDQUFrQyxDQUFBLENBQUMsZ0NBQWdDO1FBQ2pGLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNmLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNyRixNQUFNLElBQUksR0FBRyxHQUFHLFVBQVUsSUFBSSxNQUFNLEVBQUUsQ0FBQTtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFBO1FBQzNCLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFFdEUsd0JBQXdCO1FBQ3hCLE1BQU0sS0FBSyxHQUFVO1lBQ25CLGlDQUFpQztZQUNqQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7U0FDekUsQ0FBQTtRQUNELHFCQUFxQjtRQUNyQixLQUFLLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDckMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDM0UsQ0FBQztRQUVELE1BQU0sZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7WUFDdEMsSUFBSTtZQUNKLElBQUksRUFBRSxVQUFVO1lBQ2hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEtBQUs7WUFDTCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLGFBQWEsS0FBSyxDQUFDLEtBQUssRUFBRTtnQkFDaEMsbUJBQW1CLEVBQUUsV0FBVyxJQUFJLEVBQUU7Z0JBQ3RDLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixPQUFPLEVBQUUsTUFBTTtnQkFDZixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7YUFDcEM7WUFDRCxrQkFBa0IsRUFBRTtnQkFDbEIsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPO2dCQUMzQyxLQUFLLEVBQUUsYUFBYTtnQkFDcEIsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLFlBQVksRUFBRSxDQUFDO2dCQUNmLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQzthQUN4RTtTQUNGLENBQUMsQ0FBQTtRQUVGLDBEQUEwRDtRQUMxRCxNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUN0RCxRQUFRLEVBQUU7Z0JBQ1Isc0JBQXNCLEVBQUUsSUFBSTtnQkFDNUIsNEJBQTRCLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRTthQUNuRDtTQUNGLENBQUMsQ0FBQTtRQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMscUNBQXFDLElBQUksUUFBUSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUUzRSwyQkFBMkI7UUFDM0IsTUFBTSxtQkFBbUIsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ2xFLE1BQU0sbUJBQW1CLENBQUMsbUJBQW1CLENBQUM7WUFDNUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2YsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxJQUFJLEVBQUU7Z0JBQ0osVUFBVSxFQUFFLEtBQUssQ0FBQyxTQUFTO2dCQUMzQixTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVE7Z0JBQ3pCLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixjQUFjLEVBQUUsYUFBYTtnQkFDN0IsYUFBYSxFQUFFLFlBQVk7Z0JBQzNCLE9BQU8sRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFO2dCQUM3QixTQUFTLEVBQUUsUUFBUTtnQkFDbkIsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNO2FBQ3RCO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsS0FBSyxDQUFDLEtBQUssY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQy9FLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7UUFDcEIsTUFBTSxDQUFDLEtBQUssQ0FBQyx5Q0FBeUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7UUFDdkUsT0FBTyxJQUFJLDRCQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRVksUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDhCQUFjLEVBQ3ZELHVCQUF1QixFQUN2QixDQUFDLEVBQUUsRUFBRSxFQUFpQixFQUFFLEVBQUU7SUFDeEIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtJQUVuQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDNUMsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUM7UUFDNUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQ2hCLENBQUMsQ0FBQTtJQUVGLHNDQUFzQztJQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFpQixFQUFDO1FBQy9CLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO0tBQ3hDLENBQUMsQ0FBQTtJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUEsd0NBQW9CLEVBQUM7UUFDeEM7WUFDRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixPQUFPLEVBQUUsTUFBTTthQUNoQjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsc0NBQXNDO0lBQ3RDLElBQUEseUNBQW9CLEVBQUM7UUFDbkIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQ3pCLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUNsQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDaEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO0tBQzFCLENBQUMsQ0FBQTtJQUVGLGdDQUFnQztJQUNoQyxJQUFBLHVDQUFtQixFQUFDO1FBQ2xCLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztRQUN6QixLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0tBQzVDLENBQUMsQ0FBQTtJQUVGLDJEQUEyRDtJQUMzRCw4QkFBOEIsQ0FBQztRQUM3QixVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDM0IsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQ3pCLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUNsQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDaEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQ3pCLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVztRQUNwQyxNQUFNO0tBQ1AsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQzNDLENBQUMsQ0FDRixDQUFBIn0=
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1jdXN0b21lci1jcmVhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zZW5kLWN1c3RvbWVyLWNyZWF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBSzBDO0FBQzFDLDREQUErRDtBQUMvRCxpRUFBZ0U7QUFDaEUsbUVBQWlFO0FBQ2pFLGlFQUErRDtBQUMvRCwyREFBMEQ7QUFDMUQsOERBQWlFO0FBTWpFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUNqQyxvQ0FBb0MsRUFDcEMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUFDLENBQUE7UUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLDhCQUE4QixHQUFHLElBQUEsMEJBQVUsRUFDL0MsZ0NBQWdDLEVBQ2hDLEtBQUssRUFBRSxLQUdOLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2xCLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFOUUsc0JBQXNCO0lB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
@@ -23,12 +23,14 @@ exports.sendOrderCanceledWorkflow = (0, workflows_sdk_1.createWorkflow)("send-or
23
23
  fields: [
24
24
  "id", "email", "display_id",
25
25
  "shipping_address.*", "billing_address.*",
26
- "customer.metadata",
26
+ "customer.metadata", "customer.phone",
27
27
  ],
28
28
  filters: { id },
29
29
  });
30
30
  const locale = (0, resolve_locale_1.resolveLocaleStep)({
31
31
  customerMetadata: orders[0].customer?.metadata,
32
+ phone: orders[0].customer?.phone || orders[0].shipping_address?.phone,
33
+ countryCode: orders[0].shipping_address?.country_code,
32
34
  });
33
35
  const notification = (0, send_notification_1.sendNotificationStep)([
34
36
  {
@@ -44,4 +46,4 @@ exports.sendOrderCanceledWorkflow = (0, workflows_sdk_1.createWorkflow)("send-or
44
46
  ]);
45
47
  return new workflows_sdk_1.WorkflowResponse(notification);
46
48
  });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1vcmRlci1jYW5jZWxlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc2VuZC1vcmRlci1jYW5jZWxlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFDMUMsNERBQStEO0FBQy9ELGlFQUFnRTtBQUNoRSwyREFBMEQ7QUFDMUQsOERBQWlFO0FBTWpFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUNqQyxrQ0FBa0MsRUFDbEMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUFDLENBQUE7UUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRVksUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELHFCQUFxQixFQUNyQixDQUFDLEVBQUUsRUFBRSxFQUFpQixFQUFFLEVBQUU7SUFDeEIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtJQUVuQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDekMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVk7WUFDM0Isb0JBQW9CLEVBQUUsbUJBQW1CO1lBQ3pDLG1CQUFtQjtTQUNwQjtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRTtLQUNoQixDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFpQixFQUFDO1FBQy9CLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUTtLQUMvQyxDQUFDLENBQUE7SUFFRixNQUFNLFlBQVksR0FBRyxJQUFBLHdDQUFvQixFQUFDO1FBQ3hDO1lBQ0UsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ25CLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNoQixTQUFTLEVBQUUsUUFBUTtnQkFDbkIsT0FBTyxFQUFFLE1BQU07YUFDaEI7U0FDRjtLQUNGLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtBQUMzQyxDQUFDLENBQ0YsQ0FBQSJ9
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1vcmRlci1jYW5jZWxlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc2VuZC1vcmRlci1jYW5jZWxlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFDMUMsNERBQStEO0FBQy9ELGlFQUFnRTtBQUNoRSwyREFBMEQ7QUFDMUQsOERBQWlFO0FBTWpFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUNqQyxrQ0FBa0MsRUFDbEMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUFDLENBQUE7UUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRVksUUFBQSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQ3JELHFCQUFxQixFQUNyQixDQUFDLEVBQUUsRUFBRSxFQUFpQixFQUFFLEVBQUU7SUFDeEIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtJQUVuQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDekMsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVk7WUFDM0Isb0JBQW9CLEVBQUUsbUJBQW1CO1lBQ3pDLG1CQUFtQixFQUFFLGdCQUFnQjtTQUN0QztRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRTtLQUNoQixDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFpQixFQUFDO1FBQy9CLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUTtRQUM5QyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEtBQUs7UUFDckUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZO0tBQ3RELENBQUMsQ0FBQTtJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUEsd0NBQW9CLEVBQUM7UUFDeEM7WUFDRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDbkIsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixPQUFPLEVBQUUsTUFBTTthQUNoQjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQzNDLENBQUMsQ0FDRixDQUFBIn0=
@@ -29,13 +29,15 @@ exports.sendOrderConfirmationWorkflow = (0, workflows_sdk_1.createWorkflow)("sen
29
29
  "billing_address.*", "shipping_address.*",
30
30
  "payment_collections.*", "payment_collections.payments.*",
31
31
  "fulfillments.*", "shipping_methods.*",
32
- "customer.metadata",
32
+ "customer.metadata", "customer.phone",
33
33
  ],
34
34
  filters: { id },
35
35
  });
36
36
  // Resolve customer preferred language
37
37
  const locale = (0, resolve_locale_1.resolveLocaleStep)({
38
38
  customerMetadata: orders[0].customer?.metadata,
39
+ phone: orders[0].customer?.phone || orders[0].shipping_address?.phone,
40
+ countryCode: orders[0].shipping_address?.country_code,
39
41
  });
40
42
  // Send email notification
41
43
  const notificationData = [
@@ -78,4 +80,4 @@ exports.sendOrderConfirmationWorkflow = (0, workflows_sdk_1.createWorkflow)("sen
78
80
  });
79
81
  return new workflows_sdk_1.WorkflowResponse(notification);
80
82
  });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1vcmRlci1jb25maXJtYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3NlbmQtb3JkZXItY29uZmlybWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0QsaUVBQWdFO0FBQ2hFLG1FQUFpRTtBQUNqRSxpRUFBK0Q7QUFDL0QsbUVBQWlFO0FBQ2pFLDJEQUEwRDtBQUUxRCw4REFBaUU7QUFNakUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQ2xDLHNDQUFzQyxFQUN0QyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMxQixJQUFJLENBQUM7UUFDSixNQUFNLG9CQUFvQixHQUFRLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXFCLENBQUMsQ0FBQTtRQUMxRSxNQUFNLFFBQVEsR0FBRyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3pELE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM1QixDQUFDO0FBQ0YsQ0FBQyxDQUNELENBQUE7QUFFWSxRQUFBLDZCQUE2QixHQUFHLElBQUEsOEJBQWMsRUFDMUQseUJBQXlCLEVBQ3pCLENBQUMsRUFBRSxFQUFFLEVBQWlCLEVBQUUsRUFBRTtJQUN6QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFBO0lBRW5DLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUMxQyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRTtZQUNQLEdBQUcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWTtZQUMvRCxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLFNBQVM7WUFDbkQsbUJBQW1CLEVBQUUsb0JBQW9CO1lBQ3pDLHVCQUF1QixFQUFFLGdDQUFnQztZQUN6RCxnQkFBZ0IsRUFBRSxvQkFBb0I7WUFDdEMsbUJBQW1CO1NBQ25CO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQ2YsQ0FBQyxDQUFBO0lBRUYsc0NBQXNDO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUEsa0NBQWlCLEVBQUM7UUFDaEMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxRQUFRO0tBQzlDLENBQUMsQ0FBQTtJQUVGLDBCQUEwQjtJQUMxQixNQUFNLGdCQUFnQixHQUE0QjtRQUNqRDtZQUNDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNuQixPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsY0FBYztZQUN4QixJQUFJLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixPQUFPLEVBQUUsTUFBTTthQUNmO1NBQ0Q7S0FDRCxDQUFBO0lBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBQSx3Q0FBb0IsRUFBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBRTNELHdCQUF3QjtJQUN4QixJQUFBLHlDQUFvQixFQUFDO1FBQ3BCLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztRQUN0QixTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLFVBQVU7UUFDakQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTO1FBQy9DLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtLQUNyQixDQUFDLENBQUE7SUFFRixvQkFBb0I7SUFDcEIsSUFBQSx1Q0FBbUIsRUFBQztRQUNuQixLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDdEIsS0FBSyxFQUFFLGNBQWM7UUFDckIsU0FBUyxFQUFFO1lBQ1YsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3RCLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtZQUNoQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdEIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhO1NBQ3RDO0tBQ0QsQ0FBQyxDQUFBO0lBRUYsaUJBQWlCO0lBQ2pCLElBQUEseUNBQW9CLEVBQUM7UUFDcEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsS0FBSztRQUN4QyxLQUFLLEVBQUUsY0FBYztRQUNyQixTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7S0FDL0IsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQzFDLENBQUMsQ0FDRCxDQUFBIn0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1vcmRlci1jb25maXJtYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3NlbmQtb3JkZXItY29uZmlybWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0QsaUVBQWdFO0FBQ2hFLG1FQUFpRTtBQUNqRSxpRUFBK0Q7QUFDL0QsbUVBQWlFO0FBQ2pFLDJEQUEwRDtBQUUxRCw4REFBaUU7QUFNakUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQ2xDLHNDQUFzQyxFQUN0QyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUMxQixJQUFJLENBQUM7UUFDSixNQUFNLG9CQUFvQixHQUFRLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXFCLENBQUMsQ0FBQTtRQUMxRSxNQUFNLFFBQVEsR0FBRyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3pELE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM1QixDQUFDO0FBQ0YsQ0FBQyxDQUNELENBQUE7QUFFWSxRQUFBLDZCQUE2QixHQUFHLElBQUEsOEJBQWMsRUFDMUQseUJBQXlCLEVBQ3pCLENBQUMsRUFBRSxFQUFFLEVBQWlCLEVBQUUsRUFBRTtJQUN6QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFBO0lBRW5DLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUMxQyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRTtZQUNQLEdBQUcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFB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
@@ -26,13 +26,15 @@ exports.sendOrderDeliveredWorkflow = (0, workflows_sdk_1.createWorkflow)("send-o
26
26
  "order.email",
27
27
  "order.shipping_address.*",
28
28
  "order.items.*",
29
- "order.customer.metadata",
29
+ "order.customer.metadata", "order.customer.phone",
30
30
  "labels.*",
31
31
  ],
32
32
  filters: { id },
33
33
  });
34
34
  const locale = (0, resolve_locale_1.resolveLocaleStep)({
35
35
  customerMetadata: fulfillments[0].order?.customer?.metadata,
36
+ phone: fulfillments[0].order?.customer?.phone || fulfillments[0].order?.shipping_address?.phone,
37
+ countryCode: fulfillments[0].order?.shipping_address?.country_code,
36
38
  });
37
39
  const notificationData = [
38
40
  {
@@ -49,4 +51,4 @@ exports.sendOrderDeliveredWorkflow = (0, workflows_sdk_1.createWorkflow)("send-o
49
51
  const notification = (0, send_notification_1.sendNotificationStep)(notificationData);
50
52
  return new workflows_sdk_1.WorkflowResponse(notification);
51
53
  });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1vcmRlci1kZWxpdmVyZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3NlbmQtb3JkZXItZGVsaXZlcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE4RztBQUM5Ryw0REFBK0Q7QUFDL0QsaUVBQWdFO0FBQ2hFLDJEQUEwRDtBQUUxRCw4REFBaUU7QUFNakUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQy9CLDZCQUE2QixFQUM3QixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2QixJQUFJLENBQUM7UUFDRCxNQUFNLG9CQUFvQixHQUFRLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXFCLENBQUMsQ0FBQTtRQUMxRSxNQUFNLFFBQVEsR0FBRyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3pELE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDTCxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUMvQixDQUFDO0FBQ0wsQ0FBQyxDQUNKLENBQUE7QUFFWSxRQUFBLDBCQUEwQixHQUFHLElBQUEsOEJBQWMsRUFDcEQsc0JBQXNCLEVBQ3RCLENBQUMsRUFBRSxFQUFFLEVBQWlCLEVBQUUsRUFBRTtJQUN0QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFBO0lBRW5DLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUM3QyxNQUFNLEVBQUUsYUFBYTtRQUNyQixNQUFNLEVBQUU7WUFDSixHQUFHO1lBQ0gsU0FBUztZQUNULGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsZUFBZTtZQUNmLHlCQUF5QjtZQUN6QixVQUFVO1NBQ2I7UUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUU7S0FDbEIsQ0FBQyxDQUFBO0lBRUYsTUFBTSxNQUFNLEdBQUcsSUFBQSxrQ0FBaUIsRUFBQztRQUM3QixnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRO0tBQzlELENBQUMsQ0FBQTtJQUVGLE1BQU0sZ0JBQWdCLEdBQTRCO1FBQzlDO1lBQ0ksRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSztZQUMvQixPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLElBQUksRUFBRTtnQkFDRixXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFDNUIsU0FBUyxFQUFFLFFBQVE7Z0JBQ25CLE9BQU8sRUFBRSxNQUFNO2FBQ2xCO1NBQ0o7S0FDSixDQUFBO0lBRUQsTUFBTSxZQUFZLEdBQUcsSUFBQSx3Q0FBb0IsRUFBQyxnQkFBZ0IsQ0FBQyxDQUFBO0lBQzNELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtBQUM3QyxDQUFDLENBQ0osQ0FBQSJ9
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1vcmRlci1kZWxpdmVyZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3NlbmQtb3JkZXItZGVsaXZlcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE4RztBQUM5Ryw0REFBK0Q7QUFDL0QsaUVBQWdFO0FBQ2hFLDJEQUEwRDtBQUUxRCw4REFBaUU7QUFNakUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFVLEVBQy9CLDZCQUE2QixFQUM3QixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN2QixJQUFJLENBQUM7UUFDRCxNQUFNLG9CQUFvQixHQUFRLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXFCLENBQUMsQ0FBQTtRQUMxRSxNQUFNLFFBQVEsR0FBRyxNQUFNLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3pELE9BQU8sSUFBSSw0QkFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDTCxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUMvQixDQUFDO0FBQ0wsQ0FBQyxDQUNKLENBQUE7QUFFWSxRQUFBLDBCQUEwQixHQUFHLElBQUEsOEJBQWMsRUFDcEQsc0JBQXNCLEVBQ3RCLENBQUMsRUFBRSxFQUFFLEVBQWlCLEVBQUUsRUFBRTtJQUN0QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFBO0lBRW5DLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUM3QyxNQUFNLEVBQUUsYUFBYTtRQUNyQixNQUFNLEVBQUU7WUFDSixHQUFHO1lBQ0gsU0FBUztZQUNULGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsZUFBZTtZQUNmLHlCQUF5QixFQUFFLHNCQUFzQjtZQUNqRCxVQUFVO1NBQ2I7UUFDRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUU7S0FDbEIsQ0FBQyxDQUFBO0lBRUYsTUFBTSxNQUFNLEdBQUcsSUFBQSxrQ0FBaUIsRUFBQztRQUM3QixnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRO1FBQzNELEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLO1FBQy9GLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFlBQVk7S0FDckUsQ0FBQyxDQUFBO0lBRUYsTUFBTSxnQkFBZ0IsR0FBNEI7UUFDOUM7WUFDSSxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQy9CLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsSUFBSSxFQUFFO2dCQUNGLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixTQUFTLEVBQUUsUUFBUTtnQkFDbkIsT0FBTyxFQUFFLE1BQU07YUFDbEI7U0FDSjtLQUNKLENBQUE7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLHdDQUFvQixFQUFDLGdCQUFnQixDQUFDLENBQUE7SUFDM0QsT0FBTyxJQUFJLGdDQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQzdDLENBQUMsQ0FDSixDQUFBIn0=
@@ -31,13 +31,15 @@ exports.sendShipmentConfirmationWorkflow = (0, workflows_sdk_1.createWorkflow)("
31
31
  "order.billing_address.*",
32
32
  "order.items.*",
33
33
  "order.shipping_methods.*",
34
- "order.customer.metadata",
34
+ "order.customer.metadata", "order.customer.phone",
35
35
  "labels.*",
36
36
  ],
37
37
  filters: { id },
38
38
  });
39
39
  const locale = (0, resolve_locale_1.resolveLocaleStep)({
40
40
  customerMetadata: fulfillments[0].order?.customer?.metadata,
41
+ phone: fulfillments[0].order?.customer?.phone || fulfillments[0].order?.shipping_address?.phone,
42
+ countryCode: fulfillments[0].order?.shipping_address?.country_code,
41
43
  });
42
44
  const notificationData = [
43
45
  {
@@ -61,4 +63,4 @@ exports.sendShipmentConfirmationWorkflow = (0, workflows_sdk_1.createWorkflow)("
61
63
  });
62
64
  return new workflows_sdk_1.WorkflowResponse(notification);
63
65
  });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1zaGlwbWVudC1jb25maXJtYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3NlbmQtc2hpcG1lbnQtY29uZmlybWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0QsaUVBQWdFO0FBQ2hFLG1FQUFpRTtBQUNqRSwyREFBMEQ7QUFFMUQsOERBQWlFO0FBTWpFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUNqQyx5Q0FBeUMsRUFDekMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUFDLENBQUE7UUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRVksUUFBQSxnQ0FBZ0MsR0FBRyxJQUFBLDhCQUFjLEVBQzVELDRCQUE0QixFQUM1QixDQUFDLEVBQUUsRUFBRSxFQUFpQixFQUFFLEVBQUU7SUFDeEIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtJQUVuQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDL0MsTUFBTSxFQUFFLGFBQWE7UUFDckIsTUFBTSxFQUFFO1lBQ04sR0FBRztZQUNILElBQUk7WUFDSixrQkFBa0I7WUFDbEIsU0FBUztZQUNULGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIseUJBQXlCO1lBQ3pCLGVBQWU7WUFDZiwwQkFBMEI7WUFDMUIseUJBQXlCO1lBQ3pCLFVBQVU7U0FDWDtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRTtLQUNoQixDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFpQixFQUFDO1FBQy9CLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVE7S0FDNUQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxnQkFBZ0IsR0FBNEI7UUFDaEQ7WUFDRSxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQy9CLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsSUFBSSxFQUFFO2dCQUNKLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixTQUFTLEVBQUUsUUFBUTtnQkFDbkIsT0FBTyxFQUFFLE1BQU07YUFDaEI7U0FDRjtLQUNGLENBQUE7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLHdDQUFvQixFQUFDLGdCQUFnQixDQUFDLENBQUE7SUFFM0QsaUJBQWlCO0lBQ2pCLElBQUEseUNBQW9CLEVBQUM7UUFDbkIsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSztRQUNsQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLO1FBQ3BELEtBQUssRUFBRSxrQkFBa0I7UUFDekIsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVTtLQUM1QyxDQUFDLENBQUE7SUFFRixPQUFPLElBQUksZ0NBQWdCLENBQUMsWUFBWSxDQUFDLENBQUE7QUFDM0MsQ0FBQyxDQUNGLENBQUEifQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1zaGlwbWVudC1jb25maXJtYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3NlbmQtc2hpcG1lbnQtY29uZmlybWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0QsaUVBQWdFO0FBQ2hFLG1FQUFpRTtBQUNqRSwyREFBMEQ7QUFFMUQsOERBQWlFO0FBTWpFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQkFBVSxFQUNqQyx5Q0FBeUMsRUFDekMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDekIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxvQkFBb0IsR0FBUSxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFxQixDQUFDLENBQUE7UUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtRQUN6RCxPQUFPLElBQUksNEJBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxJQUFJLDRCQUFZLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBO0FBRVksUUFBQSxnQ0FBZ0MsR0FBRyxJQUFBLDhCQUFjLEVBQzVELDRCQUE0QixFQUM1QixDQUFDLEVBQUUsRUFBRSxFQUFpQixFQUFFLEVBQUU7SUFDeEIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQTtJQUVuQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUEsOEJBQWlCLEVBQUM7UUFDL0MsTUFBTSxFQUFFLGFBQWE7UUFDckIsTUFBTSxFQUFFO1lBQ04sR0FBRztZQUNILElBQUk7WUFDSixrQkFBa0I7WUFDbEIsU0FBUztZQUNULGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIseUJBQXlCO1lBQ3pCLGVBQWU7WUFDZiwwQkFBMEI7WUFDMUIseUJBQXlCLEVBQUUsc0JBQXNCO1lBQ2pELFVBQVU7U0FDWDtRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRTtLQUNoQixDQUFDLENBQUE7SUFFRixNQUFNLE1BQU0sR0FBRyxJQUFBLGtDQUFpQixFQUFDO1FBQy9CLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVE7UUFDM0QsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLEtBQUs7UUFDL0YsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWTtLQUNuRSxDQUFDLENBQUE7SUFFRixNQUFNLGdCQUFnQixHQUE0QjtRQUNoRDtZQUNFLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDL0IsT0FBTyxFQUFFLE9BQU87WUFDaEIsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixJQUFJLEVBQUU7Z0JBQ0osV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQzVCLFNBQVMsRUFBRSxRQUFRO2dCQUNuQixPQUFPLEVBQUUsTUFBTTthQUNoQjtTQUNGO0tBQ0YsQ0FBQTtJQUVELE1BQU0sWUFBWSxHQUFHLElBQUEsd0NBQW9CLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUUzRCxpQkFBaUI7SUFDakIsSUFBQSx5Q0FBb0IsRUFBQztRQUNuQixLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLO1FBQ2xDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUs7UUFDcEQsS0FBSyxFQUFFLGtCQUFrQjtRQUN6QixTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVO0tBQzVDLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQTtBQUMzQyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -58,6 +58,7 @@ const checkAbandonedCartsStep = (0, workflows_sdk_1.createStep)("check-abandoned
58
58
  "currency_code", "items.id", "items.updated_at",
59
59
  "customer.id", "customer.first_name", "customer.last_name",
60
60
  "shipping_address.country_code", "shipping_address.phone",
61
+ "region.countries.iso_2", "region.currency_code",
61
62
  ],
62
63
  filters: {
63
64
  completed_at: null,
@@ -109,8 +110,51 @@ const checkAbandonedCartsStep = (0, workflows_sdk_1.createStep)("check-abandoned
109
110
  .filter((k) => !!notifiedFlags[k]).length;
110
111
  if (emailsSent >= (settings.abandoned_cart_max_emails || sortedIntervals.length))
111
112
  continue;
113
+ // ── Country exclusion: only skip DISCOUNT (coupon), NOT the email ──
114
+ const excludedCountries = Array.isArray(settings.abandoned_cart_discount_excluded_countries)
115
+ ? settings.abandoned_cart_discount_excluded_countries : [];
116
+ let countryExcluded = false;
117
+ if (excludedCountries.length > 0) {
118
+ // 1. Check shipping address country (most specific)
119
+ const cc = cart.shipping_address?.country_code?.toLowerCase();
120
+ if (cc && excludedCountries.includes(cc)) {
121
+ countryExcluded = true;
122
+ logger.info(`[Brevo] Country ${cc} excluded from discount for ${cart.email} (shipping address)`);
123
+ }
124
+ // 2. Check region countries (fallback when no shipping address)
125
+ if (!countryExcluded && cart.region?.countries?.length) {
126
+ const regionCountries = cart.region.countries.map((c) => c.iso_2?.toLowerCase()).filter(Boolean);
127
+ // If region has only 1 country, we can be certain
128
+ if (regionCountries.length === 1 && excludedCountries.includes(regionCountries[0])) {
129
+ countryExcluded = true;
130
+ logger.info(`[Brevo] Country ${regionCountries[0]} excluded from discount for ${cart.email} (region)`);
131
+ }
132
+ // If region has multiple countries but ALL are excluded, also skip discount
133
+ if (!countryExcluded && regionCountries.length > 0 && regionCountries.every(rc => excludedCountries.includes(rc))) {
134
+ countryExcluded = true;
135
+ logger.info(`[Brevo] All region countries excluded from discount for ${cart.email} [${regionCountries.join(", ")}]`);
136
+ }
137
+ }
138
+ // 3. Check phone prefix
139
+ if (!countryExcluded && cart.shipping_address?.phone) {
140
+ const PHONE_PREFIXES = {
141
+ "+84": "vn", "+66": "th", "+82": "kr", "+81": "jp",
142
+ "+1": "us", "+44": "gb", "+86": "cn", "+91": "in",
143
+ "+65": "sg", "+60": "my", "+62": "id", "+63": "ph",
144
+ };
145
+ for (const [prefix, pcc] of Object.entries(PHONE_PREFIXES)) {
146
+ if (cart.shipping_address.phone.startsWith(prefix) && excludedCountries.includes(pcc)) {
147
+ countryExcluded = true;
148
+ logger.info(`[Brevo] Country ${pcc} excluded from discount for ${cart.email} (phone ${prefix})`);
149
+ break;
150
+ }
151
+ }
152
+ }
153
+ }
154
+ // ────────────────────────────────────────────────────────────────────
112
155
  const isFinalEmail = (i === sortedIntervals.length - 1);
113
- const shouldCreateDiscount = isFinalEmail && settings.abandoned_cart_discount_enabled;
156
+ // If country is excluded → never create discount, even on final email
157
+ const shouldCreateDiscount = isFinalEmail && settings.abandoned_cart_discount_enabled && !countryExcluded;
114
158
  logger.info(`[Brevo] Sending abandoned cart email #${i + 1} to ${cart.email} ` +
115
159
  `(cart=${cart.id}, interval=${sortedIntervals[i]}h${shouldCreateDiscount ? ", +discount" : ""})`);
116
160
  try {
@@ -118,106 +162,77 @@ const checkAbandonedCartsStep = (0, workflows_sdk_1.createStep)("check-abandoned
118
162
  // Create discount code on final email if enabled
119
163
  // BUT skip if discount was already created (flag set from a previous failed email attempt)
120
164
  if (shouldCreateDiscount && !notifiedFlags[discountFlagKey]) {
121
- // Check excluded countries before creating discount
122
- const excludedCountries = Array.isArray(settings.abandoned_cart_discount_excluded_countries)
123
- ? settings.abandoned_cart_discount_excluded_countries : [];
124
- let countryExcluded = false;
125
- if (excludedCountries.length > 0) {
126
- // Check shipping address country
127
- const cc = cart.shipping_address?.country_code?.toLowerCase();
128
- if (cc && excludedCountries.includes(cc)) {
129
- countryExcluded = true;
130
- logger.info(`[Brevo] Skipping abandoned cart discount for ${cart.email}: excluded country ${cc}`);
165
+ const excludedCurrencies = Array.isArray(settings.abandoned_cart_discount_excluded_currencies)
166
+ ? settings.abandoned_cart_discount_excluded_currencies : [];
167
+ const codePrefix = (settings.abandoned_cart_discount_code_prefix || "COMEBACK").toUpperCase();
168
+ try {
169
+ const promotionService = container.resolve("promotion");
170
+ const expiresHours = settings.abandoned_cart_discount_expires_hours || 48;
171
+ const discountType = settings.abandoned_cart_discount_type || "percentage";
172
+ const discountValue = settings.abandoned_cart_discount_value || 10;
173
+ const isPercentage = discountType === "percentage";
174
+ // Generate unique 8-char alphanumeric suffix
175
+ const chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
176
+ let suffix = "";
177
+ for (let j = 0; j < 8; j++)
178
+ suffix += chars[Math.floor(Math.random() * chars.length)];
179
+ const code = `${codePrefix}-${suffix}`;
180
+ const startsAt = new Date();
181
+ const expiresAt = new Date(Date.now() + expiresHours * 60 * 60 * 1000);
182
+ // Build promotion rules
183
+ const rules = [];
184
+ if (cart.customer?.id) {
185
+ rules.push({ attribute: "customer_id", operator: "eq", values: [cart.customer.id] });
131
186
  }
132
- // Check phone prefix
133
- if (!countryExcluded && cart.shipping_address?.phone) {
134
- const PHONE_PREFIXES = {
135
- "+84": "vn", "+66": "th", "+82": "kr", "+81": "jp",
136
- "+1": "us", "+44": "gb", "+86": "cn", "+91": "in",
137
- "+65": "sg", "+60": "my", "+62": "id", "+63": "ph",
138
- };
139
- for (const [prefix, pcc] of Object.entries(PHONE_PREFIXES)) {
140
- if (cart.shipping_address.phone.startsWith(prefix) && excludedCountries.includes(pcc)) {
141
- countryExcluded = true;
142
- logger.info(`[Brevo] Skipping abandoned cart discount for ${cart.email}: excluded country ${pcc} (phone ${prefix})`);
143
- break;
144
- }
145
- }
187
+ for (const cur of excludedCurrencies) {
188
+ rules.push({ attribute: "currency_code", operator: "ne", values: [cur] });
146
189
  }
147
- }
148
- if (!countryExcluded) {
149
- try {
150
- const promotionService = container.resolve("promotion");
151
- const expiresHours = settings.abandoned_cart_discount_expires_hours || 48;
152
- const discountType = settings.abandoned_cart_discount_type || "percentage";
153
- const discountValue = settings.abandoned_cart_discount_value || 10;
154
- const isPercentage = discountType === "percentage";
155
- const excludedCurrencies = Array.isArray(settings.abandoned_cart_discount_excluded_currencies)
156
- ? settings.abandoned_cart_discount_excluded_currencies : [];
157
- const codePrefix = (settings.abandoned_cart_discount_code_prefix || "COMEBACK").toUpperCase();
158
- // Generate unique 8-char alphanumeric suffix
159
- const chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
160
- let suffix = "";
161
- for (let j = 0; j < 8; j++)
162
- suffix += chars[Math.floor(Math.random() * chars.length)];
163
- const code = `${codePrefix}-${suffix}`;
164
- const startsAt = new Date();
165
- const expiresAt = new Date(Date.now() + expiresHours * 60 * 60 * 1000);
166
- // Build promotion rules
167
- const rules = [];
168
- if (cart.customer?.id) {
169
- rules.push({ attribute: "customer_id", operator: "eq", values: [cart.customer.id] });
170
- }
171
- for (const cur of excludedCurrencies) {
172
- rules.push({ attribute: "currency_code", operator: "ne", values: [cur] });
173
- }
174
- await promotionService.createPromotions({
175
- code,
176
- type: "standard",
177
- is_automatic: true,
178
- status: "active",
179
- rules: rules.length > 0 ? rules : undefined,
180
- campaign: {
181
- name: `Comeback - ${cart.email}`,
182
- campaign_identifier: `comeback-${code}`,
183
- starts_at: startsAt,
184
- ends_at: expiresAt,
185
- budget: {
186
- type: "usage",
187
- limit: settings.abandoned_cart_discount_max_uses || 1,
188
- },
189
- },
190
- application_method: {
191
- type: isPercentage ? "percentage" : "fixed",
192
- value: discountValue,
193
- target_type: "order",
194
- max_quantity: 1,
195
- currency_code: isPercentage ? undefined : (cart.currency_code || "usd"),
196
- },
197
- });
198
- discountData = {
199
- promotion_code: code,
200
- discount_value: discountValue,
201
- discount_type: discountType,
202
- discount_expires_at: new Date(Date.now() + expiresHours * 60 * 60 * 1000).toISOString(),
203
- };
204
- // Save discount flag immediately — prevents duplicate discount creation
205
- await cartModuleService.updateCarts(cart.id, {
206
- metadata: {
207
- ...notifiedFlags,
208
- [discountFlagKey]: true,
209
- last_discount_code: code,
190
+ await promotionService.createPromotions({
191
+ code,
192
+ type: "standard",
193
+ is_automatic: true,
194
+ status: "active",
195
+ rules: rules.length > 0 ? rules : undefined,
196
+ campaign: {
197
+ name: `Comeback - ${cart.email}`,
198
+ campaign_identifier: `comeback-${code}`,
199
+ starts_at: startsAt,
200
+ ends_at: expiresAt,
201
+ budget: {
202
+ type: "usage",
203
+ limit: settings.abandoned_cart_discount_max_uses || 1,
210
204
  },
211
- });
212
- // Refresh notifiedFlags for the email flag update below
213
- notifiedFlags[discountFlagKey] = true;
214
- notifiedFlags.last_discount_code = code;
215
- logger.info(`[Brevo] Created discount code ${code} for cart ${cart.id}`);
216
- }
217
- catch (discountErr) {
218
- logger.error(`[Brevo] Failed to create discount: ${discountErr?.message}`);
219
- }
220
- } // end !countryExcluded
205
+ },
206
+ application_method: {
207
+ type: isPercentage ? "percentage" : "fixed",
208
+ value: discountValue,
209
+ target_type: "order",
210
+ max_quantity: 1,
211
+ currency_code: isPercentage ? undefined : (cart.currency_code || "usd"),
212
+ },
213
+ });
214
+ discountData = {
215
+ promotion_code: code,
216
+ discount_value: discountValue,
217
+ discount_type: discountType,
218
+ discount_expires_at: new Date(Date.now() + expiresHours * 60 * 60 * 1000).toISOString(),
219
+ };
220
+ // Save discount flag immediately — prevents duplicate discount creation
221
+ await cartModuleService.updateCarts(cart.id, {
222
+ metadata: {
223
+ ...notifiedFlags,
224
+ [discountFlagKey]: true,
225
+ last_discount_code: code,
226
+ },
227
+ });
228
+ // Refresh notifiedFlags for the email flag update below
229
+ notifiedFlags[discountFlagKey] = true;
230
+ notifiedFlags.last_discount_code = code;
231
+ logger.info(`[Brevo] Created discount code ${code} for cart ${cart.id}`);
232
+ }
233
+ catch (discountErr) {
234
+ logger.error(`[Brevo] Failed to create discount: ${discountErr?.message}`);
235
+ }
221
236
  }
222
237
  else if (shouldCreateDiscount && notifiedFlags[discountFlagKey]) {
223
238
  // Discount was already created in a previous run (email failed last time)
@@ -259,4 +274,4 @@ exports.checkAbandonedCartsWorkflow = (0, workflows_sdk_1.createWorkflow)("check
259
274
  const result = checkAbandonedCartsStep();
260
275
  return new workflows_sdk_1.WorkflowResponse(result);
261
276
  });
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stYWJhbmRvbmVkLWNhcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9jaGVjay1hYmFuZG9uZWQtY2FydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQThHO0FBQzlHLGlFQUFvRTtBQUNwRSxnRUFBa0U7QUFDbEUscURBQW1EO0FBRW5EOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3hDLDRCQUE0QixFQUM1QixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN6QixNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3pELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUV4QyxJQUFJLFFBQWEsQ0FBQTtJQUNqQixJQUFJLENBQUM7UUFDSCxNQUFNLG9CQUFvQixHQUFRLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXFCLENBQUMsQ0FBQTtRQUMxRSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNyRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0VBQWdFLENBQUMsQ0FBQTtRQUM3RSxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksNEJBQVksQ0FBQyxF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
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stYWJhbmRvbmVkLWNhcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy9jaGVjay1hYmFuZG9uZWQtY2FydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQThHO0FBQzlHLGlFQUFvRTtBQUNwRSxnRUFBa0U7QUFDbEUscURBQW1EO0FBRW5EOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3hDLDRCQUE0QixFQUM1QixLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUN6QixNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3pELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUV4QyxJQUFJLFFBQWEsQ0FBQTtJQUNqQixJQUFJLENBQUM7UUFDSCxNQUFNLG9CQUFvQixHQUFRLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXFCLENBQUMsQ0FBQTtRQUMxRSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNyRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0VBQWdFLENBQUMsQ0FBQTtRQUM3RSxPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksNEJBQVksQ0FBQyxF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
@@ -8,18 +8,60 @@ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
8
8
  * Priority:
9
9
  * 1. customer.metadata.preferred_locale (set by storefront)
10
10
  * 2. cart.metadata.locale (set by storefront on cart)
11
- * 3. null (use default template)
11
+ * 3. order.metadata.locale
12
+ * 4. Infer from phone prefix (e.g. +84 → vi)
13
+ * 5. Infer from shipping address country_code (e.g. vn → vi)
14
+ * 6. null (use default template)
12
15
  *
13
16
  * Storefront should set this when user selects language:
14
17
  * POST /store/customers/me { metadata: { preferred_locale: "zh" } }
15
18
  * or
16
19
  * POST /store/carts/:id { metadata: { locale: "vi" } }
17
20
  */
21
+ // Phone prefix → locale mapping
22
+ const PHONE_PREFIX_TO_LOCALE = {
23
+ "+84": "vi", // Vietnam
24
+ "+66": "th", // Thailand
25
+ "+82": "ko", // South Korea
26
+ "+81": "ja", // Japan
27
+ "+86": "zh", // China
28
+ "+886": "zh", // Taiwan
29
+ "+852": "zh", // Hong Kong
30
+ "+65": "en", // Singapore (English)
31
+ "+60": "ms", // Malaysia
32
+ "+62": "id", // Indonesia
33
+ "+63": "en", // Philippines (English)
34
+ };
35
+ // Country code → locale mapping
36
+ const COUNTRY_TO_LOCALE = {
37
+ "vn": "vi",
38
+ "th": "th",
39
+ "kr": "ko",
40
+ "jp": "ja",
41
+ "cn": "zh",
42
+ "tw": "zh",
43
+ "hk": "zh",
44
+ "id": "id",
45
+ "my": "ms",
46
+ };
47
+ function inferLocaleFromPhone(phone) {
48
+ if (!phone)
49
+ return null;
50
+ // Sort by prefix length descending to match longer prefixes first (+886 before +8)
51
+ const sorted = Object.entries(PHONE_PREFIX_TO_LOCALE).sort((a, b) => b[0].length - a[0].length);
52
+ for (const [prefix, locale] of sorted) {
53
+ if (phone.startsWith(prefix))
54
+ return locale;
55
+ }
56
+ return null;
57
+ }
18
58
  exports.resolveLocaleStep = (0, workflows_sdk_1.createStep)("resolve-locale", async (input) => {
19
59
  const locale = input.customerMetadata?.preferred_locale ||
20
60
  input.cartMetadata?.locale ||
21
61
  input.orderMetadata?.locale ||
62
+ inferLocaleFromPhone(input.phone) ||
63
+ (input.countryCode ? COUNTRY_TO_LOCALE[input.countryCode.toLowerCase()] : null) ||
22
64
  null;
23
65
  return new workflows_sdk_1.StepResponse(locale);
24
66
  });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1sb2NhbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL3Jlc29sdmUtbG9jYWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUU1RTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDVSxRQUFBLGlCQUFpQixHQUFHLElBQUEsMEJBQVUsRUFDdkMsZ0JBQWdCLEVBQ2hCLEtBQUssRUFBRSxLQUlOLEVBQUUsRUFBRTtJQUNELE1BQU0sTUFBTSxHQUNSLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDeEMsS0FBSyxDQUFDLFlBQVksRUFBRSxNQUFNO1FBQzFCLEtBQUssQ0FBQyxhQUFhLEVBQUUsTUFBTTtRQUMzQixJQUFJLENBQUE7SUFFUixPQUFPLElBQUksNEJBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNuQyxDQUFDLENBQ0osQ0FBQSJ9
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1sb2NhbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL3Jlc29sdmUtbG9jYWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE0RTtBQUU1RTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxnQ0FBZ0M7QUFDaEMsTUFBTSxzQkFBc0IsR0FBMkI7SUFDbkQsS0FBSyxFQUFFLElBQUksRUFBSSxVQUFVO0lBQ3pCLEtBQUssRUFBRSxJQUFJLEVBQUksV0FBVztJQUMxQixLQUFLLEVBQUUsSUFBSSxFQUFJLGNBQWM7SUFDN0IsS0FBSyxFQUFFLElBQUksRUFBSSxRQUFRO0lBQ3ZCLEtBQUssRUFBRSxJQUFJLEVBQUksUUFBUTtJQUN2QixNQUFNLEVBQUUsSUFBSSxFQUFHLFNBQVM7SUFDeEIsTUFBTSxFQUFFLElBQUksRUFBRyxZQUFZO0lBQzNCLEtBQUssRUFBRSxJQUFJLEVBQUksc0JBQXNCO0lBQ3JDLEtBQUssRUFBRSxJQUFJLEVBQUksV0FBVztJQUMxQixLQUFLLEVBQUUsSUFBSSxFQUFJLFlBQVk7SUFDM0IsS0FBSyxFQUFFLElBQUksRUFBSSx3QkFBd0I7Q0FDMUMsQ0FBQTtBQUVELGdDQUFnQztBQUNoQyxNQUFNLGlCQUFpQixHQUEyQjtJQUM5QyxJQUFJLEVBQUUsSUFBSTtJQUNWLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7SUFDVixJQUFJLEVBQUUsSUFBSTtJQUNWLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7SUFDVixJQUFJLEVBQUUsSUFBSTtJQUNWLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7Q0FDYixDQUFBO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxLQUFxQjtJQUMvQyxJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQ3ZCLG1GQUFtRjtJQUNuRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDL0YsS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQTtJQUMvQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDZixDQUFDO0FBRVksUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDBCQUFVLEVBQ3ZDLGdCQUFnQixFQUNoQixLQUFLLEVBQUUsS0FNTixFQUFFLEVBQUU7SUFDRCxNQUFNLE1BQU0sR0FDUixLQUFLLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ3hDLEtBQUssQ0FBQyxZQUFZLEVBQUUsTUFBTTtRQUMxQixLQUFLLENBQUMsYUFBYSxFQUFFLE1BQU07UUFDM0Isb0JBQW9CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNqQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQy9FLElBQUksQ0FBQTtJQUVSLE9BQU8sSUFBSSw0QkFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ25DLENBQUMsQ0FDSixDQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kb0912/notification-brevo",
3
- "version": "2.0.8",
3
+ "version": "2.1.0",
4
4
  "description": "Sending email notification using Brevo.",
5
5
  "author": "KB (https://medusajs.com)",
6
6
  "license": "MIT",