API - Communication outil Tiers
Cette documentation détaille les requêtes HTTP qui permettront à l'utilisateur d'interagir avec Pica pour le traitement des fiches de collisions et des observations, fournissant ainsi une interface entre le serveur Web et les programmes tiers.
Endpoints Disponibles :
Chiffrement du token
Chacun des endpoints de notre API exige l'utilisation d'un token pour y accéder. Dans un souci de renforcement de la sécurité, il est impératif que la valeur de ce token soit soumise à un processus de chiffrement, employant l'algorithme AES en mode ECB, et présentée au format hexadécimal.
L'accès à la clé de chiffrement requise peut être obtenu en faisant une demande auprès de l'administrateur Pica, qui sera en mesure de la fournir.
Vous trouverez ci-dessous un outil de chiffrement à votre disposition pour sécuriser votre token, ce qui vous permettra de mener des tests avec les différentes fonctionnalités offertes par les endpoints de notre API.
get En ligne
Description
URL
- /picaweb/api/get
Method
- GET
Params
- token
- STRING
- Required : true
- Token de l'utilisateur. Le token devra être chiffré en utilisant un algorithme de chiffrement AES, en mode ECB et au format hexadécimal.
- objectType
- STRING
- Required : true
- Le nom du type d'objet que l'on souhaite récupérer. Valeurs possibles : { "Animal", "Aerodrome", "Aeronef", "Helicoptere", "Moteur", "Eclairement", "PhaseVol", "VmcImc", "Nuage", "Precipitation", "NombreAnimaux", "Taille", "Dommage", "Effet", "Exploitant"}
- Exemple: Animal
- id
- STRING
- Required : false
- L'ID de l'objet que l'on souhaite récupérer (optionnel, si l'ID n'est pas renseigné, alors il sera renvoyé une liste de tous les objets de type objectType)
- Exemple: 5
Success response
- Code : 200
- Content : [{objectAsJson}] ou [{object1AsJson}, {object2AsJson}, ...]
Error responses
- Code : 500 (Server error)
- Content : {"error" : "Server error. Please try again."}
- Cas : Catch exception
- Code : 400 (Bad request)
- Content : {"error": "Erreur 400 (Bad request) - {Description de l'erreur} "}
- Cas : Paramètre manquant, ou le paramètre n'est pas reconnu.
- Code : 457 (Bad request)
- Content : {"error": "Erreur 457 (Token Invalid) - Token '{token}' invalide ou expiré."}
- Cas : Le paramètre objectType ne fait pas partie de la liste des valeurs possibles.
- Code : 404 (Not found)
- Content : {"error":"Erreur 404 (Not Found) - {objectType} avec l'id '{id}' est introuvable."}
- Cas : L'objet qui a pour l'id celui qui a été demandé n'a pas été trouvé.
- Code : 403 (Forbidden Exception)
- Content : {"error": "Erreur 403 (Forbidden Exception) - {objetType} non autorisé pour ce token"}
- Cas : L'objet qui a pour l'id celui qui a été demandé n'est pas autorisé avec le token
- Code : 403 (Forbidden Exception)
- Content : {"error": "Erreur 403 (Forbidden Exception) - Token sans {objetType} associé"}
- Cas : Aucun objetType n'a été autorisé avec le token
Testing
Response
getRiskLevel En ligne
Description
URL
- /picaweb/api/getRiskLevel
Method
- GET
Params
- token
- STRING
- Required : true
- Token de l'utilisateur. Le token devra être chiffré en utilisant un algorithme de chiffrement AES, en mode ECB et au format hexadécimal..
- aerodrome
- STRING
- Required : true
- Le nom de l'aérodrome. L'aérodrome doit être autorisé dans le token au préalable.
- Exemple: TOULOUSE-BLAGNAC
- groupeTraficId
- STRING
- Required : false
- L'id du groupe de trafic sur lequel on souhaite récupérer les niveaux de risque. Cette clé est optionnelle.
- Exemple: 1
- dateDeFin
- STRING
- Required : false
- Date de fin de prise en compte des observation et collisions. Par défaut la date du jour. Le format attendu est : dd/mm/yyyy.
- Exemple: 06/09/2023
Success response
- Code : 200
- Content : Un JSON avec la liste des niveau de risque par espèce.
Error responses
- Code : 500 (Server error)
- Content : {"error" : "Server error. Please try again."}
- Cas : Catch exception
- Code : 400 (Bad request)
- Content : {"error": "Erreur 400 (Bad request) - {Description de l'erreur} "}
- Cas : Paramètre manquant, ou le paramètre n'est pas reconnu.
- Code : 457 (Bad request)
- Content : {"error": "Erreur 457 (Token Invalid) - Token '{token}' invalide ou expiré."}
- Cas : Le paramètre objectType ne fait pas partie de la liste des valeurs possibles.
- Code : 404 (Not found)
- Content : {"error":"Erreur 404 (Not Found) - {objectType} avec l'id '{id}' est introuvable."}
- Cas : L'objet qui a pour l'id celui qui a été demandé n'a pas été trouvé.
- Code : 403 (Forbidden Exception)
- Content : {"error": "Erreur 403 (Forbidden Exception) - {objetType} non autorisé pour ce token"}
- Cas : L'objet qui a pour l'id celui qui a été demandé n'est pas autorisé avec le token
Testing
Response
createCollisionSheet En ligne
Description
URL
- /picaweb/api/createCollisionSheet
Method
- POST
Body (JSON)
- token
- STRING
- Required : true
- Token de l'utilisateur. Le token devra être chiffré en utilisant un algorithme de chiffrement AES, en mode ECB et au format hexadécimal.
- data
- STRING
- Required : true
- Les données de la fiche de collision. Les clefs attendues sont décrites en dessous.
- test
- STRING
- Required : false
- Le paramètre 'test' ne peut prendre que 'true' comme valeur. Sinon, veuillez ne pas renseigner cette clé. Si test='true' est bien renseigné, l'appel retournera ID de fiche de collision = 1, ou relèvera les erreurs comme en situation réelle, mais la fiche de collision ne sera pas enregistrée, ni modifiée.
data
- picaId
- STRING
- Required : false
- L'id d'une fiche déjà créée. Cette clef est optionnelle et permet à un utilisateur de modifier une fiche qu'il aurait déjà créée. Si picaId n'est pas présent, une nouvelle fiche sera créée. Si l'administrateur du site web a déjà validé la fiche, elle ne sera plus modifiable via ce procédé.
- Exemple: 5080
- suspicionDeCollision
- STRING
- Required : false
- Si la fiche témoigne d'une suspicion de collision ou non. (true ou false)
- Exemple: true
- FODFaune
- STRING
- Required : false
- Si l'oiseaux a été trouvé mort ou non. (true ou false)
- Exemple: true
- aerodrome
- STRING
- Required : true
- Le nom de l'aérodrome. L'aérodrome doit être autorisé dans le token au préalable. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: TOULOUSE-BLAGNAC
- dateUTC
- STRING
- Required : true
- Date de la collision en UTC. Le format attendu est : dd/mm/yyyy.
- Exemple: 06/09/2023
- heureUTC
- STRING
- Required : false
- Heure de la collision en UTC. Le format attendu est : HH:MM.
- Exemple: 12:30
- eclairement
- STRING
- Required : false
- Le label de l'éclairement. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: J
- piste
- STRING (max 255 char)
- Required : false
- La piste où a eu lieu la collision.
- Exemple: Piste A
- vitesse
- STRING
- Required : false
- La vitesse de collision. Doit être un INTEGER.
- Exemple: 200
- piloteAverti
- STRING
- Required : false
- Si le pilote est averti ou non. (true ou false)
- Exemple: true
- immat
- STRING (max 255 char)
- Required : false
- L'immatriculation de l'aéronef.
- Exemple: VOE27EX
- exploitantId
- STRING
- Required : false
- ServerId de l'exploitant aérien. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: 1
- aeronef
- STRING
- Required : false
- Le code OACI de l'aéronef. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: A109
- moteur
- STRING
- Required : false
- La désignations du moteur. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: 4E20A
- helicoptere
- STRING
- Required : false
- Le label de l'hélicoptère. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: P
- altitude
- STRING
- Required : false
- L'altitude de collision. Doit être un INTEGER.
- Exemple: 200
- hauteur
- STRING
- Required : false
- La hauteur de collision. Doit être un INTEGER.
- Exemple: 200
- phaseVol
- STRING
- Required : false
- Le label de la phase de vol. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: INC
- animal
- STRING
- Required : true
- Le nom commun de l'animal. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: OISEAU_NON_IDENTIFIE
- taille
- STRING
- Required : false
- La taille de l'animal. On attend ici le label d'un objet Taille. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: G
- nombreAnimauxApercus
- STRING
- Required : false
- Le nombre d'animaux aperçus. On attend ici le label d'un objet NombreAnimaux. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: A
- nombreAnimauxTouches
- STRING
- Required : false
- Le nombre d'animaux touchés. On attend ici le label d'un objet NombreAnimaux. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: A
- radome
- STRING
- Required : false
- Présence de dégâts sur le radôme. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- parebrise
- STRING
- Required : false
- Présence de dégâts sur le pare-brise. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- moteur1
- STRING
- Required : false
- Présence de dégâts sur le moteur1. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- moteur2
- STRING
- Required : false
- Présence de dégâts sur le moteur2. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- moteur3
- STRING
- Required : false
- Présence de dégâts sur le moteur3. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- moteur4
- STRING
- Required : false
- Présence de dégâts sur le moteur4. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- nez
- STRING
- Required : false
- Présence de dégâts sur le nez à l'exception du radôme et du pare-brise. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- helice
- STRING
- Required : false
- Présence de dégâts sur l'hélice. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- aile
- STRING
- Required : false
- Présence de dégâts sur les ailes. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- fuselage
- STRING
- Required : false
- Présence de dégâts sur le fuselage. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- train
- STRING
- Required : false
- Présence de dégâts sur le train d'atterrissage. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- empennage
- STRING
- Required : false
- Présence de dégâts sur l'empennage. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- feux
- STRING
- Required : false
- Présence de dégâts sur les phares. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- rotor
- STRING
- Required : false
- Présence de dégâts sur le rotor. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- otherAvionPart
- STRING
- Required : false
- Présence de dégâts sur une autre partie de l'avion. On attend ici le label d'un objet Dommage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: E
- effets
- STRING
- Required : false
- Effets de la collision. On attend ici les labels des objet Effet, séparés par une virgules. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: DEC.INT,ATTPRUD
- feuxEclats
- STRING
- Required : false
- Si les feux à éclats étaient allumés. (true ou false)
- Exemple: true
- pharesAtterrissage
- STRING
- Required : false
- Si les phares d'atterrissage étaient allumés. (true ou false)
- Exemple: true
- conditions
- STRING
- Required : false
- Les conditions météorologiques VMC-IMC. On attend ici le nom d'un objet VmcImc. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: V
- nuage
- STRING
- Required : false
- La présence ou non de nuages. On attend ici le label d'un objet Nuage. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: COUV
- precipitation
- STRING
- Required : false
- Les conditions météorologiques. On attend ici le label d'un objet Precipitation. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: Pluie
- cout
- STRING
- Required : false
- Le coût de la collision. Doit être un FLOAT.
- Exemple: 2000.0
- observations
- STRING
- Required : false
- Observations supplémentaires.
- Exemple: Aucune
- aubesFansHS
- STRING
- Required : false
- Le nombre de aubes HS. Doit être un INTEGER.
- Exemple: 2
- retard
- STRING
- Required : false
- Si le vol a pris du retard ou non. (true ou false)
- Exemple: true
- serieux
- STRING
- Required : false
- Si la collision est sérieuse ou non. (true ou false)
- Exemple: true
- identite
- STRING (max 255 char)
- Required : false
- Informations sur l'identité de la personne.
- Exemple: Bleu122 Operateur
Success response
- Code : 200
- Content : {"collisionSheetId": X} X étant l'ID de la fiche de collision créée.
Error responses
- Code : 500 (Server error)
- Content : {"error" : "Server error. Please try again."}
- Cas : Catch exception
- Code : 400 (Bad request)
- Content : {"error": "Erreur 400 (Bad request) - {Description de l'erreur} "}
- Cas : Paramètre manquant, ou le paramètre n'est pas reconnu.
- Code : 457 (Bad request)
- Content : {"error": "Erreur 457 (Token Invalid) - Token '{token}' invalide ou expiré."}
- Cas : Le paramètre objectType ne fait pas partie de la liste des valeurs possibles.
- Code : 404 (Not found)
- Content : {"error":"Erreur 404 (Not Found) - L'objet avec le descriptif '{descriptif}' est introuvable."}
- Cas : L'objet qui a pour descriptif celui qui a été demandé n'a pas été trouvé.
- Code : 403 (Forbidden Exception)
- Content : {"error": "Erreur 403 (Forbidden Exception) - {objetType} non autorisé pour ce token"}
- Cas : L'objet qui a pour l'id celui qui a été demandé n'est pas autorisé avec le token
Testing
Response
createObservation En ligne
Description
URL
- /picaweb/api/createObservation
Method
- POST
Body (JSON)
- token
- STRING
- Required : true
- Token de l'utilisateur. Le token devra être chiffré en utilisant un algorithme de chiffrement AES, en mode ECB et au format hexadécimal.
- data
- STRING
- Required : true
- Les données de l'observation'. Les clefs attendues sont décrites en dessous.
- test
- STRING
- Required : false
- Le paramètre 'test' ne peut prendre que 'true' comme valeur. Sinon, veuillez ne pas renseigner cette clé. Si test='true' est bien renseigné, l'appel retournera ID de observation = 1, ou relèvera les erreurs comme en situation réelle, mais l'observation ne sera pas enregistrée, ni modifiée.
data
- picaId
- STRING
- Required : false
- L'id d'une observation déjà créée. Cette clef est optionnelle et permet à un utilisateur de modifier une observation qu'il aurait déjà créée. Si picaId n'est pas présent, une nouvelle observation sera créée.
- Exemple: 5080
- aerodrome
- STRING
- Required : true
- Le nom de l'aérodrome. L'aérodrome doit être autorisé dans le token au préalable. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: TOULOUSE-BLAGNAC
- nbIndividus
- STRING
- Required : true
- Le nombre d'individu observés. Doit être un INTEGER > 0.
- Exemple: 200
- animal
- STRING
- Required : true
- Le nom commun de l'animal. Les valeurs peuvent être récupérées via l'endpoint get.
- Exemple: OISEAU_NON_IDENTIFIE
- dateUTC
- STRING
- Required : true
- Date de la collision en UTC. Le format attendu est : dd/mm/yyyy.
- Exemple: 06/09/2023
Success response
- Code : 200
- Content : {"observationId": X} X étant l'ID de l'objet observation créé.
Error responses
- Code : 500 (Server error)
- Content : {"error" : "Server error. Please try again."}
- Cas : Catch exception
- Code : 400 (Bad request)
- Content : {"error": "Erreur 400 (Bad request) - {Description de l'erreur} "}
- Cas : Paramètre manquant, ou le paramètre n'est pas reconnu.
- Code : 457 (Bad request)
- Content : {"error": "Erreur 457 (Token Invalid) - Token '{token}' invalide ou expiré."}
- Cas : Le paramètre objectType ne fait pas partie de la liste des valeurs possibles.
- Code : 404 (Not found)
- Content : {"error":"Erreur 404 (Not Found) - L'objet avec le descriptif '{descriptif}' est introuvable."}
- Cas : L'objet qui a pour descriptif celui qui a été demandé n'a pas été trouvé.
- Code : 403 (Forbidden Exception)
- Content : {"error": "Erreur 403 (Forbidden Exception) - {objetType} non autorisé pour ce token"}
- Cas : L'objet qui a pour l'id celui qui a été demandé n'est pas autorisé avec le token
2019 PICA. Tous droits réservés.