# API CEE

DĂ©finitions :

  • CEE : CrĂ©dits d'Economie d'Energie
  • PNCEE : PĂŽle National des CrĂ©dits d'Economie d'Energie

# Présentation

Dans le cadre des fiches standardisées et bonifiées pour le covoiturage courte et longue distance, le Registre de preuve de covoiturage met à disposition des opérateurs de covoiturage, une API (Application Programming Interface, voir qu'est-ce qu'une API ? (opens new window)) permettant à ces derniers de vérifier en partie l'éligibilité d'un dossier de demande CEE (vérification de l'historique et du dédoublonnage) et de récolter des données du RPC nécessaires à la bonne constitution du dossier avant envoi de celui-ci par l'opérateur de covoiturage au PNCEE.

Cette API a pour but de fluidifier et de fiabiliser les demandes de dossier afin d'Ă©viter un maximum de refus de ces derniers par le PNCEE en cas de doublon par exemple.

# Ressources utiles

# Objectifs de l'API

  • vĂ©rification de l'Ă©ligibilitĂ© d'un usager Ă  l'opĂ©ration standardisĂ©e :
    • vĂ©rification de l'historique : invalidation des usagers ayant dĂ©jĂ  bĂ©nĂ©ficiĂ© d'opĂ©rations spĂ©cifiques 3 ans avant la rĂ©alisation du trajet. Comparatif sur la base des donnĂ©es transmises par les opĂ©rateurs
    • vĂ©rification dĂ©doublonnage : invalidation des usagers ayant dĂ©jĂ  bĂ©nĂ©ficiĂ© de l'opĂ©ration standardisĂ©e quelque soit la plateforme de covoiturage utilisĂ©e.
  • confirmation de l'Ă©ligibilitĂ© et mise Ă  disposition d'Ă©lĂ©ments constitutifs du dossier de demande de prime
    • transmission des Ă©lĂ©ments suivants : journey_id; status et token (signature RPC)

# Utilisation de l'API

L'utilisation de l'API nécessite la possession d'un token applicatif comme décrit dans la documentation de l'API de preuve. 2 environnements seront alors accessibles :

  • 1 environnement de prĂ©-production pour la rĂ©alisation des tests

Pré-production : https://api.demo.covoiturage.beta.gouv.fr (opens new window)

  • 1 environnement de production

Production : https://api.covoiturage.beta.gouv.fr (opens new window)

# Fonctionnalité de l'API

Trois fonctionnalités sont proposées :

# 1. Simuler une demande CEE

Possibilité de simuler une demande avant la réalisation du trajet par un usager afin de vérifier partiellement la pré-éligibilité de ce dernier (vérification de l'historique mais pas du dédoublonnége). Seront nécessaire : numéros de permis de conduire, trois premiÚres lettres du nom de famille et 8 premiers chiffres du numéro de téléphone. Cf la documentation /policies/cee/simulate.

# 2. Enregistrer une demande CEE

Vérification complÚte de l'éligibilité de l'usager (historique et dédoublonnage) et enregistrement de la demande CEE dans l'API CEE :

  • Si la conformitĂ© de la demande est valide, alors une rĂ©ponse 201 est retournĂ©e validant l'enregistrement de la demande.
  • Si une demande a dĂ©jĂ  Ă©tĂ© enregistrĂ©e pour l'usager en question, alors une rĂ©ponse 409 est retournĂ©e avec la date Ă  laquelle l'enregistremennt a Ă©tĂ© fait.
  • Si le trajet envoyĂ© n'est pas trouvĂ©, alors une rĂ©ponse 404 est retournĂ©e.

Ce point d'API est consultable Ă  J+7 pour la courte et la longue distance, J Ă©tant la date de rĂ©alisation du trajet. Il est prĂ©vu que ce dĂ©lai soit rĂ©duit Ă  48h aprĂšs la rĂ©alisation du trajet suite au dĂ©ploiement de l’API V3.

# 3. Importer des demandes CEE existantes par lot

Envoi par chaque opĂ©rateur concernĂ© de l'historique des bĂ©nĂ©ficiaires d'opĂ©rations spĂ©cifiques sur les 3 annĂ©es prĂ©cĂ©dents 2023. Pour chaque bĂ©nĂ©ficiaires les informations suivantes seront requises : phone_trunc, last_name_trunc, datetime et journey_type À noter que ce point d'API ne sera peut-ĂȘtre pas mis en place et remplacĂ© par un CSV standardisĂ©.

Afin que l'API soit fonctionnelle, les opérateurs doivent faire remonter l'historique au registre au plus tÎt.

# VĂ©rifier un token

Pour vérifier le token, il faut disposer des informations suivantes :

  • siret de l'opĂ©rateur ;
  • type de trajet (short ou long) ;
  • numĂ©ro de permis ;
  • horodatage au format ISO 8601 UTC (ex: "2022-11-22T08:54:19Z").

Ces informations sont utilisées pour former une chaßne de caractÚres comme suit "siret/type/permis/horadatage", exemple : "13002526500013/short/051227308989/2022-11-22T08:54:19Z". Cette chaßne est hachée via un SHA512 et constitue le message.

Ce message est signĂ© via une clĂ© RSA et peut donc ĂȘtre vĂ©rifiĂ© avec la clĂ© publique du Registre ci aprĂšs :

-----BEGIN PUBLIC KEY-----
MIICIDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEA0m019dxJhmGl9XKCEBxl
fgfKkmsre3KXlAkgan34k1vPyBuc1vz+3IQPuVrnEABghaSG8E7FpZ1DV913bWQ+
0MTnnr801ZeE23wFYFlmpTfoOY7e89rvekLgB4oA1kisc28a5VAkGY+VggzGB9x+
gWd82+LloPbzd1CgR3atNYXjPdQLqtEA1g6Pmj0eUNfSSr5SFUFlzmAhJyK0uUM4
O/PKQFVBDqbrUU4fwhWJum6awmVc9G7OMUneOmu0wCl949U+Ek7VIstZpfmz3+JU
4lMQ+9CU5OHR461WpyfC64cBcS9RbMflqivQGWMKoGgOBchVAB8vMn47ni66T5cV
1SrKOe5IEbb4vEcHA5d1e5VwpCV4aoIRIQNzos/PO9rXOT3osTJV3wylQxIu2+5j
yKDv0/mIKG+0HPt9fORA2TwqYZ0QEaBd8eCpgKHeKTZeAe15y1PKRUZuPKji1DL3
1ceMIJY5iCvjMi5fwzD3rD20a1ttKvYRtqNFzYaVpmnxhnysSPUJp99KDZh6HO9g
vfmzoi/adJ46P5+WEbOnfBO31+yKd6nnX4p7XM1F6vkDw6RXj9dE/SOKtfAljySO
vMq3Z5rUJEjjZzYrnNkooqAXtzhp4Tl/i4t1n2XFS3pqu2vqjtDQ9+cRt6Fv8Wsx
7Ul3uRRHi8Nb63mjjmRmd2MCAQM=
-----END PUBLIC KEY-----

# Technique de dédoublonnage

Le processus de dĂ©doublonnage permet d'identifier les bĂ©nĂ©ficiaires potentiellement en double dans la base de donnĂ©es. Il s'appuie sur plusieurs critĂšres pour comparer les enregistrements et dĂ©terminer s'ils correspondent Ă  la mĂȘme personne.

L'algorithme de dédoublonnage fonctionne de la maniÚre suivante. Si l'un des champs suivants est similaire avec un enregistrement existant, la tentative d'enregistrement est considéré comme un doublon.

  • Permis de conduire (driver_license): Le numĂ©ro de permis de conduire est un identifiant unique qui permet de dĂ©doublonner les bĂ©nĂ©ficiaires avec certitude.
  • ClĂ© d'identitĂ© (identity_key): Si la clĂ© d'identitĂ© est dĂ©finie pour un bĂ©nĂ©ficiaire, elle est utilisĂ©e pour le dĂ©doublonner de maniĂšre unique.
  • Nom tronquĂ© et numĂ©ro de tĂ©lĂ©phone tronquĂ© (phone_trunc & last_name_trunc): Cette combinaison permet de dĂ©tecter les bĂ©nĂ©ficiaires dont les noms et les numĂ©ros de tĂ©lĂ©phone sont similaires, mĂȘme si l'orthographe exacte peut varier. Cette combinaison n'est utilisĂ©e que sur les enregistrements passĂ©s qui n'ont pas de clĂ© d'identitĂ©.

Cette correspondance est faite de maniÚre distincte sur la courte et la longue distance. Elle est également limitée dans le temps à la date de l'enregistrement qui a eu une correspondance en fonction de la nature de l'opération (spécifique ou standardisée).

# Des questions ?

Contactez technique [chez] covoiturage.beta.gouv.fr

# Schema OpenAPI