Seriendruck per API nutzen

Die Syncler-API kann den Seriendruck (Mail-Merge) direkt ausführen – unabhängig davon, ob die Ausführung normalerweise über einen Sync und ein System erfolgt.
Der Seriendruck lässt sich mit oder ohne konfiguriertes System starten. Erforderlich ist ein System, wenn z. B. FTP-Verbindungen (Vorlagen, Ablage, Schriftarten) genutzt werden.

image


Überblick

  • Use Cases
    • Dokumente (z. B. PDF/DOCX/HTML) aus Vorlagen und Daten generieren
    • Ad-hoc-Erzeugung über die API, ohne Sync
    • Ausgabe inline (Base64) zurückgeben oder extern ablegen (z. B. FTP)
  • Vorlagenquellen
    • Interne Vorlagen mit Objekt-, System- oder Tag-Bezug
    • Externe Ablage (z. B. FTP) – benötigt Konfiguration im System
  • Sichtbarkeit
    • Vorlagen-Listen können für Benutzeroberflächen abgefragt werden (z. B. Auswahl im UI)

Endpunkte (Überblick)

Hinweis: Pfade können je Installation variieren. Prüfen Sie die Swagger-Dokumentation Ihrer Instanz.

Zweck Beispiel-Route
Vorlagen auflisten (optional gefiltert) GET /GetMailmergeTemplateList/{System}/{Object}
Seriendruck ausführen (systemneutral) POST /RunMailMerge
Seriendruck ausführen (gebunden an System) POST /RunMailMerge/{SystemId}

Seriendruck starten – RunMailMerge

Der Endpunkt RunMailMerge führt den Seriendruck aus. Die System-ID ist optional:

  • Ohne System-ID: Ausführung ohne systemgebundene Ressourcen
  • Mit System-ID: Zugriff auf z. B. FTP (Vorlagen/Ablage/Fonts) oder systembezogene Parameter

image

Request: Header

  • Authorization: Bearer <ACCESS_TOKEN>
  • Content-Type: application/json

Request: Body (Schema – Beispiel)

{
    "columns": [
        {
            "name": "InputMethod",
            "value": "FTP"
        },
        {
            "name": "InputFile",
            "value": "main.docx"
        },
        {
            "name": "InputFileFormat",
            "value": "DOCX"
        },
        {
            "name": "OutputFileFormat",
            "value": "PDF"
        },
        {
            "name": "OutputMethod",
            "value": "BASE64"
        },
        {
            "name": "OutputPath",
            "value": ""
        },
        {
            "name": "OutputName",
            "value": "1234"
        },
        {
            "name": "SingleFile",
            "value": "true"
        }
    ],
    "objectGroups": [
        {
            "name": "data",
            "objects": [
                {
                    "Columns": [
                        {
                            "Name": "date",
                            "Value": "date value"
                        },
                        {
                            "Name": "email",
                            "Value": "email value"
                        },
                        {
                            "Name": "industry",
                            "Value": "industry value"
                        },
                        {
                            "Name": "customers",
                            "Value": "customers value"
                        },
                        {
                            "Name": "system1",
                            "Value": "system1 value"
                        },
                        {
                            "Name": "system2",
                            "Value": "system2 value"
                        },
                        {
                            "Name": "cloud",
                            "Value": "cloud value"
                        },
                        {
                            "Name": "user",
                            "Value": "user value"
                        },
                        {
                            "Name": "marketing",
                            "Value": "marketing value"
                        },
                        {
                            "Name": "sales",
                            "Value": "sales value"
                        },
                        {
                            "Name": "navid",
                            "Value": "navid value"
                        }
                    ]
                }
            ]
        },
        {
            "name": "AppendDocument",
            "objects": [
                {
                    "LinkType": 1,
                    "Columns": [
                        {
                            "Name": "InputFileFormat",
                            "Value": "DOCX"
                        },
                        {
                            "Name": "InputMethod",
                            "Value": "FTP"
                        },
                        {
                            "Name": "InputFile",
                            "Value": "SageCRM.docx"
                        }
                    ]
                },
                {
                    "LinkType": 2,
                    "Columns": [
                        {
                            "Name": "InputFileFormat",
                            "Value": "DOCX"
                        },
                        {
                            "Name": "InputMethod",
                            "Value": "FTP"
                        },
                        {
                            "Name": "InputFile",
                            "Value": "Salesforce.docx"
                        }
                    ]
                }
            ]
        }
    ]
}

Response – Varianten

A) Inline-Ausgabe (Base64)

{
    "columns": [
    ],
    "objectGroups": [
        {
            "name": "MailMergeResult",
            "objects": [
                {
                    "Columns": [
                        {
                            "Name": "FileName",
                            "Value": "1234.pdf"
                        },
                        {
                            "Name": "FileContent",
                            "Value": "base64"
                        },
                        {
                            "Name": "CreatedDate",
                            "Value": "2025-09-19T12:00:00"
                        }
                    ]
                }
            ]
        }
    ]
}

B) Ablage (Store)

{
    "columns": [
    ],
    "objectGroups": [
        {
            "name": "MailMergeResult",
            "objects": [
                {
                    "Columns": [
                        {
                            "Name": "FileName",
                            "Value": "1234.pdf"
                        },
                        {
                            "Name": "FilePath",
                            "Value": "result/1234.pdf"
                        },
                        {
                            "Name": "CreatedDate",
                            "Value": "2025-09-19T12:00:00"
                        }
                    ]
                }
            ]
        }
    ]
}

Mehrfachdatensätze: Bei data als Array mit mehreren Objekten kann die Antwort pro Datensatz einen Eintrag liefern (results: [ ... ]) – prüfen Sie die Swagger-Spezifikation.