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.
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
Load the SDK:
npm install @transmitsecurity/platform-web-sdk@^2The 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:
| Name | Type | Description |
|---|---|---|
serverPath | string | (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. |
resource | string | The resource to use when requesting an access token for the Orchestration module. |
locale | string | Language code for the SDK UI. |
logLevel | LogLevel | The verbosity level of SDK logging. Defaults to LogLevel.Info. |
pollingTimeout | number | The timeout, in seconds, for polling requests sent to the server for the WaitForAnotherDevice action. Defaults to 3. |
collectRiskData | boolean | When set to true enables risk data collection for Identity Threat Protection. |
cryptoBindingConfig.keyScope | string | Scopes 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. |