@sinch/verification 0.0.4 → 1.0.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.
- package/README.md +8 -13
- package/dist/index.d.ts +2 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/models/v1/callout-request-event-response/callout-request-event-response.d.ts +1 -1
- package/dist/models/v1/callout-verification-report-response/callout-verification-report-response.d.ts +6 -14
- package/dist/models/v1/callout-verification-status-response/callout-verification-status-response.d.ts +27 -0
- package/dist/models/v1/callout-verification-status-response/callout-verification-status-response.js +3 -0
- package/dist/models/v1/callout-verification-status-response/callout-verification-status-response.js.map +1 -0
- package/dist/models/v1/callout-verification-status-response/index.d.ts +1 -0
- package/dist/models/v1/callout-verification-status-response/index.js +18 -0
- package/dist/models/v1/callout-verification-status-response/index.js.map +1 -0
- package/dist/models/v1/enums.d.ts +5 -7
- package/dist/models/v1/flashcall-request-event-response/flashcall-request-event-response.d.ts +1 -1
- package/dist/models/v1/flashcall-verification-report-response/flashcall-verification-report-response.d.ts +3 -14
- package/dist/models/v1/flashcall-verification-status-response/flashcall-verification-status-response.d.ts +29 -0
- package/dist/models/v1/flashcall-verification-status-response/flashcall-verification-status-response.js +3 -0
- package/dist/models/v1/flashcall-verification-status-response/flashcall-verification-status-response.js.map +1 -0
- package/dist/models/v1/flashcall-verification-status-response/index.d.ts +1 -0
- package/dist/models/v1/flashcall-verification-status-response/index.js +18 -0
- package/dist/models/v1/flashcall-verification-status-response/index.js.map +1 -0
- package/dist/models/v1/helper.d.ts +17 -12
- package/dist/models/v1/helper.js +28 -12
- package/dist/models/v1/helper.js.map +1 -1
- package/dist/models/v1/index.d.ts +7 -1
- package/dist/models/v1/index.js +7 -1
- package/dist/models/v1/index.js.map +1 -1
- package/dist/models/v1/requests/index.d.ts +2 -0
- package/dist/models/v1/requests/index.js +19 -0
- package/dist/models/v1/requests/index.js.map +1 -0
- package/dist/models/v1/requests/verification-status/verification-status-request-data.d.ts +14 -0
- package/dist/models/v1/requests/verification-status/verification-status-request-data.js +3 -0
- package/dist/models/v1/requests/verification-status/verification-status-request-data.js.map +1 -0
- package/dist/models/v1/requests/verifications/verifications-request-data.d.ts +51 -0
- package/dist/models/v1/{verification-report-response/verification-report-response.js → requests/verifications/verifications-request-data.js} +1 -1
- package/dist/models/v1/requests/verifications/verifications-request-data.js.map +1 -0
- package/dist/models/v1/sms-request-event-response/sms-request-event-response.d.ts +1 -1
- package/dist/models/v1/sms-verification-report-response/sms-verification-report-response.d.ts +2 -11
- package/dist/models/v1/sms-verification-status-response/index.d.ts +1 -0
- package/dist/models/v1/sms-verification-status-response/index.js +18 -0
- package/dist/models/v1/sms-verification-status-response/index.js.map +1 -0
- package/dist/models/v1/sms-verification-status-response/sms-verification-status-response.d.ts +25 -0
- package/dist/models/v1/sms-verification-status-response/sms-verification-status-response.js +3 -0
- package/dist/models/v1/sms-verification-status-response/sms-verification-status-response.js.map +1 -0
- package/dist/models/v1/start-flashcall-verification-response/start-flashcall-verification-response.d.ts +1 -1
- package/dist/models/v1/start-seamless-verification-response/start-seamless-verification-response.d.ts +3 -0
- package/dist/models/v1/start-verification-request/index.d.ts +1 -1
- package/dist/models/v1/start-verification-request/start-verification-request.d.ts +30 -0
- package/dist/models/v1/verification-price-call/index.d.ts +1 -0
- package/dist/models/v1/verification-price-call/index.js +18 -0
- package/dist/models/v1/verification-price-call/index.js.map +1 -0
- package/dist/models/v1/verification-price-call/verification-price-call.d.ts +12 -0
- package/dist/models/v1/verification-price-call/verification-price-call.js +3 -0
- package/dist/models/v1/verification-price-call/verification-price-call.js.map +1 -0
- package/dist/models/v1/verification-price-sms/index.d.ts +1 -0
- package/dist/models/v1/verification-price-sms/index.js +18 -0
- package/dist/models/v1/verification-price-sms/index.js.map +1 -0
- package/dist/models/v1/verification-price-sms/verification-price-sms.d.ts +8 -0
- package/dist/models/v1/verification-price-sms/verification-price-sms.js +3 -0
- package/dist/models/v1/verification-price-sms/verification-price-sms.js.map +1 -0
- package/dist/models/v1/verification-report-response-price/index.d.ts +1 -1
- package/dist/models/v1/verification-result-event/verification-result-event.d.ts +1 -3
- package/dist/models/v1/verification-status-response/index.d.ts +1 -0
- package/dist/models/v1/verification-status-response/index.js.map +1 -0
- package/dist/models/v1/verification-status-response/verification-status-response.d.ts +4 -0
- package/dist/models/v1/verification-status-response/verification-status-response.js +3 -0
- package/dist/models/v1/verification-status-response/verification-status-response.js.map +1 -0
- package/dist/rest/v1/verification-domain-api.d.ts +3 -3
- package/dist/rest/v1/verification-domain-api.js +13 -16
- package/dist/rest/v1/verification-domain-api.js.map +1 -1
- package/dist/rest/v1/verification-service.d.ts +17 -4
- package/dist/rest/v1/verification-service.js +19 -6
- package/dist/rest/v1/verification-service.js.map +1 -1
- package/dist/rest/v1/verification-status/verification-status-api.d.ts +4 -18
- package/dist/rest/v1/verification-status/verification-status-api.jest.fixture.d.ts +5 -5
- package/dist/rest/v1/verification-status/verification-status-api.jest.fixture.js.map +1 -1
- package/dist/rest/v1/verification-status/verification-status-api.js +6 -6
- package/dist/rest/v1/verification-status/verification-status-api.js.map +1 -1
- package/dist/rest/v1/verifications/verifications-api.d.ts +3 -50
- package/dist/rest/v1/verifications/verifications-api.jest.fixture.d.ts +2 -2
- package/dist/rest/v1/verifications/verifications-api.jest.fixture.js.map +1 -1
- package/dist/rest/v1/verifications/verifications-api.js +42 -22
- package/dist/rest/v1/verifications/verifications-api.js.map +1 -1
- package/package.json +2 -2
- package/dist/models/v1/verification-report-response/index.d.ts +0 -1
- package/dist/models/v1/verification-report-response/index.js.map +0 -1
- package/dist/models/v1/verification-report-response/verification-report-response.d.ts +0 -4
- package/dist/models/v1/verification-report-response/verification-report-response.js.map +0 -1
- /package/dist/models/v1/{verification-report-response → verification-status-response}/index.js +0 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { CalloutVerificationReportRequest, FlashCallVerificationReportRequest, SmsVerificationReportRequest } from '../../verification-report-request';
|
|
2
|
+
import { StartSeamlessVerification, StartVerificationWithCallout, StartVerificationWithFlashCall, StartVerificationWithSms } from '../../start-verification-request';
|
|
3
|
+
interface ReportVerificationByIdRequestDataBase {
|
|
4
|
+
/** The ID of the verification. */
|
|
5
|
+
'id': string;
|
|
6
|
+
}
|
|
7
|
+
export interface ReportSmsVerificationByIdRequestData extends ReportVerificationByIdRequestDataBase {
|
|
8
|
+
/** Request body to report a verification started with an SMS by its ID */
|
|
9
|
+
'reportSmsVerificationByIdRequestBody': SmsVerificationReportRequest;
|
|
10
|
+
}
|
|
11
|
+
export interface ReportFlashCallVerificationByIdRequestData extends ReportVerificationByIdRequestDataBase {
|
|
12
|
+
/** Request body to report a verification started with a flashCall by its ID */
|
|
13
|
+
'reportFlashCallVerificationByIdRequestBody': FlashCallVerificationReportRequest;
|
|
14
|
+
}
|
|
15
|
+
export interface ReportCalloutVerificationByIdRequestData extends ReportVerificationByIdRequestDataBase {
|
|
16
|
+
/** Request body to report a verification started with a callout by its ID */
|
|
17
|
+
'reportCalloutVerificationByIdRequestBody': CalloutVerificationReportRequest;
|
|
18
|
+
}
|
|
19
|
+
interface ReportVerificationByIdentityRequestDataBase {
|
|
20
|
+
/** For type `number` use a [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537)-compatible phone number. */
|
|
21
|
+
'endpoint': string;
|
|
22
|
+
}
|
|
23
|
+
export interface ReportSmsVerificationByIdentityRequestData extends ReportVerificationByIdentityRequestDataBase {
|
|
24
|
+
/** Request body to report a verification started with an SMS by its identity */
|
|
25
|
+
'reportSmsVerificationByIdentityRequestBody': SmsVerificationReportRequest;
|
|
26
|
+
}
|
|
27
|
+
export interface ReportFlashCallVerificationByIdentityRequestData extends ReportVerificationByIdentityRequestDataBase {
|
|
28
|
+
/** Request body to report a verification started with a flashCall by its identity */
|
|
29
|
+
'reportFlashCallVerificationByIdentityRequestBody': FlashCallVerificationReportRequest;
|
|
30
|
+
}
|
|
31
|
+
export interface ReportCalloutVerificationByIdentityRequestData extends ReportVerificationByIdentityRequestDataBase {
|
|
32
|
+
/** Request body to report a verification started with a callout by its identity */
|
|
33
|
+
'reportCalloutVerificationByIdentityRequestBody': CalloutVerificationReportRequest;
|
|
34
|
+
}
|
|
35
|
+
export interface StartSmsVerificationRequestData {
|
|
36
|
+
/** Request body to start a verification with an SMS */
|
|
37
|
+
'startVerificationWithSmsRequestBody': StartVerificationWithSms;
|
|
38
|
+
}
|
|
39
|
+
export interface StartFlashCallVerificationRequestData {
|
|
40
|
+
/** Request body to start a verification with a flashCall */
|
|
41
|
+
'startVerificationWithFlashCallRequestBody': StartVerificationWithFlashCall;
|
|
42
|
+
}
|
|
43
|
+
export interface StartCalloutVerificationRequestData {
|
|
44
|
+
/** Request body to start a verification with a callout */
|
|
45
|
+
'startVerificationWithCalloutRequestBody': StartVerificationWithCallout;
|
|
46
|
+
}
|
|
47
|
+
export interface StartSeamlessVerificationRequestData {
|
|
48
|
+
/** Request body to start a seamless verification */
|
|
49
|
+
'startSeamlessVerificationRequestBody': StartSeamlessVerification;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifications-request-data.js","sourceRoot":"","sources":["../../../../../src/models/v1/requests/verifications/verifications-request-data.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ActionEnum } from '../enums';
|
|
1
2
|
export interface SMSRequestEventResponse {
|
|
2
3
|
/** Determines whether the verification can be executed. */
|
|
3
4
|
action?: ActionEnum;
|
|
@@ -10,5 +11,4 @@ interface SmsContent {
|
|
|
10
11
|
/** List of strings */
|
|
11
12
|
acceptLanguage?: string[];
|
|
12
13
|
}
|
|
13
|
-
export type ActionEnum = 'allow' | 'deny';
|
|
14
14
|
export {};
|
package/dist/models/v1/sms-verification-report-response/sms-verification-report-response.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { VerificationStatusEnum } from '../enums';
|
|
1
|
+
import { ReasonEnum, SourceEnum, VerificationStatusEnum } from '../enums';
|
|
2
2
|
import { Identity } from '../identity';
|
|
3
|
-
import { SMSVerificationReportResponsePrice } from '../verification-report-response-price';
|
|
4
3
|
export interface SMSVerificationReportResponse {
|
|
5
4
|
/** The unique ID of the verification request. */
|
|
6
5
|
id?: string;
|
|
@@ -12,16 +11,8 @@ export interface SMSVerificationReportResponse {
|
|
|
12
11
|
reason?: ReasonEnum;
|
|
13
12
|
/** The reference ID that was optionally passed together with the verification request. */
|
|
14
13
|
reference?: string;
|
|
15
|
-
/** @see SMSVerificationReportResponsePrice */
|
|
16
|
-
price?: SMSVerificationReportResponsePrice;
|
|
17
14
|
/** Free text that the client is sending, used to show if the call/SMS was intercepted or not. */
|
|
18
15
|
source?: SourceEnum;
|
|
19
|
-
/** */
|
|
16
|
+
/** @see Identity */
|
|
20
17
|
identity?: Identity;
|
|
21
|
-
/** */
|
|
22
|
-
countryId?: string;
|
|
23
|
-
/** */
|
|
24
|
-
verificationTimestamp?: Date;
|
|
25
18
|
}
|
|
26
|
-
export type ReasonEnum = 'Fraud' | 'Not enough credit' | 'Blocked' | 'Denied by callback' | 'Invalid callback' | 'Internal error' | 'Destination denied' | 'Network error or number unreachable' | 'Failed pending' | 'SMS delivery failure' | 'Invalid CLI' | 'Invalid code' | 'Expired' | 'Hung up without entering valid code';
|
|
27
|
-
export type SourceEnum = 'intercepted' | 'manual';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sms-verification-status-response';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./sms-verification-status-response"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/v1/sms-verification-status-response/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReasonEnum, SourceEnum, VerificationStatusEnum } from '../enums';
|
|
2
|
+
import { Identity } from '../identity';
|
|
3
|
+
import { VerificationPriceSMS } from '../verification-price-sms';
|
|
4
|
+
export interface SMSVerificationStatusResponse {
|
|
5
|
+
/** The unique ID of the verification request. */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** The method of the verification request. This will always be `sms`. */
|
|
8
|
+
method?: 'sms';
|
|
9
|
+
/** The status of the verification request. */
|
|
10
|
+
status?: VerificationStatusEnum;
|
|
11
|
+
/** Displays the reason why a verification has `FAILED`, was `DENIED`, or was `ABORTED`. */
|
|
12
|
+
reason?: ReasonEnum;
|
|
13
|
+
/** The reference ID that was optionally passed together with the verification request. */
|
|
14
|
+
reference?: string;
|
|
15
|
+
/** Prices associated with this verification */
|
|
16
|
+
price?: VerificationPriceSMS;
|
|
17
|
+
/** @see Identity */
|
|
18
|
+
identity?: Identity;
|
|
19
|
+
/** The ID of the country to which the verification was sent. */
|
|
20
|
+
countryId?: string;
|
|
21
|
+
/** The timestamp in UTC format. </br> **Note:** The formatting does not respect `ISO-8601` and the returned value has the format `YYYY-MM-DDThh:mm:ss.SSS`. If you need to parse this value into a specific date object in your programming language, please append `Z` (Zulu time = UTC) at the end of the date value to match the `ISO-8601` format: `YYYY-MM-DDThh:mm:ss.SSSZ`. */
|
|
22
|
+
verificationTimestamp?: Date;
|
|
23
|
+
/** Free text that the client is sending, used to show if the call/SMS was intercepted or not. */
|
|
24
|
+
source?: SourceEnum;
|
|
25
|
+
}
|
package/dist/models/v1/sms-verification-status-response/sms-verification-status-response.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sms-verification-status-response.js","sourceRoot":"","sources":["../../../../src/models/v1/sms-verification-status-response/sms-verification-status-response.ts"],"names":[],"mappings":""}
|
|
@@ -3,7 +3,7 @@ export interface StartFlashCallVerificationResponse {
|
|
|
3
3
|
/** Verification identifier used to query for status. */
|
|
4
4
|
id?: string;
|
|
5
5
|
/** The value of the method used for the Verification. For Flashcall Verifications, this will always be `flashCall`. */
|
|
6
|
-
method?: '
|
|
6
|
+
method?: 'flashcall';
|
|
7
7
|
/** The response contains the `cliFilter` and `interceptionTimeout` properties. */
|
|
8
8
|
flashCall?: FlashCallContent;
|
|
9
9
|
/** @see LinksObject */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LinksObject } from '../links-object';
|
|
1
2
|
export interface StartSeamlessVerificationResponse {
|
|
2
3
|
/** Verification identifier used to query for status. */
|
|
3
4
|
id: string;
|
|
@@ -5,6 +6,8 @@ export interface StartSeamlessVerificationResponse {
|
|
|
5
6
|
method?: 'seamless';
|
|
6
7
|
/** The response contains the target URI. */
|
|
7
8
|
seamless?: SeamlessContent;
|
|
9
|
+
/** @see LinksObject */
|
|
10
|
+
_links?: LinksObject[];
|
|
8
11
|
}
|
|
9
12
|
interface SeamlessContent {
|
|
10
13
|
/** The target URI. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type { StartVerificationBase, StartVerificationWithSms, StartVerificationWithFlashCall, StartVerificationWithCallout, StartSeamlessVerification, } from './start-verification-request';
|
|
1
|
+
export type { StartVerificationBase, StartVerificationWithSms, StartVerificationWithFlashCall, StartVerificationWithCallout, StartSeamlessVerification, SmsOptions, CodeType, CalloutOptions, CalloutOptionsSpeech, FlashCallOptions, } from './start-verification-request';
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { Identity } from '../identity';
|
|
2
2
|
export interface StartVerificationWithSms extends StartVerificationBase {
|
|
3
|
+
/** @see SmsOptions */
|
|
4
|
+
smsOptions?: SmsOptions;
|
|
3
5
|
}
|
|
4
6
|
export interface StartVerificationWithFlashCall extends StartVerificationBase {
|
|
5
7
|
/** @see FlashCallOptions */
|
|
6
8
|
flashCallOptions?: FlashCallOptions;
|
|
7
9
|
}
|
|
8
10
|
export interface StartVerificationWithCallout extends StartVerificationBase {
|
|
11
|
+
/** @see CalloutOptions */
|
|
12
|
+
calloutOptions?: CalloutOptions;
|
|
9
13
|
}
|
|
10
14
|
export interface StartSeamlessVerification extends StartVerificationBase {
|
|
11
15
|
}
|
|
@@ -17,6 +21,18 @@ export interface StartVerificationBase {
|
|
|
17
21
|
/** Can be used to pass custom data in the request. */
|
|
18
22
|
custom?: string;
|
|
19
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* An optional object for SMS Verification, with default values assumed for all contained values if not provided.
|
|
26
|
+
*/
|
|
27
|
+
export interface SmsOptions {
|
|
28
|
+
/** The expiration time for a verification process is represented in the format `HH:MM:SS`. */
|
|
29
|
+
expiry?: Date | string;
|
|
30
|
+
/** Accepted values for the type of code to be generated are `Numeric`, `Alpha`, and `Alphanumeric`. Default is `Numeric`. */
|
|
31
|
+
codeType?: CodeType;
|
|
32
|
+
/** The SMS template must include a placeholder `{{CODE}}` where the verification code will be inserted, and it can otherwise be customized as desired. */
|
|
33
|
+
template?: string;
|
|
34
|
+
}
|
|
35
|
+
export type CodeType = 'Numeric' | 'Alpha' | 'Alphanumeric';
|
|
20
36
|
/**
|
|
21
37
|
* An optional object for flashCall verifications. It allows you to specify dial time out parameter for flashCall. FlashCallOptions object can be specified optionally, and only if the verification request was triggered from your backend (no SDK client) through an [Application signed request](/docs/voice/api-reference/authentication/signed-request).
|
|
22
38
|
*/
|
|
@@ -24,3 +40,17 @@ export interface FlashCallOptions {
|
|
|
24
40
|
/** The dial timeout in seconds. */
|
|
25
41
|
dialTimeout?: number;
|
|
26
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* An optional object for Phone Call Verification, with default values assumed for all contained values if not provided.
|
|
45
|
+
*/
|
|
46
|
+
export interface CalloutOptions {
|
|
47
|
+
/** @see CalloutOptionsSpeech */
|
|
48
|
+
speech?: CalloutOptionsSpeech;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Text-To-Speech engine settings
|
|
52
|
+
*/
|
|
53
|
+
export interface CalloutOptionsSpeech {
|
|
54
|
+
/** A `language-region` identifier according to [IANA](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry). Only a subset of those identifiers is accepted. */
|
|
55
|
+
locale?: string;
|
|
56
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './verification-price-call';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./verification-price-call"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/v1/verification-price-call/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Price } from '../price';
|
|
2
|
+
/**
|
|
3
|
+
* Prices associated with this verification
|
|
4
|
+
*/
|
|
5
|
+
export interface VerificationPriceCall {
|
|
6
|
+
/** The maximum price charged for this verification process. This property will appear in the body of the response with a delay. It will become visible only when the verification status is other than PENDING. */
|
|
7
|
+
verificationPrice?: Price;
|
|
8
|
+
/** The maximum cost of the call made during this verification process. Present only when termination debiting is enabled (disabled by default). This property will appear in the body of the response with a delay. It will become visible only after the call is completed, when its cost is known to Sinch. */
|
|
9
|
+
terminationPrice?: Price;
|
|
10
|
+
/** The time of the call for which the fee was charged. Present only when termination debiting is enabled (disabled by default). Depending on the type of rounding used, the value is the actual call time rounded to the nearest second, minute or other value. */
|
|
11
|
+
billableDuration?: number;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-price-call.js","sourceRoot":"","sources":["../../../../src/models/v1/verification-price-call/verification-price-call.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './verification-price-sms';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./verification-price-sms"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/v1/verification-price-sms/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Price } from '../price';
|
|
2
|
+
/**
|
|
3
|
+
* Prices associated with this verification
|
|
4
|
+
*/
|
|
5
|
+
export interface VerificationPriceSMS {
|
|
6
|
+
/** The maximum price charged for this verification process. This property will appear in the body of the response with a delay. It will become visible only when the verification status is other than PENDING. */
|
|
7
|
+
verificationPrice?: Price;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-price-sms.js","sourceRoot":"","sources":["../../../../src/models/v1/verification-price-sms/verification-price-sms.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type { VerificationReportResponsePrice,
|
|
1
|
+
export type { VerificationReportResponsePrice, } from './verification-report-response-price';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Identity } from '../identity';
|
|
2
|
-
import { VerificationStatusEnum } from '../enums';
|
|
2
|
+
import { ReasonEnum, SourceEnum, VerificationStatusEnum } from '../enums';
|
|
3
3
|
export interface VerificationResultEvent {
|
|
4
4
|
/** The ID of the verification request. */
|
|
5
5
|
id: string;
|
|
@@ -21,5 +21,3 @@ export interface VerificationResultEvent {
|
|
|
21
21
|
custom?: string;
|
|
22
22
|
}
|
|
23
23
|
export type MethodEnum = 'sms' | 'flashcall' | 'callout' | 'seamless';
|
|
24
|
-
export type ReasonEnum = 'Fraud' | 'Not enough credit' | 'Blocked' | 'Denied by callback' | 'Invalid callback' | 'Internal error' | 'Destination denied' | 'Network error or number unreachable' | 'Failed pending' | 'SMS delivery failure' | 'Invalid CLI' | 'Invalid code' | 'Expired' | 'Hung up without entering valid code';
|
|
25
|
-
export type SourceEnum = 'intercepted' | 'manual';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { VerificationStatusResponse } from './verification-status-response';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/models/v1/verification-status-response/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SMSVerificationStatusResponse } from '../sms-verification-status-response';
|
|
2
|
+
import { FlashCallVerificationStatusResponse } from '../flashcall-verification-status-response';
|
|
3
|
+
import { CalloutVerificationStatusResponse } from '../callout-verification-status-response';
|
|
4
|
+
export type VerificationStatusResponse = SMSVerificationStatusResponse | FlashCallVerificationStatusResponse | CalloutVerificationStatusResponse;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-status-response.js","sourceRoot":"","sources":["../../../../src/models/v1/verification-status-response/verification-status-response.ts"],"names":[],"mappings":""}
|
|
@@ -5,10 +5,10 @@ export declare class VerificationDomainApi implements Api {
|
|
|
5
5
|
private sinchClientParameters;
|
|
6
6
|
constructor(sinchClientParameters: SinchClientParameters, apiName: string);
|
|
7
7
|
/**
|
|
8
|
-
* Update the default
|
|
9
|
-
* @param {string}
|
|
8
|
+
* Update the default hostname for the API
|
|
9
|
+
* @param {string} hostname - The new hostname to use for the APIs.
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
setHostname(hostname: string): void;
|
|
12
12
|
/**
|
|
13
13
|
* Updates the application credentials used to authenticate API requests
|
|
14
14
|
* @param {ApplicationCredentials} credentials
|
|
@@ -8,12 +8,18 @@ class VerificationDomainApi {
|
|
|
8
8
|
this.apiName = apiName;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* Update the default
|
|
12
|
-
* @param {string}
|
|
11
|
+
* Update the default hostname for the API
|
|
12
|
+
* @param {string} hostname - The new hostname to use for the APIs.
|
|
13
13
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
setHostname(hostname) {
|
|
15
|
+
try {
|
|
16
|
+
this.client = this.getSinchClient();
|
|
17
|
+
this.client.apiClientOptions.hostname = hostname;
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
console.error('Impossible to set a new hostname, the Application credentials need to be provided first.');
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
17
23
|
}
|
|
18
24
|
/**
|
|
19
25
|
* Updates the application credentials used to authenticate API requests
|
|
@@ -46,18 +52,9 @@ class VerificationDomainApi {
|
|
|
46
52
|
*/
|
|
47
53
|
getSinchClient() {
|
|
48
54
|
if (!this.client) {
|
|
49
|
-
|
|
50
|
-
throw new Error('Invalid configuration for the Verification API: '
|
|
51
|
-
+ '"applicationKey" and "applicationSecret" values must be provided');
|
|
52
|
-
}
|
|
53
|
-
const apiClientOptions = {
|
|
54
|
-
requestPlugins: [
|
|
55
|
-
new sdk_client_1.XTimestampRequest(),
|
|
56
|
-
new sdk_client_1.SigningRequest(this.sinchClientParameters.applicationKey, this.sinchClientParameters.applicationSecret),
|
|
57
|
-
],
|
|
58
|
-
};
|
|
55
|
+
const apiClientOptions = (0, sdk_client_1.buildApplicationSignedApiClientOptions)(this.sinchClientParameters, 'Verification');
|
|
59
56
|
this.client = new sdk_client_1.ApiFetchClient(apiClientOptions);
|
|
60
|
-
this.client.apiClientOptions.
|
|
57
|
+
this.client.apiClientOptions.hostname = this.sinchClientParameters.verificationHostname ?? 'https://verification.api.sinch.com';
|
|
61
58
|
}
|
|
62
59
|
return this.client;
|
|
63
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-domain-api.js","sourceRoot":"","sources":["../../../src/rest/v1/verification-domain-api.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"verification-domain-api.js","sourceRoot":"","sources":["../../../src/rest/v1/verification-domain-api.ts"],"names":[],"mappings":";;;AAAA,kDAO2B;AAE3B,MAAa,qBAAqB;IAKhC,YAAY,qBAA4C,EAAE,OAAe;QACvE,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,QAAgB;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAC;YAC1G,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,cAAc,CAAC,WAAmC;QACvD,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3D,IAAI,CAAC,qBAAqB,GAAG;YAC3B,GAAG,gBAAgB;YACnB,GAAG,WAAW;SACf,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAClF,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;YAC9C,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACI,cAAc;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,gBAAgB,GAAG,IAAA,mDAAsC,EAAC,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;YAC5G,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAc,CAAC,gBAAgB,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,IAAI,oCAAoC,CAAC;QAClI,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AA9DD,sDA8DC"}
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
import { SinchClientParameters } from '@sinch/sdk-client';
|
|
2
2
|
import { VerificationStatusApi } from './verification-status';
|
|
3
3
|
import { VerificationsApi } from './verifications';
|
|
4
|
+
/**
|
|
5
|
+
* The Verification Service exposes the following APIs:
|
|
6
|
+
* - verifications
|
|
7
|
+
* - verificationStatus
|
|
8
|
+
*/
|
|
4
9
|
export declare class VerificationService {
|
|
5
10
|
readonly verificationStatus: VerificationStatusApi;
|
|
6
11
|
readonly verifications: VerificationsApi;
|
|
7
|
-
constructor(params: SinchClientParameters);
|
|
8
12
|
/**
|
|
9
|
-
*
|
|
13
|
+
* Create a new VerificationService instance with its configuration. It needs the following parameters for authentication:
|
|
14
|
+
* - `applicationKey`
|
|
15
|
+
* - `applicationSecret`
|
|
10
16
|
*
|
|
11
|
-
*
|
|
17
|
+
* Other supported properties:
|
|
18
|
+
* - `verificationHostname`
|
|
19
|
+
* @param {SinchClientParameters} params - an Object containing the necessary properties to initialize the service
|
|
20
|
+
*/
|
|
21
|
+
constructor(params: SinchClientParameters);
|
|
22
|
+
/**
|
|
23
|
+
* Update the default hostname for each API
|
|
24
|
+
* @param {string} hostname - The new hostname to use for all the APIs.
|
|
12
25
|
*/
|
|
13
|
-
|
|
26
|
+
setHostname(hostname: string): void;
|
|
14
27
|
}
|
|
@@ -3,19 +3,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VerificationService = void 0;
|
|
4
4
|
const verification_status_1 = require("./verification-status");
|
|
5
5
|
const verifications_1 = require("./verifications");
|
|
6
|
+
/**
|
|
7
|
+
* The Verification Service exposes the following APIs:
|
|
8
|
+
* - verifications
|
|
9
|
+
* - verificationStatus
|
|
10
|
+
*/
|
|
6
11
|
class VerificationService {
|
|
12
|
+
/**
|
|
13
|
+
* Create a new VerificationService instance with its configuration. It needs the following parameters for authentication:
|
|
14
|
+
* - `applicationKey`
|
|
15
|
+
* - `applicationSecret`
|
|
16
|
+
*
|
|
17
|
+
* Other supported properties:
|
|
18
|
+
* - `verificationHostname`
|
|
19
|
+
* @param {SinchClientParameters} params - an Object containing the necessary properties to initialize the service
|
|
20
|
+
*/
|
|
7
21
|
constructor(params) {
|
|
8
22
|
this.verificationStatus = new verification_status_1.VerificationStatusApi(params);
|
|
9
23
|
this.verifications = new verifications_1.VerificationsApi(params);
|
|
10
24
|
}
|
|
11
25
|
/**
|
|
12
|
-
* Update the default
|
|
13
|
-
*
|
|
14
|
-
* @param {string} basePath - The new base path to use for all the APIs.
|
|
26
|
+
* Update the default hostname for each API
|
|
27
|
+
* @param {string} hostname - The new hostname to use for all the APIs.
|
|
15
28
|
*/
|
|
16
|
-
|
|
17
|
-
this.verificationStatus.
|
|
18
|
-
this.verifications.
|
|
29
|
+
setHostname(hostname) {
|
|
30
|
+
this.verificationStatus.setHostname(hostname);
|
|
31
|
+
this.verifications.setHostname(hostname);
|
|
19
32
|
}
|
|
20
33
|
}
|
|
21
34
|
exports.VerificationService = VerificationService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-service.js","sourceRoot":"","sources":["../../../src/rest/v1/verification-service.ts"],"names":[],"mappings":";;;AACA,+DAA8D;AAC9D,mDAAmD;AAEnD,MAAa,mBAAmB;IAI9B,YAAY,MAA6B;QACvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,2CAAqB,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,gCAAgB,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"verification-service.js","sourceRoot":"","sources":["../../../src/rest/v1/verification-service.ts"],"names":[],"mappings":";;;AACA,+DAA8D;AAC9D,mDAAmD;AAEnD;;;;GAIG;AACH,MAAa,mBAAmB;IAI9B;;;;;;;;OAQG;IACH,YAAY,MAA6B;QACvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,2CAAqB,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,gCAAgB,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,QAAgB;QACjC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;CACF;AA1BD,kDA0BC"}
|
|
@@ -1,20 +1,6 @@
|
|
|
1
1
|
import { SinchClientParameters } from '@sinch/sdk-client';
|
|
2
|
-
import {
|
|
2
|
+
import { VerificationStatusResponse, VerificationStatusByIdentityRequestData, VerificationStatusByIdRequestData, VerificationStatusByReferenceRequestData } from '../../../models';
|
|
3
3
|
import { VerificationDomainApi } from '../verification-domain-api';
|
|
4
|
-
export interface VerificationStatusByIdRequestData {
|
|
5
|
-
/** The ID of the verification. */
|
|
6
|
-
'id': string;
|
|
7
|
-
}
|
|
8
|
-
export interface VerificationStatusByIdentityRequestData {
|
|
9
|
-
/** For type `number` use a [E.164](https://community.sinch.com/t5/Glossary/E-164/ta-p/7537)-compatible phone number. */
|
|
10
|
-
'endpoint': string;
|
|
11
|
-
/** The method of the verification. */
|
|
12
|
-
'method': 'sms' | 'callout' | 'flashCall';
|
|
13
|
-
}
|
|
14
|
-
export interface VerificationStatusByReferenceRequestData {
|
|
15
|
-
/** The custom reference of the verification. */
|
|
16
|
-
'reference': string;
|
|
17
|
-
}
|
|
18
4
|
export declare class VerificationStatusApi extends VerificationDomainApi {
|
|
19
5
|
/**
|
|
20
6
|
* Initialize your interface
|
|
@@ -27,17 +13,17 @@ export declare class VerificationStatusApi extends VerificationDomainApi {
|
|
|
27
13
|
* Queries the verification result by sending the verification ID. With this query you can get the result of a verification.
|
|
28
14
|
* @param { VerificationStatusByIdRequestData } data - The data to provide to the API call.
|
|
29
15
|
*/
|
|
30
|
-
getById(data: VerificationStatusByIdRequestData): Promise<
|
|
16
|
+
getById(data: VerificationStatusByIdRequestData): Promise<VerificationStatusResponse>;
|
|
31
17
|
/**
|
|
32
18
|
* Get verification by Identity
|
|
33
19
|
* Queries the verification result by sending the verification Identity (usually a phone number) and its method. With this query you can get the result of a verification.
|
|
34
20
|
* @param { VerificationStatusByIdentityRequestData } data - The data to provide to the API call.
|
|
35
21
|
*/
|
|
36
|
-
getByIdentity(data: VerificationStatusByIdentityRequestData): Promise<
|
|
22
|
+
getByIdentity(data: VerificationStatusByIdentityRequestData): Promise<VerificationStatusResponse>;
|
|
37
23
|
/**
|
|
38
24
|
* Get verification by Reference
|
|
39
25
|
* Queries the verification result by sending the verification Reference. With this query you can get the result of a verification.
|
|
40
26
|
* @param { VerificationStatusByReferenceRequestData } data - The data to provide to the API call.
|
|
41
27
|
*/
|
|
42
|
-
getByReference(data: VerificationStatusByReferenceRequestData): Promise<
|
|
28
|
+
getByReference(data: VerificationStatusByReferenceRequestData): Promise<VerificationStatusResponse>;
|
|
43
29
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/// <reference types="jest" />
|
|
2
|
-
import { VerificationStatusApi
|
|
3
|
-
import {
|
|
2
|
+
import { VerificationStatusApi } from './verification-status-api';
|
|
3
|
+
import { VerificationStatusResponse, VerificationStatusByIdRequestData, VerificationStatusByIdentityRequestData, VerificationStatusByReferenceRequestData } from '../../../models';
|
|
4
4
|
export declare class VerificationStatusApiFixture implements Partial<Readonly<VerificationStatusApi>> {
|
|
5
5
|
/**
|
|
6
6
|
* Fixture associated to function getById
|
|
7
7
|
*/
|
|
8
|
-
getById: jest.Mock<Promise<
|
|
8
|
+
getById: jest.Mock<Promise<VerificationStatusResponse>, [VerificationStatusByIdRequestData]>;
|
|
9
9
|
/**
|
|
10
10
|
* Fixture associated to function getByIdentity
|
|
11
11
|
*/
|
|
12
|
-
getByIdentity: jest.Mock<Promise<
|
|
12
|
+
getByIdentity: jest.Mock<Promise<VerificationStatusResponse>, [VerificationStatusByIdentityRequestData]>;
|
|
13
13
|
/**
|
|
14
14
|
* Fixture associated to function getByReference
|
|
15
15
|
*/
|
|
16
|
-
getByReference: jest.Mock<Promise<
|
|
16
|
+
getByReference: jest.Mock<Promise<VerificationStatusResponse>, [VerificationStatusByReferenceRequestData]>;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-status-api.jest.fixture.js","sourceRoot":"","sources":["../../../../src/rest/v1/verification-status/verification-status-api.jest.fixture.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"verification-status-api.jest.fixture.js","sourceRoot":"","sources":["../../../../src/rest/v1/verification-status/verification-status-api.jest.fixture.ts"],"names":[],"mappings":";;;AAQA,MAAa,4BAA4B;IAAzC;QAEE;;WAEG;QACI,YAAO,GAC0E,IAAI,CAAC,EAAE,EAAE,CAAC;QAClG;;WAEG;QACI,kBAAa,GAC0E,IAAI,CAAC,EAAE,EAAE,CAAC;QACxG;;WAEG;QACI,mBAAc,GAC0E,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3G,CAAC;CAAA;AAjBD,oEAiBC"}
|