Esc
Tracklytic
AnleitungenAPI-ReferenzSDKsChangelogTracklytic öffnen

Step-Action ausführen

View as MarkdownThe page as plain text

Eine konfigurierte Action mit validierten Eingaben ausführen.

POST/v1/event/{eventId}/steps/{stepId}/actions/{actionIndex}/execute

Authentifizierung: Benutzer-Access-JWT mit Projektzugriff. Ein API-Token reicht nicht aus.

Parameter

Der Step muss freigegeben sein. Pro Step kann nur eine Action gleichzeitig laufen. Erfolg setzt den Step auf success, Fehler auf failed. Reine Links ändern keinen Stepstatus.

Body

inputs enthält die konfigurierten Formularwerte. Wenn die Action eine confirmation definiert, ist confirmed: true erforderlich. Ein Button ohne Inputs kann {} senden, sofern keine Bestätigung verlangt wird. Eingaben werden vor der Ausführung validiert.

Antwort und Fehler

HTTP 200 liefert das Ausführungsergebnis. Prüfe success, weil fehlgeschlagene Webhook-Erwartungen ebenfalls HTTP 200 zurückgeben können. 400: Eingaben ungültig oder Bestätigung fehlt. 409: Action abgelaufen, Limit erreicht oder Step gesperrt. Details unter Actions und Formulare.

Das Antwortbeispiel zeigt einen Auszug. Die vollständige Antwort enthält außerdem message und results.

Request

curl -X POST 'https://api.tracklytic.de/v1/event/EVENT_ID/steps/review/actions/0/execute' \
  -H "Authorization: Bearer $TRACKLYTIC_ACCESS_TOKEN" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "inputs": {
    "comment": "Freigegeben"
  },
  "confirmed": true
}'
const response = await fetch("https://api.tracklytic.de/v1/event/EVENT_ID/steps/review/actions/0/execute", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.TRACKLYTIC_ACCESS_TOKEN}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify(
    {
      "inputs": {
        "comment": "Freigegeben"
      },
      "confirmed": true
    }
  )
});

if (!response.ok) throw new Error(await response.text());
const result = await response.json();
import json
import os
from urllib.request import Request, urlopen

payload = {
  "inputs": {
    "comment": "Freigegeben"
  },
  "confirmed": True
}

request = Request(
    "https://api.tracklytic.de/v1/event/EVENT_ID/steps/review/actions/0/execute",
    method="POST",
    headers={
        "Authorization": "Bearer " + os.environ["TRACKLYTIC_ACCESS_TOKEN"],
        "Content-Type": "application/json"
    },
    data=json.dumps(payload).encode("utf-8")
)

with urlopen(request) as response:
    result = json.load(response)

Response

200
{
  "success": true,
  "eventStatus": "success"
}