Esc
Tracklytic
AnleitungenAPI-ReferenzSDKsChangelogTracklytic öffnen

Event-Action ausführen

View as MarkdownThe page as plain text

Eine konfigurierte Action mit validierten Eingaben ausführen.

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

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

Parameter

Die Action wird über den nullbasierten actionIndex ausgewählt. Bei Pipeline-Events verwende den Step-Action-Endpunkt.

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 sowie action und executionSummary.

Request

curl -X POST 'https://api.tracklytic.de/v1/event/EVENT_ID/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/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/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": "completed"
}