Validation¶
Use this page to validate the integration surface and embed parameters before release.
Tip
For a guided experience with a live preview, use Widget Studio.
What to test¶
- Tenant slug resolves and
/widget/v1/<tenant>/config.jsonreturns tenant config. - Your frontend origin is registered for the tenant.
- Your backend token endpoint returns
{ "token": "..." }. /sso-login/accepts the token and redirects to the expected target.- Anonymous SSO sets guest mode when
is_anonymousis true or identity is missing. - Known-user SSO sets a non-anonymous
SILENTsession when valid identity is present.
Environment URLs¶
| Environment | CDN script origin | Typical app/SSO origin |
|---|---|---|
| Development | https://dev.cdn.traveln.ai | matching dev tenant host |
| Production | https://cdn.traveln.ai | matching production tenant host |
Use the same environment for the CDN script, tenant config, token endpoint, and SSO URL.
Manual smoke checks¶
Hosted Trip Planner Widget¶
- Load a page containing
traveln-widget.js. - Confirm the iframe renders.
- Submit a prompt.
- Confirm your token endpoint receives
{ "prompt": "...", "trace_id": "..." }. - Confirm the browser redirects to
/sso-login/?token=...&prompt=.... - Confirm Traveln opens the AI trip planner.
Hosted Button Launchers¶
- Load a page containing
traveln-button.js. - Confirm the button iframe sizes itself and becomes visible.
- Click the button.
- Confirm your token endpoint receives
{ "trace_id": "..." }. - Confirm Traveln opens the target selected by
data-button-type.
Headless SDK¶
- Load
traveln-sdk.js. - Call
Traveln.init(...). - Trigger
Traveln.startPlanner,Traveln.openTrips,Traveln.openBookings, orTraveln.startAccommodationSearch. - Confirm the SDK requests a token and redirects through SSO.
SDK iframe Embed¶
- Build an SSO URL with
Traveln.getSSOToken(...)andTraveln.buildRedirectUrl(...). - Include
embed: { channel, parentOrigin: window.location.origin }. - Mount the generated URL in your iframe shell.
- Confirm the tenant allows the parent origin.
- Confirm the requested target opens in the iframe.
SDK OpenChat Embed¶
- Load
traveln-sdk.jsand callTraveln.init(...). - Call
Traveln.openChat({ chatId, container, onReady, onError }). - Confirm your token endpoint receives
chat_id. - Confirm the iframe posts
traveln.chat.ready. - Confirm an unauthorized chat UUID is rejected by Traveln backend authorization.