Báwo la ràn yín lọ́wọ́?

Ẹ sọ fún wa ní ṣókí ohun tí ó dá lé — a ó dá yín lóhùn nípasẹ̀ ìméèlì.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Sí ojú-ìbẹ̀rẹ̀

Server-API (REST v1) en MCP

De REST-interface voor uw backend: API-sleutels, scopes, verzoeklimieten, antwoorden en fouten, paginering, endpoints voor projecten, gesprekken, berichten, bezoekers, gebeurtenissen, regels en hooks, en MCP.

De server-API is bedoeld voor uw backend, niet voor de browser: CORS wordt niet toegestaan en een API-sleutel hoort nooit in een webpagina of app.

Basis

API-sleutels

In uw account onder API-sleutels (/app/api-keys, alleen eigenaren en beheerders). U geeft een naam en een scope op; de sleutel (rc_live_ + 48 tekens) wordt precies één keer getoond en wij bewaren alleen een hash.

Scopes:

Een sleutel hoort bij precies één werkruimte; geen pad of parameter selecteert een andere. De sleutel wordt ongeldig als u deze intrekt of als de persoon die deze heeft aangemaakt geen eigenaar of beheerder van de werkruimte meer is. Er is geen vervaldatum — vernieuw zelf (nieuwe sleutel aanmaken, omschakelen, oude intrekken).

Verzenden:

curl https://reactive.chat/v1/me -H "Authorization: Bearer rc_live_..."

De header X-Api-Key: rc_live_... is gelijkwaardig (deze wordt alleen gelezen als er geen Authorization: Bearer is).

Verzoeklimieten

Antwoordformaat

{ "data": { ... } }

Lijsten:

{ "data": [ ... ], "has_more": true, "next": { "before_id": "812" } }

Paginering: limit (standaard 25, maximaal 100) en een cursor — before_id voor lijsten met het nieuwste eerst, after_id voor lijsten met het oudste eerst. next is alleen aanwezig als has_more true is. Er is geen totaalaantal.

Bodies van POST/PUT: alleen Content-Type: application/json (anders 415), maximaal 65.536 bytes (anders 413), een JSON-object met maximaal 32 niveaus.

Foutformaat

{ "error": { "code": "insufficient_scope", "message": "...", "required_scope": "write" } }

message is een vaste Engelse zin voor ontwikkelaars. Afhankelijk van de fout worden param, required_scope, max, allowed en reason toegevoegd. Dit zijn alle codes:

Endpoints

Account

Projecten (read)

Gesprekken (read)

Berichten

curl -X POST https://reactive.chat/v1/conversations/815/messages \
  -H "Authorization: Bearer rc_live_..." \
  -H "Content-Type: application/json" \
  -d '{"body":"Your return has arrived.","author_type":"agent","client_ulid":"01JAB3C4D5E6F7G8H9JKMNPQRS"}'

Bezoekers (read)

Gebeurtenissen

{ "project_id": "123", "type": "bestellung.storniert",
  "session_id": "s_...", "conversation_id": "01JAB...",
  "payload": { "nummer": "2026-0815" }, "ts": 1792503600000 }

type moet passen bij ^[a-z][a-z0-9_.:-]{0,47}$, payload maximaal 8192 bytes, ts in milliseconden (maximaal 7 dagen oud, maximaal 5 minuten in de toekomst). source is altijd integration. Antwoord 201.

Regels (read)

Hooks — zie Webhooks: GET /v1/hooks, POST /v1/hooks, DELETE /v1/hooks/{id}.

Klantgegevens — zie Klantgegevens: PUT en DELETE /v1/kundendaten/{user_id}.

Voorbeeld: open gesprekken ophalen

<?php
$key = getenv('RC_API_KEY');
$url = 'https://reactive.chat/v1/conversations?status=waiting&limit=100';
do {
    $ch = curl_init($url);
    curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . $key]]);
    $antwort = json_decode((string) curl_exec($ch), true);
    $status  = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
    if ($status === 429) { sleep(60); continue; }
    foreach ($antwort['data'] as $g) { echo $g['id'], ' ', $g['created_at'], "\n"; }
    $url = !empty($antwort['has_more'])
        ? 'https://reactive.chat/v1/conversations?status=waiting&limit=100&before_id=' . $antwort['next']['before_id']
        : null;
} while ($url);

MCP-server

Voor AI-tools die het Model Context Protocol ondersteunen, is er een MCP-server onder hetzelfde basisadres:

Tools (tools/list toont alleen de tools die uw sleutel mag gebruiken):

Zonder besucherdaten:lesen worden naam, e-mail en telefoonnummer van bezoekers ingekort en persoonsgegevens in teksten gemaskeerd. Toolfouten komen als isError: true met identificatoren zoals project_not_found, conversation_not_found, conversation_closed, disabled, bad_argument, too_long, search_rate_limited.

Voorbeeldconfiguratie voor een MCP-client:

{
  "mcpServers": {
    "reactive-chat": {
      "url": "https://reactive.chat/v1/mcp",
      "headers": { "Authorization": "Bearer rc_live_..." }
    }
  }
}

MCP en de bezoekerslijst zijn nieuwe functies; ze kunnen per project zijn uitgeschakeld (het betreffende project meldt dan disabled).

Wat niet bestaat

Volgende: Webhooks · Integraties en kanalen

Ìgbà àtúnṣe tó kẹ́yìn: