h1. Connecteur famille {{toc}} Ici on definit une interface commune pour tous les connecteurs famille(Agora+, Teamnet, Concerto,...) dans Passerelle afin d'uniformiser l'usage des données dans nos applications. Cela sous-entend les urls ainsi que le format des données que chaque connecteur doit définir. h3. Gestion/remontée des familles h4. Liaison avec une famille Pour la liaison avec une famille existante le citoyen dispose d'un identifiant et un mot de passe qui lui est fourni par un moyen quelconque. h5. Url du webservice * @/family/link/?NameID=...&login=...&password=...@ Le lien entre la famille est le NameID du citoyen est stocké du côté du connecteur. Aucune valeur de retour n'est attendue. h4. Deliaison d'une famille h5. Url du webservice * @/family/unlink/?NameID=...@ Pas de valeur de retour attendue. h4. Listing des informations d'une famille. Une famille: * identifiant * une liste des adultes * une liste d'enfants h5. Url du webservice * @/family/?NameID=...@ h5. Format des données attendues:
{
  "data": {
    "id": "12345",
    "keywords": ["monoparentale", "famille-nombreuse"],
    "address": "14, RUE FERNAND LEGER, 94120 FONTENAY SOUS BOIS",
    "city": "FONTENAY SOUS BOIS",
    "zipcode": "94120",
    ... (autres informations si le logiciel backend en donne)
    "adults": [
         {
               "id": "50107",
               "keywords": ["revenus-a-declarer", "celibataire"],
               "text": "Foo Bar",
               "first_name": "Foo",
               "last_name": "Bar",
               "birthdate": "22/04/1957",
               "sex": "M",
               "address": "14, RUE FERNAND LEGER, 94120 FONTENAY SOUS BOIS",
               "city": "FONTENAY SOUS BOIS",
               "zipcode": "94120",
               "phone": "1122334455",
               "cellphone": "1122334455",
               "email": "foo@bar.org",
               ... (autres informations si le logiciel backend en donne)
         },
         { ... }
    ],
    "children": [
        {
               "id": "18177",
               "keywords": ["3-ans", "petite-enfance", "non-inscrit-petite-enfance"],
               "text": "Kevin McCallister",
               "first_name": "Kevin",
               "last_name": "McCallister",
               "birthdate": "02/04/2012",
               "sex": "M",
               "address": "14, RUE FERNAND LEGER, 94120 FONTENAY SOUS BOIS",
               "city": "FONTENAY SOUS BOIS",
               "post_code": "94120",
               "phone": "22344556677",
               "cellphone": "2234455677",
               "email": "kevin@bar.org"
               ... (autres informations si le logiciel backend en donne)
         },
        { ... }
     ]          
  },
  "err": 0
}
Les autres champs, présents dans la reponse, sont auxiliaires. Si aucune famille rattachée au NameID, renvoyer @null@ Possibilité de filtrer les informations de la famille: * url @/family/adults/?NameID=...@, renvoie uniquement la liste des adultes:
{
  "data": [
         {
               "id": "50107",
               "text": "Foo Bar"
               "first_name": "Foo",
               "last_name": "Bar",
               "birthdate": "22/04/1957",
               "sex": "M",
               "address": "14, RUE FERNAND LEGER, 94120 FONTENAY SOUS BOIS",
               "city": "FONTENAY SOUS BOIS",
               "post_code": "94120",
               "phone": "1122334455",
               "cellphone": "1122334455",
               "email": "foo@bar.org"
               ... (autres informations si le logiciel backend en donne) 
         },
         { ... }
   ],
   "err": 0
}
* url @/family/children/?NameID=...@ renvoie uniquement la liste des enfants:
{
  "data": [
        {
               "id": "18177",
               "text": "Kevin McCallister",
               "first_name": "Kevin",
               "last_name": "McCallister",
               "birthdate": "24/09/1994",
               "sex": "M",
               "address": "14, RUE FERNAND LEGER, 94120 FONTENAY SOUS BOIS",
               "city": "FONTENAY SOUS BOIS",
               "post_code": "94120",
               "phone": "22344556677",
               "cellphone": "2234455677",
               "email": "kevin@bar.org"
               ... (autres informations si le logiciel backend en donne) 
         },
        { ... }
     ],
  "err": 0
}