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
Dicci cosa ne pensi
Per chiarimenti sulle specifiche d’implementazione, come SACI e SANP, puoi aprire una segnalazione su GitHub