Zum Inhalt springen
Anmelden7 Tage testen
Für Entwickler und Agenten

Jede Regel ist ein JSON-Objekt.

Alles, was das UI kann, kann die API — die MCP-Tools rufen intern denselben Router auf und können deshalb nie abweichen.

rule.json
{
  "name": "HTML aus Beschreibung entfernen",
  "enabled": true,
  "definition": {
    "if": {
      "combinator": "and",
      "conditions": [
        { "field": "description", "op": "contains", "value": "<" }
      ]
    },
    "then": [
      { "action": "strip_html", "field": "description" }
    ]
  }
}
shell
curl -X POST https://app.firefeeds.io/api/v1/rulesets/12/rules \
  -H "Authorization: Bearer fft_9c41…" \
  -H "Content-Type: application/json" \
  -d @rule.json
REST-API

Basis /api/v1, Authentifizierung per Bearer-Token.

Tokens werden nur als Hash gespeichert — den Klartext gibt es einmalig beim Anlegen. Ein Token gehört dem Konto, nicht einer Person, und sieht alle Projekte. Fehler kommen als JSON mit passendem Status: 400 Validierung, 401 Auth, 404 nicht gefunden (auch für fremde Projekte).

Häufig genutzte Endpunkte der FireFeeds-REST-API
MethodePfadZweck
GET/api/v1/projectsProjekte auflisten
POST/api/v1/projects/{id}/sourcesQuelle anlegen (xml_url, csv_url, shopware, shopify)
PUT/api/v1/sources/{id}/auto-importZeitplan der Quelle: auto_import_times oder auto_import_interval_hours
POST/api/v1/projects/{id}/sources/{sourceID}/runsEine einzelne Quelle importieren
POST/api/v1/projects/{id}/category-rulesGoogle-Kategorie zuordnen — die erste passende Zeile gewinnt
POST/api/v1/rulesets/{setID}/rulesRegel in ein Regelset schreiben
POST/api/v1/rulesets/{setID}/rules/impactWirkung einer Regel messen, bevor sie live geht
PUT/api/v1/channels/{id}/rulesetsRegelsets einem Feed zuordnen — Reihenfolge = Anwendung
POST/api/v1/projects/{id}/merchant/syncBenchmarks, Status und Performance aus dem Merchant Center holen
POST/api/v1/channels/{id}/pushKanal vom Typ merchant_api jetzt per Merchant API pushen
PUT/api/v1/team/membersRolle und Projekt-Zuschnitt eines Mitglieds setzen
GET/api/v1/meta/referenceMaschinenlesbare Referenz: Operatoren, Aktionen, Typen, MC-Felder
GET/feeds/{token}.xmlFertiger Feed — live gerendert, stabile URL

Die vollständige Referenz — Operatoren, Aktionen, Kanal-Mapping und Feed-Formate — liefert GET /api/v1/meta/reference maschinenlesbar direkt aus der Engine; sie steht außerdem in der Anwendung unter Einstellungen und im Repository unter docs/.

Regel-Engine

13 Operatoren, 17 Aktionen — streng validiert.

Bedingungen mit und/oder, Aktionen in Reihe; unbekannte Felder lehnt der Server mit 400 ab, statt sie still zu ignorieren. Die Engine ist rein funktional: dieselbe Regel liefert auf demselben Produkt immer dasselbe Ergebnis.

Marge prüfen · value_field
{
  "if": {
    "conditions": [
      { "field": "price", "op": "lte",
        "value_field": "purchase_price_net" }
    ]
  },
  "then": [
    { "action": "set_value",
      "field": "custom_label_2", "value": "Verlust" }
  ]
}
Versand nach Gewicht · shipping_table
{
  "then": [ {
    "action": "shipping_table",
    "field": "shipping[1]",
    "from": "shipping_weight",
    "country": "AT",
    "service": "Standard",
    "brackets": [
      { "up_to": "0.5", "exclusive": true, "price": "9.52 EUR" },
      { "up_to": "24",  "exclusive": true, "price": "24.60 EUR" },
      { "up_to": "32",  "price": "67.83 EUR" },
      { "price": "229.67 EUR" }
    ]
  } ]
}
value_field

