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