Nola lagun zaitzakegu?

Esaguzu labur zertaz ari zaren, eta posta elektronikoz erantzungo dizugu.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Itzuli hasierako orrira

API serveur (REST v1) et MCP

Interface REST pour votre backend : clés et portées, limites de fréquence, réponses, erreurs, pagination, points de terminaison et serveur MCP pour outils IA.

L’API serveur est destinée à votre backend, pas au navigateur : elle n’autorise pas CORS, et une clé d’API ne doit jamais figurer dans une page web ou une application.

Principes

Clés d’API

Dans votre compte, sous Clés d’API (/app/api-keys, propriétaires et administrateurs uniquement). Attribuez un nom et une portée ; la clé (rc_live_ + 48 caractères) n’est affichée qu’une seule fois et nous n’en conservons qu’un hachage.

Portées :

Une clé appartient exactement à un espace de travail ; aucun chemin ni paramètre n’en sélectionne un autre. Elle devient invalide si vous la révoquez ou si son créateur n’est plus propriétaire ou administrateur de l’espace de travail. Elle n’a pas de date d’expiration : effectuez vous-même la rotation (créer une nouvelle clé, l’utiliser, révoquer l’ancienne).

Envoi :

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

L’en-tête X-Api-Key: rc_live_... est équivalent (il n’est lu qu’en l’absence de Authorization: Bearer).

Limitation de fréquence

Format de réponse

{ "data": { ... } }

Listes :

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

Pagination : limit (25 par défaut, 100 maximum) et un curseur : before_id pour les listes des plus récentes aux plus anciennes, after_id pour l’ordre inverse. next n’est présent que si has_more vaut true. Aucun nombre total n’est fourni.

Corps des POST/PUT : uniquement Content-Type: application/json (sinon 415), au maximum 65 536 octets (sinon 413), un objet JSON de 32 niveaux maximum.

Format d’erreur

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

message est une phrase anglaise fixe destinée aux développeurs. Selon l’erreur, param, required_scope, max, allowed, reason sont ajoutés. Voici la liste exhaustive des codes :

Points de terminaison

Compte

Projets (read)

Conversations (read)

Messages

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

Visiteurs (read)

Événements

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

type conforme à ^[a-z][a-z0-9_.:-]{0,47}$, payload de 8192 octets maximum, ts en millisecondes (au plus 7 jours dans le passé, 5 minutes dans le futur). source vaut toujours integration. Réponse 201.

Règles (read)

Hooks – voir Webhooks : GET /v1/hooks, POST /v1/hooks, DELETE /v1/hooks/{id}.

Données clients – voir Données clients : PUT et DELETE /v1/kundendaten/{user_id}.

Exemple : collecter les conversations ouvertes

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

Serveur MCP

Pour les outils IA compatibles avec le Model Context Protocol, un serveur MCP est disponible sous la même base :

Outils (tools/list n’affiche que ceux autorisés par votre clé) :

Sans besucherdaten:lesen, le nom, l’e-mail et le téléphone des visiteurs sont tronqués et les données personnelles des textes sont masquées. Les erreurs d’outil prennent la forme isError: true, avec des identifiants tels que project_not_found, conversation_not_found, conversation_closed, disabled, bad_argument, too_long, search_rate_limited.

Exemple de configuration d’un client MCP :

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

MCP et la liste des visiteurs sont de nouvelles fonctions ; elles peuvent être désactivées par projet (le projet concerné indique alors disabled).

Ce qui n’existe pas

Suite : Webhooks · Intégrations et canaux

Azken eguneratzea: