---
# System prepended metadata

title: Design de l'API Paneliste

---

<div style="text-align: center"> <h1>Design de l'API Paneliste</h1> </div>

Veuillez consulter les liens ci-dessous afin de suivre plus simplement la reflexion faite autour du design de l'API via les différents graphiques que vous trouverez..

#### Documents de référence
:::info
:pushpin: [SFD-Panéliste-documentation](https://collab.oph74.fr/extranet%20et%20application%20locataires/_layouts/15/WopiFrame.aspx?sourcedoc={C88297D6-6556-4546-96FB-54549E5ED41E}&file=SFD-Pan%C3%A9liste-documentation.docx&action=default)

:pushpin: [redmine #8094 - [SPHINX] Enquete sphinx via un PANEL utilisateur](http://redmine/issues/8094)

:pushpin: [redmine #8725 - [PROFIL] Refonte et ajout de préférence : PANELISTE](http://redmine/issues/8725)

:pushpin: [Mockup - page profil web](https://app.moqups.com/uTAKZFHMIA/edit/page/aaeb2c6fd) 
:::

:::warning
:warning: Pour toutes les actions suivantes, le client devra-t-être enregistré et connecté :warning:
:::



## 1. inscription paneliste
:::info
Question - Suis-je éligible priviloc ?
:::
    - NON
        - aucun accès a l'inscription "panelistes"
    
    - OUI
        - presence du bouton "Devenir paneliste" redirige vers le formulaire d'inscription


:::success
**GET** /v0/contract/isPrivilocEligible($contract, $version)
:::

:::danger
Retourne un booléen | int
:::

---

:::info
Action - Je m'inscris au paneliste depuis l'application
:::
    - J'ai un compte priviloc
        - renouvel de un an de priviloc
        - ajoute la gratuité
        - ajoute l'utilisateur a la base paneliste
        - envoie un mail de validation de l'adhésion
        
    - je n'ai pas de compte priviloc
        - envoie d'une demande d'inscription
        - envoie d'un mail pour faire patienter le locataire en l'informant de la durée

#### Avec compte priviloc
:::success
**POST** /v0/sphinx/renew/{contract}
- ajoute un an d'adhesion priviloc
:::
:::success
**POST** /v0/sphinx/makeFree/{contract}
- déduction du prix de l'abonnement priviloc
:::
:::success
**POST** /v0/sphinx/addPaneliste/{tiers}
- ajoute un utilisateur a la base de donnée "paneliste"
:::
:::success
**GET** /v0/sphinx/send($type, $tiers, $params)
- envoie un mail de 'type' confirmation à l'addresse mail du 'tiers' accompagnée des 'params' d'inscription
:::
****
#### Sans compte priviloc
:::success
**POST** /v0/myappiloc/priviloc
- inscrits le locataire au 'club priviloc'
:::
:::warning
- applique les méthodes avec compte priviloc
:::
#### Dans les deux cas
:::danger
Envoie un mail de confirmation d'inscription au locataire
:::
***
:::info
Action - Je m'inscris au paneliste hors application (mail, tel, courrier, présentiel)
:::
    - l'utilisateur ajoute un {tiers} au paneliste depuis le backoffice

:::warning
ce référencer aux methodes d'inscription depuis l'application
:::

#### Si la demande est déjà en cours

le bouton deviens non-cliquable avec le message : "DEMANDE EN COURS"
:::info
**GET** - /v0/sphinx/isPaneliste/{tiers}
- renvoie le status panel actif/inatif/onDemand
:::

## 2. Desinscription paneliste
:::info
Question - Dans quelles conditions puis-je me désinscrire du panel ?
:::
     Cas 1 :
        - Si la personne en fait la demande, cette demande sera étudié par la suite.
            - oui -> Désinscription du PANEL
            - non -> Redirection vers le Case 2
        
     Cas 2 : 
        - Si l'utilisateur arrive en fin d'abonnement.
            - si >=50% -> Reconduction d'abonnement Priviloc + gratuité
            - Si <50% -> Désinscription du PANEL + Renouvellement d'abonnement Priviloc payant
        
     Cas 3 : 
        - Si le panéliste l'est depuis 6 mois et que le pourcentage minimal de participation est non respecté.
            - Email de mi-partcours

:::success
**GET** /v0/sphinx/unsubscribe/{tiers}
- Affiche un message de type "désinscription", avec pour texte: "Êtes vous sur de ne plus vouloir être panéliste ?"
:::
:::danger
Retourne une modale avec les boutons confirmation ou annuler
:::
:::success
**POST** /v0/sphinx/unsubscribe/{tiers}
- demande de désinscription envoyer (par mail/ notifs/ tickets/ whatever) au service
:::
:::success
**PUT** /v0/sphinx/unsubscribe/{tiers, end_date}
**:pushpin: utilisable unquement depuis le backoffice**
- change la date de fin d'engagement et retire l'adhésion au paneliste
:::
:::success
**POST** /v0/sphinx/send($type, $tiers, $params)
- envoie un mail de 'type' confirmation à l'addresse mail du 'tiers' accompagnée des 'params' de désinscription
:::
:::info
Action - le locataire souhaite finalement ne pas ce desinscrire
:::
:::success
**POST** /v0/sphynx/unsubscribe/cancel/{tiers}
- depuis un lien dans le mail de confirmation le locataire peu annuler sa désinscription
:::
****
:::info
Question - Le paneliste est dans le Case 2 et arrive en **fin d'abonnement**
:::
:::info
Action - je veux connaitre le taux de reponse du paneliste
:::
:::success
**GET** /v0/sphinx/survey/rate/{tiers}
- Récupère le taux de réponses
:::

#### Le paneliste a répondu à plus de 50% des enquêtes

:::success
**PUT** /v0/sphinx/paneliste/{tiers}
- ajoute 12 mois a la date de fin d'engagement
:::
:::success
**PUT** /v0/sphinx/renew/{contract}
- ajoute un an d'adhesion priviloc + Gratuité
:::
:::danger
Envoie un mail de confirmation de renouvellement au locataire
:::
    ou
#### Le paneliste a répondu à moins de 50% des enquêtes
:::success
**GET** /v0/sphinx/send($type, $tiers, $params)
- envoie un mail de 'type' desinscription à l'addresse mail du 'tiers' accompagnée des 'params' de désinscription
:::
:::danger
Envoie un mail d'information du retour à l'abonnement priviloc payant
:::
:::success
**PUT** /v0/sphinx/unsubscribe/{tiers}
- Désinscription du PANEL
:::
:::info
Action - Le panéliste est dans le Case 3 depuis plus de 6 mois mais n'a pas répondu à suffisamment d'enquêtes
:::
:::success
**GET** /v0/sphinx/send($type, $tiers, $params)
- envoie un mail de 'type' information à l'addresse mail du 'tiers' accompagnée des 'params' de du taux de réponse mi-parcours
:::
:::danger
Envoie un mail de mi-parcours
:::


## 3. profil locataire
:::info
Action - je veux voir mes informations utilisateur
:::
:::success
**GET** /v0/sphinx/user/{tiers}
- récupère les infos de l'utilisateur
:::
:::danger
Retourne les donnéees locataire
:::
:::info
Action - je veux connaitre mes parametres de notification
:::
:::success
**GET** /v0/myappiloc/users
- affiche les paramètres push de l'application locataire
:::
:::danger
Retourne les paramètres de notifications
:::
:::info
Action - Je souhaite modifier mes préférences de notifications
:::
:::success
**POST** /v0/myappiloc/users-push/
- modifie la valeur des notifications
:::
:::info
Action - je veux voir mes abonnenements
:::
:::success
**GET** /v0/subscriptions
- recupère les différents abonnement/engagement disponible et leurs status (actif/inactif)
:::
:::danger
Retourne les status d'abonement disponible ou leur liens
:::


****
## 4. Priviloc panéliste

:::info
Action - Le paneliste souhaite consulter les enquêtes en cours ou son historique d'enquêtes.
:::
:::success
**GET** /v0/sphinx/paneliste
- Affiche l'onglet des enquêtes en cours & de l'historique des enquêtes
:::
    dans l'onglet "enquêtes en cours"
:::success
**GET** /v0/sphinx/survey/{tiers}
- recupère les enquêtes en cours et les affichent dans une dropdown list
:::
    dans l'onglet "historique des enquêtes"
:::success
**GET** /v0/sphinx/survey-history/{tiers}
- recupère l'historique des enquêtes passés et les affichent dans une dropdown list
:::

