Πώς μπορούμε να βοηθήσουμε;

Περιγράψτε σύντομα το θέμα – θα σας απαντήσουμε με email.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Στην αρχική σελίδα

API server (REST v1) e MCP

L’interfaccia REST di reactive.chat per il backend: chiavi e ambiti, limiti di richieste, risposte ed errori, paginazione, endpoint per progetti, conversazioni, messaggi, visitatori, eventi, regole e hook, e server MCP per strumenti IA.

L’API server è destinata al Suo backend, non al browser: non consente CORS e una chiave API non deve mai trovarsi in una pagina web o in un’app.

Nozioni di base

Chiavi API

Nell’account, in Chiavi API (/app/api-keys, solo proprietari e amministratori). Assegna un nome e un ambito; la chiave (rc_live_ + 48 caratteri) viene mostrata una sola volta e ne conserviamo solo un hash.

Ambiti:

Una chiave appartiene esattamente a uno spazio di lavoro; nessun percorso o parametro ne seleziona un altro. Diventa non valida quando la revoca o quando chi l’ha creata non è più proprietario o amministratore dello spazio. Non ha scadenza: esegua personalmente la rotazione (ne crei una nuova, la sostituisca e revochi la precedente).

Invio:

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

L’intestazione X-Api-Key: rc_live_... è equivalente (viene letta solo in assenza di Authorization: Bearer).

Limitazione delle richieste

Formato delle risposte

{ "data": { ... } }

Elenchi:

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

Paginazione: limit (predefinito 25, massimo 100) e un cursore: before_id per gli elenchi dal più recente, after_id per quelli dal meno recente. next è presente solo se has_more è true. Non esiste un conteggio totale.

Corpi di POST/PUT: solo Content-Type: application/json (altrimenti 415), massimo 65.536 byte (altrimenti 413), un oggetto JSON con massimo 32 livelli.

Formato degli errori

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

message è una frase inglese fissa per sviluppatori. A seconda dell’errore vengono aggiunti param, required_scope, max, allowed e reason. L’elenco dei codici è completo:

Endpoint

Account

Progetti (read)

Conversazioni (read)

Messaggi

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

Visitatori (read)

Eventi

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

type conforme a ^[a-z][a-z0-9_.:-]{0,47}$, payload di massimo 8192 byte, ts in millisecondi (non più vecchio di 7 giorni, non più avanti di 5 minuti). source è sempre integration. Risposta 201.

Regole (read)

Hook: vedere Webhook: GET /v1/hooks, POST /v1/hooks, DELETE /v1/hooks/{id}.

Dati dei clienti: vedere Dati dei clienti: PUT e DELETE /v1/kundendaten/{user_id}.

Esempio: raccogliere le conversazioni aperte

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

Server MCP

Per gli strumenti IA che supportano il Model Context Protocol esiste un server MCP sotto la stessa base:

Strumenti (tools/list mostra solo quelli consentiti alla chiave):

Senza besucherdaten:lesen, nome, e-mail e telefono dei visitatori vengono abbreviati e i dati personali nei testi mascherati. Gli errori degli strumenti arrivano come isError: true con identificatori come project_not_found, conversation_not_found, conversation_closed, disabled, bad_argument, too_long, search_rate_limited.

Voce di esempio per un client MCP:

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

MCP e l’elenco visitatori sono funzioni nuove; possono essere disattivate per progetto (il progetto interessato segnala allora disabled).

Che cosa non esiste

Successivo: Webhook · Integrazioni e canali

Τελευταία ενημέρωση: