Plugin eCMS-API-Email

Mit dem API-Email-Plugin kann die API des eCMS per Email aufgerufen werden.

Short Facts

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

 

Installation

Die Installation lässt sich einfach über das Backend des eCMS über die Plugin-Verwaltung durchführen.

Konfiguration

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.

 

Externe API-Aufrufe

Voraussetzungen

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

 

Email Request Syntax (body, JSON )

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:

  1.  
  2. {
  3.    "ecms_api":{
  4.       "request":{
  5.          "api_label":"<API-LABEL>",
  6.          "user_token":"<TOKEN>",
  7.          "resource":"<FUNCTION-NAME>",
  8.          "params":{
  9.              <OPTIONAL PARAMETERS>
  10.          },
  11.       }
  12.    }
  13. }
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.