postPrintMacrosExecute method

Future<RestApiResponse> postPrintMacrosExecute(
  1. String text, {
  2. String addressOid = '',
  3. String addressNrOid = '',
  4. String contactPersonOid = '',
  5. String incidentOid = '',
  6. String objectOid = '',
})

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',
    ),
  );
}