Skip to content

Overview

Orchestration is a module of a client-side JavaScript SDK that allows you to communicate with Mosaic, run journeys, and submit client input. Contact your Transmit representative to learn more about our orchestration capabilities.

Benefits

The SDK offers the following advantages:

  • Abstract and simplify the communication scheme
  • Validate that the client input response contains the expected client input
  • Keep state between the last server response and the next client input response
  • Allow passing the state between pages, for multi-page applications

Installation

Load the SDK:

npm install @transmitsecurity/platform-web-sdk@^2

Initialization

The main module interface is IdoSdk. To initialize, use the following code:

// Import Orchestration module
import { ido, initialize } from '@transmitsecurity/platform-web-sdk';

// Initialize SDK
// If SDK was loaded via script tag, use window.tsPlatform.initialize({ ... })
initialize({
  clientId: 'your-client-id',
  ido: {
    serverPath: 'https://api.transmitsecurity.io/ido', // Required: Set serverPath based on your region or custom domain
  },
  cryptoBindingConfig: {
    keyScope: 'your-scope' // Optional: Scope crypto-binding keys to a separate store to isolate key storage between browser contexts
  }
});

Customizations:

NameTypeDescription
serverPathstring(Required) The Orchestration module should be configured to work with your region or custom domain by setting serverPath to:
- https://api.transmitsecurity.io/ido (for US)
- https://api.eu.transmitsecurity.io/ido (for EU)
- https://api.ca.transmitsecurity.io/ido (for Canada)
- https://api.au.transmitsecurity.io/ido (for Australia)
- https://api.gasne1-ts01.transmitsecurity.io/ido (for Japan)
- https://api.sbx.transmitsecurity.io/ido (for sandbox)
- https://<your_custom_domain>/ido (for custom domain)
For the SDK modules to work properly together, the regions must match.
resourcestringThe resource to use when requesting an access token for the Orchestration module.
localestringLanguage code for the SDK UI.
logLevelLogLevelThe verbosity level of SDK logging. Defaults to LogLevel.Info.
pollingTimeoutnumberThe timeout, in seconds, for polling requests sent to the server for the WaitForAnotherDevice action. Defaults to 3.
collectRiskDatabooleanWhen set to true enables risk data collection for Identity Threat Protection.
cryptoBindingConfig.keyScopestringScopes the crypto-binding keys used for journey device registration and validation to a separate IndexedDB database, isolating key storage between browser contexts (e.g., WKWebView vs Safari on iOS). Set at the top level of the initialize() config, alongside ido.

Next steps