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()