Order desk

One agent definition. It answers in the chat panel on a page, it answers on a phone call, and a conversation can move between the two without starting over. The channel is the SignalWire chat product. Not SMS, not WhatsApp, and not a general-purpose assistant.

Open the chat page

Or from a terminal

curl -s -X POST https://ai-chat-demo.signalwire.me/chat/ \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer demo-key' \
  -H 'Origin: https://ai-chat-demo.signalwire.me' \
  -d '{"method":"chat","message":"4417"}'

The Origin header matters: the gateway refuses origins it was not told about, and a missing one is refused too.

Orders you can ask about

OrderStatusDueAddress
4417out for deliverytoday before 6pm12 Bridge Street, Bristol
5120packedThursday88 Wren Avenue, Leeds
6001delayedMonday4 Kiln Road, Sheffield

Ask about anything else and it declines, on purpose.

Routes

RouteWhat it does
GET /This page.
GET /healthLiveness.
GET /demo/The chat page. Start here.
GET /state/{id}What the agent knows, and every leg of the thread.
GET /swmlThe agent, for a voice call.basic auth
POST /chat/Text conversation. JSON-RPC.bearer key
POST /chatRedirects to /chat/ so a mis-derived URL still works.307
POST /chat/handoffVoice call to text.nonce
POST /chat/escalateText to voice call.handle
POST /chat/sayType into a live call.nonce

Honest state of this demo