@runflow-ai/cli 0.2.6 โ†’ 0.2.8

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.
@@ -12,7 +12,7 @@ export declare class TestCommand extends CommandRunner {
12
12
  parsePort(val: string): number;
13
13
  parseHost(val: string): string;
14
14
  parseOpen(): boolean;
15
- parseVerbose(): boolean;
15
+ parseVerbose(val: string): boolean;
16
16
  private loadRunflowConfig;
17
17
  private ensureDependencies;
18
18
  private startTestServer;
@@ -61,45 +61,59 @@ let TestCommand = class TestCommand extends nest_commander_1.CommandRunner {
61
61
  this.frontend = null;
62
62
  }
63
63
  async run(passedParam, options) {
64
- const port = options?.port || 8547;
65
- const host = options?.host || 'localhost';
66
- const shouldOpen = options?.open !== false;
67
- const verbose = options?.verbose || false;
68
- console.log(chalk_1.default.cyan.bold('๐Ÿงช Runflow Test Server'));
69
- console.log(chalk_1.default.gray('Starting local development environment...\n'));
70
- const validation = (0, validator_1.validateForTest)();
71
- if (!validation.isValid) {
72
- console.error(chalk_1.default.red('\nโŒ Project validation failed!'));
73
- validation.errors.forEach(error => {
74
- console.error(chalk_1.default.red(` โ€ข ${error}`));
75
- });
76
- console.error(chalk_1.default.gray('\n๐Ÿ“š Documentation: https://docs.runflow.ai\n'));
77
- process.exit(1);
78
- }
79
- const mainFile = validation.mainFile;
80
- const spinner = (0, ora_1.default)('Initializing...').start();
81
64
  try {
82
- await this.ensureDependencies(spinner);
83
- await this.startTestServer(port, mainFile, verbose, spinner);
84
- await this.startFrontend(port + 1000, port, verbose, spinner);
85
- spinner.succeed('Ready!');
86
- if (!verbose) {
87
- console.clear();
65
+ const port = options?.port || 8547;
66
+ const host = options?.host || 'localhost';
67
+ const shouldOpen = options?.open !== false;
68
+ const verbose = true;
69
+ console.log('๐Ÿ” [DEBUG] Options received:', options);
70
+ console.log('๐Ÿ” [DEBUG] Verbose flag:', verbose);
71
+ console.log(chalk_1.default.cyan.bold('๐Ÿงช Runflow Test Server'));
72
+ console.log(chalk_1.default.gray('Starting local development environment...\n'));
73
+ const validation = (0, validator_1.validateForTest)();
74
+ if (!validation.isValid) {
75
+ console.error(chalk_1.default.red('\nโŒ Project validation failed!'));
76
+ validation.errors.forEach((error) => {
77
+ console.error(chalk_1.default.red(` โ€ข ${error}`));
78
+ });
79
+ console.error(chalk_1.default.gray('\n๐Ÿ“š Documentation: https://docs.runflow.ai\n'));
80
+ process.exit(1);
88
81
  }
89
- console.log(chalk_1.default.green.bold('โœ… Test Interface Running'));
90
- console.log('');
91
- console.log(chalk_1.default.cyan(`๐ŸŒ Open: http://${host}:${port + 1000}`));
92
- console.log(chalk_1.default.gray(`๐Ÿ“„ Testing: ${mainFile}`));
93
- console.log('');
94
- console.log(chalk_1.default.gray('Press Ctrl+C to stop'));
95
- if (shouldOpen) {
96
- this.openBrowser(`http://${host}:${port + 1000}`);
82
+ const mainFile = validation.mainFile;
83
+ const spinner = verbose ? null : (0, ora_1.default)('Initializing...').start();
84
+ try {
85
+ await this.ensureDependencies(spinner);
86
+ await this.startTestServer(port, mainFile, verbose, spinner);
87
+ await this.startFrontend(port + 1000, port, verbose, spinner);
88
+ if (spinner) {
89
+ spinner.succeed('Ready!');
90
+ }
91
+ if (!verbose) {
92
+ console.clear();
93
+ }
94
+ console.log(chalk_1.default.green.bold('โœ… Test Interface Running!'));
95
+ console.log('');
96
+ console.log(chalk_1.default.cyan(`๐ŸŒ Open: http://${host}:${port + 1000}`));
97
+ console.log(chalk_1.default.gray(`๐Ÿ“„ Testing: ${mainFile}`));
98
+ console.log('');
99
+ console.log(chalk_1.default.gray('Press Ctrl+C to stop'));
100
+ if (shouldOpen) {
101
+ this.openBrowser(`http://${host}:${port + 1000}`);
102
+ }
103
+ this.setupCleanupHandlers();
104
+ await this.keepAlive();
105
+ }
106
+ catch (error) {
107
+ if (spinner) {
108
+ spinner.fail('Failed to start test environment');
109
+ }
110
+ console.error(chalk_1.default.red(`โŒ Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
111
+ await this.cleanup();
112
+ process.exit(1);
97
113
  }
98
- this.setupCleanupHandlers();
99
- await this.keepAlive();
100
114
  }
101
115
  catch (error) {
102
- spinner.fail('Failed to start test environment');
116
+ console.log('deu erro aqui');
103
117
  console.error(chalk_1.default.red(`โŒ Error: ${error instanceof Error ? error.message : 'Unknown error'}`));
104
118
  await this.cleanup();
105
119
  process.exit(1);
@@ -118,7 +132,8 @@ let TestCommand = class TestCommand extends nest_commander_1.CommandRunner {
118
132
  parseOpen() {
119
133
  return false;
120
134
  }
121
- parseVerbose() {
135
+ parseVerbose(val) {
136
+ console.log('๐Ÿ” [PARSER] parseVerbose called with:', val);
122
137
  return true;
123
138
  }
124
139
  loadRunflowConfig() {
@@ -134,19 +149,34 @@ let TestCommand = class TestCommand extends nest_commander_1.CommandRunner {
134
149
  return null;
135
150
  }
136
151
  async ensureDependencies(spinner) {
137
- spinner.text = 'Checking dependencies...';
152
+ if (spinner) {
153
+ spinner.text = 'Checking dependencies...';
154
+ }
155
+ else {
156
+ console.log('๐Ÿ” Checking dependencies...');
157
+ }
138
158
  const packageJsonPath = path.join(process.cwd(), 'package.json');
139
159
  if (!fs.existsSync(packageJsonPath)) {
140
- throw new Error('No package.json found. Make sure you\'re in a valid Node.js project.');
160
+ throw new Error("No package.json found. Make sure you're in a valid Node.js project.");
141
161
  }
142
162
  const nodeModulesPath = path.join(process.cwd(), 'node_modules');
143
163
  if (!fs.existsSync(nodeModulesPath)) {
144
- spinner.text = 'Installing dependencies...';
164
+ if (spinner) {
165
+ spinner.text = 'Installing dependencies...';
166
+ }
167
+ else {
168
+ console.log('๐Ÿ“ฆ Installing dependencies...');
169
+ }
145
170
  await this.runCommand('npm', ['install'], { stdio: 'pipe' });
146
171
  }
147
172
  }
148
173
  async startTestServer(port, mainFile, verbose, spinner) {
149
- spinner.text = 'Starting test server...';
174
+ if (spinner) {
175
+ spinner.text = 'Starting test server...';
176
+ }
177
+ else {
178
+ console.log('๐Ÿš€ Starting test server...');
179
+ }
150
180
  const serverCliDir = path.join(__dirname, '..', '..', '..');
151
181
  const serverTemplatePath = path.join(serverCliDir, 'static', 'test-server-template.js');
152
182
  if (!fs.existsSync(serverTemplatePath)) {
@@ -154,29 +184,49 @@ let TestCommand = class TestCommand extends nest_commander_1.CommandRunner {
154
184
  }
155
185
  const scenariosPath = path.join(serverCliDir, 'scenarios');
156
186
  this.server = (0, child_process_1.spawn)('node', [serverTemplatePath], {
157
- stdio: verbose ? 'inherit' : 'pipe',
187
+ stdio: 'pipe',
158
188
  env: {
159
189
  ...process.env,
160
190
  NODE_ENV: 'development',
161
191
  RUNFLOW_PORT: port.toString(),
162
192
  RUNFLOW_MAIN_FILE: mainFile,
163
- RUNFLOW_SCENARIOS_PATH: scenariosPath
193
+ RUNFLOW_SCENARIOS_PATH: scenariosPath,
194
+ RUNFLOW_VERBOSE: verbose ? 'true' : 'false',
195
+ },
196
+ });
197
+ if (verbose) {
198
+ console.log(chalk_1.default.gray('[DEBUG] Verbose mode enabled - attaching log listeners'));
199
+ }
200
+ this.server.stdout?.on('data', (data) => {
201
+ const output = data.toString();
202
+ if (verbose) {
203
+ process.stdout.write(`[SERVER] ${output}`);
164
204
  }
165
205
  });
166
- if (!verbose) {
167
- this.server.stdout?.on('data', (data) => {
168
- });
169
- this.server.stderr?.on('data', (data) => {
170
- const error = data.toString().trim();
171
- if (error.includes('Error:') || error.includes('EADDRINUSE')) {
172
- console.error(chalk_1.default.red(`Server Error: ${error}`));
206
+ this.server.stderr?.on('data', (data) => {
207
+ const error = data.toString();
208
+ if (verbose) {
209
+ process.stderr.write(`[SERVER-ERR] ${error}`);
210
+ }
211
+ else {
212
+ const trimmed = error.trim();
213
+ if (trimmed.includes('Error:') || trimmed.includes('EADDRINUSE')) {
214
+ console.error(chalk_1.default.red(`Server Error: ${trimmed}`));
173
215
  }
174
- });
175
- }
216
+ }
217
+ });
218
+ this.server.on('error', (error) => {
219
+ console.error(chalk_1.default.red(`Failed to start server: ${error.message}`));
220
+ });
176
221
  await this.waitForServer(port, 10000);
177
222
  }
178
223
  async startFrontend(frontendPort, backendPort, verbose, spinner) {
179
- spinner.text = 'Starting frontend...';
224
+ if (spinner) {
225
+ spinner.text = 'Starting frontend...';
226
+ }
227
+ else {
228
+ console.log('๐ŸŽจ Starting frontend...');
229
+ }
180
230
  const cliRootDir = path.join(__dirname, '..', '..', '..');
181
231
  const staticDir = path.join(cliRootDir, 'static');
182
232
  if (!fs.existsSync(staticDir)) {
@@ -200,14 +250,27 @@ let TestCommand = class TestCommand extends nest_commander_1.CommandRunner {
200
250
  throw new Error('Frontend server template not found. Please ensure the CLI is properly installed.');
201
251
  }
202
252
  this.frontend = (0, child_process_1.spawn)('node', [frontendTemplatePath], {
203
- stdio: verbose ? 'inherit' : 'pipe',
253
+ stdio: 'pipe',
204
254
  env: {
205
255
  ...process.env,
206
256
  NODE_ENV: 'development',
207
257
  RUNFLOW_FRONTEND_PORT: frontendPort.toString(),
208
- RUNFLOW_STATIC_DIR: frontendDir
258
+ RUNFLOW_STATIC_DIR: frontendDir,
259
+ },
260
+ });
261
+ this.frontend.stdout?.on('data', (data) => {
262
+ if (verbose) {
263
+ process.stdout.write(data.toString());
264
+ }
265
+ });
266
+ this.frontend.stderr?.on('data', (data) => {
267
+ if (verbose) {
268
+ process.stderr.write(data.toString());
209
269
  }
210
270
  });
271
+ this.frontend.on('error', (error) => {
272
+ console.error(chalk_1.default.red(`Failed to start frontend: ${error.message}`));
273
+ });
211
274
  await this.waitForServer(frontendPort, 5000);
212
275
  }
213
276
  async waitForServer(port, timeout) {
@@ -221,7 +284,7 @@ let TestCommand = class TestCommand extends nest_commander_1.CommandRunner {
221
284
  }
222
285
  catch (error) {
223
286
  }
224
- await new Promise(resolve => setTimeout(resolve, 500));
287
+ await new Promise((resolve) => setTimeout(resolve, 500));
225
288
  }
226
289
  throw new Error(`Server on port ${port} failed to start`);
227
290
  }
@@ -240,9 +303,12 @@ let TestCommand = class TestCommand extends nest_commander_1.CommandRunner {
240
303
  });
241
304
  }
242
305
  openBrowser(url) {
243
- const start = process.platform === 'darwin' ? 'open' :
244
- process.platform === 'win32' ? 'start' : 'xdg-open';
245
- (0, child_process_1.spawn)(start, [url], { detached: true, stdio: 'ignore' });
306
+ const start = process.platform === 'darwin' ? 'open' : process.platform === 'win32' ? 'start' : 'xdg-open';
307
+ const spawnOptions = { detached: true, stdio: 'ignore' };
308
+ if (process.platform === 'win32') {
309
+ spawnOptions.shell = true;
310
+ }
311
+ (0, child_process_1.spawn)(start, [url], spawnOptions);
246
312
  }
247
313
  setupCleanupHandlers() {
248
314
  const cleanup = async () => {
@@ -301,7 +367,7 @@ __decorate([
301
367
  __decorate([
302
368
  (0, nest_commander_1.Option)({
303
369
  flags: '--no-open',
304
- description: 'Don\'t open browser automatically',
370
+ description: "Don't open browser automatically",
305
371
  }),
306
372
  __metadata("design:type", Function),
307
373
  __metadata("design:paramtypes", []),
@@ -313,14 +379,14 @@ __decorate([
313
379
  description: 'Show detailed logs',
314
380
  }),
315
381
  __metadata("design:type", Function),
316
- __metadata("design:paramtypes", []),
382
+ __metadata("design:paramtypes", [String]),
317
383
  __metadata("design:returntype", Boolean)
318
384
  ], TestCommand.prototype, "parseVerbose", null);
319
385
  exports.TestCommand = TestCommand = __decorate([
320
386
  (0, common_1.Injectable)(),
321
387
  (0, nest_commander_1.Command)({
322
388
  name: 'test',
323
- description: '๐Ÿงช Start local test server for Runflow agents with live reload'
389
+ description: '๐Ÿงช Start local test server for Runflow agents with live reload',
324
390
  })
325
391
  ], TestCommand);
326
392
  //# sourceMappingURL=test.command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.command.js","sourceRoot":"","sources":["../../../src/commands/test/test.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.command.js","sourceRoot":"","sources":["../../../src/commands/test/test.command.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runflow-ai/cli",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "Official CLI for RunFlow AI platform - manage agents, deploy code, and interact with AI workflows from your terminal",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -50,6 +50,8 @@
50
50
  },
51
51
  "files": [
52
52
  "dist/**/*",
53
+ "static/**/*",
54
+ "scenarios/**/*",
53
55
  "README.md",
54
56
  "CLI-DOCS.md"
55
57
  ],
@@ -0,0 +1,71 @@
1
+ # ๐Ÿงช Test Scenarios
2
+
3
+ Default test scenarios for Runflow CLI test interface.
4
+
5
+ ## ๐Ÿ“ Structure
6
+
7
+ Each scenario is a JSON file with:
8
+ - **name**: Display name
9
+ - **description**: What this scenario tests
10
+ - **category**: Group (E-commerce, Payments, Testing, etc.)
11
+ - **variables**: Customizable values
12
+ - **payload**: The actual JSON sent to your agent
13
+
14
+ ## ๐ŸŽฏ How It Works
15
+
16
+ ### CLI Default Scenarios
17
+ Located in `core/runflow-cli/scenarios/`:
18
+ - Always available
19
+ - Provided by Runflow
20
+ - Cover common integrations
21
+
22
+ ### Project Custom Scenarios
23
+ Located in your project `test-scenarios/`:
24
+ - Project-specific
25
+ - Custom webhooks
26
+ - Your own test cases
27
+
28
+ ## ๐Ÿ“ Creating Custom Scenarios
29
+
30
+ In your project root, create `test-scenarios/my-scenario.json`:
31
+
32
+ ```json
33
+ {
34
+ "name": "My Custom Webhook",
35
+ "description": "Tests my specific integration",
36
+ "category": "Custom",
37
+ "variables": {
38
+ "userId": "user-123",
39
+ "action": "signup"
40
+ },
41
+ "payload": {
42
+ "event": "{{action}}",
43
+ "user": {
44
+ "id": "{{userId}}"
45
+ }
46
+ }
47
+ }
48
+ ```
49
+
50
+ ## ๐Ÿ”ง Variable Interpolation
51
+
52
+ Use `{{variableName}}` in payload:
53
+ - String values: `"{{userName}}"` โ†’ `"John"`
54
+ - Numeric values: `{{amount}}` โ†’ `99.99`
55
+ - Nested objects: Supported
56
+
57
+ ## ๐Ÿš€ Using in Test Interface
58
+
59
+ 1. Run `rf test`
60
+ 2. Select "Custom JSON payload" mode
61
+ 3. Choose scenario from dropdown
62
+ 4. Edit variables if needed
63
+ 5. Send test
64
+
65
+ ## ๐Ÿ“š Examples Included
66
+
67
+ - `webhook-shopify.json` - E-commerce webhooks
68
+ - `webhook-stripe.json` - Payment webhooks
69
+ - `memory-conversation.json` - Memory testing with messages[]
70
+
71
+ Create your own in `test-scenarios/` directory!
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "Memory - Conversation Test",
3
+ "description": "Test conversation memory with context",
4
+ "category": "Testing",
5
+ "variables": {
6
+ "userName": "Joรฃo",
7
+ "userRole": "developer"
8
+ },
9
+ "payload": {
10
+ "message": "What's my name and role?",
11
+ "messages": [
12
+ {
13
+ "role": "user",
14
+ "content": "My name is {{userName}} and I work as a {{userRole}}"
15
+ },
16
+ {
17
+ "role": "assistant",
18
+ "content": "Hello {{userName}}! Nice to meet a {{userRole}}!"
19
+ }
20
+ ],
21
+ "sessionId": "memory-test-session"
22
+ }
23
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "Messages Array Test",
3
+ "description": "Test with conversation history using messages[]",
4
+ "category": "Testing",
5
+ "variables": {
6
+ "userName": "Alice",
7
+ "userQuestion": "What did I tell you about myself?"
8
+ },
9
+ "payload": {
10
+ "message": "{{userQuestion}}",
11
+ "messages": [
12
+ {"role": "user", "content": "Hi! My name is {{userName}} and I love coding."},
13
+ {"role": "assistant", "content": "Hello {{userName}}! That's great that you enjoy coding!"},
14
+ {"role": "user", "content": "I also work with Python and TypeScript."},
15
+ {"role": "assistant", "content": "Nice! Python and TypeScript are excellent choices."}
16
+ ],
17
+ "sessionId": "messages-test-session"
18
+ }
19
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "Custom Metadata Test",
3
+ "description": "Test with custom metadata fields",
4
+ "category": "Testing",
5
+ "variables": {
6
+ "userId": "user-12345",
7
+ "companyId": "company-67890",
8
+ "priority": "high",
9
+ "tags": "urgent,sales"
10
+ },
11
+ "payload": {
12
+ "message": "Process this request",
13
+ "userId": "{{userId}}",
14
+ "companyId": "{{companyId}}",
15
+ "metadata": {
16
+ "priority": "{{priority}}",
17
+ "tags": "{{tags}}",
18
+ "source": "api",
19
+ "timestamp": "2024-01-01T12:00:00Z"
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "HubSpot - Contact Created",
3
+ "description": "Simulates HubSpot webhook for new contact",
4
+ "category": "CRM",
5
+ "variables": {
6
+ "contactId": "12345",
7
+ "email": "john.doe@example.com",
8
+ "firstName": "John",
9
+ "lastName": "Doe",
10
+ "phone": "+5511999887766"
11
+ },
12
+ "payload": {
13
+ "subscriptionType": "contact.creation",
14
+ "portalId": 62515,
15
+ "objectId": {{contactId}},
16
+ "propertyName": "email",
17
+ "propertyValue": "{{email}}",
18
+ "changeSource": "CRM_UI",
19
+ "eventId": 3816279340,
20
+ "subscriptionId": 25,
21
+ "attemptNumber": 0,
22
+ "contact": {
23
+ "vid": {{contactId}},
24
+ "properties": {
25
+ "email": {
26
+ "value": "{{email}}"
27
+ },
28
+ "firstname": {
29
+ "value": "{{firstName}}"
30
+ },
31
+ "lastname": {
32
+ "value": "{{lastName}}"
33
+ },
34
+ "phone": {
35
+ "value": "{{phone}}"
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "Meta - Messenger Message",
3
+ "description": "Simulates Meta/Facebook Messenger webhook",
4
+ "category": "Messaging",
5
+ "variables": {
6
+ "senderId": "1234567890",
7
+ "recipientId": "0987654321",
8
+ "messageText": "Hey, can you help me?",
9
+ "timestamp": "1234567890"
10
+ },
11
+ "payload": {
12
+ "object": "page",
13
+ "entry": [
14
+ {
15
+ "messaging": [
16
+ {
17
+ "sender": {
18
+ "id": "{{senderId}}"
19
+ },
20
+ "recipient": {
21
+ "id": "{{recipientId}}"
22
+ },
23
+ "timestamp": {{timestamp}},
24
+ "message": {
25
+ "mid": "mid.1234567890",
26
+ "text": "{{messageText}}"
27
+ }
28
+ }
29
+ ]
30
+ }
31
+ ]
32
+ }
33
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "Shopify - Order Created",
3
+ "description": "Simulates Shopify webhook when order is created",
4
+ "category": "E-commerce",
5
+ "variables": {
6
+ "orderId": "12345",
7
+ "customerName": "John Doe",
8
+ "total": "299.99",
9
+ "currency": "USD"
10
+ },
11
+ "payload": {
12
+ "event": "orders/create",
13
+ "data": {
14
+ "order": {
15
+ "id": "{{orderId}}",
16
+ "customer": {
17
+ "name": "{{customerName}}"
18
+ },
19
+ "total_price": "{{total}}",
20
+ "currency": "{{currency}}"
21
+ }
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "Slack - Message Posted",
3
+ "description": "Simulates Slack webhook when message is posted",
4
+ "category": "Messaging",
5
+ "variables": {
6
+ "userId": "U1234567890",
7
+ "channelId": "C0987654321",
8
+ "text": "Hey team, can someone help?",
9
+ "timestamp": "1234567890.123456"
10
+ },
11
+ "payload": {
12
+ "type": "event_callback",
13
+ "event": {
14
+ "type": "message",
15
+ "user": "{{userId}}",
16
+ "channel": "{{channelId}}",
17
+ "text": "{{text}}",
18
+ "ts": "{{timestamp}}"
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "Stripe - Payment Success",
3
+ "description": "Simulates Stripe webhook for successful payment",
4
+ "category": "Payments",
5
+ "variables": {
6
+ "paymentIntentId": "pi_123456",
7
+ "amount": "29999",
8
+ "currency": "usd",
9
+ "customerEmail": "john@example.com"
10
+ },
11
+ "payload": {
12
+ "type": "payment_intent.succeeded",
13
+ "data": {
14
+ "object": {
15
+ "id": "{{paymentIntentId}}",
16
+ "amount": {{amount}},
17
+ "currency": "{{currency}}",
18
+ "receipt_email": "{{customerEmail}}"
19
+ }
20
+ }
21
+ }
22
+ }