Skip to main content
Skip table of contents

edoobox API erste Schritte

Bitte beachten Sie, dass der kostenlose Support für diesen Themenbereich eingeschränkt ist. Falls Sie umfangreichere Unterstützung wünschen, bieten wir Ihnen gerne kostenpflichtige Services an.

Authentifizierung mit API Schlüssel

API Schlüssel generieren

Die API V2 verwendet die API Schlüssel von V2. Dafür müssen diese in Ihrem V2 Konto zuerst generiert werden:

  1. Zu Einstellungen > API Zugangsverwaltung navigieren.

  2. Auf Schlüssel hinzufügen klicken, um einen neuen Schlüssel zu generieren.

  3. Wählen Sie das gewünschte Recht aus und klicken Sie anschliessend auf Hinzufügen.

  4. Sie erhalten nun zwei einmalige API Schlüssel, die Sie verwenden können, um sich mit der API V2 zu authentifizieren. Bewahren Sie diese Schlüssel an einem sicheren Ort auf, da diese nur einmal vollständig ausgegeben werden.

Authentifizierung und Erhalt von Access Token

Die Authentifizierungs-Endpoints sind nicht geschützt. Alle geschützten API V2 Endpoints können nur mit einem access_token und einer edid verwendet werden. Die edid definiert, welches Konto aktuell authentifiziert wurde. Um diesen access_token und die edid zu erhalten, müssen Sie die API Schlüssel verwenden und sich zuerst authentifizieren. Der Endpoint, um sich zu authentifizieren, lautet: https://app1.edoobox.com/v2/auth.

Weiter unten finden Sie ein paar Beispiele zur Authentifizierung in unterschiedlichen Programmiersprachen. Der key ist Ihr Public Key, der secret ist Ihr Secret Key und expire können Sie verwenden, um das Ablaufdatum des access_tokens zu bestimmen.

In der Antwort finden Sie die edid und Ihren gültigen access_token. Auch finden Sie die Rechte der aktuell eingeloggten Konten und deren Konto-ID. Sie können wie folgt darauf zugreifen:

CODE
data.login.data[edid]

Beispiel einer API-Antwort nach Authentifizierung

CODE
{
    "data": {
        // Die edid ID vom aktuellen Konto
        "edid": "63ef220a0c8f25O0O4833076730b351d639ea00000000000000000000",
        "login": {
            ...
            "data": {
                // alle aktiv eingeloggten Konten
                "63ef220a0c8f25O0O4833076730b351d639ea00000000000000000000": {
                    "id": "api_00000000_00000000",
                    "account": "account_00000000_00000000", // Konto ID
                    "auth": {
                        "rw": { // alle Rechte von diesen Schlüsseln
                            "admi": 3,
                            ...
                        }
                    }
                }
                "63ef220a0c8f25O0O4833076730b351d639ea0d4520f005f7f7347283": {
                    "id": "api_00000000_00000000",
                    "account": "account_00000000_00000001", // Konto ID
                    "auth": {
                        "sub": 1,
                        "rw": { // alle Rechte von diesen Schlüsseln
                            "admi": 3,
                            ...
                        }
                    }
                }
            }
        }
    },
    // Ihr gültiger Access Token
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...",
    ...
}

Abfragen mit Code

Authentifizierung

Authentifizierung mit Node (JavaScript)

Wir verwenden für diese Beispiele die Node Version v18.13.0. Erstellen Sie ein JavaScript File auth.js mit dem folgenden Inhalt:

JS
var myHeaders = new Headers();
myHeaders.append("grant-type", "password");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "key": "key_0000000000000000000000000000000",
  "secret": "sec_0000000000000000000000000000000",
  "expire": "2030-01-01T01:00:00+02:00"
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://app1.edoobox.com/v2/auth", requestOptions)
  .then(response => response.json())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

In Ihrer Shell wechseln Sie in das Verzeichnis dieses Files und führen das Skript aus:

BASH
node auth.js

Authentifizierung mit PHP

Erstellen Sie ein PHP File auth.php mit dem folgenden Inhalt:

