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 }
66Il 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 }
9Di 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}
10Si 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.
Dicci cosa ne pensi
Per chiarimenti sulle specifiche d’implementazione, come SACI e SANP, puoi aprire una segnalazione su GitHub