Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
rest_api [2019/04/04 07:37] – [Abruf und Rückgabe einer E-Mail] lwsystems | rest_api [2025/06/26 14:03] (aktuell) – [Suchanfrage nach einer Message-ID] 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 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 142: | Zeile 137: | ||
In dieser Suchanfrage werden alle E-Mails im Standard-Container gesucht, die von Absenderadressen stammen, in denen das Literal „hansen-und-meyer“ vorkommt ODER deren Empfängeradressen das Literal „vertrieb@“ enthalten. | In dieser Suchanfrage werden alle E-Mails im Standard-Container gesucht, die von Absenderadressen stammen, in denen das Literal „hansen-und-meyer“ vorkommt ODER deren Empfängeradressen das Literal „vertrieb@“ enthalten. | ||
+ | |||
+ | ==== Suche nach Header Message-ID | ||
+ | |||
+ | < | ||
+ | |||
+ | In dieser Suchanfrage wird nach der E-Mail mit dem Header // | ||
===== Suchkriterien | ===== Suchkriterien | ||
Zeile 155: | Zeile 156: | ||
Der API-Call zum Zugriff auf eine archivierte E-Mail dient dazu, eine E-Mail (incl. etwaiger Attachements) aus dem Archiv zu holen. Da jede E-Mail im Archiv eindeutig identifiziert ist, erfolgt der Zugriff über diesen eindeutigen Identifyer. | Der API-Call zum Zugriff auf eine archivierte E-Mail dient dazu, eine E-Mail (incl. etwaiger Attachements) aus dem Archiv zu holen. Da jede E-Mail im Archiv eindeutig identifiziert ist, erfolgt der Zugriff über diesen eindeutigen Identifyer. | ||
- | ===== Syntaxbeispiel für den Abruf einer E-Mail aus dem Archiv | + | ===== Abruf einer E-Mail aus dem Archiv |
Hinweis: Die URLs werden aus drucktechnischen Gründen teilweise mehrzeilig dargestellt. Sie sind jedoch ohne Leerzeichen usw. in einer Zeile anzugeben! | Hinweis: Die URLs werden aus drucktechnischen Gründen teilweise mehrzeilig dargestellt. Sie sind jedoch ohne Leerzeichen usw. in einer Zeile anzugeben! | ||
Zeile 176: | Zeile 177: | ||
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 188: | Zeile 192: | ||
- | ===== Syntaxbeispiel für den Abruf eines Attachments einer E-Mail im Archiv | + | ===== Abruf eines Attachments einer E-Mail im Archiv |
Ein Attachment kann über den Dateinamen oder über die Attachment-Id referenziert werden. | Ein Attachment kann über den Dateinamen oder über die Attachment-Id referenziert werden. | ||
Zeile 271: | Zeile 275: | ||
" | " | ||
} | } | ||
- | </ | + | </ |
+ | ===== 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: |