Chúng tôi có thể giúp gì?

Cho chúng tôi biết ngắn gọn về vấn đề – chúng tôi sẽ liên hệ lại qua email.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Về trang chủ

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

Cập nhật lần cuối: