Step-Action ausführen
Eine konfigurierte Action mit validierten Eingaben ausführen.
/v1/event/{eventId}/steps/{stepId}/actions/{actionIndex}/executeAuthentifizierung: 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"
}