E-Post Brief Statusabfrage (mehrere IDs)
Der Service Task „E-Post Brief Statusabfrage (mehrere IDs)“ ruft den aktuellen Status mehrerer Hybridbriefe über die
E-POSTBUSINESS API ab. IDs können direkt übergeben oder aus Letter-Objekten extrahiert werden. Das Ergebnis kann als
Liste oder als Map { letterid: statusObj }
zurückgegeben werden.
Input-Parameter
{
"letterIDs": ["c9c8e9f0-...", "a1b2c3d4-..."],
"letters": [
{ "letterid": "c9c8e9f0-..." },
{ "letterID": "a1b2c3d4-..." }
],
"options": {
"asMap": false
},
"login": {
"vendorID": "OPTIONAL_OVERRIDE",
"ekp": "OPTIONAL_OVERRIDE",
"secret": "OPTIONAL_OVERRIDE",
"password": "OPTIONAL_OVERRIDE",
"vendorSubID": "OPTIONAL",
"tokenDuration": 1440
}
}
letterIDs
: Array von Brief-IDs.letters
: Alternative bzw. ergänzende Quelle für IDs (letterid
oderletterID
).options.asMap
: Beitrue
erfolgt die Rückgabe als Objekt-Map{ [letterid]: statusObj }
(Standard: Array).login
: Optional; ohne dieses Objekt werden hinterlegte Defaults verwendet, einzelne Felder lassen sich überschreiben.
Output
Standard-Rückgabe ist ein Array von Statusobjekten (Keys kleingeschrieben, Zeitstempel in UTC):
[
{
"letterid": "c9c8e9f0-...",
"filename": "Invoice_4711.pdf",
"statusid": 210,
"statusdetails": "Übergeben an Druckzentrum",
"createddate": "2025-09-05T08:12:03.000Z",
"processeddate": "2025-09-05T08:15:10.000Z",
"printuploaddate": "2025-09-05T08:16:00.000Z",
"printfeedbackdate": "2025-09-05T08:28:30.000Z",
"registeredletter": false,
"noofpages": 3,
"costcenter": "AB1234",
"errorlist": [],
"pluginfeedbacklist": []
}
]
Bei options.asMap = true
erfolgt die Rückgabe als Lookup-Map:
{
"c9c8e9f0-...": { "...status wie oben..." },
"a1b2c3d4-...": { "...status wie oben..." }
}
Verhalten und Validierung
- ID-Ermittlung: IDs werden aus
letterIDs
sowieletters[*].letterid|letterID
gesammelt, dedupliziert und leere Werte verworfen. - UTC-Zeitstempel: Datumsfelder werden auf UTC-ISO (
...Z
) normalisiert. - Login-Caching: Token werden tenant-spezifisch gecacht;
login
kann Defaults überschreiben. - Performance/Häufigkeit: Die Post verlangt ≥ 5 s Abstand zwischen Statusabfragen; interne Retries (bei 429) mit Jitter sind implementiert.
- Sicherheit/Filter: Ergebnisse werden tenant-seitig über
costcenter
gefiltert.
JSON-Beispiele
{
"letterIDs": ["c9c8e9f0-...", "a1b2c3d4-..."]
}
{
"letters": [
{ "letterid": "c9c8e9f0-..." },
{ "letterID": "a1b2c3d4-..." }
],
"options": { "asMap": true }
}
{
"letterIDs": ["c9c8e9f0-..."],
"login": {
"ekp": "EKP123456",
"password": "****"
}
}
JSONata-Beispiele
{
"letterIDs": $.submitResult[].letterid,
"options": { "asMap": true }
}
{
"letterIDs": $.letters.(
$id := letterid ? letterid : letterID;
$id
)
}
Hinweise
- Fehlerfälle: Bleiben nach Bereinigung keine gültigen IDs übrig, bricht der Task mit Fehler ab.
- Mapping: Alle Keys im Output sind kleingeschrieben und folgen dem Pantarey-Schema.
- Weiterverarbeitung: Für wiederholte Polls empfiehlt sich
options.asMap = true
(schneller Zugriff perletterid
).