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

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 |

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 :
Ajout par parcelles :
Paramètres POST
parcelles[] : array
commune : string (facultatif)
Exemple :

Ajout par cercle :
Paramètres POST
longitude : float
latitude : float
rayon : integer
srid : integer (facultatif, valeur par défaut 2154)
Exemple :

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 :
id_source : string
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

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 :
fields[] : array
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 :

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": []
}