Tabella dei contenuti
Richiediamo informazioni sullo stato di famiglia
L’e-service “Attestazione - Family Status” pubblicato sul catalogo, offre un servizio mediante il quale è possibile verificare la correttezza delle informazioni legate allo stato di famiglia simulando un ente che possiede le informazioni aggiornate e centralizzate legate allo stato di famiglia.
In questo tutorial vedremo un caso reale di applicazione di questo servizio.
Il caso d'uso
Come fruitore, ho la necessità di verificare le informazioni presenti sulla mia base dati e legate allo stato di famiglia dei soggetti. Per procedere, dovrò effettuare la sottoscrizione all’e-service “Attestazione - Family status” che perme di recuperare questi dati grazie all’invocazione della seguente API:
POST /family-status
Data Preparation
La prima cosa da fare, come abbiamo visto, è la configurazione dei dati. Procediamo dunque, per la prima volta, alla fase di Data Preparation.
Facendo riferimento al problema sopra esposto, supponiamo di avere la seguente base dati all’interno della nostra applicazione
ID | Nome | Cognome | Stato civile | Data inizio relazione | Data fine relazione |
---|---|---|---|---|---|
RSSMRA80A01H501U | Mario | Rossi | CONIUGATO | 01/01/2022 | NULL |
LGUBCH80A01H501B | Luigi | Bianchi | CELIBE | 01/06/1988 | NULL |
In accordo a questa effettuiamo la data preparation simulando il seguente scenario:
● L’id RSSMRA80A01H501U è un soggetto per il quale è noto lo stato di famiglia come CONIUGATO
● L’id LGUBCH80A01H501B è un soggetto per il quale è noto lo stato di famiglia come CELIBE
Replichiamo la configurazione desiderata nel seguente modo:
POST /family-status
Header:
1Content-Type: application/json
2Authorization: Bearer {{bearerToken}}
3x-correlation-id: {{myUniqueCorrelationId}}
4
Payload:
1application/json
2{
3 "subject": {
4 "subjectId": "RSSMRA80A01H501U",
5 "id": "123",
6 "surname": "Rossi",
7 "name": "Mario",
8 "gender": "M",
9 "birthDate": {
10 "eventDate": "1970-11-15",
11 "placeOfBirth": {
12 "municipality": {
13 "nameMunicipality": "Roma",
14 "istatCode": "123456",
15 "acronymIstatProvince": "RM",
16 "placeDescription": "N/D"
17 },
18 "place": {
19 "placeDescription": "N/D",
20 "countryDescription": "N/D",
21 "codState": "ITA",
22 "provinceCounty": "N/D"
23 }
24 }
25 }
26 },
27 "subjectLink": {
28 "relationshipType": "Coniuge",
29 "startDate": "2021-11-15",
30 "relationshipCode": "CONIUGE",
31 "memberSequence": "01",
32 "startDateRelationship": "2022-01-01"
33 }
34}
35
Response:
1application/json
2{
3 "uuid": "2c41e733-e9ae-4b69-9243-6217d4cf26e3"
4}
5
Status codes:
● 200 - Configurazione salvata con successo
Procediamo con il censimento anche del secondo soggetto, simulando che l’erogatore sia a conoscenza dell’indirizzo.
Header:
1Content-Type: application/json
2Authorization: Bearer {{bearerToken}}
3x-correlation-id: {{myUniqueCorrelationId}}
4
Payload:
1application/json
2{
3 "subject": {
4 "subjectId": "LGUBCH80A01H501B",
5 "id": "1234",
6 "surname": "Luigi",
7 "name": "Bianchi",
8 "gender": "M",
9 "birthDate": {
10 "eventDate": "1988-06-01",
11 "placeOfBirth": {
12 "municipality": {
13 "nameMunicipality": "Roma",
14 "istatCode": "123456",
15 "acronymIstatProvince": "RM",
16 "placeDescription": "N/D"
17 },
18 "place": {
19 "placeDescription": "N/D",
20 "countryDescription": "N/D",
21 "codState": "ITA",
22 "provinceCounty": "N/D"
23 }
24 }
25 }
26 },
27 "subjectLink": {
28 "relationshipType": "Coniuge",
29 "startDate": "2023-07-01",
30 "relationshipCode": "CONIUGE",
31 "memberSequence": "01",
32 "startDateRelationship": "1988-06-01"
33 }
34}
35
Response:
1application/json
2{
3 "uuid": "2456398c-e932-4e97-a7b9-f9f15e9c343f"
4}
5
Status codes:
● 200 - Configurazione salvata con successo
Dato il nostro scenario abbiamo completato la fase di configurazione.
Procediamo a questo punto all’invocazione delle API messe a disposizione dell’e-service.
Invocazione e-service
Completata la fase di configurazione non resta che procedere all’invocazione del servizio effettuando la verifica per i due soggetti presenti nella mia base dati.
Nello specifico, andremo a verificare la correttezza delle informaizoni invocando la seguente API
POST /family-status
che ci permette di recuperare le informazioni a partire dall’id del soggetto.
Prima di procedere all’invocazione dei suddetti è importante sapere che l’e-service in questione prevede un ulteriore livello di sicurezza. Le api prevedono, infatti, l’invio di due header aggiuntivi:
Dopo aver generato correttamente i token di cui sopra e il Voucher, possiamo procedere con le seguenti request.
Invochiamo prima di tutto l’eservice per il soggetto “Mario Rossi”
1curl --location '{host}/family-status' \
2--header 'Content-Type: application/json' \
3--header 'Accept: application/json' \
4--header 'x-correlation-id: 123' \
5--header 'agid-jwt-signature: zzz' \
6--header 'agid-jwt-trackingevidence: yyy' \
7--header 'Authorization: Bearer xxx' \
8--data '{
9 "operationId": "001",
10 "criteria": {
11 "subjectId": "RSSMRA80A01H501U"
12 },
13 "requestData": {
14 "dateOfRequest": "2024-11-13",
15 "useCase": "Verifica",
16 "motivation": "Verifica informaizoni"
17 }
18}'
19
Response:
1application/json
2{
3 "idOp": "001",
4 "subjects": {
5 "subject": [
6 {
7 "generality": {
8 "subjectId": {
9 "subjectId": "RSSMRA80A01H501U",
10 "subjectIdValidity": "",
11 "dataAttributionValidity": ""
12 },
13 "surname": "Rossi",
14 "noSurname": "false",
15 "name": "Mario",
16 "noName": "false",
17 "gender": "M",
18 "birthDate": "1970-11-15",
19 "noDay": "",
20 "noMonth": "",
21 "placeOfBirth": {
22 "municipality": {
23 "nameMunicipality": "Roma",
24 "istatCode": "123456",
25 "acronymIstatProvince": "RM",
26 "placeDescription": "N/D"
27 },
28 "place": {
29 "placeDescription": "N/D",
30 "countryDescription": "N/D",
31 "codState": "ITA",
32 "provinceCounty": "N/D"
33 }
34 },
35 "AIRESubject": "",
36 "yearExpatriation": "",
37 "idSubjectData": "",
38 "note": ""
39 },
40 "subjectLink": {
41 "relationshipType": "Coniuge",
42 "startDate": "2021-11-15",
43 "relationshipCode": "CONIUGE",
44 "memberSequence": "01",
45 "startDateRelationship": "2022-01-01"
46 }
47 }
48 ]
49 }
50}
51
Status codes:
● 200 - Richiesta effettuata con successo
Procediamo adesso per “Luigi Bianchi”
1curl --location '{host}/family-status' \
2--header 'Content-Type: application/json' \
3--header 'Accept: application/json' \
4--header 'x-correlation-id: 123' \
5--header 'agid-jwt-signature: zzz' \
6--header 'agid-jwt-trackingevidence: yyy' \
7--header 'Authorization: Bearer xxx' \
8--data '{
9 "operationId": "002",
10 "criteria": {
11 "subjectId": "LGUBCH80A01H501B"
12 },
13 "requestData": {
14 "dateOfRequest": "2024-11-13",
15 "useCase": "Verifica",
16 "motivation": "Verifica informaizoni"
17 }
18}'
19
Response:
1application/json
2{
3 "idOp": "002",
4 "subjects": {
5 "subject": [
6 {
7 "generality": {
8 "subjectId": {
9 "subjectId": "LGUBCH80A01H501B",
10 "subjectIdValidity": "",
11 "dataAttributionValidity": ""
12 },
13 "surname": "Luigi",
14 "noSurname": "false",
15 "name": "Bianchi",
16 "noName": "false",
17 "gender": "M",
18 "birthDate": "1988-06-01",
19 "noDay": "",
20 "noMonth": "",
21 "placeOfBirth": {
22 "municipality": {
23 "nameMunicipality": "Roma",
24 "istatCode": "123456",
25 "acronymIstatProvince": "RM",
26 "placeDescription": "N/D"
27 },
28 "place": {
29 "placeDescription": "N/D",
30 "countryDescription": "N/D",
31 "codState": "ITA",
32 "provinceCounty": "N/D"
33 }
34 },
35 "AIRESubject": "",
36 "yearExpatriation": "",
37 "idSubjectData": "",
38 "note": ""
39 },
40 "subjectLink": {
41 "relationshipType": "Coniuge",
42 "startDate": "2023-07-01",
43 "relationshipCode": "CONIUGE",
44 "memberSequence": "01",
45 "startDateRelationship": "1988-06-01"
46 }
47 }
48 ]
49 }
50}
51
Status codes:
● 200 - Richiesta effettuata con successo
Le response ricevute ci permettono di aggiornare coerentemente la nostra base dati.
Esito finale
Dopo aver interrogato l’e-service possiamo procedere all’aggiornamento della nostra base dati in base alle informazioni che abbiamo recuperato.
Di seguito una panoramica della situazione a seguito dell’aggiornamento
ID | Nome | Cognome | Stato civile | Data inizio relazione | Data fine relazione |
---|---|---|---|---|---|
RSSMRA80A01H501U | Mario | Rossi | CONIUGATO | 01/01/2022 | NULL |
LGUBCH80A01H501B | Luigi | Bianchi | CONIUGATO | 01/07/2023 | NULL |
La nostra base dati è stata correttamente aggiornata. Nello specifico è stata confermata che l’informazione per il soggetto RSSMRA80A01H501U è corretto, mentre per il secondo soggetto è stata aggiornata la relazione legata al suo stato di famiglia.
Hai bisogno di aiuto?
Apri un ticket utilizzando l’apposita funzione all’interno della tua Area Riservata