n8n-nodes-contact-validator 1.0.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.

Potentially problematic release.


This version of n8n-nodes-contact-validator might be problematic. Click here for more details.

package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Sinch
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/LICENSE.md ADDED
@@ -0,0 +1,22 @@
1
+
2
+ The MIT License (MIT)
3
+
4
+ Copyright (c) 2026 Chris
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,525 @@
1
+ # Contact Validator for n8n
2
+
3
+ [![NPM Version](https://img.shields.io/npm/v/n8n-nodes-contact-validator)](https://www.npmjs.com/package/n8n-nodes-contact-validator)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+
6
+ > **Omnichannel Quality & Continuity for n8n Workflows**
7
+ > Validate contacts, intelligently route messages, and ensure critical communications reach your customers through the best available channel.
8
+
9
+ ## Overview
10
+
11
+ Contact Validator brings enterprise-grade contact validation and intelligent multi-channel communication to n8n automation workflows. This package includes three powerful nodes and three ready-to-use workflow templates that help you:
12
+
13
+ - **Validate phone numbers** before sending SMS or making calls
14
+ - **Verify email addresses** to reduce bounce rates and improve deliverability
15
+ - **Execute voice calls** for critical notifications and escalations
16
+ - **Intelligently route** messages based on contact quality and channel availability
17
+ - **Ensure message delivery** through automatic channel escalation
18
+
19
+ ## What's Included
20
+
21
+ ### Three Powerful n8n Nodes
22
+
23
+ 1. **[Number Lookup](#number-lookup-node)** - Validate and enrich phone number data
24
+ 2. **[Email Validation](#email-validation-node)** - Validate email addresses
25
+ 3. **[Voice](#voice-node)** - Execute voice calls with text-to-speech
26
+
27
+ ### Three Production-Ready Workflow Templates
28
+
29
+ 1. **[Smart Multi-Channel Campaign](#workflow-1-smart-multi-channel-campaign)** - Intelligent outreach with quality gates and voice escalation
30
+ 2. **[Event Registration Quality Control](#workflow-2-event-registration-quality-control)** - Real-time validation and automated event reminders
31
+ 3. **[Support Ticket Escalation](#workflow-3-support-ticket-escalation)** - Priority-based contact escalation with continuity guarantee
32
+
33
+ ## Quick Start
34
+
35
+ ### Installation
36
+
37
+ ```bash
38
+ npm install n8n-nodes-contact-validator
39
+ ```
40
+
41
+ Or install directly in n8n:
42
+
43
+ 1. Go to **Settings** → **Community Nodes**
44
+ 2. Search for `n8n-nodes-contact-validator`
45
+ 3. Click **Install**
46
+
47
+ ### Prerequisites
48
+
49
+ You'll need the following API credentials:
50
+
51
+ - **Sinch Account** - [Sign up here](https://dashboard.sinch.com/signup)
52
+ - Project ID
53
+ - API Key & Secret
54
+ - Service Plan ID (for Voice API)
55
+
56
+ - **Mailgun Account** - [Sign up here](https://signup.mailgun.com/)
57
+ - API Key
58
+ - Domain
59
+
60
+ ### Configuration
61
+
62
+ #### 1. Add API Credentials
63
+
64
+ 1. In n8n, go to **Credentials** → **New**
65
+ 2. Select **Sinch API** (for Number Lookup and Voice nodes)
66
+ 3. Enter your credentials:
67
+ - Project ID
68
+ - API Key (Key ID)
69
+ - API Secret (Key Secret)
70
+ - Service Plan ID (optional, for Voice)
71
+ - Region (US/EU/AP)
72
+ 4. Click **Save**
73
+
74
+ #### 2. Add Mailgun API Credentials
75
+
76
+ 1. In n8n, go to **Credentials** → **New**
77
+ 2. Select **Mailgun API** (for Email Validation node)
78
+ 3. Enter your credentials:
79
+ - API Key
80
+ - Domain
81
+ - Region (US/EU)
82
+ 4. Click **Save**
83
+
84
+ ## Node Documentation
85
+
86
+ ### Number Lookup Node
87
+
88
+ Validate and enrich phone numbers with intelligence about reachability, line type, carrier, and risk factors.
89
+
90
+ #### Operations
91
+
92
+ **Number Lookup**
93
+ - Validate phone number format and active status
94
+ - Retrieve carrier information
95
+ - Determine line type (mobile, landline, VoIP, toll-free)
96
+ - Country and region identification
97
+ - Porting status
98
+
99
+ **Reachability Check**
100
+ - Real-time reachability assessment
101
+ - SMS capability detection
102
+ - Voice capability detection
103
+ - Risk scoring
104
+
105
+ **Bulk Lookup**
106
+ - Process multiple numbers in batch
107
+ - Return aggregated results
108
+
109
+ #### Example Output
110
+
111
+ ```json
112
+ {
113
+ "phoneNumber": "+14155551234",
114
+ "countryCode": "US",
115
+ "numberType": "mobile",
116
+ "carrier": "T-Mobile USA",
117
+ "reachable": true,
118
+ "smsCapable": true,
119
+ "voiceCapable": true,
120
+ "riskScore": 0.12,
121
+ "ported": false,
122
+ "validation": {
123
+ "valid": true,
124
+ "formatted": "+14155551234"
125
+ }
126
+ }
127
+ ```
128
+
129
+ #### Use Cases
130
+
131
+ - Pre-send validation for SMS campaigns
132
+ - Contact list hygiene and cleanup
133
+ - Phone number enrichment for CRM
134
+ - Fraud detection and risk assessment
135
+
136
+ ---
137
+
138
+ ### Email Validation Node
139
+
140
+ Validate email addresses, assess deliverability risk, and prevent sending to invalid or risky addresses.
141
+
142
+ #### Operations
143
+
144
+ **Single Email Validation**
145
+ - Format validation (RFC 5322)
146
+ - Domain verification (MX records, DNS)
147
+ - Mailbox verification
148
+ - Risk assessment (disposable, role-based, catch-all)
149
+ - Deliverability score
150
+ - Typo suggestions
151
+
152
+ **Bulk Email Validation**
153
+ - Process lists of emails
154
+ - Return aggregated risk metrics
155
+
156
+ **Domain Validation**
157
+ - Check domain reputation
158
+ - Verify domain configuration
159
+ - MX record validation
160
+
161
+ #### Example Output
162
+
163
+ ```json
164
+ {
165
+ "email": "user@example.com",
166
+ "valid": true,
167
+ "mailboxVerified": true,
168
+ "disposable": false,
169
+ "roleBasedAddress": false,
170
+ "catchAll": false,
171
+ "didYouMean": null,
172
+ "riskScore": 0.08,
173
+ "deliverabilityScore": 0.95,
174
+ "domainReputation": "high",
175
+ "reasons": [],
176
+ "flagged": false
177
+ }
178
+ ```
179
+
180
+ #### Use Cases
181
+
182
+ - Pre-send validation for email campaigns
183
+ - Form validation and real-time feedback
184
+ - Email list cleaning and verification
185
+ - Reduce bounce rates and improve sender reputation
186
+
187
+ ---
188
+
189
+ ### Voice Node
190
+
191
+ Execute voice calls for escalation, notification, and continuity scenarios.
192
+
193
+ #### Operations
194
+
195
+ **Make Call**
196
+ - Outbound call to number
197
+ - Custom audio file playback
198
+ - Call recording
199
+
200
+ **Text-to-Speech Call**
201
+ - Convert text to speech
202
+ - Multiple voice options and languages
203
+ - Dynamic message generation
204
+
205
+ **Conference Call**
206
+ - Create conference room
207
+ - Add participants dynamically
208
+
209
+ **Check Call Status**
210
+ - Query call status
211
+ - Retrieve call logs and recordings
212
+
213
+ #### Example Output
214
+
215
+ ```json
216
+ {
217
+ "callId": "1ce0ffee-ca11-ca11-ca11-abcdef123456",
218
+ "to": "+14155551234",
219
+ "from": "+14155556789",
220
+ "status": "completed",
221
+ "duration": 42,
222
+ "startTime": "2025-01-13T10:30:00Z",
223
+ "endTime": "2025-01-13T10:30:42Z",
224
+ "recordingUrl": "https://...",
225
+ "cost": 0.012
226
+ }
227
+ ```
228
+
229
+ #### Use Cases
230
+
231
+ - Critical alert notifications
232
+ - Two-factor authentication via voice
233
+ - Appointment reminders
234
+ - Support ticket escalation
235
+ - Emergency communications
236
+
237
+ ## Workflow Templates
238
+
239
+ ### How to Import Workflow Templates
240
+
241
+ The workflow templates are included with this package. After installing `n8n-nodes-contact-validator`, you can find them at:
242
+
243
+ **Location:** `node_modules/n8n-nodes-contact-validator/workflows/templates/`
244
+
245
+ **To import a template:**
246
+
247
+ 1. Navigate to the template file location above
248
+ 2. Open the desired `.json` file and copy its contents
249
+ 3. In n8n, click the **"+"** button in the top right
250
+ 4. Select **"Import from File"** or **"Import from URL"**
251
+ 5. Paste the JSON content
252
+ 6. Click **"Import"**
253
+ 7. Configure your credentials in the imported workflow nodes
254
+
255
+ **Available Templates:**
256
+ - `multi-channel-campaign.json`
257
+ - `event-registration-quality.json`
258
+ - `support-escalation-continuity.json`
259
+
260
+ ---
261
+
262
+ ### Workflow 1: Smart Multi-Channel Campaign
263
+
264
+ **Use Case:** Validate contacts before sending, intelligently route messages based on channel capability, and escalate to voice when critical messages aren't engaged.
265
+
266
+ **How It Works:**
267
+
268
+ 1. **Contact Validation** - Validates both phone and email in parallel
269
+ 2. **Quality Gate** - Routes based on validation results:
270
+ - Route A: High quality (valid email + SMS-capable mobile)
271
+ - Route B: Email only (invalid/landline phone)
272
+ - Route C: Phone only (invalid email)
273
+ - Route D: Suppress (both invalid)
274
+ 3. **Progressive Engagement** (Route A):
275
+ - Send email → Wait 24h
276
+ - If not opened → Send SMS → Wait 48h
277
+ - If still no engagement → Voice call
278
+ 4. **CRM Update** - Track validation results and engagement
279
+
280
+ **Benefits:**
281
+ - Reduce wasted messaging costs by 30-50%
282
+ - Improve engagement rates through channel optimization
283
+ - Automatic escalation ensures critical messages are seen
284
+ - Complete audit trail of contact attempts
285
+
286
+ ---
287
+
288
+ ### Workflow 2: Event Registration Quality Control
289
+
290
+ **Use Case:** Enhance event registration with real-time validation and automated continuity to ensure attendees receive critical updates.
291
+
292
+ **How It Works:**
293
+
294
+ 1. **Real-Time Validation** - Validates contact info at registration
295
+ 2. **Quality Check** - Accepts valid registrations or requests correction
296
+ 3. **Confirmation** - Sends email + SMS confirmation
297
+ 4. **Reminder Sequence**:
298
+ - Day -7: Email reminder
299
+ - Day -3: SMS reminder
300
+ - Day -1: Email + SMS
301
+ - Day 0 (2h before): Voice call if no check-in
302
+ 5. **Post-Event Follow-up** - Survey and engagement tracking
303
+
304
+ **Benefits:**
305
+ - Prevent no-shows with multi-channel reminders
306
+ - Ensure all attendees receive event updates
307
+ - Improve data quality for future events
308
+ - Higher attendance and engagement rates
309
+
310
+ ---
311
+
312
+ ### Workflow 3: Support Ticket Escalation
313
+
314
+ **Use Case:** Automatically escalate high-priority support tickets through the most reliable channels with continuity guarantee.
315
+
316
+ **How It Works:**
317
+
318
+ 1. **Contact Validation** - Validates customer contact methods
319
+ 2. **Priority Assessment** - Routes based on ticket priority
320
+
321
+ **P0/P1 Immediate Escalation:**
322
+ - Attempt 1: Voice call → Wait 5min
323
+ - Attempt 2: SMS + Email → Wait 15min
324
+ - Attempt 3: Call alternate contact + Page on-call team
325
+
326
+ **P2/P3 Standard Flow:**
327
+ - Email → Wait 2h
328
+ - If no response → SMS → Wait 4h
329
+ - If no response → Voice call
330
+
331
+ 3. **Tracking** - Log all attempts and update customer profile
332
+ 4. **Feedback Loop** - Track which channels lead to fastest response
333
+
334
+ **Benefits:**
335
+ - Guaranteed contact for critical issues
336
+ - Reduced resolution time
337
+ - Improved customer satisfaction
338
+ - Optimized support team efficiency
339
+
340
+ ## Best Practices
341
+
342
+ ### Phone Number Validation
343
+
344
+ 1. **Always use E.164 format** - International format with country code (e.g., +14155551234)
345
+ 2. **Validate before sending** - Check SMS capability before sending SMS
346
+ 3. **Handle errors gracefully** - Use "Continue on Error" for bulk operations
347
+ 4. **Cache results** - Store validation results in your CRM to avoid repeated lookups
348
+
349
+ ### Email Validation
350
+
351
+ 1. **Set appropriate risk thresholds** - 0.5 is recommended for marketing, 0.7 for transactional
352
+ 2. **Use suggestions** - Present "Did you mean?" suggestions to users for typos
353
+ 3. **Validate at collection** - Validate emails when users submit forms
354
+ 4. **Suppress high-risk emails** - Don't send to disposable or high-risk addresses
355
+
356
+ ### Voice Calls
357
+
358
+ 1. **Keep messages concise** - 30-60 seconds maximum
359
+ 2. **Use appropriate voice** - Match voice to your brand and audience
360
+ 3. **Record important calls** - Enable recording for compliance and quality
361
+ 4. **Set reasonable timeouts** - Don't let calls run indefinitely
362
+ 5. **Provide callback options** - Always include a callback number
363
+
364
+ ### Workflow Design
365
+
366
+ 1. **Fail gracefully** - Use "Continue on Error" to prevent workflow failures
367
+ 2. **Log everything** - Track all contact attempts in your CRM
368
+ 3. **Respect preferences** - Honor customer channel preferences
369
+ 4. **Test thoroughly** - Use sandbox credentials for testing
370
+ 5. **Monitor costs** - Track API usage and set budget alerts
371
+
372
+ ## API Rate Limits
373
+
374
+ - **Number Lookup:** 100 requests/second
375
+ - **Email Validation:** 100 requests/hour (free tier), higher on paid plans
376
+ - **Voice:** 10 calls/second per account
377
+
378
+ Consider implementing rate limiting and queueing for bulk operations.
379
+
380
+ ## Troubleshooting
381
+
382
+ ### Common Issues
383
+
384
+ **"Invalid credentials" error**
385
+ - Verify your API Key and Secret are correct
386
+ - Check that you've selected the correct region
387
+ - Ensure credentials are saved in n8n
388
+
389
+ **"Phone number invalid" error**
390
+ - Use E.164 format (+country code + number)
391
+ - Remove spaces, hyphens, and parentheses
392
+ - Ensure country code is included
393
+
394
+ **"Email validation failed" error**
395
+ - Check that the email address is properly formatted
396
+ - Verify your Mailgun domain is verified
397
+ - Check your Mailgun API key is active
398
+
399
+ **Voice calls not connecting**
400
+ - Verify your Service Plan ID is correct
401
+ - Ensure the "from" number is a valid phone number from your provider
402
+ - Check that the "to" number can receive calls
403
+
404
+
405
+ ## Examples
406
+
407
+ ### Example 1: Validate Phone Before Sending SMS
408
+
409
+ ```json
410
+ {
411
+ "nodes": [
412
+ {
413
+ "name": "Number Lookup",
414
+ "type": "numberLookup",
415
+ "parameters": {
416
+ "operation": "reachability",
417
+ "phoneNumber": "={{ $json.phone }}",
418
+ "checkSms": true
419
+ }
420
+ },
421
+ {
422
+ "name": "IF SMS Capable",
423
+ "type": "n8n-nodes-base.if",
424
+ "parameters": {
425
+ "conditions": {
426
+ "boolean": [{"value1": "={{ $json.smsCapable }}", "value2": true}]
427
+ }
428
+ }
429
+ },
430
+ {
431
+ "name": "Send SMS",
432
+ "type": "n8n-nodes-base.twilio",
433
+ "parameters": {
434
+ "operation": "send",
435
+ "toNumber": "={{ $json.phoneNumber }}",
436
+ "message": "Your verification code is 123456"
437
+ }
438
+ }
439
+ ]
440
+ }
441
+ ```
442
+
443
+ ### Example 2: Email Validation with Suggestions
444
+
445
+ ```json
446
+ {
447
+ "nodes": [
448
+ {
449
+ "name": "Email Validation",
450
+ "type": "emailValidation",
451
+ "parameters": {
452
+ "operation": "validate",
453
+ "emailAddress": "={{ $json.email }}",
454
+ "returnSuggestions": true,
455
+ "riskThreshold": 0.6
456
+ }
457
+ },
458
+ {
459
+ "name": "Check Valid",
460
+ "type": "n8n-nodes-base.if",
461
+ "parameters": {
462
+ "conditions": {
463
+ "boolean": [{"value1": "={{ $json.valid }}", "value2": true}]
464
+ }
465
+ }
466
+ },
467
+ {
468
+ "name": "Send to Valid",
469
+ "type": "n8n-nodes-base.emailSend"
470
+ },
471
+ {
472
+ "name": "Suggest Correction",
473
+ "type": "n8n-nodes-base.webhook",
474
+ "parameters": {
475
+ "responseData": "={{ {suggestion: $json.didYouMean} }}"
476
+ }
477
+ }
478
+ ]
479
+ }
480
+ ```
481
+
482
+ ### Example 3: Progressive Voice Escalation
483
+
484
+ ```json
485
+ {
486
+ "nodes": [
487
+ {
488
+ "name": "Send Email",
489
+ "type": "n8n-nodes-base.emailSend"
490
+ },
491
+ {
492
+ "name": "Wait 1 Hour",
493
+ "type": "n8n-nodes-base.wait",
494
+ "parameters": {"amount": 1, "unit": "hours"}
495
+ },
496
+ {
497
+ "name": "Check Opened",
498
+ "type": "n8n-nodes-base.if",
499
+ "parameters": {
500
+ "conditions": {
501
+ "boolean": [{"value1": "={{ $json.opened }}", "value2": false}]
502
+ }
503
+ }
504
+ },
505
+ {
506
+ "name": "Voice Call",
507
+ "type": "programmableVoice",
508
+ "parameters": {
509
+ "operation": "ttsCall",
510
+ "toNumber": "={{ $json.phone }}",
511
+ "message": "This is an urgent notification. Please check your email.",
512
+ "voice": "en-US-female"
513
+ }
514
+ }
515
+ ]
516
+ }
517
+ ```
518
+
519
+ ## License
520
+
521
+ MIT License - see [LICENSE](LICENSE) file for details.
522
+
523
+ ---
524
+
525
+ **Built with ❤️**
@@ -0,0 +1,9 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class SinchApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SinchApi = void 0;
4
+ class SinchApi {
5
+ constructor() {
6
+ this.name = 'sinchApi';
7
+ this.displayName = 'Sinch API';
8
+ this.documentationUrl = 'https://developers.sinch.com/docs/numbers/';
9
+ this.properties = [
10
+ {
11
+ displayName: 'Project ID',
12
+ name: 'projectId',
13
+ type: 'string',
14
+ default: '',
15
+ required: true,
16
+ description: 'Your Sinch Project ID',
17
+ },
18
+ {
19
+ displayName: 'API Key',
20
+ name: 'apiKey',
21
+ type: 'string',
22
+ typeOptions: { password: true },
23
+ default: '',
24
+ required: true,
25
+ description: 'Your Sinch API Key (Key ID)',
26
+ },
27
+ {
28
+ displayName: 'API Secret',
29
+ name: 'apiSecret',
30
+ type: 'string',
31
+ typeOptions: { password: true },
32
+ default: '',
33
+ required: true,
34
+ description: 'Your Sinch API Secret (Key Secret)',
35
+ },
36
+ {
37
+ displayName: 'Service Plan ID',
38
+ name: 'servicePlanId',
39
+ type: 'string',
40
+ default: '',
41
+ description: 'Your Sinch Service Plan ID (optional, for Voice API)',
42
+ },
43
+ {
44
+ displayName: 'Region',
45
+ name: 'region',
46
+ type: 'options',
47
+ options: [
48
+ {
49
+ name: 'United States',
50
+ value: 'us',
51
+ },
52
+ {
53
+ name: 'Europe',
54
+ value: 'eu',
55
+ },
56
+ {
57
+ name: 'Asia Pacific',
58
+ value: 'ap',
59
+ },
60
+ ],
61
+ default: 'us',
62
+ description: 'The region for your Sinch API endpoint',
63
+ },
64
+ ];
65
+ this.authenticate = {
66
+ type: 'generic',
67
+ properties: {
68
+ auth: {
69
+ username: '={{$credentials.apiKey}}',
70
+ password: '={{$credentials.apiSecret}}',
71
+ },
72
+ },
73
+ };
74
+ this.test = {
75
+ request: {
76
+ baseURL: '=https://numbers.api.sinch.com/v1/projects/{{$credentials.projectId}}',
77
+ url: '/availableNumbers',
78
+ method: 'GET',
79
+ },
80
+ };
81
+ }
82
+ }
83
+ exports.SinchApi = SinchApi;
@@ -0,0 +1,9 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class SinchMailgunApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }