Deep Links

A deep link creates a secure, time-limited URL that links to a Shuttle UX component. Deep links power the embeddable Merchant Setup and merchant view experiences.

Deep Link Types

TypeDescription
gateway-setupEmbeds the Merchant Setup component — allows a merchant to connect and configure payment processors
merchantEmbeds the merchant view — allows searching and viewing accounts, transactions, and contracts

Integration

  1. Server-side: Create a deep link via POST /deep_links with the type and context
  2. Client-side: Include shuttle.js and add a container div:
<script src="https://app.shuttleglobal.com/shuttle-1.4.X.js"></script>
<div data-shuttle-embed="DEEP_LINK_ID"></div>

If the div is added after page load (e.g., React), call Shuttle.bind().

Context Options

Merchant Setup (gateway-setup)

FieldDescription
processorLimit Merchant Setup to a single processor (e.g., "STRIPE")
processor_filterArray of allowed processors (e.g., ["STRIPE", "SQUARE"])
themeUI customisation — fonts, colours, border radius, row height

Merchant View (merchant)

FieldDescription
moduleModule to display (currently only enquiry)
actionView to display: view_account, view_contract, or view_transaction
id / alt_keyID of the object to view (pass one or the other)
menuMenu style: normal, banner, or hidden
menu_logoURL to PNG logo for banner menu (max 120x20px recommended)
return_urlURL to navigate to when logo is clicked (banner menu)
faviconURL to PNG favicon when opened in a window

Security

FieldDescription
user.alt_keyYour primary key for the logged-in user — all activity is grouped under this key
user.nameDisplay name of the logged-in user
session.teamsTeams the user belongs to (controls permissions). Valid values: ADMIN (full access, default), SUPPORT (support team access), SUPPORT_RO (read-only: accounts, transactions, contracts, gateways)
ip_addressIP address of the merchant
expiry_secondsHow long the link is valid (default: 900 seconds). Generate links just before redirecting and use short expiry times

Browser Events

Merchant Setup Events

EventDescription
SETUP_STATUSRaised when payment readiness changes. Check payment_ready boolean
SETUP_DISPLAYFrame height changed. Includes height (pixels) and modal (boolean)
SETUP_ERRORError occurred (e.g., SESSION_EXPIRED)

Merchant View Events

EventDescription
DASHBOARD_DISPLAYFrame height changed. Includes height and modal
DASHBOARD_ERRORError occurred (e.g., SESSION_EXPIRED)

Common Events

EventDescription
EXTEND_SESSIONServer request made — use to extend your app's session