どのようにお手伝いできますか?

ご用件を簡単にお知らせください。メールで返信します。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
トップページへ

サーバーAPI(REST v1)とMCP

バックエンド向けreactive.chat RESTインターフェース:APIキーと権限範囲、頻度制限、応答とエラー形式、ページ分割、プロジェクト・会話・メッセージ・訪問者・イベント・ルール・フックの各エンドポイント、AIツール向けMCPサーバー。

サーバーAPIは、ブラウザーではなく運営側のバックエンド向けです。CORSを許可せず、APIキーをWebページやアプリに含めてはいけません。

基本

APIキー

アカウントのAPIキー(/app/api-keys、所有者と管理者のみ)で作成します。名前と権限範囲を指定します。キー(rc_live_+48文字)が表示されるのは1回だけで、当社はハッシュだけを保存します。

権限範囲:

キーは必ず1つのワークスペースに属し、別のワークスペースをパスやパラメーターで選ぶことはできません。キーを失効させたとき、または作成者がワークスペースの所有者や管理者ではなくなったときに無効になります。有効期限はありません。自分でローテーションしてください(新規作成、切り替え、古いキーの失効)。

送信方法:

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

X-Api-Key: rc_live_...ヘッダーも同等です。ただし、Authorization: Bearerがない場合にのみ読み取ります。

頻度制限

応答形式

{ "data": { ... } }

一覧:

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

ページ分割: limit(既定25、最大100)とカーソルを使います。新しい順の一覧はbefore_id、古い順の一覧はafter_idです。nextは、has_moreがtrueの場合だけ含まれます。総件数はありません。

POST/PUTの本文:Content-Type: application/jsonのみ(それ以外は415)、最大65,536バイト(超過は413)、最大32階層のJSONオブジェクトです。

エラー形式

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

messageは開発者向けの固定の英語文です。エラーに応じてparam、required_scope、max、allowed、reasonが加わります。コードの一覧は次のとおりです。

エンドポイント

アカウント

プロジェクト(read)

会話(read)

メッセージ

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

訪問者(read)

イベント

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

typeは^[a-z][a-z0-9_.:-]{0,47}$に一致する必要があります。payloadは最大8,192バイト、tsはミリ秒(最大7日前、未来は最大5分先)です。sourceは常にintegrationです。応答は201です。

ルール(read)

フック – Webhookを参照:GET /v1/hooks、POST /v1/hooks、DELETE /v1/hooks/{id}。

顧客データ – 顧客データを参照:PUTとDELETE /v1/kundendaten/{user_id}。

例:対応待ちの会話を収集する

<?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サーバー

Model Context Protocolに対応したAIツール向けに、同じベース配下にMCPサーバーがあります。

ツール(tools/listにはキーで許可されたものだけを表示):

besucherdaten:lesenがない場合、訪問者の名前、メールアドレス、電話番号は短縮し、テキストの個人データはマスクします。ツールのエラーはisError: trueと、project_not_found、conversation_not_found、conversation_closed、disabled、bad_argument、too_long、search_rate_limitedなどの識別子で返します。

MCPクライアントの設定例:

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

MCPと訪問者一覧は新しい機能で、プロジェクトごとに無効になっている場合があります(対象プロジェクトはdisabledを返します)。

提供していないもの

次:Webhook · 連携とチャネル

最終更新: