Se rendre au contenu

API OPS

v1.0.0 Lecture seule

Consultation en lecture seule des données OPS. Domaines couverts par ce serveur : electricity, events, fleet, it, purchase, space, stock, travel. Aucune route de cette API n'écrit, ne modifie ni ne supprime de donnée.

Formats lisibles par une machine

Un agent automatique n'a pas besoin de lire cette page : tout le contrat est disponible dans deux fichiers autoportants, servis sans authentification.

Pour un agent conversationnel

Tout le contrat en Markdown plat, en une seule requête.

/api/llms.txt

Pour de l'outillage

Spécification OpenAPI 3.1, exploitable par un générateur de client.

/api/openapi.json

Authentification

Les routes de données exigent une clé API Odoo, transmise en en-tête. Les routes de documentation, elles, sont publiques.

Authorization: Bearer 

La clé se crée depuis Préférences → Sécurité du compte → Clés API sur le compte technique dédié à l'API. Elle est nominative, porte une date d'expiration, et n'est affichée qu'une seule fois à la création. Sans clé valide, les routes de données répondent 401.

Le compte porteur de la clé doit être habilité. Une clé émise sur un compte quelconque, même administrateur, est refusée en 403. C'est ce qui garantit que les lectures s'effectuent avec des droits en lecture seule et non avec ceux d'une personne. Demandez à votre administrateur Odoo une clé émise par le compte technique de l'API.

Conventions communes

Toutes les ressources s'interrogent de la même façon.

