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