DevPortalPagoPA



Tabella dei contenuti

📄 Specifiche tracciato di input

Specifiche relative al file da utilizzare come input per i servizi di caricamento massivo
Al fine di innescare il processo di caricamento massivo delle posizioni debitorie, a prescindere dalla modalità scelta è necessario costruire un file in formato JSON secondo le specifiche riportate di seguito nel documento.

Tracciato file creazione e aggiornamento REST

Di seguito è riportato il template relativo al file JSON da produrre per il caricamento massivo via REST API:
1{
2    "paymentPositions": [
3      {
4        "iupd": "string",
5        "aca": false,
6        "payStandIn": false,
7        "type": "F",
8        "fiscalCode": "string",
9        "fullName": "string",
10        "streetName": "string",
11        "civicNumber": "string",
12        "postalCode": "string",
13        "city": "string",
14        "province": "string",
15        "region": "string",
16        "country": "IT",
17        "email": "string",
18        "phone": "string",
19        "switchToExpired": false,
20        "companyName": "string",
21        "officeName": "string",
22        "validityDate": "YYYY-MM-DDThh:mm:ss.SSSZ",
23        "paymentOption": [
24          {
25            "iuv": "string",
26            "amount": 0,
27            "description": "string",
28            "isPartialPayment": true,
29            "dueDate": "YYYY-MM-DDThh:mm:ss.SSSZ",
30            "retentionDate": "YYYY-MM-DDThh:mm:ss.SSSZ",
31            "fee": 0,
32            "transfer": [
33              {
34                "idTransfer": "1",
35                "amount": 0,
36                "organizationFiscalCode": "00000000000",
37                "remittanceInformation": "string",
38                "category": "string",
39                "iban": "IT0000000000000000000000000",
40                "postalIban": "IT0000000000000000000000000",
41                "stamp": {
42                  "hashDocument": "string",
43                  "stampType": "st",
44                  "provincialResidence": "RM"
45                },
46                "transferMetadata": [
47                  {
48                    "key": "string",
49                    "value": "string"
50                  }
51                ]
52              }
53            ],
54            "paymentOptionMetadata": [
55              {
56                "key": "string",
57                "value": "string"
58              }
59            ]
60          }
61        ]
62      }
63    ]
64  }
65

Tracciato file creazione e aggiornamento SFTP

Di seguito è riportato il template relativo al file JSON da produrre per il caricamento massivo via SFTP:
1{
2    "operation": "CREATE|UPDATE",
3    "paymentPositions": [
4      {
5        "iupd": "string",
6        "aca": false,
7        "payStandIn": false,
8        "type": "F",
9        "fiscalCode": "string",
10        "fullName": "string",
11        "streetName": "string",
12        "civicNumber": "string",
13        "postalCode": "string",
14        "city": "string",
15        "province": "string",
16        "region": "string",
17        "country": "IT",
18        "email": "string",
19        "phone": "string",
20        "switchToExpired": false,
21        "companyName": "string",
22        "officeName": "string",
23        "validityDate": "YYYY-MM-DDThh:mm:ss.SSSZ",
24        "paymentOption": [
25          {
26            "iuv": "string",
27            "amount": 0,
28            "description": "string",
29            "isPartialPayment": true,
30            "dueDate": "YYYY-MM-DDThh:mm:ss.SSSZ",
31            "retentionDate": "YYYY-MM-DDThh:mm:ss.SSSZ",
32            "fee": 0,
33            "transfer": [
34              {
35                "idTransfer": "1",
36                "amount": 0,
37                "organizationFiscalCode": "00000000000",
38                "remittanceInformation": "string",
39                "category": "string",
40                "iban": "IT0000000000000000000000000",
41                "postalIban": "IT0000000000000000000000000",
42                "stamp": {
43                  "hashDocument": "string",
44                  "stampType": "st",
45                  "provincialResidence": "RM"
46                },
47                "transferMetadata": [
48                  {
49                    "key": "string",
50                    "value": "string"
51                  }
52                ]
53              }
54            ],
55            "paymentOptionMetadata": [
56              {
57                "key": "string",
58                "value": "string"
59              }
60            ]
61          }
62        ]
63      }
64    ]
65  }
66
Si tratta di un array di posizioni debitorie, i campi sono gli stessi descritti all'interno della sezione Operazioni disponibili delle SANP.

Tracciato file eliminazione REST

Di seguito è riportato il template relativo al file JSON da produrre per la cancellazione massiva via REST API:
1{
2  "paymentPositionIUPDs": [
3    "IUPD-string"
4  ]
5}
6

Tracciato file eliminazione SFTP

Di seguito è riportato il template relativo al file JSON da produrre per la cancellazione massiva via SFTP:
1{
2    "operation": "DELETE",
3    "paymentPositionIUPDs": [
4        "IUPD-string"
5    ]
6}
7

Specifiche file

Il tracciato del file è comune ad entrambe le modalità di caricamento API e SFTP, tuttavia per ognuna di queste sono state definite particolari specifiche descritte di seguito.

SFTP

  • formato file -> JSON
  • dimensioni file -> max 100MB (circa 100K PD)
  • nomenclatura -> non ci sono vincoli in merito alla nomenclatura del file, tuttavia il nome deve essere univoco, non è possibile caricare due o più file con lo stesso nome

API

  • formato file -> ZIP (un solo file JSON all'interno dell'archivio)
  • dimensioni file -> max 5MB (circa 100K PD)
  • nomenclatura -> non ci sono vincoli

Serve aiuto?

Apri un ticket utilizzando l’apposita funzione all’interno della tua Area Riservata

Dicci cosa ne pensi

Per chiarimenti sulle specifiche d’implementazione, come SACI e SANP, puoi aprire una segnalazione su GitHub