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.

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

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__MARKDOC_INLINE_CODE_PIPE__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
Il formato JSON utilizzato vis SFTP differisce da quello JSON usato tramite API per la sola aggiunta dell'operazione desiderata prima delle paymentPositions ovvero :
1  {
2    "operation": "CREATE__MARKDOC_INLINE_CODE_PIPE__UPDATE",
3    "paymentPositions": [
4      {
5        ...
6        ]
7      }
8  }
9
Di seguito un esempio che mostra la differenza tra il formato SFTP e il formato API REST:
SFTP
1{
2   "operation": "CREATE",
3   "paymentPositions": [
4     {
5       "iupd": "<IUP#1>",
6       ...
7       ]
8     }
9}
10
11
API REST
1POST
2{
3   "paymentPositions": [
4     {
5       "iupd": "<IUP#1>",
6        ...
7        ]
8     }
9}
10
Si deduce la corrispondenza tra le operazioni POST e CREATE da un lato e dall'altro quella tra PUT e UPDATE.

Tracciato file eliminazione SFTP

Analogamente per la cancellazione delle posizione debitorie via SFTP il template relativo al file JSON da produrre deve specificare l’operazione DELETE :
1{
2    "operation": "DELETE",
3    "paymentPositionIUPDs": [
4        "IUPD-string"
5    ]
6}
7
  • formato file -> ZIP (un solo file JSON all'interno dell'archivio)
  • dimensioni file -> max 5MB (circa 100K PD)
  • nomenclatura -> non ci sono vincoli

Tracciato file REST

Per i tracciati dei file REST si rimanda alla sezione API del DevPortal.

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