Hur kan vi hjälpa dig?

Beskriv kort vad det gäller, så återkommer vi via e-post.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Till startsidan

Server-API (REST v1) och MCP

REST-gränssnittet i reactive.chat för din backend – API-nycklar och omfattningar, anropsbegränsning, svars- och felformat, sidindelning, alla slutpunkter för projekt, konversationer, meddelanden, besökare, händelser, regler och hooks – samt MCP-servern för AI-verktyg.

Server-API:et är avsett för din backend, inte för webbläsaren: det tillåter inte CORS och en API-nyckel hör aldrig hemma på en webbsida eller i en app.

Grunder

API-nycklar

I kontot under API-nycklar (/app/api-keys, bara ägare och administratörer). Du anger namn och omfattning; nyckeln (rc_live_ + 48 tecken) visas exakt en gång och vi lagrar bara en hash.

Omfattningar:

En nyckel tillhör exakt en arbetsyta; ingen sökväg eller parameter väljer en annan. Den blir ogiltig när du återkallar den eller när personen som skapade den inte längre är ägare eller administratör i arbetsytan. Inget utgångsdatum finns – rotera själv (skapa en ny, byt, återkalla den gamla).

Skicka:

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

Huvudet X-Api-Key: rc_live_... är likvärdigt (läses bara om Authorization: Bearer saknas).

Anropsbegränsning

Svarsformat

{ "data": { ... } }

Listor:

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

Sidindelning: limit (standard 25, högst 100) och en markör – before_id för listor med ”nyast först”, after_id för ”äldst först”. next finns bara om has_more är true. Det finns inget totalt antal.

Kroppar för POST/PUT: endast Content-Type: application/json (annars 415), högst 65 536 byte (annars 413), ett JSON-objekt med högst 32 nivåer.

Felformat

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

message är en fast engelsk mening för utvecklare. Beroende på fel tillkommer param, required_scope, max, allowed, reason. Koderna är uttömmande:

Slutpunkter

Konto

Projekt (read)

Konversationer (read)

Meddelanden

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"}'

Besökare (read)

Händelser

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

type som matchar ^[a-z][a-z0-9_.:-]{0,47}$, payload högst 8192 byte, ts i millisekunder (högst 7 dagar gammal, högst 5 minuter framåt). source är alltid integration. Svar 201.

Regler (read)

Hooks – se Webhookar: GET /v1/hooks, POST /v1/hooks, DELETE /v1/hooks/{id}.

Kunddata – se Kunddata: PUT och DELETE /v1/kundendaten/{user_id}.

Exempel: samla in öppna konversationer

<?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

För AI-verktyg som använder Model Context Protocol finns en MCP-server under samma bas:

Verktyg (tools/list visar bara dem som nyckeln får använda):

Utan besucherdaten:lesen förkortas besökarnas namn, e-post och telefon och personuppgifter i texter maskeras. Verktygsfel kommer som isError: true med identifierare som project_not_found, conversation_not_found, conversation_closed, disabled, bad_argument, too_long, search_rate_limited.

Exempelpost för en MCP-klient:

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

MCP och besökarlistan är nya funktioner; de kan vara avstängda per projekt (det berörda projektet rapporterar då disabled).

Vad som inte finns

Nästa: Webhookar · Integrationer och kanaler

Senast uppdaterad: