This is the official Javascript/Typescript Library for TokenChannel.io.
Remember that in order to start using TokenChannel.io API, you will need to register an account at https://tokenchannel.io and get an API KEY.
npm install tokenchannel
const apiKey = 'TCk-EjyljGEI032PiREvOJiN9g9RjPYUDWZWxhXE';
const client = new Tokenchannel(apiKey); // new Tokenchannel(apiKey, true) whether test mode is enabled for every challenge
try {
const channel = Channel.SMS;
const identifier = '+14155552671'; // E164
const {requestId} = await client.challenge(channel, identifier);
console.log("RequestId: ", requestId);
} catch (error) {
if (error instanceof TargetOptOutError) {
// handleCustomerOptOut()
} else if(error instanceof InvalidIdentifierError) {
// handleInvalidIdentifier()
} else if(error instanceof OutOfBalanceError) {
// handleOutOfBalanceError()
} else {
// handleError()
}
}
let authCode = '123456';
try {
const {channel, identifier} = await client.authenticate(requestId, authCode);
console.log(`Challenge successfully passed: ${identifier} in ${channel}`);
} catch (error) {
if (error instanceof InvalidCodeError || error instanceof BadRequestError) {
console.log("Invalid code");
} else if (error instanceof ChallengeExpiredError || error instanceof ChallengeClosedError
|| error instanceof ChallengeNotFoundError || error instanceof MaxAttemptsExceededError) {
console.log("Create a new challenge");
} else {
// Handle Unexpected
console.log("Error: ", error.message);
}
}
node dist/example/example.js challenge TELEGRAM <userId>