Huvudlöst API
REST API för modern e-handel
Bas-URL
https://din-shop.dk/api
💡 Sessionshantering
API:et använder cookies för att upprätthålla korg och session. För cross-origin-förfrågningar, använd credentials: 'include'.
Våra produkter
Lista produkter
GET /api/products?limit=20&offset=0&category_id=5
{
"success": true,
"data": {
"products": [
{
"id": 123,
"name": "Produkt navn",
"price": 299.95,
"url": "/produkt-navn",
"images": [...]
}
],
"pagination": {
"total": 156,
"limit": 20,
"offset": 0
}
}
}
Enstaka produkt
GET /api/products/123
{
"success": true,
"data": {
"id": 123,
"name": "Produkt navn",
"description": "Beskrivelse...",
"price": 299.95,
"in_stock": true,
"images": [
{
"id": 456,
"formats": {
"original": "https://...",
"thumbnail": "https://..."
}
}
]
}
}
Korg
Lägg till i korgen
POST /api/basket
{
"product_id": 123,
"amount": 2
}
Uppdatering av kvantitet
PUT /api/basket/123
{
"amount": 5
}
Ta bort från korgen
DELETE /api/basket/123
Visa korg
GET /api/basket
{
"success": true,
"data": {
"items": [
{
"product_id": 123,
"name": "Produkt navn",
"price": 299.95,
"amount": 2,
"total": 599.90
}
],
"subtotal": 599.90,
"shipping": 39.00,
"total": 638.90
}
}
Beställningsvy
Visa orderinformation
GET /api/order?order_id=621&chk=aef1dab1fe24a18fdcf675c09a34bf34
Returnerar fullständig orderinformation inklusive produkter, adresser, priser och frakt.
chk-parametern är MD5-hash av kundens e-post för säkerhets skull.
{
"success": true,
"data": {
"order": {
"order_id": "1738",
"status": "new",
"total": "1067.59",
"currency": "DKK",
"customer": {
"name": "Morten Nielsen",
"email": "kunde@example.com"
},
"products": [
{
"name": "Kim og Tysklæreren",
"price": "129.95",
"quantity": "9",
"image": {
"url": "https://shop.dk/cache/fit-300x300x90.png"
}
}
],
"totals": {
"subtotal": "1052.59",
"shipping": "15.00",
"total": "1067.59"
}
}
}
}
💡 Säkerhet
Order API kräver parametern chk, som är MD5-hashvärdet för kundens e-postadress. Detta säkerställer att endast kunden kan se sin egen order.
Inställningar och preferenser
Hämta handelsvillkor och andra inställningar
GET /api/settings
Returnerar viktiga inställningar för webbshoppen, främst villkor och bestämmelser.
{
"success": true,
"data": {
"terms": "<p>Lorem ipsum dolor sit amet...</p>",
"has_terms": true
}
}
💡 Tillämpning
Används vanligtvis för att visa villkor i kassaflödet, där kunden måste acceptera dem innan köpet slutförs.
Utcheckningsflöde
Steg 1: Kundinformation
POST /api/checkout
{
"step": "address",
"email": "kunde@example.com",
"name": "Anders Andersen",
"address": "Vestergade 10",
"zipcode": "8000",
"city": "Aarhus",
"country": "DK",
"phone": "12345678"
}
Steg 2: Leveransmetod
POST /api/checkout
{
"step": "shipping",
"shipping_id": 1
}
I paketbutiken:
{
"step": "shipping",
"shipping_id": 2,
"shop": "5004",
"shop_name": "Pakkeshop Føtex",
"shop_street": "Vesterbro 39",
"shop_zip": "5000",
"shop_city": "Odense C"
}
Steg 3: Betalningsmetod
POST /api/checkout
{
"step": "payment",
"payment_gateway_id": 1
}
Steg 4: Slutför ordern
POST /api/checkout
{
"step": "complete"
}
{
"success": true,
"data": {
"order_id": 624,
"order_number": "ORD-2024-0624",
"total": 638.90,
"payment_redirect": "https://payment.quickpay.net/..."
}
}
Alla slutpunkter
Våra produkter
GET /api/productsGET /api/products/{id}GET /api/categoriesGET /api/categories/{id}GET /api/search?q={query}Korg
GET /api/basketPOST /api/basketPUT /api/basket/{id}DELETE /api/basket/{id}Beställningar
GET /api/order?order_id={id}&chk={hash}Checka ut
GET /api/checkoutPOST /api/checkoutGET /api/shippingGET /api/payment-methodsGET /api/countriesInnehåll
GET /api/pagesGET /api/pages/{id}GET /api/blogGET /api/blog/{id}GET /api/landing-pagesGET /api/menusGET /api/frontpageGET /api/resolve/{url}Inställningar och preferenser
GET /api/settings