Buchen Sie einen Anruf

Füllen Sie das Formular aus und wir rufen Sie so schnell wie möglich zurück.

Notsituation

Bei Notfällen oder Pannen können Sie eine SMS an unsere Notfall-Hotline senden

Telefon für den Bereitschaftsdienst (nur SMS)

+45 29 70 15 95

Senden Sie eine SMS mit den folgenden Informationen:

  • Ihr Name und Ihr Webshop
  • Beschreibung des Problems
  • Ihre Rückrufnummer

Anmerkungen: Dieser Service ist nur für kritische Situationen gedacht, in denen Ihr Webshop ausfällt oder schwerwiegende Probleme aufweist. Für regelmäßigen Support nutzen Sie bitte unsere normalen Supportkanäle.

OAuth Integration

Byg sikre integrationer med Shoporama API ved hjælp af OAuth 2.0

Hvad er OAuth?

OAuth gør det muligt for eksterne applikationer at få sikker adgang til Shoporama API'et på vegne af dine brugere, uden at de skal dele deres login-oplysninger.

Sicher und geschützt

Ingen deling af passwords. Brugerne logger ind direkte hos Shoporama

Nem integration

Standard OAuth 2.0 flow som du kender fra andre tjenester

Fleksibel

Vælg præcist hvilke rettigheder din app skal have

OAuth Flow - Trin for trin

1

Send bruger til Shoporama

Ihre Anwendung sendet den Benutzer an den OAuth-Endpunkt von Shoporama

https://www.shoporama.dk/admin/oauth/login?
  client_id=Din_App_Navn
  redirect_uri=https://example.com/callback
  state=unik_session_id
2

Benutzer meldet sich an

Der Benutzer meldet sich mit seinen Shoporama-Anmeldedaten an und wählt aus:

  • Welcher Shop Zugang erhalten soll
  • Zugriffsstufe (Lesen, Schreiben oder Vollzugriff)
3

API-Token erhalten

Nach der Authentifizierung wird der Benutzer mit dem Token zu Ihrer Anwendung zurückgeschickt:

https://example.com/callback?
  token=13836332c62b718f1fa2...
  shop_url=demo.shoporama.dk
  shop_name=Demo Shop
  api_endpoint=https://www.shoporama.dk/REST
  webshop_id=1
  access_level=all
  state=unik_session_id
4

Verwenden Sie die API

Verwenden Sie das Token, um die Shoporama-API aufzurufen:

curl -H "Authorization: 13836332c62b718f1fa2..." \
     https://www.shoporama.dk/REST/product

Klar til at komme i gang?

Beginnen Sie mit dem Testen des OAuth-Flows oder lesen Sie mehr über die API

Komplette Implementeringseksempler

Fuld OAuth flow implementation - klar til copy/paste

Vanilla PHP Implementation

Ren PHP uden frameworks - en enkelt fil der håndterer hele OAuth flowet

<?php
// oauth.php - Gem denne fil på din server
session_start();

// Konfiguration - RET DISSE VÆRDIER
$CLIENT_ID = "Dit App Navn";
$REDIRECT_URI = "https://din-side.dk/oauth.php";
$OAUTH_URL = "https://www.shoporama.dk/admin/oauth/login";

// Start OAuth
if (isset($_GET["login"])) {
    $_SESSION["state"] = bin2hex(random_bytes(16));
    $url = $OAUTH_URL . "?" . http_build_query([
        "client_id" => $CLIENT_ID,
        "redirect_uri" => $REDIRECT_URI,
        "state" => $_SESSION["state"]
    ]);
    header("Location: $url");
    exit;
}

// Modtag token
if (isset($_GET["token"]) && $_GET["state"] === $_SESSION["state"]) {
    $_SESSION["token"] = $_GET["token"];
    $_SESSION["api_url"] = $_GET["api_endpoint"];
    echo "Success! Token gemt.";
    echo "
Test API"; exit; } // Test API if (isset($_GET["test"]) && isset($_SESSION["token"])) { $ch = curl_init($_SESSION["api_url"] . "/product?limit=1"); curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: " . $_SESSION["token"]]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); echo "
" . htmlspecialchars($result) . "
"; exit; } // Start side echo "Login med Shoporama"; ?>

Sådan bruger du det:

  1. Kopier koden til en fil kaldet oauth.php
  2. Ret $CLIENT_ID og $REDIRECT_URI
  3. Upload filen til din server
  4. Besøg siden og klik "Login med Shoporama"

Fehlersuche und häufige Probleme

Häufige OAuth-Fehler

access_denied

Dem Benutzer wurde der Zugang verweigert. Zeigen Sie eine freundliche Nachricht an und lassen Sie den Benutzer es erneut versuchen.

invalid_client

Unbekannte client_id. Überprüfen Sie, ob der Name Ihrer Anwendung korrekt ist.

invalid_redirect_uri

URI der Umleitung stimmt nicht überein. Es muss genau die gleiche URL sein.

state_mismatch

Zustandsparameter stimmt nicht überein. Möglicher CSRF-Angriff oder Timeout der Sitzung.

API-Fehler

401 Unauthorized

Das Token ist ungültig oder abgelaufen. Fordern Sie den Benutzer auf, sich erneut anzumelden.

403 Forbidden

Das Token verfügt nicht über die erforderlichen Rechte. Prüfen Sie access_level.

429 Too Many Requests

Tarifgrenze erreicht. Bitte warten Sie bis zur nächsten Anfrage.

500 Server Error

Interner Fehler. Bitte versuchen Sie es später noch einmal oder kontaktieren Sie den Support.

Tipps zur Fehlerbehebung

Test mit OAuth Test Client

Verwenden Sie unseren Test-Client, um zu überprüfen, ob Ihr OAuth-Flow korrekt funktioniert.

Test OAuth Flow →

Alle Parameter protokollieren

Protokollieren Sie Status, Token und andere Parameter, um Probleme zu beheben.

Sicherheit und bewährte Praktiken

Token-Speicherung

  • • Token niemals in Cookies oder localStorage speichern
  • • Serverseitige Sitzungen oder verschlüsselte Datenbank verwenden
  • • Token vor der Speicherung verschlüsseln
  • • Token löschen, wenn sie nicht mehr verwendet werden

CSRF-Schutz

  • • Verwenden Sie immer den Zustandsparameter
  • • Erzeugen eines eindeutigen Status für jede Sitzung
  • • Status im Rückruf überprüfen
  • • Timeout-Status nach einer kurzen Zeit

HTTPS erforderlich

  • • Nur HTTPS für redirect_uri verwenden
  • • Alle API-Aufrufe müssen über HTTPS erfolgen.
  • • Ausnahme: localhost für Entwicklung
  • • Gültigkeit des SSL-Zertifikats prüfen

Zugangsebenen erklärt

Ebene Beschreibung Erlaubt Nicht erlaubt
read Lesezugriff auf alle Daten GET-Anfragen an alle Endpunkte POST, PUT, DELETE-Anfragen
write Daten lesen und schreiben Alle HTTP-Methoden Webshop löschen, Eigentümer wechseln
all Voller Administratorenzugang Alles, einschließlich gefährlicher Operationen Nichts - volle Kontrolle

Empfehlung: Beginnen Sie während der Entwicklung mit einem "Lese"-Zugriff und steigen Sie erst dann auf "Schreib"- oder "Alle"-Zugriff um, wenn dies für die Funktionalität Ihrer Anwendung erforderlich ist.

Vollständige API-Dokumentation

Alle verfügbaren Endpunkte, Methoden und Parameter finden Sie in unserer REST-API-Dokumentation

Siehe API-Dokumentation