Paramètre Rôle
limit Taille de page. Défaut 50, plafond 200 — une valeur supérieure est ramenée au plafond sans erreur.
offset Décalage de pagination. meta.total indique le nombre total d'enregistrements correspondant aux filtres. Se dégrade en profondeur — préférez since_id pour balayer une ressource entière.
since_id Pagination par curseur, à coût constant quelle que soit la profondeur. La réponse porte meta.next_since_id, à repasser tel quel ; il vaut null à la fin. Ne se combine ni avec offset ni avec order.
total=false Omet meta.total. Le comptage ignore limit et parcourt toute la table ; le désactiver allège nettement un balayage complet.
fields Liste de champs séparés par des virgules. Par défaut, tous les champs de la ressource.
order champ ou champ desc, uniquement sur un champ propre à la ressource (pas sur un champ issu d'une relation).

Les filtres sont nommés et listés ressource par ressource. Il n'est pas possible de transmettre un domaine Odoo brut : tout autre paramètre est refusé en 400. Les dates suivent la norme ISO 8601 ; les horodatages sont en UTC et se terminent par Z. Une relation vide vaut null.

Erreurs

Une erreur a la forme {"error": {"code": "…", "message": "…"}}. Seule exception : le 405, émis par le routage avant que l'application ne prenne la main, conserve un corps HTML. Fiez-vous au code de statut.

Statut Code Signification
400bad_requestParamètre inconnu ou tri invalide
401unauthorizedClé API absente, invalide ou expirée
403forbiddenClé valide mais compte non habilité à lire ce modèle
404not_foundRessource inconnue ou enregistrement hors du périmètre exposé
405corps HTMLSeul GET est accepté sur les routes de données
422invalid_valueValeur de filtre non exploitable

Exemple

curl -s \
  -H "Authorization: Bearer $AEIG_API_KEY" \
  "https://odoo.aeig.bj/api/v1/electricity/counters?limit=5&fields=id,code,label"

electricity/counters

Compteurs electriques prepayes, avec solde et autonomie projetee.

  • Liste : GET /api/v1/electricity/counters
  • Détail : GET /api/v1/electricity/counters/
  • Tri par défaut : code asc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo du compteur.
code string Code du compteur.
label string Libelle du compteur.
environment string Site ou environnement desservi.
current_kwh number Solde courant estime, en kWh.
last_reading_kwh number Solde au dernier releve, en kWh.
last_reading_date string Date et heure du dernier releve.
days_since_reading integer Nombre de jours ecoules depuis le dernier releve.
avg_daily_consumption number Consommation journaliere moyenne, en kWh.
projected_autonomy_days integer Autonomie restante projetee, en jours.
total_purchased_kwh number Cumul des kWh achetes.
total_purchased_amount number Cumul des montants achetes.
currency string Devise des montants.
status string Statut d'alerte du compteur selon l'autonomie restante.
Valeurs : ok (OK), warning (Surveillance), critical (Critique), no_data (Aucune donnee)

Filtres

Paramètre Opérateur Description
status = Statut d'alerte exact.
Valeurs : ok, warning, critical, no_data
environment_id = Identifiant du site desservi.
code ilike Recherche partielle sur le code du compteur.
autonomy_below <= Compteurs dont l'autonomie projetee est inferieure ou egale a ce nombre de jours.

electricity/purchases

Achats de credit electrique : kWh acquis, montant et prix unitaire.

  • Liste : GET /api/v1/electricity/purchases
  • Détail : GET /api/v1/electricity/purchases/
  • Tri par défaut : date_purchase desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'achat.
reference string Reference de l'achat.
counter string Code du compteur credite.
counter_id integer Identifiant du compteur credite.
environment string Site ou environnement desservi.
date_purchase string Date de l'achat.
purchased_kwh number Quantite de kWh achetee.
amount number Montant paye.
currency string Devise du montant.
price_per_kwh number Prix unitaire au kWh.
state string Etat de l'achat.
Valeurs : active (Actif), cancelled (Annule)

Filtres

Paramètre Opérateur Description
state = Etat exact de l'achat.
Valeurs : active, cancelled
counter_id = Identifiant du compteur credite.
environment_id = Identifiant du site desservi.
date_after >= Achats a partir de cette date (AAAA-MM-JJ).
date_before <= Achats jusqu'a cette date.

electricity/readings

Releves de compteur et consommation deduite entre deux releves.

  • Liste : GET /api/v1/electricity/readings
  • Détail : GET /api/v1/electricity/readings/
  • Tri par défaut : date_reading desc

Champs

Champ Type Description
id integer Identifiant technique Odoo du releve.
counter string Code du compteur releve.
counter_id integer Identifiant du compteur releve.
environment string Site ou environnement desservi.
date_reading string Date et heure du releve.
remaining_kwh number Solde restant releve, en kWh.
consumed_kwh number Consommation depuis le releve precedent, en kWh.
days_elapsed number Nombre de jours ecoules depuis le releve precedent.
daily_consumption number Consommation journaliere moyenne sur l'intervalle, en kWh.
is_excluded_from_avg boolean Vrai si le releve est exclu du calcul des moyennes.
note string Note libre saisie lors du releve.

Filtres

Paramètre Opérateur Description
counter_id = Identifiant du compteur releve.
environment_id = Identifiant du site desservi.
date_after >= Releves a partir de cette date (AAAA-MM-JJ ou ISO 8601).
date_before <= Releves jusqu'a cette date.

events/events

Evenements : dates, salle reservee, jauge et avancement de la checklist.

  • Liste : GET /api/v1/events/events
  • Détail : GET /api/v1/events/events/
  • Tri par défaut : date_begin desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'evenement.
name string Intitule de l'evenement.
event_type string Modele d'evenement applique.
activity string Nature de l'evenement.
stage string Etape du cycle de vie de l'evenement.
date_begin string Debut de l'evenement.
date_end string Fin de l'evenement.
is_ongoing boolean Vrai si l'evenement est en cours a l'instant de la requete.
space string Espace accueillant l'evenement.
space_id integer Identifiant de l'espace accueillant l'evenement.
reservation_id integer Identifiant de la reservation d'espace associee.
space_capacity integer Capacite de l'espace retenu.
seats_max integer Jauge maximale de l'evenement.
seats_taken integer Nombre de places deja prises.
seats_available integer Nombre de places encore disponibles.
organizer string Organisateur de l'evenement.
responsible string Utilisateur responsable.
referent string Referent designe pour l'evenement.
origin string Canal d'origine de la demande d'evenement.
Valeurs : internal (Interne), public (Formulaire public)
review_state string Etat de la revue de la demande.
Valeurs : approved (Approuve), pending (En attente), refused (Refuse)
hidden_public boolean Vrai si l'evenement est masque sur le site public.
checklist_enabled boolean Vrai si une checklist de preparation est activee.
checklist_progress number Avancement de la checklist, en pourcentage.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
stage_id = Identifiant de l'etape du cycle de vie.
space_id = Identifiant de l'espace accueillant l'evenement.
review_state = Etat exact de la revue.
Valeurs : approved, pending, refused
origin = Canal d'origine exact.
Valeurs : internal, public
hidden_public = Ne retenir que les evenements masques (true) ou visibles (false).
begin_after >= Evenements commencant a partir de cette date (AAAA-MM-JJ ou ISO 8601).
begin_before <= Evenements commencant au plus tard a cette date.

events/registrations

Inscriptions aux evenements.

  • Liste : GET /api/v1/events/registrations
  • Détail : GET /api/v1/events/registrations/
  • Tri par défaut : id desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'inscription.
event_id integer Identifiant de l'evenement.
event string Intitule de l'evenement.
ticket string Categorie de billet retenue.
attendee string Nom du participant.
email string Adresse electronique du participant.
phone string Numero de telephone du participant.
booked_by string Contact ayant effectue la reservation.
state string Etat de l'inscription.
Valeurs : draft (Non confirmé), open (Inscrit), done (Présent), cancel (Annulé)
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
event_id = Identifiant de l'evenement.
state = Etat exact : draft, open, done, cancel.
Valeurs : draft, open, done, cancel
partner_id = Identifiant du contact ayant reserve.
email ilike Recherche partielle sur l'adresse electronique.

events/tasks

Taches de la checklist de preparation d'un evenement.

  • Liste : GET /api/v1/events/tasks
  • Détail : GET /api/v1/events/tasks/
  • Tri par défaut : event_id desc, sequence asc

Champs

Champ Type Description
id integer Identifiant technique Odoo de la tache.
event_id integer Identifiant de l'evenement.
event string Intitule de l'evenement.
name string Intitule de la tache.
done boolean Vrai si la tache est accomplie.
assignee string Utilisateur charge de la tache.

Filtres

Paramètre Opérateur Description
event_id = Identifiant de l'evenement.
done = Ne retenir que les taches accomplies (true) ou restantes (false).
assigned_user_id = Identifiant de l'utilisateur charge de la tache.

fleet/alerts

Alertes d'echeance sur les vehicules : assurance, visite technique, permis.

  • Liste : GET /api/v1/fleet/alerts
  • Détail : GET /api/v1/fleet/alerts/
  • Tri par défaut : due_date asc

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'alerte.
name string Intitule de l'alerte.
vehicle string Vehicule concerne.
vehicle_id integer Identifiant du vehicule concerne.
type string Nature de l'echeance surveillee.
Valeurs : assurance (Assurance), controle_technique (Controle technique), entretien_km (Entretien km), permit (Permis conducteur), custom (Personnalisee)
due_date string Date d'echeance.
state string Etat de traitement de l'alerte.
Valeurs : pending (En attente), handled (Traitee), late (En retard)
handled_at string Date et heure de prise en charge.
handled_by string Utilisateur ayant traite l'alerte.
reminder_days integer Nombre de jours de preavis avant echeance.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
state = Etat exact de l'alerte.
Valeurs : pending, handled, late
type = Nature exacte de l'echeance.
Valeurs : assurance, controle_technique, entretien_km, permit, custom
vehicle_id = Identifiant du vehicule concerne.
due_before <= Alertes echeant au plus tard a cette date (AAAA-MM-JJ).
due_after >= Alertes echeant a partir de cette date.

fleet/fuel-logs

Ravitaillements carburant, avec detection d'anomalie de consommation.

  • Liste : GET /api/v1/fleet/fuel-logs
  • Détail : GET /api/v1/fleet/fuel-logs/
  • Tri par défaut : date desc

Champs

Champ Type Description
id integer Identifiant technique Odoo du ravitaillement.
reference string Reference du ravitaillement.
vehicle string Vehicule ravitaille.
vehicle_id integer Identifiant du vehicule ravitaille.
driver string Conducteur ayant effectue le plein.
date string Date et heure du plein.
station string Station ou lieu du ravitaillement.
liters number Volume en litres.
price_per_liter number Prix au litre.
total_amount number Montant total du plein.
currency string Devise du montant.
odometer number Kilometrage au moment du plein.
distance number Distance parcourue depuis le plein precedent, en km.
consumption number Consommation constatee sur l'intervalle, en litres aux 100 km.
is_anomaly boolean Vrai si la consommation s'ecarte anormalement de la moyenne du vehicule.
anomaly_severity string Gravite de l'anomalie detectee.
Valeurs : none (Aucune), low (Faible), medium (Moyenne), high (Elevee)
anomaly_reason string Explication de l'anomalie detectee.
reviewed boolean Vrai si l'anomalie a ete revue par un gestionnaire.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
vehicle_id = Identifiant du vehicule ravitaille.
is_anomaly = Ne retenir que les pleins en anomalie (true) ou sains (false).
reviewed = Filtre sur le fait que l'anomalie ait ete revue.
date_after >= Pleins a partir de cette date (AAAA-MM-JJ ou ISO 8601).
date_before <= Pleins jusqu'a cette date.

fleet/incidents

Incidents imputes aux conducteurs, avec gravite et cout d'impact.

  • Liste : GET /api/v1/fleet/incidents
  • Détail : GET /api/v1/fleet/incidents/
  • Tri par défaut : date desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'incident.
name string Intitule de l'incident.
vehicle string Vehicule concerne.
vehicle_id integer Identifiant du vehicule concerne.
driver string Conducteur mis en cause.
date string Date de l'incident.
severity string Gravite de l'incident.
Valeurs : minor (Mineur), moderate (Modere), major (Majeur), critical (Critique)
cost number Cout d'impact estime.
currency string Devise du cout.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
vehicle_id = Identifiant du vehicule concerne.
driver_id = Identifiant du conducteur mis en cause.
severity = Gravite exacte.
Valeurs : minor, moderate, major, critical
date_after >= Incidents a partir de cette date (AAAA-MM-JJ).
date_before <= Incidents jusqu'a cette date.

fleet/locations

Referentiel des lieux frequents utilises comme point de depart ou destination.

  • Liste : GET /api/v1/fleet/locations
  • Détail : GET /api/v1/fleet/locations/
  • Tri par défaut : sequence asc, name asc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo du lieu.
name string Nom du lieu.
code string Code court, par exemple SIEGE ou AEROPORT.
address string Adresse postale.
city string Ville.
country string Pays.
latitude number Latitude en degres decimaux.
longitude number Longitude en degres decimaux.
is_default_pickup boolean Vrai si le lieu est le point de prise en charge par defaut.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
code = Code court exact.
city ilike Recherche partielle sur la ville.

fleet/reservations

Demandes de reservation de vehicule et leur cycle de validation.

  • Liste : GET /api/v1/fleet/reservations
  • Détail : GET /api/v1/fleet/reservations/
  • Tri par défaut : start desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de la reservation.
reference string Reference de la reservation.
vehicle string Vehicule reserve.
vehicle_id integer Identifiant du vehicule reserve.
driver string Conducteur designe pour la course.
requester string Utilisateur a l'origine de la demande.
start string Debut de la reservation.
stop string Fin de la reservation.
duration number Duree en heures.
motive string Motif declare de la course.
pickup_location string Lieu de prise en charge.
destination string Destination declaree.
expected_km number Distance previsionnelle en km.
attendees_count integer Nombre de passagers attendus.
origin string Canal d'origine de la demande.
Valeurs : internal (Interne), public (Public)
state string Etat du cycle de validation.
Valeurs : draft (Brouillon), pending (En attente), approved (Approuvee), in_progress (En cours), done (Terminee), refused (Refusee), cancelled (Annulee)
approver string Utilisateur ayant approuve la demande.
approved_at string Date et heure de l'approbation.
refusal_reason string Motif du refus, le cas echeant.

Filtres

Paramètre Opérateur Description
state = Etat exact : draft, pending, approved, in_progress, done, refused, cancelled.
Valeurs : draft, pending, approved, in_progress, done, refused, cancelled
vehicle_id = Identifiant du vehicule reserve.
driver_id = Identifiant du conducteur designe.
start_after >= Reservations commencant a partir de cette date (AAAA-MM-JJ ou ISO 8601).
start_before <= Reservations commencant au plus tard a cette date.

fleet/services

Entretiens et reparations des vehicules, avec leur cout.

  • Liste : GET /api/v1/fleet/services
  • Détail : GET /api/v1/fleet/services/
  • Tri par défaut : date desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'entretien.
vehicle string Vehicule entretenu.
vehicle_id integer Identifiant du vehicule entretenu.
date string Date de l'intervention.
description string Description de l'intervention.
service_type string Nature de la prestation.
service_kind string Categorie d'entretien : preventif, curatif, etc.
Valeurs : preventive (Preventif), curative (Curatif)
amount number Cout de l'intervention.
total_cost number Cout total, lignes de detail incluses.
currency string Devise des montants.
odometer number Kilometrage au moment de l'intervention.
next_service_odometer number Kilometrage prevu pour le prochain entretien.
vendor string Prestataire ou garage.
invoice_ref string Reference de la facture fournisseur.
state string Etat de l'intervention.
Valeurs : new (Nouveau), running (En cours), done (Terminé), cancelled (Annulé)
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
vehicle_id = Identifiant du vehicule entretenu.
state = Etat exact de l'intervention.
Valeurs : new, running, done, cancelled
service_kind = Categorie d'entretien exacte.
Valeurs : preventive, curative
date_after >= Interventions a partir de cette date (AAAA-MM-JJ).
date_before <= Interventions jusqu'a cette date.

fleet/trips

Trajets realises : kilometrage reel, destination, imputation analytique.

  • Liste : GET /api/v1/fleet/trips
  • Détail : GET /api/v1/fleet/trips/
  • Tri par défaut : date desc

Champs

Champ Type Description
id integer Identifiant technique Odoo du trajet.
reference string Reference du trajet.
reservation_id integer Identifiant de la reservation d'origine, si le trajet en decoule.
vehicle string Vehicule utilise.
vehicle_id integer Identifiant du vehicule utilise.
driver string Conducteur du trajet.
date string Date du trajet.
date_start string Heure de depart.
date_end string Heure d'arrivee.
odometer_start number Kilometrage au depart.
odometer_end number Kilometrage a l'arrivee.
distance number Distance parcourue en km.
motive string Motif du deplacement.
destination string Destination atteinte.
analytic_account string Compte analytique impute.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
vehicle_id = Identifiant du vehicule utilise.
driver_id = Identifiant du conducteur.
date_after >= Trajets a partir de cette date (AAAA-MM-JJ).
date_before <= Trajets jusqu'a cette date (AAAA-MM-JJ).

fleet/vehicles

Vehicules du parc automobile, avec leurs echeances reglementaires.

  • Liste : GET /api/v1/fleet/vehicles
  • Détail : GET /api/v1/fleet/vehicles/
  • Tri par défaut : license_plate asc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo du vehicule.
plate string Plaque d'immatriculation.
model string Marque et modele du vehicule.
vin string Numero de chassis (VIN).
driver string Conducteur actuellement affecte.
seats integer Nombre de places assises.
fuel_type string Type de carburant.
Valeurs : diesel (Diesel), gasoline (Essence), full_hybrid (Full hybride), plug_in_hybrid_diesel (Hybride rechargeable diesel), plug_in_hybrid_gasoline (Hybride rechargeable essence), cng (CNG), lpg (LPG), hydrogen (Hydrogène), electric (Electrique)
odometer number Dernier kilometrage releve.
state string Etat du vehicule dans le cycle de vie du parc.
assignation_state string Etat d'affectation : disponible, affecte, indisponible.
Valeurs : free (Disponible), assigned (Affecte), maintenance (En maintenance), out_of_service (Hors service), sold (Vendu)
acquisition_date string Date de mise en circulation.
insurance_expiry string Date d'expiration de l'assurance.
technical_control_expiry string Date d'expiration de la visite technique.
next_alert_date string Prochaine echeance a traiter, toutes categories confondues.
avg_consumption number Consommation moyenne constatee, en litres aux 100 km.
total_km_last_year number Distance parcourue sur les douze derniers mois, en km.
company string Societe proprietaire du vehicule.

Filtres

Paramètre Opérateur Description
assignation_state = Filtre sur l'etat d'affectation exact.
Valeurs : free, assigned, maintenance, out_of_service, sold
driver_id = Identifiant du conducteur affecte.
fuel_type = Type de carburant exact.
Valeurs : diesel, gasoline, full_hybrid, plug_in_hybrid_diesel, plug_in_hybrid_gasoline, cng, lpg, hydrogen, electric
plate ilike Recherche partielle, insensible a la casse, sur la plaque.
insurance_expiry_before <= Assurance expirant au plus tard a cette date (AAAA-MM-JJ).
technical_control_expiry_before <= Visite technique expirant au plus tard a cette date (AAAA-MM-JJ).

it/assets

Materiels du parc informatique, identifies par numero de serie.

  • Liste : GET /api/v1/it/assets
  • Détail : GET /api/v1/it/assets/
  • Tri par défaut : name asc
  • Périmètre : seuls les enregistrements vérifiant aeig_in_parc = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo du materiel.
serial string Numero de serie du materiel.
internal_ref string Reference interne, si differente du numero constructeur.
product string Modele de materiel.
quantity number Quantite en stock pour ce numero de serie.
location string Emplacement de stockage courant.
holder string Personne detentrice du materiel.
lifecycle string Etape du cycle de vie du materiel.
Valeurs : available (Disponible), assigned (Affecté), maintenance (Maintenance), retired (Réformé), external (Hors parc)
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
lifecycle = Etape exacte du cycle de vie.
Valeurs : available, assigned, maintenance, retired, external
holder_id = Identifiant de la personne detentrice.
serial ilike Recherche partielle sur le numero de serie.

it/consumable-moves

Sorties et retours de consommables informatiques.

  • Liste : GET /api/v1/it/consumable-moves
  • Détail : GET /api/v1/it/consumable-moves/
  • Tri par défaut : date desc

Champs

Champ Type Description
id integer Identifiant technique Odoo du mouvement.
ticket_id integer Identifiant du ticket a l'origine du mouvement.
ticket_number string Numero du ticket a l'origine du mouvement.
beneficiary string Beneficiaire du consommable.
product string Consommable concerne.
location string Zone de stockage.
quantity number Quantite sortie.
returned_quantity number Quantite retournee.
remaining_quantity number Quantite non retournee.
state string Etat du mouvement.
Valeurs : out (Sortie), partial (Retour partiel), returned (Retournée)
date string Date et heure du mouvement.
handled_by string Utilisateur ayant enregistre le mouvement.

Filtres

Paramètre Opérateur Description
state = Etat exact du mouvement.
Valeurs : out, partial, returned
partner_id = Identifiant du beneficiaire.
product_id = Identifiant du consommable.
date_after >= Mouvements a partir de cette date (AAAA-MM-JJ ou ISO 8601).
date_before <= Mouvements jusqu'a cette date.

it/tickets

Demandes adressees au service informatique et leur avancement.

  • Liste : GET /api/v1/it/tickets
  • Détail : GET /api/v1/it/tickets/
  • Tri par défaut : id desc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo du ticket.
number string Numero du ticket, visible par le demandeur.
name string Objet de la demande.
category string Categorie de la demande.
type string Type de demande au sein de la categorie.
stage string Etape courante du traitement.
is_closed boolean Vrai si l'etape courante est une etape de cloture.
team string Equipe en charge du ticket.
assignee string Technicien assigne.
requester string Nom du demandeur.
requester_email string Adresse electronique du demandeur.
priority string Priorite du ticket.
Valeurs : 0 (Basse), 1 (Normale), 2 (Haute), 3 (Critique)
kanban_state string Indicateur de blocage : en cours, bloque, pret.
Valeurs : normal (En cours), done (Prêt), blocked (Bloqué)
validation_state string Etat de la validation hierarchique, si la demande en requiert une.
Valeurs : none (Non requise), to_validate (À valider), validated (Validée), rejected (Rejetée)
assigned_date string Date et heure d'assignation.
closed_date string Date et heure de cloture.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
is_closed = Ne retenir que les tickets clos (true) ou ouverts (false).
team_id = Identifiant de l'equipe en charge.
user_id = Identifiant du technicien assigne.
priority = Priorite exacte.
Valeurs : 0, 1, 2, 3
validation_state = Etat exact de la validation hierarchique.
Valeurs : none, to_validate, validated, rejected
number ilike Recherche partielle sur le numero de ticket.

purchase/order-lines

Lignes de commande fournisseur : articles, quantites et prix unitaires.

  • Liste : GET /api/v1/purchase/order-lines
  • Détail : GET /api/v1/purchase/order-lines/
  • Tri par défaut : id desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de la ligne.
order_id integer Identifiant de la commande.
order_reference string Reference de la commande.
description string Libelle de la ligne.
product string Article commande.
product_id integer Identifiant de l'article commande.
quantity number Quantite commandee.
uom string Unite de mesure.
price_unit number Prix unitaire.
price_subtotal number Sous-total hors taxes.
price_total number Total toutes taxes comprises.
currency string Devise des montants.
qty_received number Quantite receptionnee.
qty_invoiced number Quantite facturee.
date_planned string Date de reception prevue pour la ligne.
state string Etat de la commande dont la ligne depend.
Valeurs : draft (Demande de prix), sent (Envoyé), to approve (À approuver), purchase (Bon de commande fournisseur), cancel (Annulé)

Filtres

Paramètre Opérateur Description
order_id = Identifiant de la commande.
product_id = Identifiant de l'article commande.
state = Etat exact de la commande.
Valeurs : draft, sent, to approve, purchase, cancel
planned_after >= Lignes attendues a partir de cette date (AAAA-MM-JJ ou ISO 8601).
planned_before <= Lignes attendues jusqu'a cette date.

purchase/orders

Commandes fournisseur : montants, echeances et etat de facturation.

  • Liste : GET /api/v1/purchase/orders
  • Détail : GET /api/v1/purchase/orders/
  • Tri par défaut : date_order desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de la commande.
reference string Reference de la commande.
vendor string Fournisseur.
vendor_id integer Identifiant du fournisseur.
vendor_reference string Reference de la commande chez le fournisseur.
origin string Document a l'origine de la commande.
date_order string Date limite de commande.
date_approve string Date de confirmation.
date_planned string Date de reception prevue.
amount_untaxed number Montant hors taxes.
amount_total number Montant toutes taxes comprises.
currency string Devise des montants.
state string Etat de la commande.
Valeurs : draft (Demande de prix), sent (Envoyé), to approve (À approuver), purchase (Bon de commande fournisseur), cancel (Annulé)
invoice_status string Etat de facturation de la commande.
Valeurs : no (Rien à facturer), to invoice (Factures en attente), invoiced (Entièrement facturé)
buyer string Acheteur en charge.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
state = Etat exact : draft, sent, purchase, done, cancel.
Valeurs : draft, sent, to approve, purchase, cancel
invoice_status = Etat de facturation exact.
Valeurs : no, to invoice, invoiced
vendor_id = Identifiant du fournisseur.
user_id = Identifiant de l'acheteur en charge.
origin ilike Recherche partielle sur le document d'origine.
ordered_after >= Commandes a partir de cette date (AAAA-MM-JJ ou ISO 8601).
ordered_before <= Commandes jusqu'a cette date.
amount_above >= Commandes dont le montant TTC est superieur ou egal a cette valeur.

space/activities

Referentiel des natures d'activite pouvant motiver une reservation.

  • Liste : GET /api/v1/space/activities
  • Détail : GET /api/v1/space/activities/
  • Tri par défaut : sequence asc, name asc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'activite.
name string Nom de l'activite.
code string Code court de l'activite.
default_duration number Duree par defaut proposee, en heures.

Filtres

Paramètre Opérateur Description
code = Code court exact.
name ilike Recherche partielle sur le nom.

space/categories

Referentiel des categories d'espaces.

  • Liste : GET /api/v1/space/categories
  • Détail : GET /api/v1/space/categories/
  • Tri par défaut : sequence asc, name asc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo de la categorie.
name string Nom de la categorie.
description string Description de la categorie.

Filtres

Paramètre Opérateur Description
name ilike Recherche partielle sur le nom.

space/equipments

Referentiel des equipements installables dans un espace.

  • Liste : GET /api/v1/space/equipments
  • Détail : GET /api/v1/space/equipments/
  • Tri par défaut : name asc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'equipement.
name string Nom de l'equipement.
code string Code court de l'equipement.
category string Categorie d'equipement.
description string Description de l'equipement.

Filtres

Paramètre Opérateur Description
category_id = Identifiant de la categorie d'equipement.
name ilike Recherche partielle sur le nom.

space/maintenances

Operations de maintenance sur les espaces, bloquantes ou non.

  • Liste : GET /api/v1/space/maintenances
  • Détail : GET /api/v1/space/maintenances/
  • Tri par défaut : start desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de la maintenance.
name string Intitule de l'operation.
space string Espace concerne.
space_id integer Identifiant de l'espace concerne.
start string Debut de l'operation.
stop string Fin de l'operation.
state string Etat d'avancement de l'operation.
Valeurs : planned (Planifiee), in_progress (En cours), done (Terminee), cancelled (Annulee)
category string Categorie de maintenance.
Valeurs : preventive (Preventive), curative (Curative), cleaning (Nettoyage), other (Autre)
technician string Technicien interne en charge.
external_technician string Prestataire externe en charge.
blocks_reservations boolean Vrai si l'operation empeche toute reservation sur le creneau.
check_progress number Avancement de la checklist, en pourcentage.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
state = Etat exact de l'operation.
Valeurs : planned, in_progress, done, cancelled
space_id = Identifiant de l'espace concerne.
category = Categorie de maintenance exacte.
Valeurs : preventive, curative, cleaning, other
blocks_reservations = Ne retenir que les operations bloquantes (true) ou non (false).
start_after >= Operations commencant a partir de cette date (AAAA-MM-JJ ou ISO 8601).
start_before <= Operations commencant au plus tard a cette date.

space/reservations

Reservations d'espaces et leur cycle de validation.

  • Liste : GET /api/v1/space/reservations
  • Détail : GET /api/v1/space/reservations/
  • Tri par défaut : start desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de la reservation.
reference string Reference de la reservation.
space string Espace reserve.
space_id integer Identifiant de l'espace reserve.
activity string Nature de l'activite prevue.
start string Debut de la reservation.
stop string Fin de la reservation.
duration number Duree en heures.
attendees_expected integer Nombre de participants attendus.
attendees_actual integer Nombre de participants effectivement presents.
requester string Utilisateur a l'origine de la demande.
origin string Canal d'origine de la demande.
Valeurs : internal (Interne), public (Public)
state string Etat du cycle de validation.
Valeurs : pending (En attente), approved (Approuvee), refused (Refusee), cancelled (Annulee), done (Terminee)
approver string Utilisateur ayant approuve la demande.
approved_at string Date et heure de l'approbation.
refusal_reason string Motif du refus, le cas echeant.
cancellation_reason string Motif de l'annulation, le cas echeant.
check_in_at string Heure d'arrivee constatee.
check_out_at string Heure de depart constatee.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
state = Etat exact de la reservation.
Valeurs : pending, approved, refused, cancelled, done
space_id = Identifiant de l'espace reserve.
activity_id = Identifiant de la nature d'activite.
origin = Canal d'origine exact.
Valeurs : internal, public
start_after >= Reservations commencant a partir de cette date (AAAA-MM-JJ ou ISO 8601).
start_before <= Reservations commencant au plus tard a cette date.

space/sites

Sites hebergeant les espaces reservables, organises en arborescence.

  • Liste : GET /api/v1/space/sites
  • Détail : GET /api/v1/space/sites/
  • Tri par défaut : complete_name asc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo du site.
name string Nom du site.
complete_name string Nom complet, chemin hierarchique inclus.
code string Code court du site.
parent_id integer Identifiant du site parent, si le site est un sous-ensemble.
address string Adresse postale du site.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
code = Code court exact.
parent_id = Identifiant du site parent.
name ilike Recherche partielle sur le nom.

space/spaces

Espaces reservables : salles, bureaux, capacites et tarifs.

  • Liste : GET /api/v1/space/spaces
  • Détail : GET /api/v1/space/spaces/
  • Tri par défaut : sequence asc, name asc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'espace.
name string Nom de l'espace.
code string Code court de l'espace.
site string Site hebergeant l'espace.
site_id integer Identifiant du site hebergeant l'espace.
state string Etat de l'espace : disponible, en travaux, ferme.
Valeurs : available (Disponible), restricted (Restreint), closed (Ferme)
location string Localisation libre au sein du site.
floor string Etage.
surface number Surface en metres carres.
capacity integer Capacite d'accueil, en nombre de personnes.
hourly_price number Tarif horaire de reference.
currency string Devise du tarif.
categories array Categories auxquelles l'espace appartient.
public_visibility string Niveau de visibilite de l'espace sur le portail public.
Valeurs : private (Prive), internal (Interne), public (Public)
approval_required boolean Vrai si toute reservation doit etre approuvee.
min_lead_hours integer Delai minimal de reservation, en heures.
max_lead_days integer Horizon maximal de reservation, en jours.
cancel_deadline_hours integer Delai limite d'annulation, en heures avant le debut.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
state = Etat exact de l'espace.
Valeurs : available, restricted, closed
site_id = Identifiant du site hebergeant l'espace.
capacity_min >= Capacite d'accueil minimale requise.
approval_required = Ne retenir que les espaces soumis (true) ou non (false) a approbation.
name ilike Recherche partielle sur le nom.

stock/pickings

Transferts de stock : receptions, livraisons et mouvements internes.

  • Liste : GET /api/v1/stock/pickings
  • Détail : GET /api/v1/stock/pickings/
  • Tri par défaut : scheduled_date desc

Champs

Champ Type Description
id integer Identifiant technique Odoo du transfert.
reference string Reference du transfert.
origin string Document d'origine ayant genere le transfert.
picking_type string Type d'operation : reception, livraison, transfert interne.
partner string Contact associe au transfert.
source_location string Emplacement source.
destination_location string Emplacement de destination.
scheduled_date string Date prevue du transfert.
date_done string Date effective de realisation.
priority string Priorite du transfert.
Valeurs : 0 (Normal), 1 (Urgent)
state string Etat du transfert.
Valeurs : draft (Brouillon), waiting (En attente d'une autre opération), confirmed (En attente), assigned (Prêt), done (Terminé), cancel (Annulé)
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
state = Etat exact : draft, waiting, confirmed, assigned, done, cancel.
Valeurs : draft, waiting, confirmed, assigned, done, cancel
partner_id = Identifiant du contact associe.
origin ilike Recherche partielle sur le document d'origine.
scheduled_after >= Transferts prevus a partir de cette date (AAAA-MM-JJ ou ISO 8601).
scheduled_before <= Transferts prevus jusqu'a cette date.

travel/perdiem-rates

Bareme des per diem par pays et par ville.

  • Liste : GET /api/v1/travel/perdiem-rates
  • Détail : GET /api/v1/travel/perdiem-rates/
  • Tri par défaut : id desc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo du bareme.
country string Pays couvert par le bareme.
country_id integer Identifiant du pays couvert.
city string Ville couverte, si le bareme est specifique a une ville.
daily_rate number Taux journalier de reference.
currency string Devise du taux.
has_tiers boolean Vrai si le bareme comporte des paliers de duree.
environment string Environnement de bareme.
note string Note explicative sur le bareme.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
country_id = Identifiant du pays couvert.
city_id = Identifiant de la ville couverte.
environment_id = Identifiant de l'environnement de bareme.
has_tiers = Ne retenir que les baremes avec (true) ou sans (false) paliers.

travel/perdiem-requests

Demandes de per diem : bareme applique, abattements et montant du.

  • Liste : GET /api/v1/travel/perdiem-requests
  • Détail : GET /api/v1/travel/perdiem-requests/
  • Tri par défaut : date_debut desc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo de la demande.
reference string Reference de la demande.
name string Intitule de la demande.
state string Etat du cycle de validation.
Valeurs : draft (Brouillon), pending (En attente), approved (Approuvée), rejected (Rejetée), cancelled (Annulée)
trip_id integer Identifiant de la mission rattachee.
trip_reference string Reference de la mission rattachee.
traveler string Utilisateur beneficiaire.
mission_object string Objet de la mission.
country string Pays du sejour.
city string Ville du sejour.
date_start string Debut du sejour.
date_end string Fin du sejour.
duration_days number Duree retenue pour le calcul, en jours.
prorata_start string Regle de prorata appliquee au premier jour.
Valeurs : full (Journée pleine), half (Demi-journée), none (Aucun)
prorata_end string Regle de prorata appliquee au dernier jour.
Valeurs : full (Journée pleine), half (Demi-journée), none (Aucun)
calc_model string Modele de calcul retenu.
Valeurs : flat_with_abatement (Taux + abattement), tiered (Grille à paliers)
daily_rate number Taux journalier applique.
rate_id integer Identifiant du bareme applique.
duration_abatement_pct number Abattement de duree applique, en pourcentage.
duration_abatement_amount number Montant de l'abattement de duree.
total_amount number Montant total du.
financing_type string Mode de financement de la demande.
Valeurs : aeig (AEIG uniquement), partner (Partenaire uniquement), mixed (Mixte AEIG / partenaire)
partner string Partenaire cofinanceur, le cas echeant.
partner_share_pct number Part du partenaire, en pourcentage.
amount_company number Part a la charge de la societe.
amount_partner number Part a la charge du partenaire.
currency string Devise des montants.
environment string Environnement de bareme applique.
validator string Utilisateur validateur.
submit_date string Date et heure de soumission.
approve_date string Date et heure d'approbation.
reject_date string Date et heure de rejet.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
state = Etat exact de la demande.
Valeurs : draft, pending, approved, rejected, cancelled
trip_id = Identifiant de la mission rattachee.
traveler_user_id = Identifiant de l'utilisateur beneficiaire.
country_id = Identifiant du pays du sejour.
financing_type = Mode de financement exact.
Valeurs : aeig, partner, mixed
start_after >= Sejours commencant a partir de cette date (AAAA-MM-JJ).
start_before <= Sejours commencant au plus tard a cette date.

travel/trip-expenses

Frais rattaches a une mission, hors per diem.

  • Liste : GET /api/v1/travel/trip-expenses
  • Détail : GET /api/v1/travel/trip-expenses/
  • Tri par défaut : id desc

Champs

Champ Type Description
id integer Identifiant technique Odoo du frais.
name string Intitule du frais.
trip_id integer Identifiant de la mission rattachee.
trip_reference string Reference de la mission rattachee.
cost number Montant du frais.
currency string Devise du montant.
notes string Note libre sur le frais.

Filtres

Paramètre Opérateur Description
trip_id = Identifiant de la mission rattachee.
cost_above >= Frais dont le montant est superieur ou egal a cette valeur.

travel/trip-stages

Etapes d'une mission : trajets successifs, aller et retour.

  • Liste : GET /api/v1/travel/trip-stages
  • Détail : GET /api/v1/travel/trip-stages/
  • Tri par défaut : trip_id desc, sequence asc

Champs

Champ Type Description
id integer Identifiant technique Odoo de l'etape.
name string Intitule de l'etape.
trip_id integer Identifiant de la mission a laquelle l'etape appartient.
trip_reference string Reference de la mission.
position integer Rang de l'etape dans la mission.
is_return_leg boolean Vrai si l'etape constitue le trajet de retour.
city_from string Ville de depart de l'etape.
country_from string Pays de depart de l'etape.
city_to string Ville d'arrivee de l'etape.
country_to string Pays d'arrivee de l'etape.
date_from string Debut de l'etape.
date_to string Fin de l'etape.
duration_days integer Duree de l'etape, en jours.
has_transport boolean Vrai si un transport est prevu sur cette etape.

Filtres

Paramètre Opérateur Description
trip_id = Identifiant de la mission.
is_return_leg = Ne retenir que les trajets retour (true) ou aller (false).
country_to_id = Identifiant du pays d'arrivee.
date_after >= Etapes commencant a partir de cette date (AAAA-MM-JJ ou ISO 8601).
date_before <= Etapes commencant au plus tard a cette date.

travel/trip-types

Referentiel des types de mission.

  • Liste : GET /api/v1/travel/trip-types
  • Détail : GET /api/v1/travel/trip-types/
  • Tri par défaut : sequence asc, name asc
  • Périmètre : seuls les enregistrements vérifiant active = True sont exposés.

Champs

Champ Type Description
id integer Identifiant technique Odoo du type.
name string Nom du type de mission.
code string Code court du type.
description string Description du type de mission.

Filtres

Paramètre Opérateur Description
code = Code court exact.
name ilike Recherche partielle sur le nom.

travel/trips

Missions et deplacements : trajet, dates et cout complet.

  • Liste : GET /api/v1/travel/trips
  • Détail : GET /api/v1/travel/trips/
  • Tri par défaut : date_start desc

Champs

Champ Type Description
id integer Identifiant technique Odoo de la mission.
reference string Reference de la mission.
name string Intitule de la mission.
state string Etat du cycle de validation.
Valeurs : draft (Brouillon), pending (En attente validation), planned (Planifié), in_progress (En cours), done (Terminé), cancelled (Annulé)
traveler string Utilisateur voyageur.
traveler_name string Nom du voyageur tel que declare.
traveler_email string Adresse electronique du voyageur.
trip_type string Type de mission.
description string Objet de la mission.
city_departure string Ville de depart.
country_departure string Pays de depart.
city_destination string Ville de destination.
country_destination string Pays de destination.
date_submission string Date de soumission de la demande.
date_start string Debut de la mission.
date_end string Fin de la mission.
duration_days integer Duree de la mission, en jours.
transport_cost number Cout du transport.
accommodation_cost_total number Cout total de l'hebergement.
per_diem_total number Montant total des per diem.
insurance_premium number Prime d'assurance voyage.
currency string Devise des montants.
has_per_diem boolean Vrai si la mission ouvre droit a un per diem.
has_return_stage boolean Vrai si une etape de retour est prevue.
company string Societe de rattachement.

Filtres

Paramètre Opérateur Description
state = Etat exact de la mission.
Valeurs : draft, pending, planned, in_progress, done, cancelled
traveler_id = Identifiant de l'utilisateur voyageur.
trip_type_id = Identifiant du type de mission.
country_destination_id = Identifiant du pays de destination.
has_per_diem = Ne retenir que les missions avec (true) ou sans (false) per diem.
start_after >= Missions commencant a partir de cette date (AAAA-MM-JJ ou ISO 8601).
start_before <= Missions commencant au plus tard a cette date.

Ce que cette API ne fait pas

  • Aucune écriture : ni POST, ni PUT, ni PATCH, ni DELETE. Une tentative d'écriture par un autre canal avec la même clé est refusée au niveau des droits Odoo, et pas seulement au niveau des routes.
  • Aucun champ absent des tableaux ci-dessus n'est accessible, même s'il existe sur le modèle Odoo sous-jacent.
  • Aucune donnée d'un module absent de cette page n'est exposée.