Live Chat API and webhooks
Read chats, visitors and a summary from your own software with an API key, and get told the moment a chat starts, ends, is missed or rated.
The API and webhooks are on Business.
API keys
In Settings > API & webhooks, click + New key and name it. Copy the key when it is shown - it is shown only once. A key acts as the person who made it, with that person's Live Chat role. An organization key made under Integrations works too.
Send it as a header:
Authorization: Bearer lck_...
The address is https://www.ellibo.com/livechat/api.php/v1/ followed by the resource. The Live Chat API only reads. Times are UTC, YYYY-MM-DD HH:MM:SS; the from and to filters are your local dates. Each key has a daily limit on calls.
| Call | What it gives |
|---|---|
GET /v1/chats?status=&channel_id=&from=&to=&email=&limit=&offset= | Chats, newest first |
GET /v1/chats/{id} | One chat with its visitor and messages (private notes only for keys whose person answers or supervises) |
GET /v1/visitors?online=1&email= | Visitors (online = seen in the last 5 minutes) |
GET /v1/visitors/{id} | One visitor with their pages and chats |
GET /v1/channels | Your chat widgets, their keys, chat links and whether someone is online |
GET /v1/summary?from=&to= | Chats, missed, messages left, waiting, first reply and length, ratings, leads and tickets |
Visitors' internet addresses are never in the API.
Webhooks
Click + New webhook, give the Web address and tick the events:
| Event | When |
|---|---|
chat.started | A visitor starts a chat |
chat.ended | A chat ends |
chat.missed | A chat ends with no reply from your team |
rating.given | A visitor rates a chat |
offline.message | A visitor leaves a message while nobody is online |
Each is a POST with JSON {event, org_id, at, data}, signed with X-Ellibo-Signature (sha256 HMAC of "timestamp.body" with your signing secret, shown once). A failed delivery is tried again after 1, 5, 30, 120 and 720 minutes. Test sends a sample.
To send chat alerts to Slack, Microsoft Teams or Zapier without code, use Integrations instead: see Live Chat with your other apps.