Voor ontwikkelaars
Je eigen chat in de inbox
Laat de gesprekken uit je eigen app (bestellingen, tickets, een klantportaal) in de 1plek-inbox verschijnen, zonder dat 1plek de berichten bewaart.
Heeft je app een eigen chat, bijvoorbeeld bij bestellingen of in een klantportaal? Dan kan die als bron in de inbox van je team staan, naast mail en WhatsApp. Je team ziet de lijst en de ongelezen gesprekken in 1plek. Lezen en antwoorden gebeurt in jouw eigen scherm, dat binnen 1plek opent.
1plek bewaart geen berichten en geen klantgegevens uit je app. Het houdt alleen een korte lijst bij (titel, laatste activiteit, een korte preview, status) en per collega of die het gesprek al gelezen heeft. De gesprekken zelf blijven van jou.
Hoe het werkt
- De lijst: 1plek vraagt je app om een lijst gesprekken, één kaartje per gesprek.
- Een seintje: verandert er iets (nieuw bericht, andere status, iemand pakt het op), dan meldt je app dat. 1plek haalt dan alleen dat ene gesprek opnieuw op. Elke paar minuten kijkt 1plek ook zelf of het iets gemist heeft.
- Het venster: klikt iemand op een gesprek, dan opent je eigen gespreksscherm in de inbox. Daar lees en antwoord je, met alles wat je app al kan.
Wat je app levert
Alle verzoeken van 1plek komen binnen met de servicesleutel van de omgeving, die je instelt
onder Team → Inrichting → Koppelingen → Je app. Zet daar bij de omgeving ook het
recht conversations aan.
Status-opties
GET /api/platform/conversations/statuses
{
"data": [
{ "key": "open", "label": "Open", "order": 1, "closed": false },
{ "key": "wacht", "label": "Wacht op klant", "order": 2, "closed": false },
{ "key": "afgerond", "label": "Afgerond", "order": 3, "closed": true }
]
}1plek kent je sleutels niet en doet er niets mee, behalve closed: dat bepaalt of een
gesprek onder Open of Afgerond staat.
De lijst
GET /api/platform/conversations?since=<ISO-tijd>&limit=200&offset=0
Zonder since geef je alles; met since alleen wat sindsdien veranderde. Antwoord met
{ data, pagination: { total, limit, offset, hasMore } }.
{
"id": "c_7f3a9c",
"title": "Bestelling van Koen",
"avatarUrl": "https://jouw-app.nl/avatars/koen.webp",
"lastActivityAt": "2026-10-07T12:41:00Z",
"preview": "Prima, dan wachten we op de nieuwe versie.",
"statusKey": "wacht",
"statusLabel": "Wacht op klant",
"assignedTo": { "email": "collega@jouw-bedrijf.nl", "name": "Sanne" },
"embedUrl": "https://admin.jouw-app.nl/chat/venster?c=c_7f3a9c"
}| Veld | Wat |
|---|---|
id | Een vaste, nietszeggende sleutel. Geen database-id of ordernummer. |
title | Zoals je het in je eigen lijst toont. |
avatarUrl | Een https-adres, of null. |
lastActivityAt | Laatste bericht of statuswissel. Hiermee bepaalt 1plek of iets ongelezen is. |
preview | Hooguit 140 tekens, alleen tekst die de klant ook ziet; nooit een interne notitie. |
statusKey / statusLabel | Uit je status-opties. |
assignedTo | Wie het oppakt. 1plek koppelt dat op e-mailadres aan een collega in je eigen organisatie. |
embedUrl | Het scherm voor dit gesprek. |
Eén gesprek
GET /api/platform/conversations/<id> geeft dezelfde vorm als een rij uit de lijst. Bestaat
het gesprek niet meer, antwoord dan met 404: 1plek haalt het dan ook bij zich weg.
Het seintje
Via de gebeurtenissen-route uit Je app koppelen:
curl -X POST https://<jouw-werkruimte>/api/platform/companies/<bedrijf>/events/conversation.updated \
-H "Authorization: Bearer $ONEPLEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"payload":{"id":"c_7f3a9c"}}'Alleen het id, geen inhoud: 1plek haalt de rest zelf op.
Het venster
embedUrl opent in een venster binnen 1plek. Daarvoor:
- Alleen
https, op het adres dat je bij de omgeving van je app hebt ingevuld. Een venster op een ander adres toont 1plek niet. - Je scherm moet in een venster mogen openen op het adres van je 1plek-werkruimte. Zet
in je app
Content-Security-Policy: frame-ancestors https://<jouw-werkruimte>. - Inloggen gaat via je eigen app. Is je collega daar nog niet ingelogd, dan ziet die in het venster je eigen inlogscherm.
- Toon het gesprek zonder je eigen menu eromheen: het venster is al het hele paneel.
Je scherm kan 1plek een paar dingen laten weten met window.parent.postMessage(bericht, 'https://<jouw-werkruimte>'). 1plek neemt ze alleen aan van het adres van het geopende
venster, en ziet ze als hint, nooit als waarheid:
| Bericht | Wanneer |
|---|---|
{ type: 'conversation:read', id } | Je collega heeft de nieuwste berichten gezien. |
{ type: 'conversation:assigned', id } | Iemand anders pakt het op. 1plek haalt het gesprek daarna opnieuw op. |
{ type: 'embed:close' } | Je collega sluit het gesprek (bijvoorbeeld de terugknop op de telefoon). |
Staat je app op een eigen domein, dan moet je werkruimte dat adres ook als venster toestaan. Dat zetten wij nu nog voor je aan: neem contact op als je dit wilt gebruiken.
Privacy
Je blijft verantwoordelijk voor je gesprekken en klantgegevens; 1plek verwerkt alleen de lijst. Let op: titel, preview en de naam van wie het oppakt kunnen persoonsgegevens zijn. Zet dat in je verwerkingsregister. Wat je bij jezelf verwijdert (404), verdwijnt ook uit 1plek.