postExecuteInterfaceMacro method
Führt ein Schnittstellenmakro auf dem Server aus
Diese Methode ermöglicht die Ausführung von benutzerdefinierten Interface-Makros, die in DOCUframe hinterlegt sind.
Das Makro wird über den /v1/execute/{macroName} Endpunkt ausgeführt und
erhält die übergebenen Daten als JSON-Body. Die Antwort enthält das Ergebnis
der Makro-Ausführung und kann je nach Makro unterschiedliche Datenstrukturen
enthalten.
macroName - Der Name des auszuführenden Interface-Makros
body - Die Eingabedaten für das Makro als Map (werden als JSON übertragen)
Returns: http.Response - Die direkte HTTP-Response des Makro-Aufrufs
Throws: Exceptions definiert in RestApiResponse und HTTP-Fehler
Beispiel:
Map<String, dynamic> macroData = {
"parameter1": "wert1",
"parameter2": 123,
"objekte": ["oid1", "oid2"]
};
http.Response response = await api.v1.integrations.postExecuteInterfaceMacro(
"MeinCustomMakro",
body: macroData,
);
if (response.statusCode == 200) {
Map<String, dynamic> result = jsonDecode(response.body);
print("Makro erfolgreich ausgeführt: $result");
}
Hinweis zur neuen API:
Führt ein Interface-Makro aus (POST v1/execute/{macroName}) und liefert
die rohe http.Response zurück; body wird nur bei Nicht-null gesendet.
Hinweis: Der Legacy-Manager rief NICHT _synchronizedRefreshSession()
vorab auf (anders als postPrintMacrosExecute); das Session-Handling
erfolgt hier über die reaktive Session-Policy der Runtime.
Implementation
Future<http.Response> postExecuteInterfaceMacro(
String macroName, {
Map<String, dynamic>? body,
}) {
return _runtime.execute(
ApiRequest<http.Response>(
method: ApiHttpMethod.post,
version: ApiVersion.v1,
path: '/execute/$macroName',
body: body != null ? jsonEncode(body) : null,
authentication: AuthenticationPolicy.session,
responsePolicy: _rawResponsePolicy,
operationId: 'v1.integrations.postExecuteInterfaceMacro',
),
);
}