PHP
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://app1.edoobox.com/v2/auth',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS =>'{
	"key": "key_0000000000000000000000000000000",
	"secret":"sec_0000000000000000000000000000000",
	"expire":"2030-01-01T01:00:00+02:00"
}',
    CURLOPT_HTTPHEADER => array(
        'grant-type: password',
        'Content-Type: application/json',
    ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

In Ihrer Shell wechseln Sie in das Verzeichnis dieses Files und führen das Skript aus:

BASH
php auth.php

Abfrage von allen Angeboten

Sobald die Authentifizierung erfolgt ist, wird ein Cookie für Ihre Session geschrieben. Sie besitzen nun auch die edid und den access_token und können somit Abfragen an die API machen. In diesem Beispiel werden wir alle Angebote dieses Kontos abrufen (sofern Sie die richtigen Rechte ausgewählt haben beim API Schlüssel erstellen). Der Endpoint, der dafür verwendet wird, ist https://app1.edoobox.com/v2/offer/list. Achten Sie auf die Headers edid, grant-type und Authorization. Diese sind essenziell für das korrekte Funktionieren der Abfragen. Dies betrifft auch alle anderen geschützten Endpoints.

Abfrage mit Node (JavaScript)

Wir verwenden für diese Beispiele die Node Version v18.13.0. Erstellen Sie ein JavaScript File offers.js mit dem folgenden Inhalt. Ersetzen Sie eyJ0eXAiOiJKV... im Authorization-Header mit Ihrem eigenen Access Token:

JS
var myHeaders = new Headers();
myHeaders.append("edid", "63ef220a0c8f25O0O4833076730b351d639ea00000000000000000000");
myHeaders.append("grant-type", "access_token");
myHeaders.append("Authorization", "Bearer eyJ0eXAiOiJKV...");

var requestOptions = {
    method: 'GET',
    headers: myHeaders,
    redirect: 'follow'
};

fetch("https://app1.edoobox.com/v2/offer/list", requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log('error', error));

In Ihrer Shell wechseln Sie in das Verzeichnis dieses Files und führen das Skript aus:

BASH
node offers.js

Abfrage mit PHP

Erstellen Sie ein PHP File offers.php mit dem folgenden Inhalt. Ersetzen Sie eyJ0eXAiOiJKV... im Authorization-Header mit Ihrem eigenen Access Token:

PHP
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'https://app1.edoobox.com/v2/offer/list',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => array(
        'edid: 63ef220a0c8f25O0O4833076730b351d639ea00000000000000000000',
        'grant-type: access_token',
        'Authorization: Bearer eyJ0eXAiOiJKV...',
    ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

In Ihrer Shell wechseln Sie in das Verzeichnis dieses Files und führen das Skript aus:

BASH
php offers.php

Abfragen mit Postman

Mit Postman können Sie alle Schnittstellen einfach durchtesten, um ein besseres Verständnis über die API zu erhalten.

  1. Dafür müssen Sie zuerst Postman via Installationsanleitung unter dem folgenden Link installieren: https://www.postman.com/downloads/.

  2. Danach melden Sie sich mit Ihrem Postman-Konto an.

  3. Besuchen Sie unsere API Dokumentation: https://api.docs.edoobox.com/.

  4. In unserer Dokumentation klicken Sie oben rechts auf Run in Postman.

  5. Danach werden Sie gefragt, ob Sie unsere API via Desktop Applikation öffnen möchten, oder im Browser. Klicken Sie auf die Option, die für Sie passt, in diesem Beispiel verwenden wir die Desktop Applikation.

  6. Sie werden eventuell aufgefordert, das Öffnen in Ihrer Desktop Applikation zu erlauben. Klicken Sie auf erlauben. Falls diese Frage nicht gestellt wird und Sie direkt in Ihrer Desktop Applikation landen, dann gehen Sie zum nächsten Punkt.

  7. Importieren Sie unsere Collection im Workspace Ihrer Wahl.

  8. Navigieren Sie im Postman zu Environments und importieren Sie das beigefügte Environment-File (example.postman_environment.json).

  9. Passen Sie Ihre Angaben in Ihrer neu importierten Umgebung (api_key, oder user_email etc.) an.

  10. Gehen Sie zu unserer Collection unter Collections und wählen Sie oben rechts die neu hinzugefügte Environment aus.

  11. Jetzt können Sie sich via Auth (Login) > POST (Login) authentifizieren. Der access_token und alle weiteren Informationen werden nach der Authentifizierung automatisch Ihrem Environment-File hinzugefügt. Die Abfrage POST Auth API ist für wenn Sie die API Schlüssel zur Authentifizierung verwenden. Die Abfrage POST Auth Admin (Login) ist für wenn Sie die E-Mail und das Passwort zur Authentifizierung verwenden.

  12. Nachdem Sie eines der beiden POST Abfragen ausgeführt haben, können Sie alle weiteren Abfragen im Postman ausführen.

example.postman_environment.json

Verwandte Anleitungen

Stichwörter für diese Anleitung

API ¦ API V2 ¦ Postman ¦ Authentifizierung

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.