Plugin eCMS-API-Email
Mit diesem Plugin können eCMS-API-Calls per Email durchgeführt werden. Grob beschrieben, checked das eCMS periodisch einen Email-Account und holt daraus die Emails mit den JSON-encodeten API-Calls ab und ruft intern die konfigurierte eCMS-API auf.
- Emails enthalten den API-Call als JSON-encoded Parameter-Array im Email-Body
- Zeichensatz Email-Body, bzw. JSON-Array darin: UTF-8
- Konfigurierbares Polling-Intervall für einen Email-Account ("incoming API-Calls")
- POP3 / IMAP Email-Account Support
- Ruft intern die konfigurierte eCMS-API auf
- Bisher: unidirektionale Kommunikation, d.h. keine asynchrone Rückmeldung an Caller
Die Installation lässt sich einfach über das Backend des eCMS über die Plugin-Verwaltung durchführen.
Unter: Administration > API Verwaltung > API Email kann die Konfiguration der Email-API vorgenommen werden.
In der Konfiguration kann festgelegt werden, von welchem Email-Account die "API-Call-Emails" abgeholt und verarbeitet werden sollen. Es werden (SSL) POP3- und IMAP-Email-Konten unterstützt.
Abruf-Intervalle und -Zeitpunkte können flexibel konfiguriert werden. Es wird pro eCMS-Site ein eigener eCMS-Daemon-Job angelegt, der das Abrufen und Ausführen übernimmt.
Des Weiteren kann konfiguriert werden, wie viele Emails auf einmal bearbeitet werden und ob und wie dies geloggt werden soll.
Damit das eCMS überhaupt einen Request von außen entgegenehmen und erfolgreich beantworten kann, müssen folgende Grundvoraussetzungen gegeben sein:
-
Grundsätzliche eCMS-API Konfiguration:
- Eine konfigurierte API bzw. freigegebene, aufrufbare Ressourcen / Methoden
- Ein aktivierter API-User mit Token und Zugriff auf entsprechende Ressourcen
- Ein existierendes POP3- oder IMAP-Emailkonto
Ein Email-API-Request besteht aus einem großen JSON-Array, das im Email-Body zu integrieren ist.
Die grundsätzliche Array-Struktur dabei ist, wie folgt:
{ "ecms_api":{ "request":{ "api_label":"<API-LABEL>", "user_token":"<TOKEN>", "resource":"<FUNCTION-NAME>", "params":{ <OPTIONAL PARAMETERS> }, } } }
Feld | Type | Beschreibung |
---|---|---|
<API-LABEL> | string | Label der adressierten eCMS-API (siehe API-Konfiguration) |
<TOKEN> | string | Token des API-Users mit dem der Request durchgeführt werden soll (siehe API-Konfiguration) |
<FUNCTION-NAME> | string | Aufzurufende Methode/Resource. Diese muss für den User und das API-Label freigegeben sein (siehe API-Konfiguration). |
<OPTIONAL PARAMETERS> | mixed | Optionale Parameter zu der Methode/Resource. |