Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
rest_api [2018/09/20 17:11] – [Optionale Parameter] lwsystems | rest_api [2023/11/02 09:56] (aktuell) – [Optionale Parameter] lwsystems | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | |||
- | |||
====== REST API ====== | ====== REST API ====== | ||
- | Das REST API bietet ausschließlich eine generelle Authentisierung ohne Zugriffssteuerung für einzelne Benutzer. | + | Das REST API bietet ausschließlich eine generelle Authentisierung ohne Zugriffssteuerung für einzelne Benutzer. Auf das API kann über das [[Rest Interface]] zugegriffen werden. |
Es dient ausschließlich dazu, Requests der [[rest_interface# | Es dient ausschließlich dazu, Requests der [[rest_interface# | ||
===== Durchführung einer Suchanfrage | ===== Durchführung einer Suchanfrage | ||
Zeile 69: | Zeile 67: | ||
Suchanfragen können neben den o.g. Pflichtparametern zusätzlich folgende optionale Parameter enthalten: | Suchanfragen können neben den o.g. Pflichtparametern zusätzlich folgende optionale Parameter enthalten: | ||
- | *start: Nummer des ersten auszugebenden Ergebnis-Elements (Standard: 1) (1..n) | + | *//start//: Nummer des ersten auszugebenden Ergebnis-Elements (Standard: 1) (1..n) |
- | *limit: Anzahl der auszugegebenen Elemente des Ergebnisses (Standard: 20) | + | *//limit//: Anzahl der auszugegebenen Elemente des Ergebnisses (Standard: 20) |
- | *sort: Attribut, nach dem die Trefferliste sortiert werden soll (Standard: „sent“ (Sendedatum)) | + | *//sort//: Attribut, nach dem die Trefferliste sortiert werden soll (Standard: „sent“ (Sendedatum)) |
- | *sortAsc: Sortierung aufsteigend (Standard: false) | + | *//sortAsc//: Sortierung aufsteigend (Standard: false) |
- | *full: Ausgabe aller Attribute der Maildokumente (Standard: false) | + | *//full//: Ausgabe aller Attribute der Maildokumente (Standard: false) |
===== Rückgabewerte einer Suchanfrage | ===== Rückgabewerte einer Suchanfrage | ||
Zeile 121: | Zeile 119: | ||
==== Suche in einem Zeitraum | ==== Suche in einem Zeitraum | ||
- | < | + | < |
Hier werden die E-Mails im Zeitraum zwischen 23.08.2013 10:20 und dem 27.08.2013 um 16:05 gesucht. | Hier werden die E-Mails im Zeitraum zwischen 23.08.2013 10:20 und dem 27.08.2013 um 16:05 gesucht. | ||
- | // | ||
- | * '' | ||
- | * '' | ||
==== Suchanfrage mit Filterung | ==== Suchanfrage mit Filterung | ||
Zeile 176: | Zeile 171: | ||
Die aus dem Archiv gelesene E-Mail wird standardmäßig als JSON Objekt an das aufrufende Programm zurückgegeben. Mittels der Option format kann die Rückgabe der E-Mail im „raw“ Format, also RFC 822 bzw. RFC 2822 (Plaintext) erzwungen werden. | Die aus dem Archiv gelesene E-Mail wird standardmäßig als JSON Objekt an das aufrufende Programm zurückgegeben. Mittels der Option format kann die Rückgabe der E-Mail im „raw“ Format, also RFC 822 bzw. RFC 2822 (Plaintext) erzwungen werden. | ||
- | *format: „raw“, wenn die Mail im RFC-822 Format | + | * format=raw - E-Mail im RFC-822 Format |
+ | * skipUTF8Recode=true - E-Mail im Orginal zurück geben | ||
+ | * header=true - Secret Header zurück geben | ||
+ | **Achtung!** Um eine E-Mail aus dem Repo zum Re-Indexieren ist es erforderlich, | ||
===== Rückgabewerte eines Abrufs einer E-Mail aus dem Archiv | ===== Rückgabewerte eines Abrufs einer E-Mail aus dem Archiv | ||
==== Resultatwerte (HTTP-Fehlercodes der Suchoperation): | ==== Resultatwerte (HTTP-Fehlercodes der Suchoperation): | ||
Zeile 271: | Zeile 269: | ||
" | " | ||
} | } | ||
- | </ | + | </ |
+ | ===== Aufbau der Ergebnisliste ===== | ||
+ | |||
+ | Bei einer Suche wird ausschließlich auf den Index von Benno MailArchiv zugegriffen. Alle hier aufgeführten Werte entsprechen direkt dem Inhalt des Indexes, während eine E-Mail bei der Anzeige aus dem Repo gelesen und für die Anzeige gesondert geparst wird. | ||
+ | |||
+ | ==== Zeitstempel (Date) ==== | ||
+ | |||
+ | Beim Indexieren wird der Zeitstempel aus dem Date-Header in die Zeitzone UTC konvertiert und in das entsprechende Index-Feld geschrieben. Bei Anzeige einer E-Mail wird dieser Wert in die lokale Zeitzone konvertiert. | ||
+ | |||
+ | Beim direkten Zugriff auf das REST-API muss daher darauf geachtet werden, den Inhalt von //" | ||
+ | |||
+ | |||
+ | ====== Repräsentation als Array ====== | ||
Die Repräsentation dieses Suchergebnisses in einer Programmiersprache wie bspw. PHP oder Perl könnte bspw. so aussehen: | Die Repräsentation dieses Suchergebnisses in einer Programmiersprache wie bspw. PHP oder Perl könnte bspw. so aussehen: | ||
Zeile 382: | Zeile 392: | ||
], | ], | ||
' | ' | ||
- | ' | + | ' |
' | ' | ||
}, | }, |