Shopware 6 Flows per API auslösen
Mit dem API Flow Trigger Plugin kannst du Flows aus dem Shopware 6 Flow Builder gezielt über die API auslösen.
In diesem Demoshop zeigen wir dir anhand konkreter Beispiele, wie das funktioniert.
Außerdem kannst du hier die zugehörige Dokumentation einsehen und direkt mit eigenen Tests starten.
Shopware 6 App herunterladen Dokumentation Shopware Administration
Shopware 6 OAuth2 Access Token erzeugen
Bevor du einen Flow über die API auslösen kannst, musst du dich authentifizieren. Dazu wird in diesem Schritt ein OAuth 2 Access Token generiert, das für alle weiteren API-Aufrufe benötigt wird. Die erforderlichen Zugangsdaten – Client-ID und Client-Secret – erhältst du, indem du im Admin-Bereich deines Shops eine Integration anlegst (unter Einstellungen > System > Integrationen). Das Token kannst du anschließend per cURL oder in PHP erzeugen – Beispiele findest du unten.
Shopware 6 OAuth2 Token mit cURL erzeugen
curl -X POST https://api-flow-trigger-demo.applifaction.com/api/oauth/token -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=client_credentials&client_id=SWIANWNYMHZNQNZYEW5MWWDSUG&client_secret=Y0Z1RmJ6cXpyRk9vcDY0VmdtQTBwcUlYTURDb2I1Qk5aWFdvNDc'
Shopware 6 OAuth2 Access Token mit PHP erzeugen
$url = 'https://api-flow-trigger-demo.applifaction.com/api/oauth/token';
$data = array(
'grant_type' => 'client_credentials',
'client_id' => 'SWIANWNYMHZNQNZYEW5MWWDSUG',
'client_secret' => 'Y0Z1RmJ6cXpyRk9vcDY0VmdtQTBwcUlYTURDb2I1Qk5aWFdvNDc'
);
// Use http_build_query to properly format the data for x-www-form-urlencoded
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) {
echo "Error fetching token!";
} else {
// The result is a JSON string. Decode it.
$token_data = json_decode($result);
print_r($token_data);
}
Beispiel-Antwort für den OAuth2 Access Token
{
"token_type": "Bearer",
"expires_in": 600,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJTV0lBTldOWU1IWk5RTlpZRVc1TVdXRFNVRyIsImp0aSI6ImJkZTUwZWM3NGNkY2RlYWE0MzMzNjY1YjlmNTg4YjIyZWUzNzBjZTRiMTc2NzcxMGRkZWE2MDkxZDRkNWJkZWJiYjg3NjY0MTUxYWU3OTVhIiwiaWF0IjoxNzUzNDE5ODU1Ljc5NzE5MSwibmJmIjoxNzUzNDE5ODU1Ljc5NzE5MywiZXhwIjoxNzUzNDIwNDU1Ljc5Njk3Niwic3ViIjoiU1dJQU5XTllNSFpOUU5aWUVXNU1XV0RTVUciLCJzY29wZXMiOlsid3JpdGUiXX0.gQAjYNn4pikawxo-OU6N4AtY23Vo-7HVnzffXamst7Y"
}
IDs der Flows mit API Flow Triggern abrufen
Bevor du einen Flow auslösen kannst, musst du die Flow-ID abrufen. Dazu erstellst du im Flow Builder einen neuen Flow und weist ihm den API Flow Trigger als Auslöser zu – zum Beispiel für Bestellungen. Anschließend kannst du mit einem API-Request (siehe unten per cURL oder PHP) alle verfügbaren Flows abrufen und die entsprechende ID herausfiltern. Verwende dabei den OAuth2 Access Token, den du in Schritt 1 erzeugt hast.
Dokumentationen
Flow-IDs mit cURL abrufen
curl -X GET \
'https://api-flow-trigger-demo.applifaction.com/api/flow-trigger/order/flows' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJTV0lBTldOWU1IWk5RTlpZRVc1TVdXRFNVRyIsImp0aSI6ImU3ZWFjN2M1M2YyOWE5ZTMwMGQ5MDQwOWYwM2U3YTU5MDZmZjNhOWFiZjBkOGZjOTZhZjQ1Yjg1NjVjMjVhZjNhZjM1MWY4N2ZkMDNhZGE2IiwiaWF0IjoxNzUzNDE5NzYxLjIwNjEyMiwibmJmIjoxNzUzNDE5NzYxLjIwNjEyNCwiZXhwIjoxNzUzNDIwMzYxLjIwNTg4NSwic3ViIjoiU1dJQU5XTllNSFpOUU5aWUVXNU1XV0RTVUciLCJzY29wZXMiOlsid3JpdGUiXX0.-dWVRTAiWQwYhT_OJ2ogc_My_X0Ha2uRRlt8Wdp_mX8'
Flow-IDs mit PHP abrufen
$url = 'https://api-flow-trigger-demo.applifaction.com/api/flow-trigger/order/flows';
$bearerToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJTV0lBTldOWU1IWk5RTlpZRVc1TVdXRFNVRyIsImp0aSI6ImU3ZWFjN2M1M2YyOWE5ZTMwMGQ5MDQwOWYwM2U3YTU5MDZmZjNhOWFiZjBkOGZjOTZhZjQ1Yjg1NjVjMjVhZjNhZjM1MWY4N2ZkMDNhZGE2IiwiaWF0IjoxNzUzNDE5NzYxLjIwNjEyMiwibmJmIjoxNzUzNDE5NzYxLjIwNjEyNCwiZXhwIjoxNzUzNDIwMzYxLjIwNTg4NSwic3ViIjoiU1dJQU5XTllNSFpOUU5aWUVXNU1XV0RTVUciLCJzY29wZXMiOlsid3JpdGUiXX0.-dWVRTAiWQwYhT_OJ2ogc_My_X0Ha2uRRlt8Wdp_mX8';
$options = array(
'http' => array(
'header' => "Authorization: Bearer " . $bearerToken,
'method' => 'GET'
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) {
echo "Error fetching data from the API!";
} else {
// Decode the JSON response
$data = json_decode($result);
print_r($data);
}
Beispiel-Antwort für das Abrufen der Flow-IDs
{
"flows": [
{
"id": "01983f57673c7893b1041ac911aa5053",
"name": "Order Flow (API Flow Trigger Example)"
}
],
"apiAlias": "applifaction_appli_api_flow_trigger_core_content_api_flow_trigger_sales_channel_flow_response_struct"
}
Flow per API Request auslösen
Sobald du die Flow-ID und ein gültiges OAuth 2 Access Token hast, kannst du den gewünschten Flow per API auslösen. Beim Auslösen eines Order-basierten Flows kannst du zur Identifikation entweder die Order-ID oder die Bestellnummer verwenden – je nachdem, was dir vorliegt. Wenn du einen Customer-basierten Flow starten möchtest, kannst du wahlweise die Customer-ID, die Kundennummer oder die E-Mail-Adresse des Kunden übergeben. So lässt sich der passende Flow flexibel und gezielt auslösen.
Dokumentationen
Shopware 6 Flow mit cURL über einen API Request auslösen
curl -X POST \
https://api-flow-trigger-demo.applifaction.com/api/flow-trigger/order/dispatch \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJTV0lBTldOWU1IWk5RTlpZRVc1TVdXRFNVRyIsImp0aSI6IjU3MzZlZTI2YTMzNzI1OGRjYzFjY2YyMzNjMzUzN2E4MzAxNWE0MzE3OWFmOWZhOWU3Y2E5MWY4MmVmMTc2OWVhYzk3YzM3YTFiOTRjMDFlIiwiaWF0IjoxNzUzNDIxMTMyLjYxMzYzLCJuYmYiOjE3NTM0MjExMzIuNjEzNjMzLCJleHAiOjE3NTM0MjE3MzIuNjEzNDIsInN1YiI6IlNXSUFOV05ZTUhaTlFOWllFVzVNV1dEU1VHIiwic2NvcGVzIjpbIndyaXRlIl19.VbF5Z_NrAQEn2iPa1_kJLcmAdTlWQ0MkNyx54NEQ13M' \
-d '{
"flowId": "01983b6cb5637d048e92030a7be57272",
"orderNumber": "10000"
}'
Shopware 6 Flow mit PHP über einen API Request auslösen
$url = 'https://api-flow-trigger-demo.applifaction.com/api/flow-trigger/order/dispatch';
$bearerToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJTV0lBTldOWU1IWk5RTlpZRVc1TVdXRFNVRyIsImp0aSI6IjU3MzZlZTI2YTMzNzI1OGRjYzFjY2YyMzNjMzUzN2E4MzAxNWE0MzE3OWFmOWZhOWU3Y2E5MWY4MmVmMTc2OWVhYzk3YzM3YTFiOTRjMDFlIiwiaWF0IjoxNzUzNDIxMTMyLjYxMzYzLCJuYmYiOjE3NTM0MjExMzIuNjEzNjMzLCJleHAiOjE3NTM0MjE3MzIuNjEzNDIsInN1YiI6IlNXSUFOV05ZTUhaTlFOWllFVzVNV1dEU1VHIiwic2NvcGVzIjpbIndyaXRlIl19.VbF5Z_NrAQEn2iPa1_kJLcmAdTlWQ0MkNyx54NEQ13M';
$data = array(
"flowId" => "01983b6cb5637d048e92030a7be57272",
"orderNumber" => "10000"
);
// Encode the data to JSON format
$jsonData = json_encode($data);
$options = array(
'http' => array(
'header' => "Content-Type: application/json\r\n" .
"Authorization: Bearer " . $bearerToken,
'method' => 'POST',
'content' => $jsonData
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) {
echo "Error dispatching order!";
} else {
// Decode the JSON response from the API
$response_data = json_decode($result);
print_r($response_data);
}
Shopware 6 Flow per API Request auslösen – so sieht die Antwort aus
{
"flowExecutions": [
{
"versionId": null,
"createdAt": null,
"updatedAt": null,
"flowId": "01983f57673c7893b1041ac911aa5053",
"sequenceId": null,
"flowName": "Order Flow (API Flow Trigger Example)",
"flowPayload": {
"extensions": [],
"id": "01983f57673c7893b1041ac911aa5053",
"sequences": [
{
"extensions": [],
"flowId": "01983f57673c7893b1041ac911aa5053",
"sequenceId": "01983f578a6a7cecba40b2069a6e1fbb",
"action": "action.add.order.tag",
"config": {
"entity": "order",
"tagIds": {
"01983f572c157ab18dc8a23548142cf4": "This tag was added by the API Flow Trigger"
}
},
"nextAction": null,
"appFlowActionId": null
}
],
"flat": {
"01983f578a6a7cecba40b2069a6e1fbb": {
"extensions": [],
"flowId": "01983f57673c7893b1041ac911aa5053",
"sequenceId": "01983f578a6a7cecba40b2069a6e1fbb",
"action": "action.add.order.tag",
"config": {
"entity": "order",
"tagIds": {
"01983f572c157ab18dc8a23548142cf4": "This tag was added by the API Flow Trigger"
}
},
"nextAction": null,
"appFlowActionId": null
}
}
},
"data": {
"eventName": "api_call_received.order",
"salesChannelId": "f43b54bf3a0e4b9ebdd203bf8deadbcb",
"orderId": "5241a51f400d423a899092d2b52e0ae8",
"customerId": "9e2a313cfb4844eb9e5776829be1c9c5",
"customerEmail": "test-kunde@applifaction.com",
"mailRecipients": {
"test-kunde@applifaction.com": "Max Mustermann"
}
},
"status": "Success",
"flowStartTime": "2025-07-25T05:37:03.297+00:00",
"flowEndTime": "2025-07-25T05:37:03.337+00:00",
"executionDuration": 0,
"errorMessage": null,
"errorCode": null,
"apiAlias": "flow_execution_log"
}
],
"requestParameters": {
"flowId": "01983f57673c7893b1041ac911aa5053",
"orderNumber": "10000"
},
"flowStartTime": "2025-07-25T05:37:03.189+00:00",
"flowEndTime": "2025-07-25T05:37:03.364+00:00",
"apiAlias": "applifaction_appli_api_flow_trigger_core_content_api_flow_trigger_sales_channel_dispatch_response_struct"
}
Starte deine Flow-Automatisierung genau dort, wo du sie brauchst – per API.
Mit dem API Flow Trigger Plugin machst du Schluss mit starren Prozessen. Du kannst deine Shopware 6 Flows flexibel von externen Systemen aus anstoßen. Ideal als Schnittstelle zu deinem ERP-, PIM- oder CRM-System.
Schneller automatisieren. Einfacher integrieren. Mehr Kontrolle.
🔒 Keine Risiko – jetzt 30 Tage kostenlos testen.