Kako da vam pomognemo?

Ukratko nam recite o čemu se radi – odgovorićemo vam e-poštom.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Na početnu stranicu

API do servidor (REST v1) e MCP

A interface REST do reactive.chat para seu backend: chaves de API e escopos, limites de requisições, formatos de resposta e erro, paginação, todos os endpoints para projetos, conversas, mensagens, visitantes, eventos, regras e hooks, além do servidor MCP para ferramentas de IA.

A API do servidor é destinada ao seu backend, não ao navegador: ela não permite CORS, e uma chave de API nunca deve estar em uma página da web ou aplicativo.

Conceitos básicos

Chaves de API

Na conta, em Chaves de API (/app/api-keys, somente proprietários e admins). Você define um nome e um escopo; a chave (rc_live_ + 48 caracteres) é exibida exatamente uma vez, e armazenamos apenas um hash.

Escopos:

Uma chave pertence a exatamente um espaço de trabalho; nenhum caminho ou parâmetro seleciona outro. Ela deixa de ser válida quando você a revoga ou quando a pessoa que a criou deixa de ser proprietário ou admin do espaço de trabalho. Não há data de expiração: faça a rotação por conta própria (crie uma nova, passe a usá-la e revogue a antiga).

Envio:

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

O cabeçalho X-Api-Key: rc_live_... é equivalente (só é lido se não houver Authorization: Bearer).

Limite de requisições

Formato de resposta

{ "data": { ... } }

Listas:

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

Paginação: limit (padrão 25, no máximo 100) e um cursor: before_id para listas com os itens mais recentes primeiro, after_id para listas com os mais antigos primeiro. next só aparece se has_more for verdadeiro. Não há contagem total.

Corpos de POST/PUT: somente Content-Type: application/json (caso contrário, 415), no máximo 65.536 bytes (caso contrário, 413), um objeto JSON com no máximo 32 níveis.

Formato de erro

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

message é uma frase fixa em inglês para desenvolvedores. Dependendo do erro, são acrescentados param, required_scope, max, allowed e reason. A lista de códigos é completa:

Endpoints

Conta

Projetos (read)

Conversas (read)

Mensagens

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

Visitantes (read)

Eventos

{ "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 com no máximo 8.192 bytes, ts em milissegundos (no máximo 7 dias no passado e 5 minutos no futuro). source é sempre integration. Resposta 201.

Regras (read)

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

Dados de clientes – veja Dados de clientes: PUT e DELETE /v1/kundendaten/{user_id}.

Exemplo: coletar conversas abertas

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

Servidor MCP

Para ferramentas de IA que usam o Model Context Protocol, há um servidor MCP sob a mesma base:

Ferramentas (tools/list mostra apenas as que sua chave pode usar):

Sem besucherdaten:lesen, nome, e-mail e telefone dos visitantes são abreviados e os dados pessoais nos textos são ocultos. Os erros das ferramentas são retornados como isError: true, com identificadores como project_not_found, conversation_not_found, conversation_closed, disabled, bad_argument, too_long, search_rate_limited.

Exemplo de configuração para um cliente MCP:

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

O MCP e a lista de visitantes são recursos novos; podem estar desativados por projeto (o projeto afetado retorna disabled).

O que não existe

A seguir: Webhooks · Integrações e canais

Poslednje ažuriranje: