{"info":{"_postman_id":"c27f43be-2508-4508-bdaf-e0373ff2a653","name":"OpenGST - Documentation de l'API","description":"<html><head></head><body><h1 id=\"documentation-des-requetes-disponibles-dans-opengst\">Documentation des requêtes disponibles dans OpenGST.</h1>\n<p>Cette API utilise le protocole JSON RPC.</p>\n<p>Seuls ces endpoint sont disponibles :</p>\n<ul>\n<li><code>web/session/authenticate</code></li>\n<li><code>web/session/get_session_info</code></li>\n<li><code>web/session/change_password</code></li>\n<li><code>web/dataset/get</code></li>\n<li><code>web/dataset/search_read</code></li>\n<li><code>web/dataset/create</code></li>\n<li><code>web/user/create</code></li>\n<li><code>web/user/forgot_password</code></li>\n</ul>\n<p>Ils doivent tous être appelés avec la méthode <strong>POST</strong>. Le corps de la requête sera utilisé pour choisir la ressource à atteindre et les champs à récupérer.</p>\n<h2 id=\"avant-de-commencer\">Avant de commencer</h2>\n<p>Authentifiez-vous avec la requête <code>authenticate</code> grâce aux éléments qui vous seront fournis par votre chef de projet. Récupérer le <code>session_id</code>, il sera indispensable dans les autres requêtes pour vous identifier.</p>\n<p>Le champ <code>fields</code> correspond aux champs rappatriés.<br>Le champ <code>domain</code> correspond aux critères de filtrage de la requète.</p>\n<p>Dans toutes les requêtes, le <code>context</code> suivant est à insérer dans l'objet <code>params</code> de chaque requête : </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"__ref\": \"compound_context\",\n    \"__contexts\": [\n        {\n            \"lang\": \"fr_FR\",\n            \"tz\": \"Europe/Paris\",\n            \"uid\": null\n        },\n        { \"bin_size\": true }\n    ],\n    \"__eval_context\": null\n}\n</code></pre>\n<h2 id=\"filtres-openerp\">Filtres OpenERP</h2>\n<p>Les filtres, <code>domain</code> dans les requêtes, sont des listes de listes contenant 3 éléments qui sont :</p>\n<p>-le nom du champ\n-un opérateur (=,!=,is not,in,...)\n-une valeur</p>\n<p><em>Exemple de filtre</em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"params\": {\n        \"domain\": [[\"gender\", \"=\", \"male\"], [\"age\", \"&gt;\", 28]]\n    }\n}\n</code></pre>\n<p>On cherche ici des hommes qui on plus de 28 ans.</p>\n<p>Autre exemple avec un filtre OU :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    ...,\n    \"params\": {\n        \"domain\": [\n            [\"|\"],\n            [\"gender\", \"=\", \"female\"],\n            [\"gender\", \"=\", false]\n        ]\n    }\n}\n</code></pre>\n<p>On cherche ici des ressource qui sont soit des femme soit qui n’ont pas spécifié de genre.</p>\n<h2 id=\"gestion-des-erreurs\">Gestion des erreurs</h2>\n<p>En cas d’erreur dans la construction de la requête, le serveur renverra toujours une réponse 200. \nIl convient de parser la corps de la réponse pour lire l’objet <code>error</code>.</p>\n<p><em>Exemple de réponse d’erreur</em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"r1\",\n    \"error\": {...}\n}\n</code></pre>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Documentation des requêtes disponibles dans OpenGST.","slug":"documentation-des-requetes-disponibles-dans-opengst"}],"owner":"1179953","collectionId":"c27f43be-2508-4508-bdaf-e0373ff2a653","publishedId":"SW7aZ8tT","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"01364D"},"publishDate":"2024-10-30T10:24:26.000Z"},"item":[{"name":"Sites","item":[{"name":"Get sites","id":"6c52d571-08a1-4727-a5e9-9800cbefbe27","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \n  \"id\": \"r52\",\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"call\",\n  \"params\": {\n    \"domain\": [],\n    \"fields\": [\n        \"actions\",\n        \"active\",\n        \"access_manager_ids\",\n        \"accommodation_capacity\",\n        \"actions\",\n        \"alarm\",\n        \"amiante\",\n        \"block_booking\",\n        \"breadcrumb_names\",\n        \"buyer_contact\",\n        \"cadastre_commune\",\n        \"cadastre_commune_2\",\n        \"cadastre_commune_3\",\n        \"cadastre_feuille\",\n        \"cadastre_feuille_2\",\n        \"cadastre_feuille_3\",\n        \"cadastre_is_bati\",\n        \"cadastre_is_nonbati\",\n        \"cadastre_section\",\n        \"cadastre_section_2\",\n        \"cadastre_section_3\",\n        \"cadastre_id\",\n        \"cadastre_id_2\",\n        \"cadastre_id_3\",\n        \"code\",\n        \"complete_name\",\n        \"copro_id\",\n        \"date_start\",\n        \"date_end\",\n        \"description\",\n        \"erp\",\n        \"erp_category\",\n        \"external_booking\",\n        \"external_bookable_notice\",\n        \"height\",\n        \"igh\",\n        \"internal_booking\",\n        \"internal_bookable_notice\",\n        \"is_copro\",\n        \"length\",\n        \"length_amort\",\n        \"max_bookable_qty\",\n        \"name\",\n        \"notary_fees\",\n        \"openresa_property_manager_id\",\n        \"osm_relation_id\",\n        \"partner_type_bookable_ids\",\n        \"pmr\",\n        \"postal_address\",\n        \"pprn\",\n        \"pprm\",\n        \"pprt\",\n        \"ppri\",\n        \"pricelist_id\",\n        \"product_id\",\n        \"property_ids\",\n        \"purchase_buyer_id\",\n        \"purchase_record_name\",\n        \"purchase_date\",\n        \"purchase_date_avis_des_domaines\",\n        \"purchase_date_deliberation\",\n        \"purchase_description\",\n        \"purchase_mode\",\n        \"purchase_notary_fees\",\n        \"purchase_notary_id\",\n        \"purchase_price\",\n        \"purchase_price_from_domaines\",\n        \"purchase_seller_id\",\n        \"record_name\",\n        \"sale_record_name\",\n        \"sale_mode\",\n        \"sale_description\",\n        \"sale_price\",\n        \"sale_notary_fees\",\n        \"sale_price_from_domaines\",\n        \"sale_date\",\n        \"sale_date_avis_des_domaines\",\n        \"sale_date_deliberation\",\n        \"sale_buyer_id\",\n        \"sale_seller_id\",\n        \"sale_notary_id\",\n        \"service_ids\",\n        \"service_names\",\n        \"service_bookable_ids\",\n        \"site_code\",\n        \"site_parent_id\",\n        \"surface\",\n        \"surface_plancher\",\n        \"syndic_id\",\n        \"type_id\",\n        \"type_ids\",\n        \"width\",\n        \"color\",\n        \"street\",\n        \"street2\",\n        \"city\",\n        \"zip\",\n        \"phone\",\n        \"geo_point\",\n        \"geo_multi_point\",\n        \"geo_line\",\n        \"geo_multi_line\",\n        \"geo_polygon\",\n        \"geo_multi_polygon\",\n        \"osm_zoom\",\n        \"state\",\n        \"custom_fields\",\n        \"puj\",\n        \"package_price\"\n    ],\n    \"model\": \"openstc.site\",\n    \"session_id\": \"{{sessionId}}\"\n  }\n}"},"url":"{{server}}/web/dataset/search_read","description":"<p>Récupère tous les sites sans restriction, les champs rappatriées des sites ne sont pas exhaustifs.</p>\n","urlObject":{"path":["web","dataset","search_read"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"6c52d571-08a1-4727-a5e9-9800cbefbe27"},{"name":"Create sites","id":"17c1f746-f079-4e84-bec6-0792cbd60188","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": \"r52\",\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"call\",\n    \"params\": {\n        \"data\": {\n\t\t\t\"name\": \"Mon site\",\n\t\t\t\"type_id\": {{id_site_categorie}},\n            \"parent_id\": {{id_site_parent}},\n            \"code\": false,\n            \"service_ids\": [],\n            \"site_parent_id\": false,\n            \"color\": \"#2882A3\",\n            \"active\": true,\n            \"block_booking\": true,\n            \"resa_user_manager_ids\": [],\n            \"max_bookable_qty\": 0,\n            \"custom_fields\": false,\n            \"resa_service_manager_ids\": [],\n            \"service_bookable_ids\": [],\n            \"description\": false,\n            \"osm_zoom\": 16,\n            \"phone\": false,\n            \"alarm\": false,\n            \"date_start\": false,\n            \"date_end\": false,\n            \"amiante\": false,\n            \"pmr\": false,\n            \"state\": \"good\",\n            \"street\": \"Rue\",\n            \"street2\": \"suite\",\n            \"city\": \"Nantes\",\n            \"zip\": \"44000\",\n            \"length\": 0,\n            \"width\": 0,\n            \"height\": 0,\n            \"surface\": 0,\n            \"surface_plancher\": 0,\n            \"igh\": false\n        },\n        \"model\": \"openstc.site\",\n        \"session_id\": \"{{sessionId}}\"\n    }\n}"},"url":"{{server}}/web/dataset/create","description":"<p>Définissez tout les attributs que vous souhaitez:</p>\n<p><strong>Général</strong></p>\n<ul>\n<li>name: Nom du site</li>\n<li>type_id: ID de la catégorie du sites</li>\n<li>parent_id: ID du site parent</li>\n<li>code: Code Site</li>\n<li>service_ids: Services mainteneurs</li>\n<li>site_parent_id: Site parent</li>\n<li>active: Actif</li>\n</ul>\n<p><strong>Réservation</strong></p>\n<ul>\n<li>color: Couleur</li>\n<li>block_booking: Ressource bloquante</li>\n<li>resa_service_manager_ids: Services mainteneurs</li>\n<li>resa_user_manager_ids: Autres gestionnaires</li>\n<li>max_bookable_qty: Capacité d'accueil</li>\n<li>service_bookable_ids: Equipes optionnelles</li>\n<li>internal_booking: Réservation en interne</li>\n<li>external_booking: Réservation par un tier</li>\n</ul>\n<p><strong>Cartographie</strong></p>\n<ul>\n<li>osm_zoom: Zoom de la carte</li>\n<li>geometry: Géométrie au format geojson</li>\n</ul>\n<p><strong>Patrimoine</strong></p>\n<ul>\n<li>alarm: Alarme anti-intrusion</li>\n<li>date_start: Date de démarrage</li>\n<li>date_end: Date de fin</li>\n<li>amiante: Amiante</li>\n<li>pmr: PMR</li>\n<li>description: Description</li>\n<li>phone: Téléphone</li>\n<li>state: Status</li>\n<li>street: Rue</li>\n<li>street2: Rue (Suite)</li>\n<li>city: Ville</li>\n<li>zip: Code Postal</li>\n<li>length: Longueur</li>\n<li>width: Largeur</li>\n<li>height: Hauteur</li>\n<li>surface: Surface</li>\n<li>surface_plancher: Surface Plancher</li>\n<li>igh: IGH</li>\n<li>custom_fields: Attribut personnalisé au format:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"type\": [\n      \"text\",\n      \"Chaine de caractères\"\n    ],\n    \"key\": \"Mon attribut\",\n    \"value\": \"Ma valeur\"\n  }\n]\n\n</code></pre>\n<p>Note: Certains champs peuvent ne pas exister en base de donnée en fonction des modules que vous avez d'activé.</p>\n","urlObject":{"path":["web","dataset","create"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"17c1f746-f079-4e84-bec6-0792cbd60188"},{"name":"Patch sites","id":"0ac933e2-9da3-4efd-9a50-23bba142f5c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": \"r52\",\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"call\",\n    \"params\": {\n        \"data\": {\n\t\t\t\"name\": \"Mon site\",\n\t\t\t\"type_id\": {{id_site_categorie}},\n            \"parent_id\": {{id_site_parent}},\n            \"code\": false,\n            \"service_ids\": [],\n            \"site_parent_id\": false,\n            \"color\": \"#2882A3\",\n            \"active\": true,\n            \"block_booking\": true,\n            \"resa_user_manager_ids\": [],\n            \"max_bookable_qty\": 0,\n            \"custom_fields\": false,\n            \"resa_service_manager_ids\": [],\n            \"service_bookable_ids\": [],\n            \"description\": false,\n            \"osm_zoom\": 16,\n            \"phone\": false,\n            \"alarm\": false,\n            \"date_start\": false,\n            \"date_end\": false,\n            \"amiante\": false,\n            \"pmr\": false,\n            \"state\": \"good\",\n            \"street\": \"Rue\",\n            \"street2\": \"suite\",\n            \"city\": \"Nantes\",\n            \"zip\": \"44000\",\n            \"length\": 0,\n            \"width\": 0,\n            \"height\": 0,\n            \"surface\": 0,\n            \"surface_plancher\": 0,\n            \"igh\": false\n        },\n        \"id\": {{id_site}},\n        \"model\": \"openstc.site\",\n        \"session_id\": \"{{sessionId}}\"\n    }\n}"},"url":"{{server}}/web/dataset/save","description":"<p>Définissez tout les attributs que vous souhaitez:</p>\n<p><strong>Général</strong></p>\n<ul>\n<li>name: Nom du site</li>\n<li>type_id: ID de la catégorie du sites</li>\n<li>parent_id: ID du site parent</li>\n<li>code: Code Site</li>\n<li>service_ids: Services mainteneurs</li>\n<li>site_parent_id: Site parent</li>\n<li>active: Actif</li>\n</ul>\n<p><strong>Réservation</strong></p>\n<ul>\n<li>color: Couleur</li>\n<li>block_booking: Ressource bloquante</li>\n<li>resa_service_manager_ids: Services mainteneurs</li>\n<li>resa_user_manager_ids: Autres gestionnaires</li>\n<li>max_bookable_qty: Capacité d'accueil</li>\n<li>service_bookable_ids: Equipes optionnelles</li>\n<li>internal_booking: Réservation en interne</li>\n<li>external_booking: Réservation par un tier</li>\n</ul>\n<p><strong>Cartographie</strong></p>\n<ul>\n<li>osm_zoom: Zoom de la carte</li>\n<li>geometry: Géométrie au format geojson</li>\n</ul>\n<p><strong>Patrimoine</strong></p>\n<ul>\n<li>alarm: Alarme anti-intrusion</li>\n<li>date_start: Date de démarrage</li>\n<li>date_end: Date de fin</li>\n<li>amiante: Amiante</li>\n<li>pmr: PMR</li>\n<li>description: Description</li>\n<li>phone: Téléphone</li>\n<li>state: Status</li>\n<li>street: Rue</li>\n<li>street2: Rue (Suite)</li>\n<li>city: Ville</li>\n<li>zip: Code Postal</li>\n<li>length: Longueur</li>\n<li>width: Largeur</li>\n<li>height: Hauteur</li>\n<li>surface: Surface</li>\n<li>surface_plancher: Surface Plancher</li>\n<li>igh: IGH</li>\n<li>custom_fields: Attribut personnalisé au format:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n  {\n    \"type\": [\n      \"text\",\n      \"Chaine de caractères\"\n    ],\n    \"key\": \"Mon attribut\",\n    \"value\": \"Ma valeur\"\n  }\n]\n\n</code></pre>\n<p>Note: Certains champs peuvent ne pas exister en base de donnée en fonction des modules que vous avez d'activé.</p>\n<p>Sans oublier l'ID du site que vous souhaitez modifier.</p>\n","urlObject":{"path":["web","dataset","save"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0ac933e2-9da3-4efd-9a50-23bba142f5c1"}],"id":"27a8ccbf-5f8d-4929-a3c5-026a3c84c7ea","_postman_id":"27a8ccbf-5f8d-4929-a3c5-026a3c84c7ea","description":""},{"name":"Équipements","item":[{"name":"Get equipments","id":"0a76812b-84a4-4d50-8160-00f73e016a78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \n  \"id\": \"r52\",\n  \"jsonrpc\": \"2.0\",\n  \"method\": \"call\",\n  \"params\": {\n    \"domain\": [\n    \t\"|\",\n    \t[\"internal_booking\", \"=\", true],\n    \t[\"external_booking\", \"=\", true]\n    ],\n    \"fields\": [\n        \"actions\",\n        \"attachment_count\",\n        \"complete_name\",\n        \"product_image\",\n        \"categ_id\",\n        \"name\",\n        \"description\",\n        \"elevation\",\n        \"model_id\",\n        \"fuel_id\",\n        \"qty_available\",\n        \"state\",\n        \"km\",\n        \"km_per_year\",\n        \"time\",\n        \"time_per_year\",\n        \"site_id\",\n        \"immat\",\n        \"serial_number\",\n        \"serial_chassis\",\n        \"serial_engine\",\n        \"serial_badge_fuel\",\n        \"serial_keys\",\n        \"horse_power\",\n        \"administrative_power\",\n        \"marque\",\n        \"energy_type\",\n        \"built_date\",\n        \"supplier_id\",\n        \"length_amort\",\n        \"purchase_price\",\n        \"purchase_date\",\n        \"hour_price\",\n        \"warranty_date\",\n        \"date_start\",\n        \"life_duration\",\n        \"date_end\",\n        \"parent_id\",\n        \"custom_fields\",\n        \"geometry\",\n        \"geo_point\",\n        \"osm_type\",\n        \"osm_id\",\n        \"osm_zoom\"\n        ],\n    \"model\": \"openstc.equipment\",\n    \"session_id\": \"{{sessionId}}\"\n  }\n}"},"url":"{{server}}/web/dataset/search_read","description":"<p>Récupère tous les équipements réservable en interne ou en externe et permet de récupérer ces données :</p>\n<ol>\n<li>l'id de l'équipement</li>\n<li>le nom de l'équipement</li>\n<li>la catégorie de l'équipement (au format <code>[idCategorie, NomCategorie]</code>)</li>\n<li>la quantité en stock de l'équipement</li>\n<li>si la ressource est réservable en interne</li>\n<li>si la ressource est réservable en externe</li>\n</ol>\n","urlObject":{"path":["web","dataset","search_read"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a76812b-84a4-4d50-8160-00f73e016a78"},{"name":"Create equipments","id":"287b756b-2af5-446f-b24d-293d7bc43ce7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": \"r52\",\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"call\",\n    \"params\": {\n        \"data\": {\n            \"qty_available\": 1,\n            \"internal_use\": false,\n            \"categ_id\": {{id_categorie_equipment}},\n            \"name\": \"Mon equipement\",\n            \"maintenance_service_ids\": [\n                [\n                    6,\n                    0,\n                    [\n                        {{id_service_mainteneur}}\n                    ]\n                ]\n            ],\n            \"default_code\": \"0000000005265\",\n            \"time_per_year\": 0,\n            \"date_end\": false,\n            \"site_id\": false,\n            \"warranty_date\": false,\n            \"marque\": false,\n            \"custom_fields\": [],\n            \"supplier_id\": false,\n            \"parent_id\": false,\n            \"date_start\": false,\n            \"built_date\": false,\n            \"state\": false,\n            \"purchase_date\": false,\n            \"serial_number\": false,\n            \"purchase_price\": 0,\n            \"description\": false,\n            \"hour_price\": 0,\n            \"life_duration\": 0,\n            \"energy_type\": false,\n            \"immat\": false,\n            \"time\": 0\n        },\n        \"model\": \"openstc.equipment\",\n        \"session_id\": \"{{sessionId}}\"\n    }\n}"},"url":"{{server}}/web/dataset/create","description":"<p>Définissez tout les attributs que vous souhaitez:</p>\n<p><strong>Général</strong></p>\n<ul>\n<li>name: Nom de l'équipement</li>\n<li>categ_id: ID de la catégorie de l'équipement</li>\n<li>internal_use: Champs \"Usage interne\"</li>\n<li>qty_available: Quantité en stock</li>\n<li>maintenance_service_ids: Ids des services mainteneurs (mette les Ids dans le dernier tableau où la variable {{id_service_mainteneur}} est présente, le \"6, 0\" avant sert à OpenERP pour remplacé la listes d'IDs actuel par les nouvelles valeurs)</li>\n<li>default_code: Code utilisé pour les scans dans le module achat-stock</li>\n</ul>\n<p><strong>Patrimoine</strong></p>\n<ul>\n<li>time_per_year: Temps passé par an</li>\n<li>date_end: Temps passé</li>\n<li>site_id: Site</li>\n<li>warranty_date: Date de garantie</li>\n<li>marque: Marque</li>\n<li>serial_number: Numéro de série</li>\n<li>supplier_id: Fournisseur / Prestataire</li>\n<li>parent_id: Equipement Parent</li>\n<li>date_start: Mise en marche</li>\n<li>built_date: Date de fabrication</li>\n<li>state: Statut</li>\n<li>purchase_price: Prix d'achat</li>\n<li>description: Description</li>\n<li>hour_price: Coût horaire</li>\n<li>life_duration: Durée de vie</li>\n<li>km_per_year:</li>\n<li>energy_type: Type d'énergie</li>\n<li>time: Temps passé</li>\n<li>immat: Immatriculation</li>\n<li>custom_fields: Attributs</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\n  {\n    \"type\": [\n      \"text\",\n      \"Chaine de caractères\"\n    ],\n    \"key\": \"Mon attribut\",\n    \"value\": \"Ma valeur\"\n  }\n]\n\n\n</code></pre>\n","urlObject":{"path":["web","dataset","create"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"287b756b-2af5-446f-b24d-293d7bc43ce7"},{"name":"Patch equipments","id":"54b0b99a-a6c2-4d15-8f61-92e0099f67ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"id\": \"r52\",\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"call\",\n    \"params\": {\n        \"data\": {\n            \"qty_available\": 1,\n            \"internal_use\": false,\n            \"categ_id\": {{id_categorie_equipment}},\n            \"name\": \"Mon equipement\",\n            \"maintenance_service_ids\": [\n                [\n                    6,\n                    0,\n                    [\n                        {{id_service_mainteneur}}\n                    ]\n                ]\n            ],\n            \"default_code\": \"0000000005265\",\n            \"time_per_year\": 0,\n            \"date_end\": false,\n            \"site_id\": false,\n            \"warranty_date\": false,\n            \"marque\": false,\n            \"custom_fields\": [],\n            \"supplier_id\": false,\n            \"parent_id\": false,\n            \"date_start\": false,\n            \"built_date\": false,\n            \"state\": false,\n            \"purchase_date\": false,\n            \"serial_number\": false,\n            \"purchase_price\": 0,\n            \"description\": false,\n            \"hour_price\": 0,\n            \"life_duration\": 0,\n            \"energy_type\": false,\n            \"immat\": false,\n            \"time\": 0\n        },\n        \"id\": {{id_equipement}},\n        \"model\": \"openstc.equipment\",\n        \"session_id\": \"{{sessionId}}\"\n    }\n}"},"url":"{{server}}/web/dataset/save","description":"<p>Définissez tout les attributs que vous souhaitez:</p>\n<p><strong>Général</strong></p>\n<ul>\n<li>name: Nom de l'équipement</li>\n<li>categ_id: ID de la catégorie de l'équipement</li>\n<li>internal_use: Champs \"Usage interne\"</li>\n<li>qty_available: Quantité en stock</li>\n<li>maintenance_service_ids: Ids des services mainteneurs (mette les Ids dans le dernier tableau où la variable {{id_service_mainteneur}} est présente, le \"6, 0\" avant sert à OpenERP pour remplacé la listes d'IDs actuel par les nouvelles valeurs)</li>\n<li>default_code: Code utilisé pour les scans dans le module achat-stock</li>\n</ul>\n<p><strong>Patrimoine</strong></p>\n<ul>\n<li>time_per_year: Temps passé par an</li>\n<li>date_end: Temps passé</li>\n<li>site_id: Site</li>\n<li>warranty_date: Date de garantie</li>\n<li>marque: Marque</li>\n<li>serial_number: Numéro de série</li>\n<li>supplier_id: Fournisseur / Prestataire</li>\n<li>parent_id: Equipement Parent</li>\n<li>date_start: Mise en marche</li>\n<li>built_date: Date de fabrication</li>\n<li>state: Statut</li>\n<li>purchase_price: Prix d'achat</li>\n<li>description: Description</li>\n<li>hour_price: Coût horaire</li>\n<li>life_duration: Durée de vie</li>\n<li>km_per_year:</li>\n<li>energy_type: Type d'énergie</li>\n<li>time: Temps passé</li>\n<li>immat: Immatriculation</li>\n<li>custom_fields: Attributs</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\n  {\n    \"type\": [\n      \"text\",\n      \"Chaine de caractères\"\n    ],\n    \"key\": \"Mon attribut\",\n    \"value\": \"Ma valeur\"\n  }\n]\n\n\n</code></pre>\n<p>Sans oubliez son ID pour savoir quel équipement est à modifier.</p>\n","urlObject":{"path":["web","dataset","save"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"54b0b99a-a6c2-4d15-8f61-92e0099f67ad"}],"id":"4c14fb6d-6d9c-4aac-99d3-e2147977a4a0","_postman_id":"4c14fb6d-6d9c-4aac-99d3-e2147977a4a0","description":""},{"name":"Utilisateurs","item":[{"name":"Récupérer l'utilisateur courant","event":[{"listen":"test","script":{"id":"46232b03-8c29-4fcd-8cd6-dba5be5324ba","exec":["var jsonData = JSON.parse(responseBody);","","/*"," * TESTS "," */","","","","","/*"," * LOGIC"," */","","postman.setEnvironmentVariable(\"groupIdCitoyen\", jsonData.result.records[0].id);","","","/*"," * SCENARIO"," */ ","","postman.setEnvironmentVariable(\"lastStepScenarioCitoyen\", \"Get GroupId for CITIZEN\");","postman.setNextRequest(\"000 - Global Scenario\");"],"type":"text/javascript"}}],"id":"8b55a609-b755-4669-bbf9-042843ad5fe8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"}],"body":{"mode":"raw","raw":"{\n   \"jsonrpc\":\"2.0\",\n   \"method\":\"call\",\n   \"params\":{\n      \"fields\": [\"address_id\", \"city\", \"complete_name\", \"email\", \"id\", \"lastname\", \"login\", \"mobile\", \"name\", \"partner_id\", \"phone\", \"street\", \"zip\"],\n      \"id\": [14]\n      \"model\": \"res.users\",\n      \"session_id\": \"{{sessionId}}\"\n   }\n}"},"url":"{{server}}/web/dataset/get","description":"<p>Permet de récupérer les informations de l’utilisateur courant.</p>\n<p><code>\"id\"</code> est une liste d'entiers.</p>\n<p>Remplacer le <code>14</code> de la liste <code>\"id\"</code> par l'id de l'utilisateur récupéré grâce à la requette <code>authenticate</code>.</p>\n","urlObject":{"path":["web","dataset","get"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8b55a609-b755-4669-bbf9-042843ad5fe8"},{"name":"Créer un utilisateur","id":"8ca5a7e6-367e-4ef7-b941-907fc7e5a020","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json, text/plain, */*"},{"key":"Origin","value":"{{server}}"},{"key":"User-Agent","value":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"},{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Referer","value":"{{server}}{{db}}/"},{"key":"Accept-Encoding","value":"gzip, deflate, br"},{"key":"Accept-Language","value":"fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4"},{"key":"Cookie","value":"session0|session_id=%22c0ac689db8d74e1a946e9dd5c9569d42%22; sessionid=253fa12d2d4e9edb9a4002ef510a07b3f6be3c56; session0|session_id=%222f4106031643451db39462431e416790%22; sessionid=3c28849347f4c3472d0accb6726467e674eb25eb"}],"body":{"mode":"raw","raw":"{\n   \"jsonrpc\":\"2.0\",\n   \"method\":\"call\",\n   \"params\":{\n        \"model\": \"res.users\",\n        \"data\": {\n            \"is_citizen\": true,\n            \"login\": \"jdupont\",\n            \"firstname\": \"Jean\",\n            \"lastname\": \"Dupont\",\n            \"email\": \"jdupont@email.com\",\n            \"name\": \"Jean DUPONT\",\n            \"new_password\": \"password\", // Minimum 7 caractères\n            \"new_password_copy\": \"password\", // Même que le champ précédent\n            \"phone\": \"0675876789\", // Peut contenir des espaces (champ texte)\n            \"street\": \"3 rue des Coquelicots\",\n            \"zip\": \"23450\",\n            \"city\": \"Ville-sur-fleuve\"\n        },\n        \"session_id\": \"{{sessionId}}\"\n   }\n}"},"url":"{{server}}/web/dataset/create","description":"<p>Créer un utilisateur</p>\n","urlObject":{"path":["web","dataset","create"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8ca5a7e6-367e-4ef7-b941-907fc7e5a020"}],"id":"974a3e35-be58-48c6-8084-79bbea21001d","_postman_id":"974a3e35-be58-48c6-8084-79bbea21001d","description":""},{"name":"Demandes d'intervention (ou Signalements)","item":[{"name":"Récupérer les demandes d'intervention","id":"e43a8cbe-e1d9-45fe-826e-7ed095702858","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n   \"jsonrpc\":\"2.0\",\n   \"method\":\"call\",\n   \"params\":{\n        \"sort\":\"name ASC\",\n        \"model\":\"openstc.ask\",\n        \"fields\": [\"id\", \"name\", \"geo_point\", \"description\", \"type_id\", \"create_uid\", \"create_date\", \"partner_address\", \"partner_id\", \"service_id\", \"state\"],\n        \"session_id\": \"{{sessionId}}\",\n        \"offset\": false\n   }\n}"},"url":"{{server}}/web/dataset/search_read","description":"<p><em>Exemple de filtre applicable :</em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"params\": {\n        \"domain\":[\n            [\"id\", \"!=\", false],\n            [\"geo_point\", \"!=\", false],\n            [\"partner_address\", \"!=\", false],\n            [\"service_id\", \"!=\", false],\n            [\"partner_id\", \"=\", {{partnerId}}],\n            \"|\",\n            [\"state\", \"not in\", [\"draft\", \"finished\", \"refused\"]],\n            \"&amp;\",\n            [\"state\", \"=\", [\"draft\"]],\n            [\"create_uid\", \"=\", {{uid}}]\n        ]\n    }\n}\n</code></pre>\n","urlObject":{"path":["web","dataset","search_read"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"e43a8cbe-e1d9-45fe-826e-7ed095702858"},{"name":"Création d'une intervention","id":"9638b220-5500-4c17-8ae9-4a5ddceee5a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n   \"jsonrpc\":\"2.0\",\n   \"method\":\"call\",\n   \"params\":{\n      \"data\":{\n        \"service_id\": {{service_id}},\n        \"site1\": {{site_id}},\n        \"is_citizen\": false,\n        \"current_date\": \"2024-05-02 14:17:57\",\n        \"name\": \"Test création d'une intervention simple\",\n        \"description\": \"Création d'une intervention avec données géocodée\",\n        \"people_name\": \"Jhon Doe\",\n        \"geo_point\": \"POINT (-1.573955118656158 46.42716643385081)\"\n        },\n      \"model\":\"openstc.ask\",\n      \"session_id\":\"{{sessionId}}\"\n   }\n}"},"url":"{{server}}/web/dataset/create","urlObject":{"path":["web","dataset","create"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"9638b220-5500-4c17-8ae9-4a5ddceee5a3"}],"id":"49df4402-e813-4835-81c4-09057de5730e","_postman_id":"49df4402-e813-4835-81c4-09057de5730e","description":""},{"name":"authenticate","event":[{"listen":"test","script":{"id":"aa370f4c-b643-4453-ac0c-88785ddac932","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"sessionId\", jsonData.result.session_id);","postman.setEnvironmentVariable(\"uid\", jsonData.result.uid);","tests[\"Authenticate Bdd\"] = jsonData.result.db === 'test_api';","tests[\"Authenticate as admin\"] = jsonData.result.uid === 1;"],"type":"text/javascript"}}],"id":"31ec17ff-32e1-4d45-ba82-a3bf140b0c2c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"id\": \"r1\",\r\n  \"jsonrpc\": \"2.0\",\r\n  \"method\": \"call\",\r\n  \"params\": {\r\n    \"login\": \"{{login}}\",\r\n    \"password\": \"{{password}}\",\r\n    \"db\": \"{{db}}\"\r\n  }\r\n}"},"url":"{{server}}/web/session/authenticate","description":"<p>Première requête à executer pour accéder aux autres ressources.</p>\n<p>Les champs requis sont :</p>\n<ul>\n<li><code>login</code></li>\n<li><code>password</code></li>\n<li><code>db</code> (nom de la base de données)</li>\n</ul>\n<p>Le nom de la base de données est à demander au préalable</p>\n<h3 id=\"réponse\">Réponse</h3>\n<p>Il faut s'assurer qu'un <code>id</code> soit bien de type numérique dans la réponse sans quoi cela voudrait dire que le <code>session_id</code> est invalide. Récupérez le <code>session_id</code> pour le passer dans toutes les autres requêtes.</p>\n","urlObject":{"path":["web","session","authenticate"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"31ec17ff-32e1-4d45-ba82-a3bf140b0c2c"},{"name":"get_session_info","event":[{"listen":"test","script":{"id":"1cbaff23-6307-4761-a2b2-3eb448888118","type":"text/javascript","exec":[""]}}],"id":"c1c43ffc-6107-4767-ab82-5347bdd7d6f4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"id\": \"r1\",\r\n  \"jsonrpc\": \"2.0\",\r\n  \"method\": \"call\",\r\n  \"params\": {\r\n    \"session_id\": \"{{sessionId}}\"\r\n  }\r\n}"},"url":"{{server}}/web/session/get_session_info","description":"<p>Retourne les informations sur la session actuelle.</p>\n","urlObject":{"path":["web","session","get_session_info"],"host":["{{server}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c1c43ffc-6107-4767-ab82-5347bdd7d6f4"}],"event":[{"listen":"prerequest","script":{"id":"420738bf-ee61-4ab1-abbf-dd5841b5c936","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"35a5bf43-1965-43f1-980e-775cc918a1bb","type":"text/javascript","exec":[""]}}]}