Enumeration: IdoJourneyActionType
Description
The enum for the Journey step ID, used when the journey step is a predefined typed action. The actions that do not use this are "Get Information from Client" and "Login Form" which allow the journey author to define a custom ID. See also journeyStepId.
Enumeration Members
Rejection
• Rejection = "action:rejection"
Description
journeyStepId
for a journey rejection.
Success
• Success = "action:success"
Description
journeyStepId
for a journey completion.
Information
• Information = "action:information"
Description
journeyStepId
for an Information action.
Data received in the IdoServiceResponse object: These are the text values that are configured for the Information action step in the journey editor. This can be used to display the information to the user.
{
"data": {
"title": "<TITLE>",
"text": "<TEXT>",
"button_text": "<BUTTON TEXT>"
}
}
The client response does not need to include any data: tsPlatform.ido.submitClientResponse(ClientResponseOptionType.ClientInput);
DebugBreak
• DebugBreak = "action:debug_break"
Description
journeyStepId
for a server side debugger breakpoint.
This response is sent to the client side when the journey debugger has reached a breakpoint, and will continue to return while
the journey debugger is paused.
The IdoServiceResponse object does not include any data.
The client response does not need to include any data: tsPlatform.ido.submitClientResponse(ClientResponseOptionType.ClientInput);
WaitForAnotherDevice
• WaitForAnotherDevice = "action:wait_for_another_device"
Description
journeyStepId
for a Wait for Cross Session Message action.
The IdoServiceResponse object includes information that can be presented as a QR to scan by another device. The response will remain the same while the cross session message was not consumed by the journey executed by the other device.
The client response does not need to include any data: tsPlatform.ido.submitClientResponse(ClientResponseOptionType.ClientInput);
WebAuthnRegistration
• WebAuthnRegistration = "action:webauthn_registration"
Description
journeyStepId
for WebAuthn Registration action.
Data received in the IdoServiceResponse object: the input parameters that you need to send to tsPlatform.webauthn.register()
{
"data": {
"username": "<USERNAME>",
"display_name": "<DISPLAY_NAME>",
"register_as_discoverable": <true|false>,
"allow_cross_platform_authenticators": <true|false>
}
}
Before responding, activate tsPlatform.webauthn.register()
to obtain the webauthn_encoded_result
value.
This will present the user with the WebAuthn registration UI. Use the result to send the client response:
tsPlatform.ido.submitClientResponse(
ClientResponseOptionType.ClientInput,
{
"webauthn_encoded_result": "<WEBAUTHN_ENCODED_RESULT_FROM_SDK>"
})
DrsTriggerAction
• DrsTriggerAction = "action:drs_trigger_action"
Description
journeyStepId
for instructing the use of DRS trigger action, as part of the Risk Recommendation journey step.
Data received in the IdoServiceResponse object: the input parameters that you need to send to tsPlatform.drs.triggerActionEvent()
{
"data": {
"correlation_id": "a47ed80a-41f9-464a-a42f-fce775b6e446",
"user_id": "user",
"action_type": "login"
},
}
Before responding, activate tsPlatform.drs.triggerActionEvent()
to obtain the action_token
value. This is a silent action, and does not require user interaction.
Use the result to send the client response:
tsPlatform.ido.submitClientResponse(
ClientResponseOptionType.ClientInput,
{
"action_token": "<DRS action token>"
})
IdentityVerification
• IdentityVerification = "action:id_verification"
Description
journeyStepId
for Identity Verification action.
Data received in the IdoServiceResponse object:
{
"data": {
"payload": {
"endpoint": "<endpoint to redirect>",
"base_endpoint": "<base endpoint>",
"start_token": "<start token>",
"state": "<state>",
"session": "<session>"
},
}
}
Use this data to redirect the user to the identity verification endpoint.
Since this redirects to a different page, make sure you store the SDK state by calling tsPlatform.ido.serializeState()
, and saving the response data in the session storage.
After the user completes the identity verification, you can restore the SDK state and continue the journey, by calling tsPlatform.ido.restoreFromSerializedState()
with the stored state.
Once done, send the following client response:
tsPlatform.ido.submitClientResponse(
ClientResponseOptionType.ClientInput,
{
"payload": {
"sessionId": "<sessionId>",
"state": "<state>"
}
})
EmailOTPAuthentication
• EmailOTPAuthentication = "transmit_platform_email_otp_authentication"
Description
journeyStepId
for Email OTP authentication action.
Data received in the IdoServiceResponse object:
{
"data": {
"code_length": <integer_code_length>
}
}
On failure, the IdoServiceResponse
errorData field will contain either the error code InvalidCredentials or the error code ExpiredOTPPasscode.
This can be used to indicate that the passcode is invalid, prompting the user to enter a new passcode. Also, a resend option (see below) can be provided to the user.
Client responses:
-
For simple submit of OTP passcode:
tsPlatform.ido.submitClientResponse( ClientResponseOptionType.ClientInput, { "passcode": "<passcode>" })
-
In Order to request resend of OTP (restart the action):
tsPlatform.ido.submitClientResponse(ClientResponseOptionType.Resend)
SmsOTPAuthentication
• SmsOTPAuthentication = "transmit_platform_sms_otp_authentication"
Description
journeyStepId
for SMS OTP authentication action.
Data received in the IdoServiceResponse object:
{
"data": {
"code_length": <integer_code_length>
}
}
On failure, the IdoServiceResponse
errorData field will contain either the error code InvalidCredentials, or the error code ExpiredOTPPasscode
This can be used to indicate that the passcode is invalid, prompting the user to enter a new passcode. Also, a resend option (see below) can be provided to the user.
Client responses:
-
For simple submit of OTP passcode:
tsPlatform.ido.submitClientResponse( ClientResponseOptionType.ClientInput, { "passcode": "<passcode>" })
-
In Order to request resend of OTP (restart the action):
tsPlatform.ido.submitClientResponse(ClientResponseOptionType.Resend)
EmailValidation
• EmailValidation = "transmit_platform_email_validation"
Description
journeyStepId
for Email Validation action.
Data received in the IdoServiceResponse object:
{
"data": {
"code_length": <integer_code_length>
}
}
On failure, the IdoServiceResponse
errorData field will contain either the error code InvalidCredentials
Resend option also (see below) can be provided to the user.
Client responses:
-
For simple submit of validation passcode:
tsPlatform.ido.submitClientResponse( ClientResponseOptionType.ClientInput, { "passcode": "<passcode>" })
-
In Order to request resend of OTP (restart the action):
tsPlatform.ido.submitClientResponse(ClientResponseOptionType.Resend)
SmsValidation
• SmsValidation = "transmit_platform_sms_validation"
Description
journeyStepId
for Sms Validation action.
Data received in the IdoServiceResponse object:
{
"data": {
"code_length": <integer_code_length>
}
}
On failure, the IdoServiceResponse
errorData field will contain either the error code InvalidCredentials
Resend option also (see below) can be provided to the user.
Client responses:
-
For simple submit of validation passcode:
tsPlatform.ido.submitClientResponse( ClientResponseOptionType.ClientInput, { "passcode": "<passcode>" })
-
In Order to request resend of OTP (restart the action):
tsPlatform.ido.submitClientResponse(ClientResponseOptionType.Resend)
TotpRegistration
• TotpRegistration = "transmit_platform_totp_registration"
InvokeIDP
• InvokeIDP = "invoke_idp"
Description
journeyStepId
for Invoke IDP action.
Data received in the IdoServiceResponse object:
{
"data": {
"authorization_url": "<URL_OF_THE_AUTHORIZATION_ENDPOINT>",
"authorization_request_method": "<GET_OR_POST>",
"invocation_method": "<PAGE_OR_POPUP>",
"idp_name": "<IDP_NAME>"
}
}
Use this data to redirect the user to the IDP authorization endpoint.
Once done, send the following client response:
tsPlatform.ido.submitClientResponse(
ClientResponseOptionType.ClientInput,
{
"idp_response" : {
"code": "<code>",
"state": "<state>",
}
}
)