Hodeløst API
REST API for moderne e-handel
Base URL
https://din-shop.dk/api
💡 Øktadministrasjon
API-et bruker informasjonskapsler for å opprettholde kurven og økten. For forespørsler på tvers av opprinnelse, bruk credentials: 'include'.
Våre produkter
Liste over 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
}
}
}
Enkelt 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://..."
}
}
]
}
}
Kurv
Legg i handlekurven
POST /api/basket
{
"product_id": 123,
"amount": 2
}
Oppdateringsmengde
PUT /api/basket/123
{
"amount": 5
}
Fjern fra kurven
DELETE /api/basket/123
Vis kurv
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
}
}
Bestillingsvisning
Se bestillingsdetaljer
GET /api/order?order_id=621&chk=aef1dab1fe24a18fdcf675c09a34bf34
Returnerer fullstendig bestillingsinformasjon, inkludert produkter, adresser, priser og frakt.
chk-parameteren er MD5-hash av kundens e-post av sikkerhetshensyn.
{
"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"
}
}
}
}
💡 Sikkerhet
Order API krever chk-parameteren, som er MD5-hashingen av kundens e-postadresse. Dette sikrer at bare kunden kan se sin egen bestilling.
Innstillinger og preferanser
Få handelsbetingelser og andre innstillinger
GET /api/settings
Returnerer viktige nettbutikkinnstillinger, først og fremst vilkår og betingelser.
{
"success": true,
"data": {
"terms": "<p>Lorem ipsum dolor sit amet...</p>",
"has_terms": true
}
}
💡 Søknad
Brukes vanligvis til å vise vilkår og betingelser i kassen, der kunden må godta dem før kjøpet fullføres.
Flyten i kassen
Trinn 1: Kundeinformasjon
POST /api/checkout
{
"step": "address",
"email": "kunde@example.com",
"name": "Anders Andersen",
"address": "Vestergade 10",
"zipcode": "8000",
"city": "Aarhus",
"country": "DK",
"phone": "12345678"
}
Trinn 2: Fraktmetode
POST /api/checkout
{
"step": "shipping",
"shipping_id": 1
}
I pakkeshopen:
{
"step": "shipping",
"shipping_id": 2,
"shop": "5004",
"shop_name": "Pakkeshop Føtex",
"shop_street": "Vesterbro 39",
"shop_zip": "5000",
"shop_city": "Odense C"
}
Trinn 3: Betalingsmåte
POST /api/checkout
{
"step": "payment",
"payment_gateway_id": 1
}
Trinn 4: Fullfør bestillingen
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/..."
}
}
Alle endepunkter
Våre produkter
GET /api/productsGET /api/products/{id}GET /api/categoriesGET /api/categories/{id}GET /api/search?q={query}Kurv
GET /api/basketPOST /api/basketPUT /api/basket/{id}DELETE /api/basket/{id}Bestillinger
GET /api/order?order_id={id}&chk={hash}Kasse
GET /api/checkoutPOST /api/checkoutGET /api/shippingGET /api/payment-methodsGET /api/countriesInnhold
GET /api/pagesGET /api/pages/{id}GET /api/blogGET /api/blog/{id}GET /api/landing-pagesGET /api/menusGET /api/frontpageGET /api/resolve/{url}Innstillinger og preferanser
GET /api/settings