Journey-Objekt
Die Methoden Lebenszyklus, Erstellen und Aktualisieren geben alle ein Journey-Objekt mit der gleichen Top-Level-Struktur zurück:
{ "info": { ... }, // schreibgeschützte Metadaten (nur in Antworten) "params": { ... }, // Journey-weite Konfiguration (erstellen / aktualisieren) "points": [ ... ], // Canvas-Knoten und ihre Verbindungen "comments": [ ... ] // Canvas-Kommentare}Wenn Sie eine Journey erstellen oder aktualisieren, senden Sie title, params, points und comments. Antworten geben info (das params enthält) sowie points und comments zurück.
Info
Anchor link toSchreibgeschützte Journey-Metadaten. Wird von jeder v3-Methode zurückgegeben. Nicht Teil des Anfrage-Bodys.
| Feld | Typ | Beschreibung |
|---|---|---|
uuid | string | Journey-ID. |
title | string | Journey-Name. |
status | JourneyStatus | Aktueller Zustand. |
created_at | string | Erstellungszeitstempel (ISO 8601). |
updated_at | string | Zeitstempel der letzten Aktualisierung (ISO 8601). |
is_first_activated | bool | Gibt an, ob die Journey mindestens einmal gestartet wurde. |
params | JourneyParams | Journey-weite Konfiguration. |
category_uuid | string | UUID der Kategorie oder leer, wenn nicht kategorisiert. |
pointCounts | map<string, uint32> | Anzahl der Punkte nach Typ. |
campaign_type | CampaignType | Wie Benutzer in die Journey eintreten. |
stop_reason | string | Grund für den Stopp der Journey, falls zutreffend. |
last_edited_by | User | Benutzer, der die Journey zuletzt bearbeitet hat. |
dynamic_entry | bool | Gibt an, ob der dynamische Eintritt aktiviert ist. |
JourneyParams
Anchor link toJourney-weite Konfiguration. Wird beim Erstellen/Aktualisieren gesendet und innerhalb von info.params zurückgegeben.
| Feld | Typ | Beschreibung |
|---|---|---|
application_code | string | Anwendungscode, zu dem die Journey gehört. Erforderlich beim Erstellen. |
silent_hours | SilentHours | Stunden, in denen Nachrichten unterdrückt werden, pro Kanal. |
capping | EntryCapping | Begrenzungen, wie oft ein Benutzer erneut in die Journey eintreten kann. |
conversion_window | ConversionWindow | Zeitfenster für die Zuordnung von Ziel-Conversions. |
user_id_track_change_policy | UserIDTrackChangePolicy | Wie eine Änderung der Benutzer-ID mitten in der Journey behandelt wird. |
SilentHours
Anchor link toUnterdrückt das Senden während Ruhezeiten. Konfiguriert pro Kanal: Jeder Kanal verwendet seine eigenen SilentHoursParams:
| Feld | Typ | Beschreibung |
|---|---|---|
push_params | SilentHoursParams | Ruhezeiten für Push-Benachrichtigungen. |
inapp_params | SilentHoursParams | Ruhezeiten für In-App-Nachrichten. |
email_params | SilentHoursParams | Ruhezeiten für E-Mails. |
sms_params | SilentHoursParams | Ruhezeiten für SMS. |
whatsapp_params | SilentHoursParams | Ruhezeiten für WhatsApp. |
line_params | SilentHoursParams | Ruhezeiten für LINE. |
Jeder SilentHoursParams ist:
| Feld | Typ | Beschreibung |
|---|---|---|
enabled | bool | Gibt an, ob Ruhezeiten für diesen Kanal gelten. |
from_time | Time | Beginn des Ruhefensters: { "hour": 0–23, "minute": 0–59 }. |
to_time | Time | Ende des Ruhefensters. |
week_days | bool[] | Sieben boolesche Werte für die Tage, an denen das Fenster gilt (Montag = Index 0). |
behavior | enum | Was zu tun ist, wenn eine Nachricht in die Ruhezeit fällt: WaitAndSend (zurückhalten, dann senden, wenn das Fenster endet), DropAndGo (Nachricht überspringen, Journey sofort fortsetzen) oder WaitAndDrop (Fenster abwarten, dann ohne Senden fortfahren). |
EntryCapping
Anchor link toBegrenzt, wie oft derselbe Benutzer in die Journey eintreten kann.
| Feld | Typ | Beschreibung |
|---|---|---|
is_enabled | bool | Gibt an, ob die Eintrittsbegrenzung aktiviert ist. |
period | uint64 | Mindestanzahl von Sekunden zwischen den Eintritten eines Benutzers. |
ConversionWindow
Anchor link to| Feld | Typ | Beschreibung |
|---|---|---|
seconds | uint64 | Wie lange nach dem Eintritt in eine Journey der Abschluss eines Ziels durch einen Benutzer noch als Conversion zählt. |
Point
Anchor link toEin Punkt ist ein Knoten auf dem Journey-Canvas: ein Eintrittspunkt, eine Nachricht, eine Verzögerung, ein Splitter und so weiter.
| Feld | Typ | Beschreibung |
|---|---|---|
uuid | string | Eindeutige ID des Punktes innerhalb der Journey. Muss eine kanonische RFC 4122 UUID sein: 32 Hex-Ziffern in 8-4-4-4-12 Gruppen. |
title | string | Anzeigename des Punktes. |
point_type | PointType | Die Art des Knotens. |
outputs | array of PointOutput | Verbindungen zu nachgelagerten Punkten. |
position | Position | Canvas-Koordinaten. |
point_data | object | Genau ein verschachtelter Schlüssel, der mit point_type übereinstimmt (siehe Tabelle der Punkttypen). |
PointOutput
Anchor link toDie Outputs eines Punktes sind seine ausgehenden Zweige. Ihre Schlüssel sind nicht frei wählbar. Der Validator erwartet für jeden Punkttyp einen exakten Satz von Schlüsseln und lehnt eine Journey ab, deren Punkt die falsche Anzahl von Outputs oder einen nicht erkannten Schlüssel hat.
| Feld | Typ | Beschreibung |
|---|---|---|
identity.key | string | Zweigschlüssel. Muss den unten stehenden Regeln für Output-Schlüssel folgen. |
identity.order | int | Anzeigereihenfolge des Zweiges. |
info.title | string | Optionale Zweigbezeichnung. |
info.next_point_uuid | string | UUID des nächsten Punktes, mit dem dieser Zweig verbunden ist. Optional – wenn nicht gesetzt, endet die Journey für den Benutzer, genauso wie bei einem expliziten Terminator-Punkt. |
Output-Schlüssel
Anchor link toDer Standardzweig (der erste) heißt immer "default". Zusätzliche Zweige heißen "output1", "output2", … (das Präfix output gefolgt von einem 1-basierten Index). Zwei Punkttypen brechen diese Regel, wie unten vermerkt.
| Punkttyp | Erwartete Output-Schlüssel |
|---|---|
Eintrittspunkte (START_BY_SEGMENT, START_BY_API, EVENT), INAPP, SET_TAGS, WEBHOOK, AUDIENCE_SYNC und Nachrichtenpunkte ohne Splitter (SEND_PUSH, SEND_EMAIL, SEND_SMS, SEND_WHATSAPP, SEND_LINE, SEND_KAKAO, SEND_TELEGRAM, SEND_DATA) | default |
GOAL_EVENT, EXIT | keine (keine Outputs) |
FILTER | default, output1 |
BOOLEAN_SPLITTER | default, dann output1 … outputN (ein zusätzlicher Zweig pro Bedingung. Eine einfache Ja/Nein-Aufteilung ist default + output1) |
WAIT (Verzögerung) | default. Eine dynamische Verzögerung mit Zweigaufteilung fügt output1 hinzu |
WAIT_EVENT | default ist der Zweig für nicht ausgelöste Ereignisse. output1 (oder, mit einem Bedingungsskript, ein Zweig pro Bedingung) ist der ausgelöste Pfad |
SEND_PUSH mit einem Splitter | default, output1 (und output2, wenn sowohl der Nachrichten- als auch der Zustellungs-Splitter aktiviert sind) |
SEND_EMAIL / SEND_SMS / SEND_LINE / SEND_WHATSAPP mit einem Splitter | default, output1 |
SEND_WHATSAPP mit einer Schnellantwort-Voreinstellung | default, plus ein Zweig pro Schnellantwort. Der Schlüssel ist der Wert der Schnellantwort selbst |
AB_SPLITTER | output0, output1, output2, … (einer pro Variante. Es gibt keinen default-Zweig) |
Position
Anchor link to| Feld | Typ | Beschreibung |
|---|---|---|
x | float | Horizontale Koordinate auf dem Canvas. |
y | float | Vertikale Koordinate auf dem Canvas. |
Punkttypen und point_data
Anchor link topoint_data ist ein one-of: Es enthält genau ein verschachteltes Objekt, dessen Schlüssel durch den point_type des Punktes bestimmt wird.
point_type | point_data-Schlüssel | Zweck |
|---|---|---|
POINT_TYPE_START_BY_SEGMENT | start_by_segment | Eintritt: Benutzer, die einem Segment entsprechen. |
POINT_TYPE_EVENT | message_bus | Eintritt: Benutzer, die ein Ereignis auslösen. |
POINT_TYPE_START_BY_API | start_by_api | Eintritt: Benutzer, die über den Start by API-Aufruf hinzugefügt werden. |
POINT_TYPE_WAIT | delay | Warten für ein festes oder dynamisches Intervall. |
POINT_TYPE_WAIT_EVENT | wait_event | Warten, bis ein Ereignis eintritt. |
POINT_TYPE_SEND_PUSH | send_push | Eine Push-Benachrichtigung senden. |
POINT_TYPE_SEND_EMAIL | send_email | Eine E-Mail senden. |
POINT_TYPE_SEND_SMS | send_sms | Eine SMS senden. |
POINT_TYPE_SEND_WHATSAPP | send_whatsapp | Eine WhatsApp-Nachricht senden. |
POINT_TYPE_SEND_TELEGRAM | send_telegram | Eine Telegram-Nachricht senden. |
POINT_TYPE_SEND_KAKAO | send_kakao | Eine Kakao-Nachricht senden. |
POINT_TYPE_SEND_LINE | send_line | Eine LINE-Nachricht senden. |
POINT_TYPE_SEND_DATA | send_data | Eine stille Datennachricht senden. |
POINT_TYPE_INAPP | inapp | Eine In-App-Nachricht anzeigen. |
POINT_TYPE_BOOLEAN_SPLITTER | boolean_splitter | Benutzer nach einer Bedingung aufteilen (Segment, Tags oder Ereignis). |
POINT_TYPE_AB_SPLITTER | ab_splitter | Benutzer in A/B-Gruppen aufteilen. |
POINT_TYPE_FILTER | filter | Nur Benutzern, die einem Filter entsprechen, das Fortfahren erlauben. |
POINT_TYPE_SET_TAGS | set_tags | Benutzer-Tags aktualisieren. |
POINT_TYPE_WEBHOOK | web_hook | Eine ausgehende HTTP-Anfrage senden. |
POINT_TYPE_GOAL_EVENT | goal_event | Ein Conversion-Ziel verfolgen. |
POINT_TYPE_AUDIENCE_SYNC | audience_sync | Benutzer mit einer externen Zielgruppe synchronisieren. |
POINT_TYPE_EXIT | terminator | Die Journey verlassen. |
Beispielpunkt
Anchor link toEin „Tags setzen“-Punkt mit einer einzigen nachgelagerten Verbindung:
{ "uuid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "title": "Als engagiert markieren", "point_type": "POINT_TYPE_SET_TAGS", "position": { "x": 480, "y": 120 }, "outputs": [ { "identity": { "key": "default", "order": 0 }, "info": { "title": "", "next_point_uuid": "ffffffff-1111-2222-3333-444444444444" } } ], "point_data": { "set_tags": { "application_code": "XXXXX-XXXXX", "tags": [ { "name": "engaged", "value": "true" } ] } }}JourneyComment
Anchor link to| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Kommentar-UUID. |
message | string | Kommentartext. |
position | Position | Canvas-Koordinaten. |
index | int | Anzeigereihenfolge. |
created_at | string | Erstellungszeitstempel (ISO 8601). |
deleted | bool | Gibt an, ob der Kommentar gelöscht ist. |
Enums
Anchor link toJourneyStatus-Enum
Anchor link toSTATUS_DRAFT, STATUS_RUNNING, STATUS_FINISHED, STATUS_ARCHIVED, STATUS_PAUSED, STATUS_UNKNOWN.
CampaignType-Enum
Anchor link toTriggerBased: Benutzer treten bei einem Ereignis ein.AudienceBased: Benutzer treten aus einem Segment ein.APIBased: Benutzer treten über den Start-by-API-Aufruf ein.Mixed: mehr als ein Eintrittstyp.Unknown: Eintrittstyp nicht bestimmt.
PointType-Enum
Anchor link toSiehe die Tabelle der Punkttypen oben für die vollständige Liste und den point_data-Schlüssel, dem jeder zugeordnet ist.
UserIDTrackChangePolicy-Enum
Anchor link toSteuert, was mit einem Benutzer geschieht, der sich mitten in einer Journey befindet, wenn sich seine Benutzer-ID ändert:
DEFAULT: Standardverhalten.TRACK: den Benutzer unter der neuen ID weiterverfolgen.DROP: den Benutzer aus der Journey entfernen, wenn sich seine ID ändert.