Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Api Rial #656

Merged
merged 2 commits into from
Jan 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions app/models/authorization_request/api_rial.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
class AuthorizationRequest::APIRial < AuthorizationRequest
include AuthorizationExtensions::BasicInfos
include AuthorizationExtensions::PersonalData
include AuthorizationExtensions::CadreJuridique
include AuthorizationExtensions::GDPRContacts
include AuthorizationExtensions::OperationalAcceptance
include AuthorizationExtensions::SafetyCertification
include AuthorizationExtensions::Volumetrie

VOLUMETRIES = {
'50 appels / minute': 50,
'200 appels / minute': 200,
'1000 appels / minute': 1000,
}.freeze

add_document :maquette_projet, content_type: ['application/pdf'], size: { less_than: 10.megabytes }

add_attributes :date_prevue_mise_en_production,
:volumetrie_approximative

contact :contact_technique, validation_condition: ->(record) { record.need_complete_validation?(:contacts) }
end
15 changes: 15 additions & 0 deletions app/models/authorization_request/api_rial_sandbox.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
class AuthorizationRequest::APIRialSandbox < AuthorizationRequest
include AuthorizationExtensions::BasicInfos
include AuthorizationExtensions::PersonalData
include AuthorizationExtensions::CadreJuridique
include AuthorizationExtensions::GDPRContacts

add_document :maquette_projet, content_type: ['application/pdf'], size: { less_than: 10.megabytes }

add_attributes :date_prevue_mise_en_production,
:volumetrie_approximative

contact :contact_technique, validation_condition: ->(record) { record.need_complete_validation?(:contacts) }

add_checkbox :dpd_homologation_checkbox
end
44 changes: 44 additions & 0 deletions config/authorization_definitions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1076,3 +1076,47 @@ shared:
- name: safety_certification
- name: volumetrie

api_rial_sandbox:
name: API Rial (Répertoire Inter-Administratif des Locaux)
description: Raccordez-vous directement à la DGFiP pour récupérer les données des locaux connus par l’administration fiscale (caractéristiques, surface, adresse, identifiant cadastral, lots de copropriété).
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/les-api/api_rial"
cgu_link: "/cgus/dgfip/cgu_bas_api_rial_v2024-11.pdf"
# FEEDME
access_link: "https://api-rial.gouv.fr/tokens/%<external_provider_id>"
public: true
stage:
type: sandbox
next:
id: api_rial
form_id: api-rial-production
blocks:
- name: basic_infos
- name: personal_data
- name: legal
- name: contacts

api_rial:
name: API Rial
description: Raccordez-vous directement à la DGFiP pour récupérer les données des locaux connus par l’administration fiscale (caractéristiques, surface, adresse, identifiant cadastral, lots de copropriété)
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/les-api/api_rial"
cgu_link: "/cgus/dgfip/cgu_prod_api_rial_v2024-11.pdf"
# FEEDME
access_link: "https://api-rial.gouv.fr/tokens/%<external_provider_id>"
public: false
stage:
type: production
previouses:
- id: api_rial_sandbox
form_id: api-rial-sandbox
blocks:
- name: basic_infos
- name: personal_data
- name: legal
- name: contacts
- name: operational_acceptance
- name: safety_certification
- name: volumetrie
81 changes: 81 additions & 0 deletions config/authorization_request_forms/api_rial.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
api-rial-sandbox:
description: FEED ME
introduction: |
<strong>Mode de fonctionnement de l’API Rial</strong>
</br>
L’API restitue toutes les données sans restrictions. Vous pouvez consulter notre documentation qui vous permettra de comprendre le fonctionnement de notre API ainsi que les données que nous proposons.
</br>
<a href="documentation_api_rial_v2024_11-1.pdf", target="_blank">Voir la documentation de l’API Rial</a>
</br>
</br>

Notre équipe d’instruction étudiera votre demande en bac à sable, lorsqu’elle sera validée vous pourrez compléter la suite de votre demande.

<div class="intro-stepper">
<div class="step current">
<div class="step-number">1.</div>
<div class="step-content">
<h3>Le bac à sable</h3>
<p class="fr-text--xs">Dans un premier temps, une demande d’habilitation au <strong>bac à sable</strong> de l'API Rial</p>
</div>
</div>

<div class="step pending">
<div class="step-number">2.</div>
<div class="step-content">
<h3>La production</h3>
<p class="fr-text--xs">Dans un second temps, une demande d’habilitation à la <strong>production</strong> de l'API Rial</p>
</div>
</div>

