Contract
No API changes
The widget still sends business_slug, message, optional conversation_id, channel, and metadata to POST /chat.
StoreGuard embedded widget
This page is now a host demo for the embeddable widget. The floating launcher and chat panel are created by a browser script that still uses POST /chat, preserves the current response contract, and reuses the same conversation_id across follow-up turns.
Embed snippet
The script mounts the floating widget, sends messages to the existing chat endpoint, and stores the returned conversation id in browser session storage so follow-up turns stay on the same conversation.
<script
src="http://localhost:3000/storeguard-widget.js"
data-storeguard-widget
data-api-base-url="https://api.operator.scale.ws"
data-business-slug="ori-kids"
data-channel="embedded-widget-demo"
data-title="Ori Parent Support"
data-launcher-label="Chat with Ori"
></script>Contract
The widget still sends business_slug, message, optional conversation_id, channel, and metadata to POST /chat.
Session continuity
The browser stores the returned conversation_id per business and reuses it automatically until the visitor resets the widget or the tab session ends.