postPrintMacrosExecute method
Führt Druck-Makros aus und ersetzt Platzhalter mit Objektdaten
Verarbeitet Textvorlagen mit Makro-Platzhaltern und ersetzt diese mit Daten aus den angegebenen Objekten (Adresse, Vorgang, etc.).
text - Der Text mit Makro-Platzhaltern (z.B. "Sehr geehrte {Adresse.Anrede}")
addressOid - OID der Adresse für Adress-Makros
addressNrOid - OID der Adressnummer
contactPersonOid - OID der Kontaktperson
incidentOid - OID des Vorgangs
objectOid - OID eines allgemeinen Objekts
Returns: RestApiResponse mit dem verarbeiteten Text
Beispiel:
String template = "Sehr geehrte/r {Adresse.Anrede} {Adresse.Name}";
RestApiResponse response = await api.v1.integrations.postPrintMacrosExecute(
template,
addressOid: "12345"
);
Hinweis zur neuen API:
Führt Druck-Makros aus (POST v1/printMacros/execute).
Bewusste Verhaltensabweichung: Der Legacy-Manager erzwang vor diesem
Request ein _synchronizedRefreshSession() (proaktiver Login). Die neue
Runtime zentralisiert Session-Erneuerung REAKTIV im SessionCoordinator
(Refresh bei ungültiger Session), daher entfällt der proaktive
Vorab-Login. Der Wire-Vertrag des Makro-Requests selbst bleibt identisch.
Implementation
Future<RestApiResponse> postPrintMacrosExecute(
String text, {
String addressOid = '',
String addressNrOid = '',
String contactPersonOid = '',
String incidentOid = '',
String objectOid = '',
}) {
final Map<String, dynamic> body = <String, dynamic>{'text': text};
if (addressOid.isNotEmpty) body['address'] = addressOid;
if (addressNrOid.isNotEmpty) body['addressNr'] = addressNrOid;
if (contactPersonOid.isNotEmpty) body['contactPerson'] = contactPersonOid;
if (incidentOid.isNotEmpty) body['incident'] = incidentOid;
if (objectOid.isNotEmpty) body['object'] = objectOid;
return _runtime.execute(
ApiRequest<RestApiResponse>(
method: ApiHttpMethod.post,
version: ApiVersion.v1,
path: '/printMacros/execute',
body: jsonEncode(body),
authentication: AuthenticationPolicy.session,
responsePolicy: _responsePolicy,
operationId: 'v1.integrations.postPrintMacrosExecute',
),
);
}