Boka ett samtal

Fyll i formuläret så ringer vi upp dig så snart som möjligt

Nödsituation

Vid nödsituationer eller driftstörningar kan du skicka ett SMS till vår jourtelefon

Jourtelefon (endast SMS)

+45 29 70 15 95

Skicka ett SMS med följande information:

  • Ditt namn och din webbshop
  • Beskrivning av problemet
  • Ditt telefonnummer för återuppringning

Anteckningar: Denna tjänst är endast avsedd för kritiska situationer där din webbshop ligger nere eller har allvarliga problem. För vanlig support, vänligen använd våra normala 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.

Tryggt och säkert

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 skickar användaren till Shoporamas OAuth-slutpunkt

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

Användaren loggar in

Användaren loggar in med sina Shoporama-referenser och väljer:

  • Vilken butik som ska få tillgång till
  • Åtkomstnivå (läsning, skrivning eller fullständig åtkomst)
3

Ta emot API-token

Efter autentiseringen skickas användaren tillbaka till din app med token:

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

Använd API:et

Använd token för att anropa Shoporama API:

curl -H "Authorization: 62abf6a4be326a634611..." \
     https://www.shoporama.dk/REST/product

Klar til at komme i gang?

Börja med att testa OAuth-flödet eller läs mer 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"

Felsökning och vanliga problem

Vanliga OAuth-fel

access_denied

Användaren nekades åtkomst. Visa ett vänligt meddelande och låt dem försöka igen.

invalid_client

Okänt klient_id. Kontrollera att ditt appnamn är korrekt.

invalid_redirect_uri

Omdirigerings-URI:n matchar inte. Måste vara exakt samma URL.

state_mismatch

Statsparametern stämmer inte överens. Möjlig CSRF-attack eller timeout för sessionen.

API-fel

401 Unauthorized

Token är ogiltig eller har löpt ut. Be användaren att logga in igen.

403 Forbidden

Token har inte de nödvändiga rättigheterna. Kontrollera access_level.

429 Too Many Requests

Prisgränsen har nåtts. Vänligen vänta till nästa begäran.

500 Server Error

Internt fel. Vänligen försök igen senare eller kontakta support.

Tips för felsökning

Testa med OAuth-testklient

Använd vår testklient för att verifiera att ditt OAuth-flöde fungerar korrekt.

Test OAuth Flow →

Logga alla parametrar

Logga status, token och andra parametrar för att felsöka problem.

Säkerhet och bästa praxis

Förvaring av tokens

  • • Lagra aldrig tokens i cookies eller localStorage
  • • Använda sessioner på serversidan eller krypterad databas
  • • Kryptera tokens före lagring
  • • Ta bort tokens när de inte längre används

CSRF-skydd

  • • Använd alltid tillståndsparameter
  • • Skapa ett unikt tillstånd för varje session
  • • Verifiera tillstånd i återuppringning
  • • Timeouttillstånd efter kort tid

HTTPS krävs

  • • Använd endast HTTPS för redirect_uri
  • • Alla API-anrop måste ske via HTTPS
  • • Undantag: localhost för utveckling
  • • Kontrollera SSL-certifikatets giltighet

Åtkomstnivåer förklarade

Nivå Beskrivning Tillåtet Inte tillåtet
read Läsbehörighet till all data GET-förfrågningar till alla endpoints POST-, PUT- och DELETE-förfrågningar
write Läsa och skriva data Alla HTTP-metoder Ta bort webbshop, ändra ägare
all Fullständig administratörsbehörighet Allt inklusive farliga arbetsmoment Ingenting - full kontroll

Rekommendation: Börja med "read"-åtkomst under utvecklingen och uppgradera till "write" eller "all" först när det är nödvändigt för applikationens funktionalitet.

Fullständig API-dokumentation

Se alla tillgängliga endpoints, metoder och parametrar i vår REST API-dokumentation

Se API-dokumentation