Introduction
Datalumo docs cover three ways to integrate:
| Path | Use it when | Start here |
|---|---|---|
| Integrations | Your site runs on something with a ready integration | Install the WordPress plugin, the Shopify app, the Laravel package, or the PHP client |
| Widget SDK | You want search or chat on your website with the official embed | Paste a script tag and a widget key |
| HTTP API | You push content from a CMS, or build a custom search/chat client | Authenticate with an API key or widget credentials |
#Integrations
Ready-made clients that handle syncing and embedding for you:
| Integration | What it covers |
|---|---|
| WordPress | Syncs posts and pages, adds chat and search, and can rank your site's own search results |
| Shopify | Syncs active products and published blog articles from your store |
| Laravel | Keeps Eloquent models in sync, searches from PHP, and ships Blade components |
| PHP | The API client the Laravel package is built on, for any other PHP app |
Everything they do is available over the HTTP API, so you can start with an integration and drop down to the API whenever you need to.
#Widget SDK
Create a search or chat widget, add your domain under websites, then paste the snippet from the widget page (or follow Install & options). The embed talks to Datalumo for you: streaming, conversation storage, and analytics included. Optional chat actions (web search and webhooks) are configured on the chatbot in the dashboard.
#HTTP API
Everything lives under:
https://datalumo.app/api/v1/{organisation}
Replace {organisation} with your organisation's public id (a UUID). You can copy it from the dashboard. It is not the same as your organisation slug.
| Part | Use it when | How you authenticate |
|---|---|---|
| Ingestion | You push pages from a CMS, WordPress, or your backend | An API key from API keys |
| Widgets | You build a custom search or chat experience | Your site domain, a widget secret key, or an API key with the right permission |
If you only use the standard embed, you usually do not need the Widget API. Prefer the Widget SDK in the browser; call the HTTP endpoints when you need a custom UI or server-side access.
#Conventions
- Send and receive JSON (
Content-Type: application/json). - Creating or updating a page that is still being indexed returns 202.
- Successful deletes return 204 with an empty body.
- Invalid fields return 422 with a message and per-field errors.
- Sources can be referenced by slug or public id. When deleting a page you can use its public id or the
external_idyou sent when you pushed it.
#Common starting points
Sync content from your CMS
- Create an API key under API keys with the
pages.writepermission. - Call
GET /meto confirm the key and list sources. - Push pages with
POST /sources/{source}/pages.
On WordPress, Shopify, Laravel, or plain PHP, an integration already does all three.
Search or chat on your site
- Create a search or chat widget and add your domain under websites.
- Paste the Widget SDK snippet, or call the Widget API yourself.