Skip to Content

Sådan Løser Du Odoo REST API-Fejl — Komplet Guide

Få styr på fejl i Odoo REST API: en enkel guide til brugere og udviklere. Her forklarer vi i klare vendinger, hvorfor problemer opstår, hvordan du hurtigt finder fejlen, og hvilke trin du kan tage for at rette den — uanset om du er systemadministrator eller udvikler. Vi gennemgår typiske årsager som forkert konfiguration, autentificeringsproblemer, manglende tilladelser og dataformatfejl, og vi viser konkrete løsningsforslag og fejlfindingstrin, så din integration kører stabilt igen.
26. februar 2026 af
Sådan Løser Du Odoo REST API-Fejl — Komplet Guide
Elisa Van Outrive
| Ingen kommentarer endnu

Indledning


En Odoo REST API Error opstår, når et HTTP‑kald til et Odoo‑endpoint mislykkes. Selvom Odoo som standard tilbyder XML‑RPC og JSON‑RPC, bygger mange moderne løsninger deres egne REST‑endpoints oven på Odoo‑controllers for at imødekomme eksterne systemer.


REST‑API‑fejl rammer ofte:


  • Headless‑opsætninger med Odoo som backend
  • E‑handelsplatforme og webshops
  • Mobile apps, der bruger Odoo som datakilde
  • Integrationer mod tredjepartsplatforme
  • Middleware og integrationslag mellem systemer

I modsætning til brugerfladefejl viser REST‑problemer sig typisk som HTTP‑statuskoder, for eksempel:


  • 400 (Bad Request)
  • 401 (Unauthorized)
  • 403 (Forbidden)
  • 404 (Not Found)
  • 500 (Internal Server Error)

Denne guide gennemgår, hvorfor REST‑fejl opstår i Odoo, og giver konkrete trin til at diagnosticere og løse dem.



Hvad er en REST‑API i Odoo?


I Odoo implementeres REST‑endpoints typisk som controllers, der håndterer HTTP‑ruter og JSON‑payloads.


Et simpelt controllereksempel kan se sådan ud:

from odoo import http
from odoo.http import request

class MyController(http.Controller):

    @http.route('/api/order', type='json', auth='user', methods=['POST'])
    def create_order(self, **kwargs):
        # logic here
        return {"status": "success"}

REST‑integrationer bygger på flere nøgleelementer:

  • HTTP‑metoder (GET, POST, PUT, DELETE)
  • Autentificering og autorisation
  • JSON‑data som forespørgsels‑ og svarformat
  • Korrekt rute‑konfiguration i controlleren

Svigt i et hvilket som helst led i denne kæde udløser typisk en REST‑API‑fejl i Odoo.



Typiske årsager til REST‑API‑fejl i Odoo


1. Autentificeringsfejl (401 Unauthorized)

Hvis anmodningen mangler eller har forkert autentificering, returnerer Odoo en 401.


401 Unauthorized

Typiske årsager er:


  • Manglende API‑token
  • Forkerte loginoplysninger
  • Udløbet session eller token
  • Forkert valgt autentificeringsmetode

2. Manglende rettigheder (403 Forbidden)

Når brugeren er logget ind, men ikke har de nødvendige rettigheder, får man 403.


403 Forbidden

Det betyder ofte:

  • Manglende adgangsrettigheder på modelniveau
  • Forkerte bruggrupper eller rolleindstillinger
  • Begrænsende record rules

3. Forkert endpoint (404 Not Found)

Hvis ruten ikke findes på serveren, returneres 404.


404 Not Found

Mulige årsager:

  • Forkert URL eller sti
  • Module ikke installeret eller aktiveret
  • Ruten er forkert konfigureret i koden
  • Brug af forkert HTTP‑metode (fx GET i stedet for POST)


4. Ugyldigt payload (400 Bad Request)

Når JSON‑kroppen er ødelagt eller mangler nødvendige felter, får man 400.

400 Bad Request

Eksempler på fejl i payload:

  • Påkrævede felter mangler
  • Forkerte datatyper (fx streng i stedet for tal)
  • Ugyldige relationelle ID'er


5. Backend‑undtagelse (500 Internal Server Error)

Hvis controllerkoden kaster en undtagelse, returneres 500.


500 Internal Server Error

Dette er den hyppigste type REST‑fejl.


Ofte forårsaget af:

  • Ubehandlede Python‑exceptions
  • Databasebegrænsninger der brydes
  • Forkerte relationer/ID‑referencer
  • Manglende påkrævede felter


