Bestil opringning

Udfyld formularen, så ringer vi dig op hurtigst muligt

Nødsituation

Ved akutte situationer eller nedbrud kan du sende en SMS til vores vagttelefon

Vagttelefon (kun SMS)

+45 29 70 15 95

Send en SMS med følgende information:

  • Dit navn og webshop
  • Beskrivelse af problemet
  • Dit telefonnummer for tilbageringning

Bemærk: Denne service er kun til kritiske situationer hvor din webshop er nede eller har alvorlige problemer. For almindelig support, brug venligst vores normale supportkanaler.

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.

Sikker

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

Din app sender brugeren til Shoporamas OAuth endpoint

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

Bruger logger ind

Brugeren logger ind med sine Shoporama credentials og vælger:

  • Hvilken shop der skal gives adgang til
  • Adgangsniveau (læs, skriv eller fuld adgang)
3

Modtag API token

Efter godkendelse sendes brugeren tilbage til din app med token:

https://example.com/callback?
  token=19e9994752fdd70c7372...
  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

Brug API'et

Brug token til at kalde Shoporama API:

curl -H "Authorization: 19e9994752fdd70c7372..." \
     https://www.shoporama.dk/REST/product

Klar til at komme i gang?

Start med at teste OAuth flowet eller læs mere om API'et

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"

Fejlfinding & Almindelige problemer

Almindelige OAuth fejl

access_denied

Brugeren afviste adgang. Vis en venlig besked og lad dem prøve igen.

invalid_client

Ukendt client_id. Tjek at din app navn er korrekt.

invalid_redirect_uri

Redirect URI matcher ikke. Skal være præcis samme URL.

state_mismatch

State parameter matcher ikke. Muligt CSRF angreb eller session timeout.

API fejl

401 Unauthorized

Token er ugyldig eller udløbet. Bed brugeren om at logge ind igen.

403 Forbidden

Token har ikke de nødvendige rettigheder. Tjek access_level.

429 Too Many Requests

Rate limit nået. Vent før næste request.

500 Server Error

Intern fejl. Prøv igen senere eller kontakt support.

Debug tips

Test med OAuth Test Client

Brug vores test client til at verificere din OAuth flow fungerer korrekt.

Test OAuth Flow →

Log alle parametre

Log state, token og andre parametre for at debugge problemer.

Sikkerhed & Best Practices

Token opbevaring

  • • Gem aldrig tokens i cookies eller localStorage
  • • Brug server-side sessions eller krypteret database
  • • Krypter tokens før opbevaring
  • • Slet tokens når de ikke bruges længere

CSRF beskyttelse

  • • Brug altid state parameter
  • • Generer unik state for hver session
  • • Verificer state i callback
  • • Timeout state efter kort tid

HTTPS påkrævet

  • • Brug kun HTTPS for redirect_uri
  • • Alle API kald skal være over HTTPS
  • • Undtagelse: localhost til udvikling
  • • Tjek SSL certifikat gyldighed

Adgangsniveauer forklaret

Niveau Beskrivelse Tilladt Ikke tilladt
read Læseadgang til alle data GET requests til alle endpoints POST, PUT, DELETE requests
write Læse og skrive data Alle HTTP metoder Slette webshop, ændre ejerskab
all Fuld administratoradgang Alt inkl. farlige operationer Intet - fuld kontrol

Anbefaling: Start med 'read' adgang under udvikling og opgradér kun til 'write' eller 'all' når det er nødvendigt for din applikations funktionalitet.

Komplet API Dokumentation

Se alle tilgængelige endpoints, metoder og parametre i vores REST API dokumentation

Se API Dokumentation