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/10/09 10:52] (aktuell) – [Suche nach Header 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: | ||