Documentation technique

Introduction

Cette partie de la documentation décrit la liste des URL des web services mis en place par Veremes pour l'intégration du connecteur OpenAds avec la plateforme vMap.

Connexion

Un token public est fourni : il permet d'obtenir un token de connexion valide pour utiliser l'ensemble des web services.

Authentification

L'appel de l'URL API_URL_DU_CLIENT/v2/vitis/privatetoken en GET, avec le token public dans l'en-tête Authorization, permet de récupérer un token de connexion valide.

Données utiles dans la réponse en JSON :

  • status : valeur 1 confirmant que la requête a réussi.

  • data.token : token de connexion permettant d'exécuter les autres requêtes ; sa durée de validité est configurable via la propriété token_ttl (10 h par défaut).

Exemple de réponse JSON

connexion

Les méthodes disponibles

Voici la liste des web services disponibles pour interagir avec le module OpenAds :

Méthode

URL

GET

API_URL_DU_CLIENT/v2/openads/parcelles/{ids}

POST

API_URL_DU_CLIENT/v2/openads/dossiers/{id}/emprise

POST

API_URL_DU_CLIENT/v2/openads/dossiers/replicate

GET

API_URL_DU_CLIENT/v2/openads/dossiers/{id}/centroide

POST

API_URL_DU_CLIENT/v2/openads/dossiers/{id}/contraintes

Liste des routes

1. Méthode VERIF_PARCELLE

  • URL : API_URL_DU_CLIENT/v2/openads/parcelles/[ID_PARCELLES] (GET).

  • Fonction : vérifie si les parcelles données existent dans vMap et récupère leur adresse.

Paramètres :

  • En-tête : Authorization (token de connexion)

  • Paramètre : [ID_PARCELLES] (liste des identifiants de parcelle, séparés par un point-virgule)

Différents retours possibles :

  • Retour en cas de succès (toutes les parcelles existent) :

{
  "parcelles": [
    {
      "existe": "true",
      "parcelle": "66366000AB0153",
      "adresse": {
        "numero_voie": "",
        "nom_voie": "COUME LONGUE",
        "arrondissement": "366",
        "type_voie": null
      },
      "point": {
        "x": "711591.244118547",
        "Y": "6156901.416989371",
        "srid": 2154
      }
    },
    {
      "existe": "true",
      "parcelle": "66366000AB0172",
      "adresse": {
        "numero_voie": "",
        "nom_voie": "COUME LONGUE",
        "arrondissement": "366",
        "type_voie": null
      },
      "point": {
        "x": "711558.0107707689",
        "Y": "6156875.225417752",
        "srid": 2154
      }
    },
...
  ]
}
  • Retour si une parcelle n'existe pas :

{
  "parcelles": [
    {
      "existe": "true",
      "parcelle": "66366000AB0153",
      "adresse": {
        "numero_voie": "",
        "nom_voie": "COUME LONGUE",
        "arrondissement": "366",
        "type_voie": null
      },
      "point": {
        "x": "711591.244118547",
        "Y": "6156901.416989371",
        "srid": 2154
      }
    },
    {
      "existe": "false",
      "parcelle": "66366000ERR0172"
    },
...
  ]
}

2. Méthode CALCUL_EMPRISE

  • URL : API_URL_DU_CLIENT/v2/openads/dossiers/[ID_DOSSIER]/emprise (POST)

  • Fonction : création ou modification du dossier et de son emprise à partir de parcelles ou d'un cercle.

Paramètres :

  • En-tête : Authorization (token de connexion)

  • Paramètre : [ID_DOSSIER] (numéro de dossier)

Deux modes d'ajout :

  1. Ajout par parcelles :

    1. Paramètres POST

      • parcelles[] : array

      • commune : string (facultatif)

    2. Exemple : Exemple du calcul d'emprise par parcelles

  2. Ajout par cercle :

    1. Paramètres POST

      • longitude : float

      • latitude : float

      • rayon : integer

      • srid : integer (facultatif, valeur par défaut 2154)

    2. Exemple : Exemple du calcul d'emprise par cercle

Différents retours possibles :

  • Retour en cas de succès :

{
  "emprise": {
    "statut_calcul_emprise": true
  }
}
  • Retour en cas d'échec du calcul, lorsqu'un dossier sans géométrie a malgré tout été créé :

{
  "emprise": {
    "statut_calcul_emprise": false
  },
  "action": "Dossier créé sans géométrie"
}
  • Retour en cas d'échec :

{
  "emprise": {
    "statut_calcul_emprise": false
  }
}

3. Méthode REPLICATE_GEOLOCALISATION

  • URL : API_URL_DU_CLIENT/v2/openads/dossiers/replicate (POST)

  • Fonction : duplication d'une géométrie existante pour créer celle d'un autre dossier.

Paramètres :

  • En-tête : Authorization (token de connexion)

  • Paramètres :

    1. id_source : string

    2. id_dest : string

Différents retours possibles :

  • Retour en cas de succès :

{
  "emprise": {
    "statut_calcul_emprise": true
  }
}
  • Retour en cas d'erreur : Erreur 500 Cas d'erreur méthode replicate geolocalisation

4. Méthode CALCUL_CENTROIDE

  • URL : API_URL_DU_CLIENT/v2/openads/dossiers/[ID_DOSSIER]/centroide (GET)

  • Fonction : calcul du centroïde d'un dossier.

Paramètres :

  • En-tête : Authorization (token de connexion)

  • Paramètre : [ID_DOSSIER] (numéro de dossier)

Différents retours possibles :

  • Retour si l'emprise existe :

{
  "centroide": {
    "statut_calcul_centroide": true,
    "surface_en_m2": 702.33,
    "x": "711553.487020497",
    "y": "6156516.38280328",
    "srid": 2154
  }
}
  • Retour si l'emprise n'existe pas :

{
  "centroide": {
    "statut_calcul_centroide": false
  }
}

5. Méthode RECUP_CONTRAINTE_DOSSIER

  • URL : API_URL_DU_CLIENT/v2/openads/dossiers/[ID_DOSSIER]/contraintes (POST)

  • Fonction : détection des couches en intersection avec le dossier.

Paramètres :

  • En-tête : Authorization (token de connexion)

  • Paramètre d'URL : [ID_DOSSIER] (numéro de dossier)

  • Paramètres POST :

    1. fields[] : array

    2. layer_id : integer

fields doit contenir les champs de la base de données à récupérer. Il peut en outre contenir pourcentage_intersect (polygone) et/ou metre_intersect (ligne) ; si les deux sont renseignés, une seule valeur est retournée, en fonction du type de géométrie.

Exemple :

Exemple récupération des contraintes

Différents retours possibles :

  • Retour si des contraintes sont trouvées :

{
  "contraintes": [
    {
      "contrainte": "Zone inondable",
      "groupe_contrainte": "Risques naturels",
      "libelle": "PPRI - Plan de Prévention des Risques d'Inondation",
      "pourcentage_intersect": "45"
    },
    {
      "contrainte": "Monument historique",
      "groupe_contrainte": "Patrimoine",
      "libelle": "Périmètre de protection - Église Saint-Martin",
      "pourcentage_intersect": "12"
    },
    {
      "contrainte": "Servitude d'utilité publique",
      "groupe_contrainte": "Réseaux",
      "libelle": "Canalisation de gaz haute pression",
      "pourcentage_intersect": "8"
    }
  ]
}
  • Retour si aucune contrainte n'est trouvée :

{
  "contraintes": []
}