Rechts vom Operator steht ein zweites Feld desselben Produkts statt eines festen Werts — Marge, Streichpreis gegen Preis, Bestand gegen Mindestmenge.

shipping_table

Gewichtsstaffel je Zielland als Tabelle; die kleinste passende Obergrenze gewinnt, „bis" und „unter" sind beide möglich. Pauschalen und Freigrenzen bleiben normale Regeln danach.

title_case · longest_of · truncate

Versalien-Titel werden lesbar (gemischt Geschriebenes bleibt in Ruhe), die längste von mehreren Beschreibungen gewinnt, Kürzen schneidet an der Wortgrenze.

shipping[n](…) und tax[n](…)

Mehrere Versand- und Steuerblöcke je Produkt, im XML korrekt verschachtelt, in CSV zur Textfeed-Konvention gefaltet. Ein Block ohne Preis entfällt, statt leer im Feed zu stehen.

MCP-Server

Ein Agent, der den ganzen Funktionsumfang steuert.

Anbindung per API-Token in Claude Code oder als Konnektor in claude.ai über den mitgelieferten OAuth-Server. Der empfohlene Ablauf steckt in den Server-Instructions: Referenz lesen, Entwurf mit ff_regel_wirkung am echten Bestand prüfen, erst dann speichern.

Claude Code
claude mcp add --transport http firefeeds \
  https://app.firefeeds.io/mcp \
  --header "Authorization: Bearer fft_…"
Auswahl der verfügbaren MCP-Tools
MCP-ToolBeschreibungScope
ff_referenzOperatoren, Aktionen, Quellen- und Kanaltypen, MC-Felder — direkt aus der Engineread
ff_projekt_ueberblickQuellen, Regelsets, Feeds und letzter Lauf eines Projekts in einem Aufrufread
ff_quelle_zeitplanAutomatischen Abruf je Quelle setzen: Uhrzeiten oder Intervallwrite
ff_import_startenImport anstoßen, Status über ff_import_statuswrite
ff_regel_generierenKI-Entwurf einer Regel aus einer Beschreibung — noch nicht gespeichertread
ff_regel_wirkungTreffer und Vorher/Nachher eines Entwurfs über den ganzen Bestandread
ff_regel_speichernRegel in ein Regelset schreibenwrite
ff_feed_qualitaetFeed gegen die Merchant-Center-Anforderungen prüfenread
ff_api_requestJeder weitere Endpunkt — Merchant-Center-Sync, API-Push, Team, eigene Felderapi

Insgesamt 32 Tools für Projekte, Quellen, Produkte, Google-Kategorien, Regeln und Feeds; ff_api_request erreicht jeden übrigen Endpunkt — die Abdeckung wächst mit der API, ohne dass der Server neue Tools braucht.

OAuth + Google-SSO

Konnektor-Anmeldung in claude.ai ohne manuelles Token-Handling.

Ein Router für alles

Die MCP-Tools rufen denselben HTTP-Router auf wie die Oberfläche — eine zweite Implementierung, die auseinanderlaufen könnte, gibt es nicht.

Löschen per Positivliste

Ein Agent löscht nur Regeln, Regelsets und Kategoriezuordnungen. Feeds (Token!), Quellen (Produkte!) und Zugänge bleiben dem UI vorbehalten — neue DELETE-Routen sind automatisch gesperrt.

Streaming-Import

Seitenweise nach Postgres — konstanter Speicher auch bei 180.000+ Produkten.

Token holen, Regel schreiben.

Die API ist ab dem Pro-Plan enthalten — inklusive MCP-Server und OAuth-Konnektor.