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.

Ü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

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
dataals Array mit mehreren Objekten kann die Antwort pro Datensatz einen Eintrag liefern (results: [ ... ]) – prüfen Sie die Swagger-Spezifikation.