SSilentCRMDokuZur Anwendung
Für Entwickler

Daten-API

Das CRM von außen bedienen — dieselben Werkzeuge, die auch der Assistent benutzt.

Diese Seite beschreibt die SilentCRM-API für Arbeitsbereiche auf closed.silentcrm.de (bisherige Fassung). Arbeitest du auf app.silentcrm.de, findest du deine Zugänge in der App unter Einstellungen, MCP und APIs.

Die eine Regel

Jedes Werkzeug ist eine Adresse: /api/v1/<name>.

  • Lesende Werkzeuge: GET, Parameter im Query-String.
  • Schreibende Werkzeuge: POST, Parameter als JSON-Rumpf.

Lesende nehmen zusätzlich POST mit JSON an — eine lange SQL-Abfrage ist in einer Adresse unhandlich. Schreibende gibt es nicht per GET: ein Link darf keine Daten ändern.

Ein Beispiel

curl "https://silentcrm.de/api/v1/query?sql=select+name,+umsatz+from+customers+order+by+umsatz+desc+limit+5" \
  -H "Authorization: Bearer scrm_api_…"

Antwort:

{ "ok": true, "result": "name | umsatz\nBeispiel GmbH | 42000\n…" }

Und schreibend:

curl -X POST "https://silentcrm.de/api/v1/write_records" \
  -H "Authorization: Bearer scrm_api_…" \
  -H "Content-Type: application/json" \
  -d '{"table":"customers","rows":[{"name":"Neue GmbH","stadt":"Sinsheim"}]}'

Erst das Schema, dann die Abfrage

Tabellen- und Spaltennamen sind je Arbeitsbereich verschieden — sie entstehen so, wie du mit dem Assistenten sprichst. Dein Werkzeug sollte deshalb nie Namen raten, sondern einmal schema aufrufen:

curl "https://silentcrm.de/api/v1/schema" -H "Authorization: Bearer scrm_api_…"

Welche Werkzeuge es gibt

Die vollständige Liste mit allen Parametern steht in der OpenAPI-Datei (/api/v1/openapi.json) und im Produkt unter Einstellungen → API, dort mit fertigen curl-Beispielen. Sie wird erzeugt, nicht gepflegt — was der Assistent kann, kannst du hier auch.

Grob: Daten lesen (schema, query), Daten ändern (write_records), Dokumente (read_document, create_document, revise_document, merge_documents, upload_file), Posteingang (mark_emails_read, trash_emails, annotate_thread) sowie history und undo.

Fehler

CodeBedeutung
400Der Aufruf wurde abgelehnt — warum, steht in error.
401Kein oder ungültiger Schlüssel.
403Der Schlüssel darf das nicht (nur Leserecht bei einem schreibenden Werkzeug).
404Unbekanntes Werkzeug.
405GET auf ein schreibendes Werkzeug.
429Zu viele Aufrufe.

Der Text in error ist für Menschen geschrieben. Zeig ihn an, statt ihn wegzuwerfen — er sagt meistens genau, was fehlt.

Rückwärts geht auch

Alles, was über die API geändert wurde, steht im Verlauf und lässt sich mit undo zurücknehmen — auch das über die API selbst.