6. CSRF‑problemer

Hvis csrf=True er aktiveret, men der ikke medsendes en gyldig CSRF‑token, mislykkes kaldet.


For API‑endpoints er csrf=False ofte nødvendigt.

Sådan retter du REST‑API‑fejl i Odoo


Trin 1 – Tjek HTTP‑statuskoden

Statuskoden fortæller hurtigt, hvilket område der fejler:

  • 400 → Problemer med payload
  • 401 → Autentificering mangler eller er forkert
  • 403 → Rettighedsproblem
  • 404 → Route/URL‑problem
  • 500 → Fejl i backend‑logikken

Trin 2 – Verificér ruteopsætningen

Tjek controllerdeklarationen og dens parametre:

@http.route('/api/order', type='json', auth='user', methods=['POST'])

Bekræft følgende:

  • At stien/URL'en er korrekt
  • At HTTP‑metoden matcher det, du sender
  • At auth‑indstillingen passer til brugsscenariet
  • At CSRF‑konfigurationen er passende for et API


Trin 3 – Tjek autentificeringsmetoden

Sørg for at:

  • API‑tokens er gyldige og ikke udløbne
  • Sessions‑cookies er aktive, hvis de bruges
  • Den rigtige auth‑type er valgt (auth='user', auth='public' osv.)

Brug en dedikeret integrationsbruger i produktion for at undgå sessionskonflikter.


Trin 4 – Valider payload inden afsendelse

Før du sender anmodningen, skal du sikre dig:

  • At alle påkrævede felter er med
  • At relationelle ID'er er korrekte og eksisterer
  • At felter har korrekt datatype
  • At der ikke sendes null for obligatoriske felter

Struktureret inputvalidering mindsker drastisk antallet af REST‑fejl.


Trin 5 – Undersøg serverlogs ved 500‑fejl

Ved 500‑fejl skal du kigge i Odoo‑serverens logfiler.

Søg efter:

Traceback (most recent call last):

Tracebacken viser ofte den egentlige rodårsag og linjenummeret i koden.


Trin 6 – Indbyg ordentlig fejlbehandling i controllers

Lad være med blot at lade ubearbejdede undtagelser boble op:

try:
    # logic
except Exception as e:
    return {"error": str(e)}

Kontrollerede fejlbeskeder gør integrationer mere robuste og enklere at fejlfinde.



Forebyg fejl i Odoo‑REST‑integrationer



  • Brug dedikerede API‑brugere
  • Implementér pre‑validering før data rammer Odoo
  • Tilføj struktureret exception‑håndtering
  • Undgå tung forretningslogik direkte i controllers
  • Opsplit store operationer i batches
  • Log både indkommende forespørgsler og udgående svar til diagnostics

I komplekse integrationslandskaber reducerer et mellemstykke til validering og transformation antallet af fejl markant ved at sikre, at kun veldannede requests når Odoo.



Sådan bygger Dasolo robuste REST‑integrationer


Mange REST‑fejl i Odoo kan spores til uoverensstemmelser i autentificeringsheaders, forkert konfigurerede controllers eller mangelfuld håndtering af input. Fordi disse endpoints ofte eksponeres eksternt, vil små valideringsfejl hurtigt føre til gentagne fejl.


Hos Dasolo stabiliserer vi REST‑integrationer ved at fokusere på:

  • Sikker token‑baseret autentificering
  • Tydelig og enkel controllerlogik
  • Streng validering af forespørgsler og svar
  • Klar permissions‑scoping per endpoint
  • Struktureret logging af eksterne kald

En disciplineret REST‑arkitektur mindsker fejl, gør integrationerne mere forudsigelige og øger systemets modstandsdygtighed over tid.



Afslutning


En Odoo “REST API Error” er typisk et symptom på problemer med autentificering, fejlformat i payload, manglende rettigheder eller ubehandlede backend‑exceptions — ikke bare en isoleret teknisk fejl. Den peger ofte på svagheder i endpoint‑opsætningen eller manglende valideringslogik.


Ved at gennemgå controllerimplementeringen, sikre autentificeringsflowet og etablere konsekvent fejlbehandling kan udviklere kraftigt reducere tilbagevendende REST‑afbrydelser. Et dedikeret integrationslag sikrer stabil kommunikation mellem Odoo og eksterne systemer over tid.




Sådan Løser Du Odoo REST API-Fejl — Komplet Guide
Elisa Van Outrive 26. februar 2026
Del dette indlæg
Log ind for at skrive en kommentar