Public API
Integrer NordShelf direkte i dine systemer. Hent leveringsbadge-data, produktstrøm og fraktpriser via vårt REST API.
Slik bruker du API-nøkkelen
NordShelf bruker Bearer-token autentisering. Alle API-kall må inkludere din hemmelige API-nøkkel i Authorization-headeren.
curl -H "Authorization: Bearer fk_live_xxxxxxxxxxxxxxxx" \ https://NordShelf.com/api/v1/badge/0158
Grensefrekvens per plan
API-kall er begrenset per døgn. Når grensen er nådd returneres HTTP 429. Grensen nullstilles midnatt UTC.
| Plan | Kall per døgn | Burst | Merknad |
|---|---|---|---|
| Vekst | 1 000 | 50 / min | Passer for de fleste nettbutikker |
| Pro | 5 000 | 200 / min | For høyvolum-integrasjoner |
Leveringsbadge-oppslag
Sjekk om et postnummer kvalifiserer for neste-dag-levering og hent badge-metadata. Brukes av NordShelf-badgen på produktsidene dine.
| Parameter | Type | Krav | Beskrivelse |
|---|---|---|---|
| postalCode | string | Påkrevd | Norsk postnummer (4 siffer), f.eks. 0158 |
curl -H "Authorization: Bearer fk_live_..." \ https://NordShelf.com/api/v1/badge/0158
{ "postal_code": "0158", "city": "Oslo", "next_day": true, "carrier": "helthjem", "badge": { "eligible": true, "label": "Levert i morgen" } }
| Felt | Type | Beskrivelse |
|---|---|---|
| postal_code | string | Postnummeret som ble slått opp |
| city | string | Tilhørende stedsnavn |
| next_day | boolean | Om neste-dag-levering er mulig for postnummeret |
| carrier | string | Fraktpart som betjener området (helthjem, posten, etc.) |
| badge.eligible | boolean | Om dette postnummeret kan vise leveringsbadge |
| badge.label | string | Lokalisert badge-tekst klar til visning |
Produktstrømdata
Hent strømstatus og produktliste for en spesifik kanal. Strømmene oppdateres automatisk når du synkroniserer produktkatalogen din.
| Parameter | Type | Krav | Beskrivelse |
|---|---|---|---|
| channel | string | Påkrevd | Kanal-ID: finn, prisjakt eller komplett |
curl -H "Authorization: Bearer fk_live_..." \ https://NordShelf.com/api/v1/feeds/finn
{ "channel": "finn", "status": "active", "product_count": 142, "last_synced": "2026-03-23T08:15:00Z", "feed_url": "https://NordShelf.com/feeds/uid123/finn.no", "products": [ { "id": "prod_abc", "title": "Vinterjakke Herre L", "price_nok": 1299, "in_stock": true } ] }
Fraktprissammenligning
Sammenlign fraktpriser på tvers av alle tilgjengelige fraktparter for et gitt postnummer og vekt. Returnert i stigende prisrekkefolge.
| Parameter | Type | Krav | Beskrivelse |
|---|---|---|---|
| postal_code | string | Påkrevd | Mottakers postnummer (4 siffer) |
| weight_kg | number | Påkrevd | Pakkes vekt i kilogram, f.eks. 2.5 |
| length_cm | number | Valgfritt | Pakkelengde i centimeter |
| width_cm | number | Valgfritt | Pakkebredde i centimeter |
curl -H "Authorization: Bearer fk_live_..." \ "https://NordShelf.com/api/v1/carriers/compare?postal_code=0158&weight_kg=2.5"
{ "postal_code": "0158", "weight_kg": 2.5, "carriers": [ { "carrier": "helthjem", "service": "Hjem-levering", "price_nok": 49, "next_day": true, "est_days": 1 }, { "carrier": "posten", "service": "Pakke i postkassen", "price_nok": 89, "next_day": false, "est_days": 2 }, { "carrier": "instabox", "service": "Pakkeboks", "price_nok": 99, "next_day": false, "est_days": 2 } ] }
API-nøkkelhåndtering
API-nøkler administreres direkte i Dashboard. Du kan opprette, rotere og trekke tilbake nøkler når som helst.
- Lagre aldri API-nøkkelen i kildekode som pushes til GitHub
- Bruk miljøvariabler eller hemmelighetshåndtering (f.eks. .env)
- Roter nøkkelen med jevne mellomrom eller ved mistanke om lekkasje
- Begrens nøkkelens tilgang til kun nødvendige endepunkter
HTTP-svarkoder
Alle API-svar bruker standard HTTP-svarkoder. Feilsvar inkluderer alltid et message-felt med forklaring.
| Kode | Status | Beskrivelse |
|---|---|---|
| 200 | OK | Forespørselen ble behandlet |
| 400 | Bad Request | Ugyldig parameter eller manglende obligatorisk felt |
| 401 | Unauthorized | Manglende eller ugyldig API-nøkkel |
| 403 | Forbidden | Nøkkelen mangler nødvendige tilganger for dette endepunktet |
| 404 | Not Found | Postnummer eller ressurs ble ikke funnet i databasen |
| 429 | Too Many Requests | Grensefrekvens oversteget. Prøv igjen etter midnatt UTC |
| 500 | Server Error | Intern feil. Kontakt support@NordShelf.com |
{ "error": "INVALID_POSTAL_CODE", "message": "Postal code '9999' was not found in coverage database.", "status": 404 }