Skip to main content

API

Set End User Token​

const connection = new RTASBase()
.setToken("eyJhbGciOiJIUzI1N3Cy...")

Set SignalR Url​

const connection = new RTASBase()
.setUrl("https://rtas.example.url")

Set LogLevel​

See all options available: here

  • By default is None = 6
  • For debugging, we recommend using Debug = 1
const connection = new RTASBase()
.setLogLevel(1)

Connection Retires​

When the Internet connection fails, this will determine how many attempts will be made.

  • Default value: 10
  • min value: 1
  • max value: 10
const connection = new RTASBase()
.setConnectionRetries(10)

Connection Callbacks​

On Connection Established​

const connection = new RTASBase()
.setOnConnectionEstablishedCallback(
() => console.log("Connection Established")
)

On Connection Close​

const connection = new RTASBase()
.setOnConnectionCloseCallback(
(error) => console.log("Connection Close")
)

On Error​

const connection = new RTASBase()
.setOnErrorCallback(
(errorData) => console.log("OnError -> ", errorData)
)

On Connection Reconnecting​

const connection = new RTASBase()
.setOnConnectionReconnectingCallback(
() => console.log("Connection Reconnecting")
)

On Connection Reconnected​

const connection = new RTASBase()
.setOnConnectionReconnectedCallback(
() => console.log("Connection Reconnected")
)

Types​

warning

The section Transaction Callbacks and Registration Callbacks , only are available after applying the type

Set Transaction Type​

const connection = new RTASBase()
(...)
.setTransactionType()

Set Registration Type​

const connection = new RTASBase()
(...)
.setRegistrationType()

Transaction Callbacks​

On Transaction Pending​

const connection = new RTASBase()
.setTransactionType()
.setOnTransactionPendingCallback((data) => {
console.log("OnTransactionPending => ", data);
// data: {
// "application_name": "Your Application",
// "contract_key": "jGa/YXvUIi38xwwZUNETGyoesAmSjlCa2g9K/h/NQR8=",
// "deeplink_url": "https://open.dev.trustfactor.securityside.com/transaction?contractKey=...",
// "transaction_expiration": 1678108194,
// "transaction_id": "9bd7c8e246a64d0bac2ca7e32ef10f83",
// "user_display_name": "John Doe",
// "user_id": "john.doe"
// }
})

On Transaction Accepted​

const connection = new RTASBase()
.setTransactionType()
.setOnTransactionAcceptedCallback((data) => {
console.log("OnTransactionAccepted => ", data);
// data: {
// "application_name": "Your Application",
// "contract_key": "jGa/YXvUIi38xwwZUNETGyoesAmSjlCa2g9K/h/NQR8=",
// "device_key": "vUdD4bmV2+BKSDidO7CN44R2085nnDbz1oMcaCw3Cuw=",
// "transaction_id": "9bd7c8e246a64d0bac2ca7e32ef10f83",
// "user_display_name": "John Doe",
// "user_id": "john.doe"
// }
})

On Transaction Declined​

const connection = new RTASBase()
.setTransactionType()
.setOnTransactionDeclinedCallback((data) => {
console.log("OnTransactionDeclined => ", data);
// data: {
// "application_name": "Your Application",
// "contract_key": "jGa/YXvUIi38xwwZUNETGyoesAmSjlCa2g9K/h/NQR8=",
// "device_key": "vUdD4bmV2+BKSDidO7CN44R2085nnDbz1oMcaCw3Cuw=",
// "transaction_id": "9bd7c8e246a64d0bac2ca7e32ef10f83",
// "user_display_name": "John Doe",
// "user_id": "john.doe"
// }
})

On Transaction Expired​

const connection = new RTASBase()
.setTransactionType()
.setOnTransactionExpiredCallback((data) => {
console.log("OnTransactionExpired => ", data);
// data: {
// "application_name": "Your Application",
// "contract_key": "jGa/YXvUIi38xwwZUNETGyoesAmSjlCa2g9K/h/NQR8=",
// "transaction_id": "9bd7c8e246a64d0bac2ca7e32ef10f83",
// "user_display_name": "John Doe",
// "user_id": "john.doe"
// }
})

Registrations Callbacks​

On Registration Pending​

const connection = new RTASBase()
.setRegistrationType()
.setOnRegistrationPendingCallback((data) => {
console.log("OnRegistrationPending -> ", data);
// data: {
// "application_name": "Your application",
// "deeplink_url": "https://open.dev.trustfactor.securityside.com/register?payload=djIAAAAAAABkB...",
// "qr_code": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAIAAABEtEjdAAAfr0lEQVR4nOzdT6gkV/k38Lm372RmMiZxM...",
// "qr_code_expiration": 1678104748,
// "user_display_name": "John Doe",
// "user_id": "john.doe"
// }
})

On Registration Success​

const connection = new RTASBase()
.setRegistrationType()
.setOnRegistrationSuccessCallback((data) => {
console.log("OnRegistrationSuccess -> ", data);
// data: {
// "application_name": "Your Application",
// "contract_key": "7D/Iw9i3NdYLbHfw0UsVk3LcJo8PpQXoOPIRBhvF4Bk=",
// "device_info": {
// "device_model": "TFVA",
// "manufacturer": "SecuritySide",
// "marketing_name": "SecuritySide TFVA",
// "name": "Virtual Agent #1",
// "operating_system": "TFVA",
// "os_version": "1.0"
// },
// "device_key": "N+RlRWij82dHZ4TJ/slTbRP+UltX9SGC5DMhZOULbP4=",
// "user_display_name": "John Doe",
// "user_id": "john.doe"
// }
})

On Registration Expired​

const connection = new RTASBase()
.setRegistrationType()
.setOnRegistrationExpiredCallback((data) => {
console.log("OnRegistrationExpired -> ", data);
// data: {
// "application_name": "Your Application",
// "user_display_name": "John Doe",
// "user_id": "john.doe"
// }
})

Build​

This method should be the last method to be executed. This will start the connection with websocket.

warning

If misconfigured, this method will throw an error. To prevent the application from breaking, we recommend that you place a 'try catch' around the code

const connection = new RTASBase()
.setUrl("https://rtas.example.url")
.setToken("eyJhbGciOiJIUzI1NiIs....4ap76BW8KWv42GZqMuDNSauI77nZtU")
.setConnectionRetries(10)
.setOnErrorCallback((errorData) => console.log("OnError -> ", errorData))
.setOnConnectionReconnectedCallback(() => console.log("Connection Reconnected"))
.setOnConnectionReconnectingCallback(() => console.log("Connection Reconnecting"))
.setOnConnectionEstablishedCallback(() => console.log("Connection Established"))
.setOnConnectionCloseCallback((error) => console.log("Connection Close"))
.setRegistrationType()
.setOnRegistrationPendingCallback((data) => console.log("OnRegistrationPending -> ", data))
.setOnRegistrationExpiredCallback((data) => console.log("OnRegistrationExpired -> ", data))
.setOnRegistrationSuccessCallback((data) => console.log("OnRegistrationSuccess -> ", data))
.build();

Close Connection​

This method is used when after connecting, you want to close (for example, because you have navigated to another page)

when you get a final state like, for example: "Accepted" or "Rejected", you won't need to run this method, it will automatically terminate the connection, but if it runs it won't cause any problems either.

connection.closeConnection()

Retry Connection​

This method is used after losing the connection e you want to re-establish the connection (for example, clicking into a button)

connection.retry()