JSON ist das Format, in dem externe Systeme Daten austauschen: so antworten die APIs von Versanddiensten, Zahlungsdienstleistern und Buchhaltungssystemen. Ein Geschäftsprozess in Bitrix24 sieht JSON als gewöhnliche Zeichenkette: eingebaute Aktionen, um daraus einen Wert herauszuholen oder eine Struktur zum Versenden zusammenzubauen, gibt es nicht. Wir klären die Verkettung aus drei Robotern: der erste sendet eine HTTP-Anfrage und erhält eine Antwort, der zweite extrahiert aus dem JSON den gewünschten Wert per Pfad, der dritte baut aus Deal-Feldern ein JSON zum Versand nach außen.

Wo stößt ein Geschäftsprozess auf JSON?

Drei typische Punkte. Erstens — die Antworten externer APIs: der Prozess fragt einen Versandstatus, einen Lagerbestand oder einen Wechselkurs ab und erhält JSON. Zweitens — Webhooks: ein externes System schickt Daten, und sie landen als eine einzige Zeichenkette der Form {"order":{"id":518,"status":"paid"}} in einem Feld oder einer Variablen — damit muss anschließend etwas geschehen. Drittens — der Versand von Daten nach außen: ein externes System erwartet JSON einer bestimmten Struktur, und es muss aus Deal-Feldern zusammengebaut werden. In allen drei Fällen bietet der eingebaute Workflow-Designer an, mit der Zeichenkette als Ganzes zu arbeiten, und üblicherweise wird an dieser Stelle ein Programmierer geholt. Die drei Roboter unten schließen den Zyklus ohne Code.

Wie sendet man eine Anfrage an ein externes System?

Der Roboter „HTTP-Anfrage GET/POST" wendet sich an jede beliebige externe API. Eingabe: URL, Methode — GET, POST, PUT, PATCH, DELETE oder HEAD, standardmäßig GET — der Anfrage-Body für POST und PUT, die Header als JSON-Objekt der Form {"Authorization":"Bearer …"} und ein Timeout in Sekunden, standardmäßig 10. Ausgabe: der Antwort-Body, der HTTP-Statuscode und das Kennzeichen „Erfolgreich" (J/N — Code 2xx). Der Antwort-Body wird in eine Variable geschrieben und an den nächsten Roboter zur Zerlegung übergeben. So erfährt der Prozess selbst den Status einer Bestellung im Buchhaltungssystem nach dem Phasenplan, ohne darauf zu warten, dass ein Mitarbeiter manuell nachsieht. Der Roboter ist in den kostenpflichtigen Bitrix24-Tarifen verfügbar.

Wie holt man einen Wert aus einer JSON-Antwort?

Der Roboter „Wert aus JSON per Pfad extrahieren" zerlegt eine JSON-Zeichenkette und gibt einen Wert über einen punktgetrennten Pfad zurück: Objektschlüssel und numerische Array-Indizes. Für die Antwort {"data":{"user":{"email":"a@b.ru"}}} gibt der Pfad data.user.email a@b.ru zurück; das erste Element einer Liste holt man über einen Pfad der Form items.0.name. Ausgabe: der Wert als Zeichenkette und das Kennzeichen „Pfad gefunden" (J/N); liegt am Pfad ein Objekt oder Array, wird es als separater Wert in Form von JSON zurückgegeben — man zerlegt es mit demselben Roboter erneut, schon nach dem inneren Pfad. Ungültiges JSON oder ein fehlender Pfad ergeben das Kennzeichen N, keinen Prozessstopp. Den gefundenen Wert schreibt man mit der nächsten Aktion in ein Feld des Deals oder Kontakts.

Wie baut man ein JSON aus Deal-Feldern zusammen?

Die umgekehrte Aufgabe: ein externes System erwartet JSON, die Daten aber liegen in Feldern und Variablen. Der Roboter „JSON aus Feldern erstellen" nimmt zwei mehrfache Listen entgegen — Schlüssel und Werte; die Reihenfolge muss übereinstimmen: der erste Schlüssel erhält den ersten Wert. In die Werte setzt man Deal-Felder und Prozessvariablen ein. Zahlen sowie die Werte true/false werden automatisch erkannt und landen ohne Anführungszeichen im JSON, alles Übrige als Zeichenketten; es gibt eine Option zur Formatierung mit Einrückungen für die Lesbarkeit. Ausgabe — ein fertiges JSON-Objekt: man setzt es in den Body der POST-Anfrage des Roboters „HTTP-Anfrage GET/POST" ein oder übergibt es dem externen System auf beliebige andere Weise.

Wie behandelt man Integrationsfehler?

Externe Systeme antworten mit Fehlern, und der Prozess muss das überstehen. Beide Roboter geben Kennzeichen zurück, statt anzuhalten. „Erfolgreich = N" bei der HTTP-Anfrage bedeutet eine Antwort außerhalb der Codes 2xx: der Statuscode verrät die Ursache — 401 ein Autorisierungsproblem, 404 eine falsche Adresse, 5xx einen Ausfall auf der Gegenseite. „Pfad gefunden = N" bei der JSON-Zerlegung — die Antwort kam in einer anderen Struktur oder das JSON ist ungültig. Anhand dieser Kennzeichen baut man im Workflow-Designer einen separaten Zweig: eine Aufgabe an den Verantwortlichen mit dem Antwort-Body darin, der Deal bleibt bis zur Klärung in der aktuellen Phase. Ohne einen solchen Zweig schreibt der Prozess stillschweigend einen leeren Wert, und der Fehler taucht später auf — schon beim Kunden.

Fazit

Die Verkettung „Anfrage → Zerlegung → Zusammenbau" deckt eine typische Integration ohne Code ab: „HTTP-Anfrage GET/POST" tauscht Daten mit dem externen System aus, „Wert aus JSON per Pfad extrahieren" zerlegt die Antwort, „JSON aus Feldern erstellen" bereitet die Daten zum Versand vor. Alle drei finden Sie im Roboteka-Katalog, installierbar aus dem Bitrix24.Markt. Fehlt ein Roboter für Ihre Integration — beschreiben Sie die Aufgabe, wir bauen ihn kostenlos und fügen ihn der gemeinsamen Bibliothek hinzu.