JSON/REST API

Die JSON/REST API ermöglicht über GET, PUT, POST und DELETE Anfragen mit dem EGOCMS aus anderen Anwendungen heraus zu kommunizieren. Die Antworten erhalten Sie immer im JSON Format.

Damit Sie diese API ansprechen können, müssen Sie auf dem Webserver, auf dem das EGOCMS installiert ist, folgende Regel eintragen.

  • Apache (z.B. .htaccess):
    RewriteCond %{REQUEST_URI} ^/rest/
    RewriteRule ^(.*)$ bin/json/rest.php?%{QUERY_STRING}
  • Nginx:
    location /rest/ {
    include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PHP_ADMIN_VALUE "session.save_path=$document_root/var/session";
        fastcgi_read_timeout 600;

        fastcgi_pass unix:/var/run/php5-fpm.sock;

        try_files $uri $uri/ /bin/json/rest.php?$args;
    }
warning

Die REST URL für einen Aufruf ist immer im Format [Protokoll]://[Domain]/rest/[Anweisungen]. Welche Anweisungen möglich sind, wird auf den folgenden Seiten erklärt.

Welche Methoden über GET, PUT, POST und DELETE aufrufbar sind, ist festgelegt. Standardmäßig sind

  • GET: nur lesende Methoden
  • PUT: nur schreibende Methoden
  • POST: nur erstellende Methoden
  • DELETE: nur löschende Methoden

vorgegeben. Sie müssen darauf achten auch den entsprechenden Header zu einer Methode zu senden. Andernfalls erhalten Sie keinen Zugriff auf diese Methode (eine schreibende Methode kann demnach nicht mit einem lesenden Aufruf angesteuert werden, usw.).

wb_incandescent

Welche Vorgaben es gibt, können Sie in lib/base/rest.ini oder hier nachlesen. Bei Bedarf können Sie diese Vorgaben auch erweitern/überschreiben. Hierzu legen Sie eine eigene rest.ini in site/_global/ oder site/<Mandant>/ an. Ihre eigene Datei wird mit der Standard Datei zusammengeführt, so dass Sie lediglich Ihre Änderungen angeben müssen.

In den Blöcken site, page, user, group und role können sie zugehörige Methoden definieren. Diese erhalten als Wert den erwarteten Header. Mit einem Doppelpunkt getrennt können Sie bei page Methoden kommasepariert auch angeben, welche Rechte beim Aufruf geprüft werden sollen.