<div class="step pending">
<div class="step-number">3.</div>
<div class="step-content">
<h3>Votre service est ouvert !</h3>
<p class="fr-text--xs">Une fois vos habilitations validées, vous pouvez ouvrir votre service !</p>
</div>
</div>
</div>
authorization_request: APIRialSandbox
steps: &api_rial_steps
- name: basic_infos
- name: personal_data
- name: legal
- name: contacts

api-rial-production:
description: FEED ME
introduction: |
Votre demande d'accès au bac à sable a été validée, vous pouvez à présent poursuivre votre demande en demandant les accès à la production.

<div class="intro-stepper">
<div class="step completed">
<div class="step-number">1.</div>
<div class="step-content">
<h3>Le bac à sable</h3>
<p class="fr-text--xs">Dans un premier temps, une demande d’habilitation au <strong>bac à sable</strong> de l'API Rial</p>
</div>
</div>

<div class="step current">
<div class="step-number">2.</div>
<div class="step-content">
<h3>La production</h3>
<p class="fr-text--xs">Dans un second temps, une demande d’habilitation à la <strong>production</strong> de l'API Rial</p>
</div>
</div>

<div class="step pending">
<div class="step-number">3.</div>
<div class="step-content">
<h3>Votre service est ouvert !</h3>
<p class="fr-text--xs">Une fois vos habilitations validées, vous pouvez ouvrir votre service !</p>
</div>
</div>
</div>
authorization_request: APIRial
static_blocks: *api_rial_steps
steps:
- name: operational_acceptance
- name: safety_certification
- name: volumetrie
51 changes: 51 additions & 0 deletions features/habilitations/api_rial.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# language: fr

Fonctionnalité: Soumission d'une demande d'habilitation API Rial
Contexte:
Sachant que je suis un demandeur
Et que je me connecte

Scénario: Je soumets une demande d'habilitation valide à l'étape Bac à sable
* je démarre une nouvelle demande d'habilitation "API Rial (Répertoire Inter-Administratif des Locaux)" à l'étape "Bac à sable"
* je renseigne les infos de bases du projet
* je clique sur "Suivant"

* je renseigne les infos concernant les données personnelles
* je clique sur "Suivant"

* je renseigne le cadre légal
* je clique sur "Suivant"

* je renseigne les informations des contacts RGPD
* je renseigne les informations du contact technique
* je clique sur "Suivant"

* j'adhère aux conditions générales

* je coche "J’atteste que mon organisation devra déclarer à la DGFiP l’accomplissement des formalités en matière de protection des données à caractère personnel et qu’elle veillera à procéder à l’homologation de sécurité de son projet."

* je clique sur "Soumettre la demande d'habilitation"

Alors il y a un message de succès contenant "soumise avec succès"
Et je suis sur la page "Demandes et habilitations"

Scénario: Je soumets une demande d'habilitation valide à l'étape Production
Quand j'ai 1 demande d'habilitation "API Rial (Répertoire Inter-Administratif des Locaux)" à l'étape "Bac à sable" validée
Et que je me rends sur mon tableau de bord
Et je clique sur "Démarrer ma demande d’habilitation en production"
Et que je clique sur "Débuter ma demande"

* je renseigne la recette fonctionnelle
* je clique sur "Suivant"

* je renseigne l'homologation de sécurité
* je clique sur "Suivant"

* je renseigne la volumétrie
* je clique sur "Suivant"

* j'adhère aux conditions générales
* je clique sur "Soumettre la demande d'habilitation"

Alors il y a un message de succès contenant "soumise avec succès"
Et je suis sur la page "Demandes et habilitations"
Binary file added public/cgus/dgfip/cgu_bas_api_rial_v2024-11.pdf
Binary file not shown.
Binary file added public/cgus/dgfip/cgu_prod_api_rial_v2024-11.pdf
Binary file not shown.
Binary file added public/doc/documentation_api_rial_v2024_11-1.pdf
Binary file not shown.
25 changes: 25 additions & 0 deletions spec/factories/authorization_requests.rb
Original file line number Diff line number Diff line change
Expand Up @@ -890,5 +890,30 @@
with_operational_acceptance
with_volumetrie
end

trait :api_rial_sandbox do
type { 'AuthorizationRequest::APIRialSandbox' }

form_uid { 'api-rial-sandbox' }

with_basic_infos
with_personal_data
with_cadre_juridique
end

trait :api_rial_production do
type { 'AuthorizationRequest::APIRial' }

form_uid { 'api-rial-production' }

has_previous_authorization_validated

with_basic_infos
with_personal_data
with_cadre_juridique
with_safety_certification
with_operational_acceptance
with_volumetrie
end
end
end
Loading