cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee...

79
TeamSystem ® Servizio CSC Servizio CSC Web Services Versione 0.2 23 Giugno 2015

Transcript of cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee...

Page 1: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

TeamSystem®

Servizio CSC

Servizio CSCWeb Services

Versione

0.223 Giugno 2015

Page 2: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Specifiche Tecniche

1

Page 3: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Page 4: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

SommarioVersioni del documento 3

Parte 1 4

1 Introduzione 4

2 Terminologia 5

3 Logica generale di funzionamento 73.1 Tecnologia utilizzata 73.2 Convenzioni sui nomi utilizzati 73.3 Localizzazione messaggi 93.4 Parametri di input e output 93.5 Gestione delle Versioni 103.6 Modalità di test, documentazione ed esempi 113.7 Flusso operativo: schema generale ed esempio 12

Parte 2 13

4 Web Services del Servizio CSC 134.1 Utilizzo degli Endpoint 144.2 Servizio: UserAuthentication 14

4.2.1 Operazione: BasicAuthentication 154.2.2 Operazione: GetTicket 164.2.3 Operazione: DigestAuthentication 17

4.3 Servizio: FileTransfer 194.3.1 Operazione: UploadPdI 194.3.2 Operazione: DownloadFile 21

4.4 Servizio: ServizioCSC 224.4.1 Operazione: GetPdI 224.4.2 Operazione: SearchPdI 25

Appendice A 30

5 Workflow del PdI 30

Appendice B 32

6 Parametri di tipo oggetto 326.1 ServiceInfo 326.2 NameValue 326.3 BaseUserIdentity 336.4 UserIdentity 336.5 BasicAuthentication 336.6 DigestAuthentication 336.7 SoggettoProduttore, SoggettoTitolare, SoggettoOrigine, SoggettoDestinazione 346.8 DatiDocumento 356.9 InfoPdI 446.10 FileInfo 446.11 SearchFilterPdI 456.12 SearchResultPdI 45

1

Page 5: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Appendice C 47

7 Valori enumerati 477.1 PdIFileType 477.2 HashType 487.3 Operator 487.4 ArgType 497.5 Direction 49

Appendice D 50

8 Parametri di ricerca 508.1 SearchExpression 508.2 OrderBy 51

Appendice E 52

9 Elenco errori 529.1 Errori nei dati della richiesta 539.2 Errori di sicurezza 549.3 Errori in fase di elaborazione 549.4 Errori non codificati 56

2

Page 6: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Versioni del documento

Versione 0.2

Data 23/06/2015

Autori Davide Nani, Giampiero Levo

Descrizione

Aggiornamento data contract servizi e codici di errore.

Versione 0.1

Data 11/03/2015

Autori Davide Nani, Giampiero Levo

Descrizione

Documentazione preliminare di progetto.Mancano ancora le specifiche dettagliate sulle modalità di ricerca che verranno illustrate nell’appendice D.Alcuni aspetti dell’interfaccia possono ancora subire delle modifiche per iniziativa di TeamSystem o su suggerimenti delle parti interessate.

3

Page 7: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

1 IntroduzioneMotivazioni e finalità del presente documento

Lo scopo di questo documento è fornire la documentazione tecnica sui Web Services esposti dal Servizio di Conservazione Sostitutiva in Cloud di TeamSystem (Servizio CSC).

Questo documento è rivolto agli utenti accreditati che vogliono interfacciarsi programmaticamente al servizio per:

trasmettere documenti da conservare monitorare/scaricare pacchetti di archiviazione

4

Parte 1

Page 8: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

2 TerminologiaSignificato dei termini utilizzati nel presente documento

Conservazione Sostitutiva

E’ la procedura prevista dalle attuali leggi in materia fiscale (DPR 59 del 12-3-2014)) che consente di dematerializzare i documenti cartacei e conservare gli equivalenti digitali rispettando certe regole (firma digitale, marcatura temporale, ecc.) in grado di garantire i requisiti di legge (autenticità, integrità, affidabilità, leggibilità, reperibilità) che attribuiscono piena validità ai fini legali e fiscali.

La normativa stabilisce anche le regole con cui devono essere conservati i documenti fiscali emessi direttamente in formato elettronico. Per questi non si ha una dematerializzazione ovvero una sostituzione del documento cartaceo originale e ultimamente ci si sta orientando verso il termine di Conservazione Digitale o in modo più neutro di Conservazione a Norma come sinonimi più qualificati per la Conservazione Sostitutiva.

Pacchetto Informativo E’ un contenitore che racchiude uno o più oggetti da conservare (documenti informatici, fascicoli informatici, aggregazioni documentali informatiche), o anche solo i metadati riferiti agli oggetti da conservare.

Pacchetto di Versamento (PdV)

E’ un pacchetto informativo inviato dal produttore al sistema di conservazione secondo un formato predefinito e concordato descritto nel manuale di conservazione.

Pacchetto di Archiviazione(PdA)

E’ un pacchetto informativo composto dalla trasformazione di uno o più pacchetti di versamento secondo le specifiche definite dall’attuale normativa.

Pacchetto di Distribuzione(PdD)

E’ un pacchetto informativo inviato dal sistema di conservazione all’utente in risposta ad una sua richiesta.

KnoS E’ il DMS che ospita le personalizzazioni richieste.

Pubblicazione E’ l’elemento base per l’organizzazione delle informazioni su KnoS. Una pubblicazione è un oggetto caratterizzato da attributi che può ospitare uno o più file allegati ed essere messo in relazione con altre pubblicazioni.

Tipologia Le tipologie definiscono categorie di pubblicazioni che hanno in comune gli stessi attributi e uno stesso workflow. Una pubblicazione è

5

Page 9: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

sostanzialmente un’istanza di una certa tipologia.

Attributi Sono i metadati associati alle pubblicazioni definibili e valorizzabili dagli utenti o da programma.Gli attributi si dividono in due classi principali: gli attributi semplici (o mono valore) e gli attributi di tipo elenco (pubblicazioni o valori enumerati).

Documenti Sono i file allegati alle pubblicazioni dagli utenti o da programmi. Comprendono sia i file destinati alla Conservazione Sostitutiva che i file intermedi di indicizzazione, ecc.

Web Services CS Sono i web services esposti da KnoS per consentire l’accesso in via programmatica al servizio in alternativa all’interfaccia web.

6

Page 10: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

3 Logica generale di funzionamentoA cosa servono i Web Services e qual è la logica di funzionamento

I Web Services sono stati introdotti sulla piattaforma del Servizio CSC per consentire ai clienti l’automatizzazione completa delle operazioni coinvolte nel processo della conservazione sostitutiva.

La logica di funzionamento del Servizio CSC non cambia con l’introduzione dei Web Services e vengono comunque mantenute le modalità tradizionali di upload e download da interfaccia web.

Oltre a sostituire le procedure manuali di upload e download i Web Services permetteranno anche il monitoraggio dello stato dei documenti conservati e l’ottenimento di dati statistici consentendo agli utenti di realizzare all’occorrenza una propria interfaccia completa verso il Servizio CSC.

3.1 Tecnologia utilizzataI Web Services del Servizio CSC TeamSystem sono realizzati utilizzando Microsoft WCF 4.5 come componente per l’infrastruttura di base.

Il protocollo di scambio implementato è SOAP 1.2.

Per lo scambio di file (upload/download) si utilizza MTOM (Message Transmission Optimization Mechanism).

I Web Services implementati restituiscono i dettagli sull’interfaccia implementata se richiamati con ?wsdl o ?singlewsdl.

Oltre alle informazioni contenute in questo documento e all’auto-documentazione restituita dai Web Services verrà fornito anche un progetto sviluppato in C# con esempi dettagliati di richiamo per tutte le operazioni disponibili.

3.2 Convenzioni sui nomi utilizzatiLa piattaforma su cui si basa l’applicativo utilizza nei propri Web Services interni una nomenclatura basata su termini inglesi. Dovendo mettere in comunicazione la terminologia inglese con la termilogia italiana relativa all’argomento conservazione sostitutiva si è adottato un approccio neutrale che cercasse di mantenere i nomi originali per semplificare la comprensione dei concetti che stanno alla base dei servizi, delle operazioni e dei parametri implementati.

7

Page 11: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Si è quindi ritenuto inutile operare una scelta per una lingua o per l’altra e quindi tradurre termini come “Soggetto Conservante”, “PdI”, ecc. in inglese o, viceversa, ritradurre in italiano una quantità di termini molto superiore che deriva dal DMS KnoS alla base del Servizio CSC. Questo approccio ha il pregio di mantenere la corrispondenza con i termini originali in entrambe le lingue ed elimina il rischio, sempre in agguato quando si procede a tradurre concetti locali specifici nella lingua di altre nazioni, di trovare parole non traducibili o almeno non traducibili in termini sintetici o con un significato perfettamente equivalente all’originale.

In conclusione la convenzione adottata è la seguente:

tutti i nomi relativi a concetti provenienti da KnoS sono espressi con i termini originali in inglese (IdStatus, StatusName, DateCreation, ecc.);

tutti i nomi relativi a concetti provenienti dalla conservazione sostitutiva hanno mantenuto il loro nome originale con l’eventuale aggiunta del suffisso o del prefisso PdI, PdD per rimarcarne la tipologia;

per i concetti generali che sono però collegati a concetti locali è ammesso l’uso di nomi ibridi quando il termine originato risulta chiaramente comprensibile e non eccessivamente stravagante. Ad esempio UploadPdI è stato utilizzato come nome del metodo atto all’invio di documenti da conservare poiché il termine upload è di uso generico ed è diventato comune anche nella lingua italiana.

nei casi ambigui si è lasciata agli sviluppatori la libertà di scelta dei nomi per cui ad esempio si sono preferiti termini come ElencoInfoPdI a cose tipo InfoPdIList, mentre per indicare gli elenchi dei file di un PdI il termine FileList è sembrato più appropriato in quanto facilmente comprensibile e già presente all’interno di KnoS

Ci auguriamo, con le scelte fatte, di non urtare troppo la sensibilità e il gusto linguistico degli utilizzatori dei nostri Web Services.

“Stat rosa pristina nomine, nomina nuda tenemus”(Umberto Eco – Il nome della rosa)

“What’s in a name? That which we call a roseBy any other name would smell as sweet.”

(William Shakespeare – Romeo and Juliet)

8

Page 12: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

3.3 Localizzazione messaggi La lingua di default dei messaggi, tipicamente di eccezione, restituiti dai vari metodi dei web services è l’italiano.

È possibile però impostare i web services affinchè utilizzino la lingua inglese per i messaggi restituiti; per far ciò occorre aggiungere il nodo “Language” all’header della richiesta soap come illustrato di seguito:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"><s:Header>

<Language xmlns="KnosCSCServices">en</Language></s:Header><s:Body>

<BasicAuthentication xmlns="http://www.teamsystem.com/"><BasicAuthentication

xmlns:a="http://schemas.datacontract.org/2004/07/KnosCSC.Services.DataContracts.Input" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

<a:Password>Password</a:Password><a:UserName>Username</a:UserName>

</BasicAuthentication></BasicAuthentication>

</s:Body></s:Envelope>Si vedano le applicazioni di demo in ASP.NET e Java per approfondire l’implementazione.

3.4 Parametri di input e outputTutti i Web Service del Servizio CSC sono auto-documentati tramite WSDL, in questo documento vengono fornite le specifiche in termini descrittivi ponendo l’accento sulle regole non specificabili tramite WSDL. I parametri di tipo semplice utilizzati sono:

o stringa stringa unicode con lunghezza massima fino a 200 caratterio testo testo unicode di lunghezza superiore ai 200 caratterio intero numero intero con segno a 32 bito data-ora data e ora o enumerato valore di tipo stringa preso da un elenco di valori predefinitio file file allegato alla richiesta/risposta

Per il tipo stringa la presenza di un eventuale numero tra parentesi indica la lunghezza massima accettata, ad esempio:

stringa (100) indica una stringa di testo di lunghezza massima di 100 caratteri unicode

Eventuali restrizioni o indicazioni sui caratteri utilizzabili (ad esempio per i nomi dei file) sono indicate nei capitoli che descrivono l’operazione specifica.

9

Page 13: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Per il tipo testo si indica sempre la dimensione massima accettata, che sarebbe altrimenti arbitraria e potenzialmente invasiva, con la stessa sintassi utilizzata per la stringa:

testo (1000) indica un testo di lunghezza massima di 1000 caratteri unicode

I parametri di tipo oggetto sono costituiti da insiemi di tipi semplici, elenchi di tipi semplici o elenchi di oggetti.

Il contenuto di questi tipi è dettagliato solo la prima volta che vengono descritti. L’appendice B documenta nel dettaglio i parametri di tipo oggetto utilizzati nei DataContract.

3.5 Gestione delle VersioniTutte le operazioni esposte dai servizi restituisco in output il parametro ServiceInfo che contiene nella proprietà ServiceVersion (di tipo stringa) la versione corrente del servizio.

Parametro di Output Tipo Descrizione

ServiceInfo oggetto Contenitore per la versione corrente del Servizio ed eventuali informazioni aggiuntive.

ServiceVersion stringa Versione corrente del servizio.

La versione è espressa come sequenza di tre numeri separati da punto:

VersionNumber . ReleaseNumber . BuildNumber

Ad esempio Version = “1.2.3” indica che:

VersionNumber = 1 è il numero di versioneReleaseNumber = 2 è il numero di rilascioBuildNumber = 3 è il numero di compilazione

La regola adottata internamente è che ogni volta che si ricompilano i Web Services a fronte di una modifica significativa si incrementa il numero di compilazione.

Se la modifica determina una variazione nell’interfaccia dei Web Services (ad esempio l’aggiunta di una operazione o di un parametro) che non altera la compatibilità con la versione precedente si incrementa il numero di rilascio e si azzera il numero di compilazione.

Se la modifica è tale da rendere incompatibile il servizio con la versione precedente allora si crea un nuovo servizio con lo stesso nome a cui si appende il numero di versione, fa eccezione a questa regola la versione iniziale del servizio che non riporta il numero di versione.

Ad esempio le operazioni del servizio ServizioCSC restituiranno come versioni:

1.0.0, 1.0.1, … , 1.2.0, 1.2.1, …

10

Page 14: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Quando si renderà necessaria una modifica di versione (rottura della compatibilità con l’interfaccia precedente) si realizzerà il servizio ServizioCSC2 le cui operazioni restituiranno come versioni:

2.0.0, 2.0.1, … , 2.2.0, 2.2.1, …

L’introduzione di una nuova versione non elimina (a meno che non sia indispensabile) la versione precedente, per cui il client sarà libero di richiamare il servizio ServizioCSC o il servizio ServizioCSC2. Ovviamente uno dei due servizi potrebbe non offrire tutte le funzionalità dell’altro.

È anche possibile avere scenari misti per cui un client continua a richiamare il servizio ServizioCSC per le operazioni già implementate mentre richiama ServizioCSC2 solo per le nuove funzionalità introdotte.

3.6 Modalità di test, documentazione ed esempiÈ disponibile un sito di test per lo sviluppo dell’integrazione. I Web Services del Servizio CSC sono ospitati nella cartella all’indirizzo:

http://CS-test.teamsystem.com/knos/wcf/CS

La cartella:http://CS-test.teamsystem.com/knos/wcf/CS/samples

contiene un progetto di esempio in Visual Studio 2013.

La cartella:http://CS-test.teamsystem.com/knos/wcf/CS/doc

contiene la documentazione di progetto nelle varie versioni, per semplificare il controllo su eventuali novità all’indirizzo:

http://CS-test.teamsystem.com/knos/wcf/CS/news.htm

è presente una semplice pagina HTML di testo che riepiloga lo stato di avanzamento.

Le credenziali di accesso al sito di demo vengono rilasciate su richiesta.

11

Page 15: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

3.7 Flusso operativo: schema generale ed esempioPrima di poter eseguire una qualunque altra operazione l’utente deve autenticarsi fornendo l’utente e la password rilasciati dagli operatori del Servizio CSC.

All’utente che esegue correttamente la procedura di autenticazione viene rilasciato un SecurityToken (Token di sicurezza) che andrà passato come parametro in tutte le richieste successive.

Ecco una sequenza tipica di richiamo Web Services per la gestione di una fattura:

12

Servizi CS Utente

UserAuthentication

UserName, Ticket, Digest Password/Digest Token di sicurezza

UploadPdISecurityToken, Documento da conservare

IdPdI

StatoPdI Stato PdI, notifiche, file

SecurityToken, IdPdI

RicercaPdI

SecurityToken, IdObject, IdDoc

File della conservazione sostitutiva

GetTicket

DigestAuthentication

BasicAuthentication

Ticket

ServizioCS

SecurityToken, Parametri di ricerca

Elenco PdI paginato

DownloadFile

FileTransfer

FileTransfer

Page 16: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4 Web Services del Servizio CSC Definizione e logica dei servizi implementati

L’architettura dei Web Services implementati dal Servizio CSC di TeamSystem prevede due servizi comuni per l’autenticazione e trasferimento file e poi servizi separati per tipologia di operazione o per classe di utenza che verranno rilasciati gradualmente.

L’implementazione completa dei Web Services avverrà in fasi successive. Allo stato attuale si prevede l’implementazione dei seguenti servizi:

UserAuthentication /knos/wcf/CS/UserAuthentication.svc

FileTransfer /knos/wcf/CS/FileTransfer.svc

ServizioCSC /knos/wcf/CS/ServizioCS.svc

I primi due servizi sono di uso generale e consentono l’autenticazione e il trasferimento di file in upload e download.

Nella prima fase l’interazione via Web Services verrà offerta ai soli utenti degli Enti di Caricamento tramite ServizioCSC.

In seguito verranno aggiunte nuove operazioni e/o servizi utili alla gestione amministrativa del servizio (recupero dei dati statistici, gestione dei dati di fatturazione, ecc.) alle altre categorie di utenti (amministratori, rivenditori, ecc.).

13

Parte 2

Page 17: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4.1 Utilizzo degli EndpointAttualmente i servizi sono raggiungibili sia via HTTP (solamente in ambiente di test) sia via HTTPS e per ciascun protocollo espongono 3 Endpoint: uno con codifica “classica” Text, uno con codifica MTOM (Message Transmission Optimization Mechanism) e una con codifica Binary.

L’utilizzo della codifica MTOM riduce la dimensione dei messaggi SOAP inviati/ricevuti e quindi è da preferirsi, soprattutto per l’upload/download di file, quando il client utilizzato lo supporta (ASP.NET, Java, ecc.); discorso analogo per la codifica Binary che è ancora più compatta di quella MTOM: essa però è utilizzabile solamente interfacciandosi da client sviluppati in ASP.NET.

Il servizio FileTransfer espone quindi i seguenti Endpoint:

/knos/wcf/CS/FileTransfer.svc/http

/knos/wcf/CS/FileTransfer.svc/http/mtom

/knos/wcf/CS/FileTransfer.svc/http/binary

/knos/wcf/CS/FileTransfer.svc/https

/knos/wcf/CS/FileTransfer.svc/https/mtom

/knos/wcf/CS/FileTransfer.svc/https/binary

Si vedano le applicazioni demo di esempio per l’utilizzo specifico.

4.2 Servizio: UserAuthenticationÈ un servizio trasversale a tutti gli utenti che consente di ottenere il Token di Sicurezza da utilizzare per tutte le chiamate successive ai web service esposti.

Per ottenere il Token di Sicurezza l’applicativo deve disporre delle credenziali (UserName e Password) dell’utente corrente. Il token ottenuto è valido a tempo indeterminato (salvo eventuali operazioni di reset eseguite sul server che sono però eventi eccezionali) e garantisce a chiunque ne sia in possesso le credenziali di accesso dell’utente per cui è stato rilasciato.

È cura dell’applicativo che ottiene il Token di Sicurezza mantenerlo segreto per evitare che possa essere utilizzato da soggetti diversi dall’utente autorizzato.

Le operazioni offerte dal servizio UserAuthentication sono:

BasicAuthentication GetTicket DigestAuthentication

14

Page 18: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

15

Page 19: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4.2.1 Operazione: BasicAuthenticationL’autenticazione di base è fornita ai client che non intendono utilizzare la procedura di autenticazione con Digest SHA1. Questo tipo di autenticazione è normalmente sconsigliato perché la password viaggia in chiaro ma poiché il servizio CSC è offerto in HTTPS anche questo metodo di autenticazione è da considerarsi sufficientemente sicuro.

Parametri di Input Tipo Descrizione

BasicAuthentication oggetto Contenitore per i parametri di autenticazione di base

UserName stringa nome utente (non importa se LowerCase oppure no)

Password stringa password

e ottenendo in risposta:

Parametri di Output Tipo Descrizione

ServiceInfo oggetto Oggetto contenente la versione corrente del Servizio ed eventuali informazioni aggiuntive (vedi Appendice B).

ServiceVersion stringa Versione corrente del servizio.

Info elenco Elenco di oggetti di tipo NameValueDC contenenti eventuali informazioni aggiuntive relative all’operazione corrente (vedi Appendice B).

UserIdentity oggetto Contenitore per SecurityToken.

SecurityToken stringa Token di sicurezza utilizzato per l’autenticazione dell’utente.

oppure un errore SOAP.

16

Page 20: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4.2.2 Operazione: GetTicketQuesta operazione consente di ottenere dal server un Ticket da utilizzare nell’operazione di DigestAuthentication. Non è necessario richiamare questa operazione se l’autenticazione è fatta con l’operazione di BasicAuthentication.

La richiesta va formulata con i seguenti parametri:

Parametri di Input Tipo Descrizione

BaseUserIdentity oggetto Contenitore per i parametri di base di identificazione dell’utente

Username stringa nome utente (non importa se LowerCase oppure no)

e la risposta restituisce:

Parametri di Output Tipo Descrizione

ServiceInfo oggetto Oggetto contenente la versione corrente del Servizio ed eventuali informazioni aggiuntive (vedi Appendice B).

ServiceVersion stringa Versione corrente del servizio.

Info elenco Elenco di oggetti di tipo NameValueDC contenenti eventuali informazioni aggiuntive relative all’operazione corrente (vedi Appendice B).

Ticket stringa Ticket da utilizzare nell’operazione di DigestAuthentication.

ClientIPAddress Stringa Indirizzo IP del client che ha effettuato la richiesta

oppure un errore SOAP.

ServiceInfo è un contenitore per informazioni relative al servizio corrente. Ospita sempre almeno la proprietà ServiceVersion che indica la versione corrente del servizio.

17

Page 21: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4.2.3 Operazione: DigestAuthenticationLa DigestAuthentication viene eseguita in due passi:

- il client richiama l’operazione GetTicket per ottenere il Ticket- una volta ottenuto il Ticket viene utilizzato per produrre un Digest così calcolato:

Digest = SHA1(LowerCase(UserName) + clientIPAddress +

UpperCase(SHA1(LowerCase(UserName) + LowerCase(password))) + Ticket)

Dove:SHA1(argomento) indica l’applicazione dell’hashing SHA1 sull’argomento

LowerCase(argomento) indica la conversione in minuscolo dell’argomento

UpperCase(argomento) indica la conversione in maiuscolo dell’argomento

argomento1 + argomento2 indica la concatenazione dei due argomenti

La conversione in minuscole è richiesta perché nelle versioni attuali di KnoS sia il nome utente che la password sono Case Insensitive.

Per il calcolo dello SHA1 è inoltre richiesto l’utilizzo dell’encoding "ISO-8859-1".

Una volta ottenuto il Digest il client può invocare l’operazione di DigestAuthentication passando come parametri della richiesta:

Parametri di Input Tipo Descrizione

DigestAuthentication oggetto Contenitore per UserName, Ticket e Digest.

UserName stringa Nome utente (non importa se LowerCase oppure no).

Ticket stringa Ticket fornito dall’operazione GetTicket.

Digest stringa Calcolato con la formula indicata sopra.

e ottenendo in risposta:

Parametri di Output Tipo Descrizione

ServiceInfo oggetto Oggetto contenente la versione corrente del Servizio ed eventuali informazioni aggiuntive (vedi Appendice B).

ServiceVersion stringa Versione corrente del servizio.

Info elenco Elenco di oggetti di tipo NameValueDC contenenti eventuali informazioni aggiuntive relative all’operazione corrente (vedi Appendice B).

18

Page 22: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

UserIdentity oggetto Contenitore per SecurityToken.

SecurityToken stringa Token di sicurezza utilizzato per l’autenticazione dell’utente.

oppure un errore SOAP.

19

Page 23: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4.3 Servizio: FileTransferÈ il servizio che gestisce le operazioni di upload e download via MTOM.Supporta le seguenti operazioni:

UploadPdI DownloadFile

È possibile inviare una solo pacchetto di indicizzazione alla volta tramite l’operazione UploadPdI che restituisce, in caso di pacchetto accettato, l’identificativo della pacchetto: IdPdI.L’upload dei pacchetti è consentito solo agli utenti degli Enti di Caricamento abilitati.

Con l’operazione DownloadFile è possibile scaricare i file del PdI o delle notifiche associate.Per poter scaricare un file è necessario passare la coppia IdObject, IdDoc restituita dalle operazioni di ServizioCSC.

Il download è un operazione disponibile a tutti gli utenti che hanno accesso al file richiesto.

4.3.1 Operazione: UploadPdIQuesta operazione consente l’invio delil PdI al Servizio CSC TeamSystem.

La richiesta va formulata con i seguenti parametri:

Parametri di Input Tipo Descrizione

UserIdentity oggetto Contiene l’identità dell’utente (vedi Appendice B).

UploadPdI oggetto Contiene gli estremi per l’upload del PdI.

Canale stringa Contiene le info sul canale di trasmissione.

SoggettoProduttore oggetto Soggetto che usufruisce del servizio e che può inviare in conservazione documenti propri o di terzi (Soggetti Deleganti) (Vedi Appendicie B).

SoggettoTitolare oggetto Soggetto che deve conservare il documento: coincide col SoggettoProduttore tranne nel caso di Studi o altri che eseguono la conservazione per conto terzi (Vedi Appendice B).

SoggettoOrigine oggetto Soggetto che ha originato il documento da conservare: normalmente coincide col SoggettoTitolare per i documenti attivi (Vedi Appendice B).

SoggettoDestinazione oggetto Soggetto a cui è destinato il documento:

20

Page 24: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

normalmente coincide con il SoggettoTitolare nel caso di documenti passivi o nel caso di documenti che non hanno una destinazione (Libri Giornali, Registri IVA, ecc.) (Vedi Appendice B).

DatiDocumento oggetto Contiene le informazioni relative al documento da conservare (Vedi Appendice B).

Se la creazione della pubblicazione ha esito positivo la risposta restituisce:

Parametri di Output Tipo Descrizione

ServiceInfo oggetto Oggetto contenente la versione corrente del Servizio ed eventuali informazioni aggiuntive (vedi Appendice B).

ServiceVersion stringa Versione corrente del servizio.

Info elenco Elenco di oggetti di tipo NameValueDC contenenti eventuali informazioni aggiuntive relative all’operazione corrente (vedi Appendice B).

UploadPdI oggetto Contenitore per le informazioni relative alil PdI (vedi Appendice B).

IdPdI intero Identificativo univoco della del PdI.

IdDoc intero Identificativo univoco del documento allegato alla pubblicazione.

DateCreation data-ora Data e ora in cui il PdI è stato creato all’interno del Servizio CSC.

IdStatus intero Identificativo dello stato corrente del PdI.

StatusName stringa Nome dello stato corrente del PdI.

DateChangeStatus data-ora Data e ora in cui il PdI ha assunto lo stato corrente.

oppure un errore SOAP.

Il parametro IdPdI è utilizzabile come identificativo univoco in tutte le operazioni che lo richiedono.

21

Page 25: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4.3.2 Operazione: DownloadFileQuesta operazione consente il download del file precedentemente inviato al Servizio CSC TeamSystem.

La richiesta va formulata con i seguenti parametri:

Parametri di Input Tipo Descrizione

UserIdentity oggetto Contiene l’identità dell’utente (vedi Appendice B).

DownloadFile oggetto Contenitore per le informazioni relative al file da scaricare (vedi Appendice B).

IdObject intero Id della pubblicazione (fattura, messaggio o altro che contiene il file).

IdDoc intero Identificativo del file all’interno della pubblicazione.

Se l’utente ha accesso al file richiesto la risposta restituisce:

Parametri di Output Tipo Descrizione

ServiceInfo oggetto Oggetto contenente la versione corrente del Servizio ed eventuali informazioni aggiuntive (vedi Appendice B).

ServiceVersion stringa Versione corrente del servizio.

Info elenco Elenco di oggetti di tipo NameValueDC contenenti eventuali informazioni aggiuntive relative all’operazione corrente (vedi Appendice B).

IdObject intero Id della pubblicazione (fattura, messaggio o altro che contiene il file).

IdDoc intero Identificativo del file all’interno della pubblicazione.

FileName stringa Nome del file inviato al servizio di conservazione.

FileSize intero Dimensione del file inviato al servizio di conservazione.

File file File richiesto.

oppure un errore SOAP.

22

Page 26: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4.4 Servizio: ServizioCSCÈ il Web Service offerto agli utenti per monitorare lo stato dei propri PdI. Offre le seguenti operazioni:

GetPdI SearchPdI

Tramite l’operazione GetPdI è possibile monitorare lo stato di un PdI di cui si conosce l’identificativo ed ottenere l’elenco dei file conservati.

In assenza dell’IdPdI è comunque sempre possibile ottenere l’elenco dei PdI presenti sul sistema tramite l’operazione SearchPdI che restituisce un elenco paginato dei PdI caricati dall’utente. L’operazione accetta alcuni parametri di ricerca per ottenere un elenco mirato.

4.4.1 Operazione: GetPdIConsente di recuperare le informazioni relative ad un PdI inviato dall’utente.

Parametri di Input Tipo Descrizione

UserIdentity oggetto Contiene l’identità dell’utente (vedi Appendice B).

IdPdI intero Identificativo del PdI di cui si vuole recuperare lo stato.

Se il PdI risulta valida la risposta restituisce l’oggetto GetPdIOutputDC:

Parametri di Output Tipo Descrizione

ServiceInfo oggetto Oggetto contenente la versione corrente del Servizio ed eventuali informazioni aggiuntive (vedi Appendice B).

ServiceVersion stringa Versione corrente del servizio.

Info elenco Elenco di oggetti di tipo NameValueDC contenenti eventuali informazioni aggiuntive relative all’operazione corrente (vedi Appendice B).

InfoPdI oggetto Contenitore per i dati del PdI indicato.

oppure un errore SOAP.

23

Page 27: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

L’oggetto InfoPdI è costituito dal seguente insieme di campi:

InfoPdI: Tipo Descrizione

IdPdI intero Identificativo da utilizzare per referenziare il PdI nelle operazioni che lo richiedono.

DateCreation data-ora Data e ora in cui la pubblicazione che contiene il PdI è stata creata all’interno del Servizio CSC

IdStatus intero Identificativo dello stato corrente del PdI.

StatusName stringa Nome dello stato corrente del PdI.

DateChangeStatus data-ora Data e ora in cui il PdI ha assunto lo stato corrente.

SoggettoProduttore oggetto Soggetto che usufruisce del servizio e che può inviare in conservazione documenti propri o di terzi (Soggetti Deleganti) (Vedi Appendicie B).

SoggettoTitolare oggetto Soggetto che deve conservare il documento: coincide col SoggettoProduttore tranne nel caso di Studi o altri che eseguono la conservazione per conto terzi (Vedi Appendice B).

SoggettoOrigine oggetto Soggetto che ha originato il documento da conservare: normalmente coincide col SoggettoTitolare per i documenti attivi (Vedi Appendice B).

SoggettoDestinazione oggetto Soggetto a cui è destinato il documento: normalmente coincide con il SoggettoTitolare nel caso di documenti passivi o nel caso di documenti che non hanno una destinazione (Libri Giornali, Registri IVA, ecc.) (Vedi Appendice B).

IdTipoDocumento intero Identificativo del tipo di documento da conservare.

Canale stringa Contiene le info sul canale di trasmissione.

Esercizio intero Anno chiusura dell’esercizio.

AdditionalStringParameters elenco chiave-valore

Attributi specifici (obbligatori o meno) relativi allo specifico tipo di documento da conservare.

AdditionalIntParameters elenco chiave-valore

Attributi specifici (obbligatori o meno) relativi allo specifico tipo di documento da conservare.

24

Page 28: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

AdditionalDateTimeParameters elenco chiave-valore

Attributi specifici (obbligatori o meno) relativi allo specifico tipo di documento da conservare.

AdditionalDecimalParameters elenco chiave-valore

Attributi specifici (obbligatori o meno) relativi allo specifico tipo di documento da conservare.

FileInfo oggetto File inviato per la conservazione. (Vedi Appendice B)

IdStatus e StatusName sono rispettivamente l’identificativo interno e il nome dello stato del Workflow della Conservazione Sostitutiva in Cloud (vedi appendice A). TeamSystem si riserva di applicare eventuali variazioni al Workflow (aggiunta o rimozione di stati), tuttavia IdStatus è da considerarsi un valore fisso che identifica con certezza uno stato. StatusName è va invece considerato come una stringa mnemonica associata allo stato ed eventualmente oggetto di modifiche.

FileInfo è così strutturato:

FileInfo: Tipo Descrizione

IdObject intero Identificativo univoco della pubblicazione che contiene il file.

IdDoc intero Identificativo univoco del file all’interno della pubblicazione.

FileType enumerato Tipo del file (valori elencati nell’Appendice C).

FileName stringa Nome del file.

FileSize intero Dimensione del file in byte

HashType enumerato Tipo del di hash del file (valori elencati nell’Appendice C).

HashValue stringa Valore calcolato dell’hash del file.

FileType enumeratore

Tipo del file (valori elencati nell’Appendice C).

25

Page 29: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4.4.2 Operazione: SearchPdIConsente di recuperare le informazioni relative ad un PdI inviato dall’utente.

Parametri di input Tipo Descrizione

UserIdentity oggetto Contiene l’identità dell’utente (vedi Appendice B).

SearchExpression oggetto Contenitore per le clausole di ricerca (vedi appendice D).

OrderBy oggetto Contenitore per le clausole di ordinamento (vedi appendice D).

PageSize intero Dimensione della pagina di dati richiesta

PageNumber intero Numero della pagina di dati richiesta

Per avere la massima flessibilità nelle ricerche sono previsti un oggetto di ricerca e un oggetto di ordinamento generici (vedasi appendice D).

I filtri di ricerca che utilizzano SearchExpression e OrderBy specificano di volta in volta i nomi dei campi (FieldName) utilizzabili nella ricerca o nell’ordinamento.

Questo approccio sacrifica la possibilità dell’utente di utilizzare l’intellisense per i parametri di ricerca ma riduce al minimo le modifiche necessarie ad introdurre nuovi campi. L’operazione controlla sempre che i campi specificati siano validi e la richiesta è rifiutata se in SearchExpression o OrderBy compaiono campi diversi da quelli elencati.

I campi di ricerca accettati dall’operazione RicercaPdI sono:

Nome Tipo del campo

Descrizione

IdPdI intero Identificativo univoco della pubblicazione che contiene il messaggio restituito da SdI.

DateCreation DateTime È la data di creazione del PdI

IdStatus intero Identificativo dello stato corrente del PdI.

DateChangeStatus data-ora Data e ora in cui il PdI ha assunto lo stato corrente.

Titolare.CodiceFiscale stringa Codice fiscale del soggetto titolare.

Titolare.PartitaIVA stringa Partita IVA del soggetto titolare.

Destinazione.CodiceFiscale stringa Codice fiscale del soggetto destinazione.

Destinazione.PartitaIVA stringa Partita IVA del soggetto destinazione.

26

Page 30: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Origine.CodiceFiscale stringa Codice fiscale del soggetto origine.

Origine.PartitaIVA stringa Partita IVA del soggetto origine.

CodiceDestinazioneIPA stringa Riferimento univoco dell'ente pubblico a cui è destinata la fatturaPA.

DataDocumento data-ora Data in cui è stato emesso il documento dal soggetto emittente.

DataEmissioneOrigine data-ora Data in cui il origine ha emesso il documento.

DataFine data-ora Data di fine del periodo di competenza di un registro o libro contabile.

DataInizio data-ora Data di inizio del periodo di competenza di un registro o libro contabile.

DataRegistrazione data-ora Data in cui è stata effettuata la registrazione contabile del documento.

DataProtocollo data-ora Data di protocollo informatico attribuito dall’ente pubblico.

Descrizione stringa Descrizione relativa al documento da conservare.

Esercizio numero Anno chiusura dell’esercizio.

FileName stringa Nome del file inviato in conservazione.

HashValue stringa Valore calcolato dell’hash del file.

IdentificativoSdI stringa Codice attribuito dallo SdI alla fattura PA.

IdTipoDocumento numero Identificativo del tipo di documento da conservare.

NumeroProtocollo stringa Numero di protocollo informatico attribuito dall’ente pubblico.

NumeroAnniConservazione numero Numero di anni di conservazione del documento.

NomeFileFatturaPASdI stringa Nome originario del file di fatturaPA inviato allo SDI.

NumeroFatturaOrigine stringa Numero con cui il origine ha emesso il documento.

NumeroDocumento stringa Numero con cui è stato emesso il documento dal soggetto emittente.

NumeroRegistrazione stringa Numero attribuito alla registrazione contabile del documento.

27

Page 31: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

PaginaIniziale numero Numero della prima pagina di un registro o libro contabile.

PaginaFinale numero Numero dell'ultima pagina di un registro o libro contabile.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

Tipo stringa Tipo di registro o libro contabile (per es. per i registri iva: acquisti o vendite o corrispettivi).

DataOra1.Name stringa Etichetta del campo custom definito dall’utente.

DataOra1.Value data-ora Valore del campo custom definito dall’utente.

DataOra2.Name stringa Etichetta del campo custom definito dall’utente.

DataOra2.Value data-ora Valore del campo custom definito dall’utente.

DataOra3.Name stringa Etichetta del campo custom definito dall’utente.

DataOra3.Value data-ora Valore del campo custom definito dall’utente.

Decimale1.Name stringa Etichetta del campo custom definito dall’utente.

Decimale1.Value numero Valore del campo custom definito dall’utente.

Decimale2.Name stringa Etichetta del campo custom definito dall’utente.

Decimale2.Value numero Valore del campo custom definito dall’utente.

Decimale3.Name stringa Etichetta del campo custom definito dall’utente.

Decimale3.Value numero Valore del campo custom definito dall’utente.

Intero1.Name stringa Etichetta del campo custom definito dall’utente.

Intero1.Value numero Valore del campo custom definito dall’utente.

Intero2.Name stringa Etichetta del campo custom definito dall’utente.

Intero2.Value numero Valore del campo custom definito dall’utente.

28

Page 32: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Intero3.Name stringa Etichetta del campo custom definito dall’utente.

Intero3.Value numero Valore del campo custom definito dall’utente.

Testo1.Name stringa Etichetta del campo custom definito dall’utente.

Testo1.Value stringa Valore del campo custom definito dall’utente.

Testo2.Name stringa Etichetta del campo custom definito dall’utente.

Testo2.Value stringa Valore del campo custom definito dall’utente.

Testo3.Name stringa Etichetta del campo custom definito dall’utente.

Testo3.Value stringa Valore del campo custom definito dall’utente.

Per tutti i parametri di ricerca elencati è possibile specificare condizioni di ricerca in termini di valore del campo, campo compreso in intervalli specificati, ecc. Il tipo del campo indica il prefisso per gli operatori nelle clausole di ricerca.

Sarà possibile formulare espressioni di ricerca arbitrarie ma limitate ai soli campi di ricerca ammessi utilizzando i seguenti operatori:

IsNull IsNotNull AND OR NOTLessThan LessEqual Equal NotEqual GreaterEqualGreaterThan StringLike StringStartWith StringEndWith StringContains

Per i dettagli logici sul funzionamento e le modalità di composizione della stringa di ricerca si rimanda all’appendice D.

Per i dettagli implementativi si rimanda invece al codice dei progetti di esempio.

29

Page 33: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

I campi di ordinamento accettati:

Nome Descrizione

IdPdI Identificativo univoco della pubblicazione che contiene il messaggio restituito da SdI.

DateCreation È la data di creazione del PdI

IdStatus Identificativo dello stato corrente del PdI.

DateChangeStatus Data e ora in cui il PdI ha assunto lo stato corrente.

Si noti che non sono riportati i tipi dei campi accettati perché l’ordinamento è sempre formulato indicando se ascendente ASC o discendente DESC, è possibile specificare più campi di ordinamento nell’ordine desiderato con le stesse regole previste dall’SQL.

All’atto della richiesta viene verificato che l’utente abbia specificato nelle clausole di ricerca e ordinamento solo campi accettati dall’operazione invocata. Se la richiesta è valida viene restituita una risposta con l’elenco dei PdI trovate nel formato:

Parametri di Output Tipo Descrizione

ServiceInfo oggetto Oggetto contenente la versione corrente del Servizio ed eventuali informazioni aggiuntive (vedi Appendice B).

ServiceVersion stringa Versione corrente del servizio.

Info elenco Elenco di oggetti di tipo NameValueDC contenenti eventuali informazioni aggiuntive relative all’operazione corrente (vedi Appendice B).

SearchResultPdI oggetto Contenitore per i dati restituiti dalla ricerca.

ElencoInfoPdI elenco Elenco di oggetti InfoPdI (vedi sopra o in Appendice B)

PageNumber intero Numero della pagina di dati restituita.

PageSize intero Dimensione della pagina di dati restituita.

PageCount intero Numero di pagine totali recuperate dalla ricerca.

RecordCount intero Numero di record totali recuperati dalla ricerca.

oppure un errore SOAP.

30

Page 34: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

5 Workflow del PdIWorkflow interno delle Fatture Elettroniche inviate alle PA

Il workflow attuale per la conservazione sostitutiva gestita dal servizio CSC è descritto dal seguente schema:

Si tratta di uno schema semplificato che per maggiore chiarezza non riporta alcune transizioni di stato che vengono eseguite assegnando al PdI uno stato specifico a fronte di eventi.

La tabella degli stati del workflow dei file da mandare in conservazione è il seguente:

Stati del workflow del PdI

IdStatus

StatusName Tipo Descrizione

4740 Redazione Persistente Editing manuale da parte dell’utente.

4741 Ricezione Transitorio

4742 Ricevuto. Transitorio

31

Appendice A

Page 35: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

4743 Annullato Persistente

4744 Scartato Persistente

4745 Acquisito Transitorio

4746 Accodato su PdA Transitorio

4747 Conservato in PdA Persistente

4748 Decorrenza termini

Finale

Gli stati indicati come transitori sono quelli in cui il PdI può cambiare di stato a seguito di elaborazioni da parte del Servizio CSC senza l’intervento di utenti od operatori.

Gli stati persistenti sono quelli in cui il PdI permane a tempo indeterminato fino a che non intervengono un operatore o un utente.

Gli stati finali sono quelli in cui il PdI non può cambiare di stato.

32

Page 36: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

6 Parametri di tipo oggettoRaccolta completa dei parametri di tipo oggetto

Questa appendice raccoglie le tabelle di tutti i parametri di tipo oggetto utilizzati nelle operazioni esposte dai servizi. Gli oggetti sono elencati nell’ordine in cui sono stati presentati nella documentazione.

6.1 ServiceInfoÈ la classe base utilizzata da tutti i metodi dei servizi per restituire informazioni sul servizio stesso ed eventuali info aggiuntive.

ServiceInfo: Tipo Descrizione

ServiceVersion stringa Versione corrente del servizio.

Info elenco Elenco di oggetti di tipo NameValue contenente eventuali informazioni aggiuntive a fronte di richieste opzionali dell’utente.

6.2 NameValueÈ la classe contenente le info aggiuntive che l’utente può inviare o ricevere ai/dai servizi: essendo in ServiceInfo è presente in tutte le risposte dei Web Services mentre per le richieste a è presente nella classe UserIdentity.

NameValue: Tipo Descrizione

Name stringa Nome dell’informazione aggiuntiva inviata/richiesta.

Value stringa Valore dell’informazione aggiuntiva inviata/richiesta.

33

Appendice B

Page 37: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

6.3 BaseUserIdentityÈ la classe base contenente le informazioni legate all’identità dell’utente necessarie a tutte le richieste effettuate ai Web Services.

BaseUserIdentity: Tipo Descrizione

Username stringa nome utente (non importa se LowerCase oppure no).

Options elenco Elenco di oggetti di tipo NameValue contenente eventuali richieste opzionali dell’utente.

6.4 UserIdentityÈ la classe che aggiunge informazioni a BaseUserIdentity legate all’identità dell’utente necessarie a tutte le richieste effettuate ai Web Services.

Attualmente contiene solamente il valore del SecurityToken in più a BaseUserIdenty.

UserIdentity: Tipo Descrizione

SecurityToken stringa Nome utente (non importa se LowerCase oppure no).

6.5 BasicAuthenticationÈ il contenitore utilizzato per le informazioni richieste dall’autenticazione di base.

BasicAuthentication: Tipo Descrizione

UserName stringa nome utente (non importa se LowerCase oppure no)

Password stringa password

6.6 DigestAuthenticationÈ il contenitore utilizzato per le informazioni richieste dall’autenticazione fatta con l’algoritmo di hashing SHA1 come descritta nel capitolo dedicato.

DigestAuthentication: Tipo Descrizione

UserName stringa Nome utente (non importa se LowerCase oppure no).

Ticket stringa Ticket fornito dall’operazione GetTicket.

Digest stringa Calcolato con la formula indicata nel capitolo dedicato.

34

Page 38: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

6.7 SoggettoProduttore, SoggettoTitolare, SoggettoOrigine, SoggettoDestinazione

È il contenitore per i dati relativi ai vari soggetti.

UploadPdI: Tipo Descrizione

IdPaese stringa(2) Codice del Paese nello standard ISO 3166 alpha-2.Parametro obbligatorio.

PartitaIVA stringa(50) Partita IVA del soggetto (lunghezza massima 50 caratteri).

CodiceFiscale stringa Codice fiscale del soggetto.Parametro obbligatorio.

Denominazione stringa Parametro obbligatorio se mancano Nome e Cognome.

Nome stringa Parametro obbligatorio se mancano Denominazione e Cognome.

Cognome stringa Parametro obbligatorio se mancano Denominazione e Nome.

35

Page 39: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

6.8 DatiDocumentoÈ il contenitore dei dati relativi al documento da conservare

InfoPdI: Tipo Descrizione

IdTipoDocumento intero Tipo di documento da conservare.Parametro obbligatorio.

FileType enumeratore Tipo del file (valori elencati nell’Appendice C).Parametro obbligatorio.

HashType enumeratore Tipo del di hash del file (valori elencati nell’Appendice C).Parametro obbligatorio.

HashValue stringa Valore dell’hash del file.Parametro obbligatorio.

FileName stringa Nome del file.Parametro obbligatorio.

FileSize stringa Dimensione del file.Parametro obbligatorio.

DateChangeStatus intero Data e ora in cui il PdI ha assunto lo stato corrente.Parametro obbligatorio.

FileContent file File del PdI.Parametro obbligatorio.

Esercizio intero Esercizio del file da conservare.Parametro obbligatorio.

DataOra1 oggetto Oggetto contenente valori opzionali da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value data-ora Valore opzionale da conservare.

DataOra2 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value data-ora Valore opzionale da conservare.

DataOra3 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

36

Page 40: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Value data-ora Valore opzionale da conservare.

Testo1 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value stringa Valore opzionale da conservare.

Testo2 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value stringa Valore opzionale da conservare.

Testo3 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value stringa Valore opzionale da conservare.

Intero1 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value intero Valore opzionale da conservare.

Intero2 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value intero Valore opzionale da conservare.

Intero3 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value intero Valore opzionale da conservare.

Decimale1 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value decimale Valore opzionale da conservare.

Decimale2 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value intero Valore opzionale da conservare.

Decimale3 oggetto Etichetta del valore opzionale da conservare.

Name stringa Etichetta del valore opzionale da conservare.

Value intero Valore opzionale da conservare.

37

Page 41: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

AdditionalStringParameters elenco chiave-valore

Attributi specifici (obbligatori o meno) relativi allo specifico tipo di documento da conservare.

AdditionalIntParameters elenco chiave-valore

Attributi specifici (obbligatori o meno) relativi allo specifico tipo di documento da conservare.

AdditionalDateTimeParameters elenco chiave-valore

Attributi specifici (obbligatori o meno) relativi allo specifico tipo di documento da conservare.

AdditionalDecimalParameters elenco chiave-valore

Attributi specifici (obbligatori o meno) relativi allo specifico tipo di documento da conservare.

Di seguito gli IdTipoDocumenti ammessi e i relativi valori addizionali consentiti.

1001: FatturaPA emessa Tipo Descrizione

CodiceDestinazioneIPA stringa Riferimento univoco dell'ente pubblico a cui è destinata la fatturaPA.

IdentificativoSdI stringa Codice attribuito dallo SdI alla fattura PA.

NomeFileFatturaPASdI stringa Nome originario del file di fatturaPA inviato allo SDI.Parametro obbligatorio.

NumeroDocumento stringa Numero con cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

DataDocumento data-ora Data in cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

1002: FatturaPA rivetuta Tipo Descrizione

CodiceDestinazioneIPA stringa Riferimento univoco dell'ente pubblico a cui è destinata la fatturaPA.

IdentificativoSdI stringa Codice attribuito dallo SdI alla fattura PA.

NomeFileFatturaPASdI stringa Nome originario del file di fatturaPA inviato allo SDI.Parametro obbligatorio.

38

Page 42: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

NumeroRegistrazione stringa Numero attribuito alla registrazione contabile del documento.Parametro obbligatorio.

DataRegistrazione data-ora Data in cui è stata effettuata la registrazione contabile del documento.Parametro obbligatorio.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

NumeroFatturaOrigine stringa Numero con cui il origine ha emesso il documento.

DataEmissioneOrigine data-ora Data in cui il origine ha emesso il documento.

NumeroProtocollo stringa Numero di protocollo informatico attribuito dall’ente pubblico.

DataProtocollo data-ora Data di protocollo informatico attribuito dall’ente pubblico.

1003: Lotto FatturaPA emesso

Tipo Descrizione

CodiceDestinazioneIPA stringa Riferimento univoco dell'ente pubblico a cui è destinata la fatturaPA.

IdentificativoSdI stringa Codice attribuito dallo SdI alla fattura PA.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

1004: Lotto FatturaPA ricevuto

Tipo Descrizione

DataRegistrazione data-ora Data in cui è stata effettuata la registrazione contabile del documento.

CodiceDestinazioneIPA stringa Riferimento univoco dell'ente pubblico a cui è destinata la fatturaPA.

IdentificativoSdI stringa Codice attribuito dallo SdI alla fattura PA.

NumeroProtocollo stringa Numero di protocollo informatico attribuito dall’ente pubblico.

DataProtocollo data-ora Data di protocollo informatico attribuito dall’ente pubblico.

39

Page 43: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

1005: Notifica FatturaPA Tipo Descrizione

NomeFileFatturaPASdI stringa Nome originario del file di fatturaPA inviato allo SDI.Parametro obbligatorio.

DataDocumento data-ora Data in cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

2001: Fattura emessa Tipo Descrizione

NumeroDocumento stringa Numero con cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

DataDocumento data-ora Data in cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

2002: Nota di variazione emessa

Tipo Descrizione

NumeroDocumento stringa Numero con cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

Sezionale stringa umero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

DataDocumento data-ora Data in cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

2003: Fattura ricevuta Tipo Descrizione

NumeroRegistrazione stringa Numero attribuito alla registrazione contabile del documento.Parametro obbligatorio.

DataRegistrazione data-ora Data in cui è stata effettuata la registrazione contabile del documentoParametro obbligatorio.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

40

Page 44: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

NumeroFatturaOrigine stringa Numero con cui il origine ha emesso il documento.

DataEmissioneOrigine data-ora Data in cui il origine ha emesso il documento.

2004: Nota di variazione rivetuta

Tipo Descrizione

NumeroRegistrazione stringa Numero attribuito alla registrazione contabile del documento.Parametro obbligatorio.

DataRegistrazione data-ora Data in cui è stata effettuata la registrazione contabile del documentoParametro obbligatorio.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

NumeroFatturaOrigine stringa Numero con cui il origine ha emesso il documento.

DataEmissioneOrigine data-ora Data in cui il origine ha emesso il documento.

2005: DDT emesso Tipo Descrizione

NumeroDocumento stringa Numero con cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

Sezionale stringa umero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

DataDocumento data-ora Data in cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

2006: DTT ricevuto Tipo Descrizione

NumeroRegistrazione stringa Numero attribuito alla registrazione contabile del documento.Parametro obbligatorio.

DataRegistrazione data-ora Data in cui è stata effettuata la registrazione contabile del documentoParametro obbligatorio.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

41

Page 45: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

NumeroFatturaOrigine stringa Numero con cui il origine ha emesso il documento.

DataEmissioneOrigine data-ora Data in cui il origine ha emesso il documento.

2007: Bolla emessa Tipo Descrizione

NumeroDocumento stringa Numero con cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

Sezionale stringa umero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

DataDocumento data-ora Data in cui è stato emesso il documento dal soggetto emittente.Parametro obbligatorio.

2008: Bolla ricevuta Tipo Descrizione

NumeroRegistrazione stringa Numero attribuito alla registrazione contabile del documento.Parametro obbligatorio.

DataRegistrazione data-ora Data in cui è stata effettuata la registrazione contabile del documento.Parametro obbligatorio.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

NumeroFatturaOrigine stringa Numero con cui il origine ha emesso il documento.

DataEmissioneOrigine data-ora Data in cui il origine ha emesso il documento.

2009: Libro giornale Tipo Descrizione

PaginaIniziale numero Numero della prima pagina di un registro o libro contabile.

PaginaFinale numero Numero dell'ultima pagina di un registro o libro contabile.

DataInizio data-ora Data di inizio del periodo di competenza di un registro o libro contabile.

DataFine data-ora Data di fine del periodo di competenza di un registro o libro contabile.

42

Page 46: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

2010: Registro IVA Tipo Descrizione

PaginaIniziale numero Numero della prima pagina di un registro o libro contabile.

PaginaFinale numero Numero dell'ultima pagina di un registro o libro contabile.

DataInizio data-ora Data di inizio del periodo di competenza di un registro o libro contabile.

DataFine data-ora Data di fine del periodo di competenza di un registro o libro contabile.

Sezionale stringa Numero, codice o descrizione del registro sezionale di appartenenza di un documento o di un registro IVA.

Tipo stringa Tipo di registro o libro contabile (per es. per i registri iva: acquisti o vendite o corrispettivi).Parametro obbligatorio.

2011: Libro Mastro Tipo Descrizione

PaginaIniziale numero Numero della prima pagina di un registro o libro contabile.

PaginaFinale numero Numero dell'ultima pagina di un registro o libro contabile.

DataInizio data-ora Data di inizio del periodo di competenza di un registro o libro contabile.

DataFine data-ora Data di fine del periodo di competenza di un registro o libro contabile.

Tipo stringa Tipo di registro o libro contabile (per es. per i registri iva: acquisti o vendite o corrispettivi).

2012: Libro cespiti Tipo Descrizione

PaginaIniziale numero Numero della prima pagina di un registro o libro contabile.

PaginaFinale numero Numero dell'ultima pagina di un registro o libro contabile.

DataInizio data-ora Data di inizio del periodo di competenza di un registro o libro contabile.

DataFine data-ora Data di fine del periodo di competenza di un registro o libro contabile.

Tipo stringa Tipo di registro o libro contabile (per es. per i registri iva: acquisti o vendite o corrispettivi).

43

Page 47: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

2013: Giornale di magazzino

Tipo Descrizione

PaginaIniziale numero Numero della prima pagina di un registro o libro contabile.

PaginaFinale numero Numero dell'ultima pagina di un registro o libro contabile.

DataInizio data-ora Data di inizio del periodo di competenza di un registro o libro contabile.

DataFine data-ora Data di fine del periodo di competenza di un registro o libro contabile.

Tipo stringa Tipo di registro o libro contabile (per es. per i registri iva: acquisti o vendite o corrispettivi).

44

Page 48: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

6.9 InfoPdIÈ il contenitore per tutti i dati informativi relativi ad una fattura restituiti all’utente.

InfoPdI: Tipo Descrizione

IdPdI intero Identificativo univoco della pubblicazione che contiene il PdI.

IdDoc intero Identificativo del documento da conservare allegato alla pubblicazione.

DateCreation data-ora Data e ora in cui la pubblicazione che contiene il PdI è stata creata all’interno del Servizio CSC

IdStatus intero Identificativo dello stato corrente delil PdI.

StatusName stringa Nome dello stato corrente delil PdI.

DateChangeStatus data-ora Data e ora in cui il PdI ha assunto lo stato corrente.

FileInfo oggetto File del PdI.

6.10FileInfoFileInfo contiene i seguenti dati:

FileInfo: Tipo Descrizione

IdObject intero Identificativo univoco della pubblicazione che contiene il file.

IdDoc intero Identificativo univoco del file all’interno della pubblicazione.

FileType enumerato

Tipo del file (valori elencati nell’Appendice C).

FileName stringa Nome del file

FileDescr stringa Eventuale descrizione del file

FileSize intero Dimensione del file in byte

FileMD5 stringa Hashing MD5 del file

45

Page 49: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

6.11SearchFilterPdIContenitore per i parametri di ricerca dei PdI.

SearchFilterFatturePA: Tipo Descrizione

SearchExpression oggetto Contenitore per le clausole di ricerca (vedi appendice D).

OrderBy oggetto Contenitore per le clausole di ordinamento (vedi appendice D).

PageSize intero Dimensione della pagina di dati richiesta

PageNumber intero Numero della pagina di dati richiesta

Per avere la massima flessibilità nelle ricerche sono previsti un oggetto di ricerca e uno di ordinamento generici (vedasi appendice D).

I filtri di ricerca che utilizzano SearchExpression e OrderBy specificano di volta in volta i campi (Field) utilizzabili nella ricerca o nell’ordinamento; non specificare una SearchExpression equivale a fare una ricerca completa senza parametri di filtro.

Questo approccio sacrifica la possibilità dell’utente di utilizzare l’intellisense per i parametri di ricerca ma riduce al minimo le modifiche necessarie ad introdurre nuovi campi. L’operazione controlla sempre che i campi specificati siano validi.

6.12 SearchResultPdIContenitore per il risultato di ricerca restituito dall’operazione RicercaFatture:

SearchResultFatturePA: Tipo Descrizione

ElencoInfoPdI elenco Elenco di oggetti InfoPdI.

PageNumber intero Numero della pagina di dati restituita.

PageSize intero Dimensione della pagina di dati restituita.

PageCount intero Numero di pagine totali recuperate dalla ricerca.

RecordCount intero Numero di record totali recuperati dalla ricerca.

46

Page 50: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

7 Valori enumeratiTabelle dei parametri che assumono valori enumerati

Questa appendice elenca i parametri che assumono valori enumerati la cui codifica è stabilita dal Servizio CSC.

7.1 PdIFileTypeIl parametro PdIFileType (restituito all’interno di FileInfo e DatiDocumento) indica l’estensione del file contenuto nelle pubblicazioni:

FileType: Descrizione

pdf Estensione .pdf

pdf_p7m Estensione .pdf.p7m

pdf_m7m Estensione .pdf.m7m

tiff Estensione .tiff

tiff_p7m Estensione .tiff.p7m

tiff_m7m Estensione .tiff.m7m

jpg Estensione .jpg

jpg_p7m Estensione .jpg.p7m

jpg_m7m Estensione .jpg.m7m

xml Estensione .xml

xml_p7m Estensione .xml.p7m

47

Appendice C

Page 51: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

xml_m7m Estensione .xml.m7m

txt Estensione .txt

txt_p7m Estensione .txt.p7m

txt_m7m Estensione .txt.m7m

eml Estensione .eml

eml_p7m Estensione .eml.p7m

eml_m7m Estensione .eml.m7m

7.2 HashTypeIl parametro HashType (contenuto all’interno di DatiDocumento) indica l’algoritmo di calcolo dell’hash di un array di byte

Tipo documento PdI: Descrizione

SHA-256 Algoritmo di crittografazione SHA-256

7.3 OperatorIl parametro Operator indica l’operatore da applicare all’espressione di ricerca:

Operator: Descrizione

IsNull Verifica che l’operando sia null

IsNotNull Verifica che l’operando non sia null

AND Concatena gli operatori specificati con un operatore AND

OR Concatena gli operatori specificati con un operatore OR

NOT Verifica che l’operando non rispetti la condizione specificata

LessThan Verifica che il primo operando abbia valore inferiore del secondo

LessEqual Verifica che il primo operando abbia valore inferiore od uguale del secondo

Equal Verifica che il primo operando abbia valore uguale del secondo

NotEqual Verifica che il primo operando abbia valore diverso dal secondo

GreaterEqual Verifica che il primo operando abbia valore maggiore od uguale del secondo

48

Page 52: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

GreaterThan Verifica che il primo operando abbia valore maggiore del secondo

StringLike Verifica che il primo operando (di tipo stringa) abbia valore uguale del secondo

StringStartWith Verifica che il primo operando (di tipo stringa) abbia valore che coincide con l’inizio della stringa specificata come secondo operando

StringEndWith Verifica che il primo operando (di tipo stringa) abbia valore che coincide con la fine della stringa specificata come secondo operando

StringContains Verifica che il primo operando (di tipo stringa) abbia valore contenuto nella stringa specificata come secondo operando

7.4 ArgTypeIl parametro ArgType indica il tipo di dato utilizzato nell’espressione di ricerca e può valere:

ArgType: Descrizione

InnerSearchClause Il valore del parametro di ricerca è un ulteriore clausola di ricerca nidificata

FieldName Il valore del parametro è una stringa contenente il nome del campo sul quale effettuare la ricerca

IntValue Il valore del parametro è di tipo intero

StringValue Il valore del parametro è di tipo stringa

BooleanValue Il valore del parametro è di tipo booleano

DoubleValue Il valore del parametro è di tipo double

DateTimeValue Il valore del parametro è di tipo data

7.5 DirectionIl parametro Direction indica il tipo di ordinamento da effettuare sul campo specificato:

49

Direction: Descrizione

ASC Ordinamento crescente

DESC Ordinamento decrescente

Page 53: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

8 Parametri di ricercaFormulazione delle ricerche con SearchExpression e OrderBy

Questa appendice descrive l’utilizzo del parametri SearchExpression e OrderBy utilizzati nella ricerca delle fatture.

8.1 SearchExpressionTramite la valorizzazione dell’entità SearchExpression è possibile definire una filtro di ricerca per le fatture; SearchExpression è così definita:

SearchExpression: Tipo Descrizione

SearchClause oggetto Contenitore della clausola di ricerca: viene utilizzata la notazione prefissa per la definizione di operatore ed operandi

SearchClause: Tipo Descrizione

Operator enumerato Operatore dell’espressione di ricerca (vedi appendice C)

Arguments elenco Elenco degli argomenti dell’espressione di ricerca.Vedi tabella sotto per la definizione.

Argument: Tipo Descrizione

ArgType enumerato

Tipo del valore dell’operando (vedi appendice C)

50

Appendice D

Page 54: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

ArgValue oggetto Valore dell’operando

8.2 OrderByTramite la valorizzazione dell’entità OrderBy è possibile definire il tipo di ordinamento applicabile alla clausola di ricerca:

OrderBy: Tipo Descrizione

OrderByClauses elenco Elenco di contenitori di tipo OrderByClause contenenti le clausole di ordinamento

OrderByClause: Tipo Descrizione

FieldName stringa Nome del campo sul quale effettuare l’ordinamento

Direction enumerato

Tipo del valore di ordinamento (vedi appendice C)

51

Page 55: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

9 Elenco erroriElenco completo degli errori restituiti dai Web Services

In questo capitolo vengono riepilogati tutti gli errori che possono essere restituiti dai Web Services del Servizio di Fatturazione Elettronica alla PA di TeamSystem.

In caso di errore il servizio invia al client una risposta del tipo:

<s:Envelope xmlns:s=http://www.w3.org/2003/05/soap-envelope xmlns:a="http://www.w3.org/2005/08/addressing"> <s:Header> <a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action> <a:RelatesTo>urn:uuid:0d6ce642-c65e-4c5b-9933-2e5f7d23ccd3</a:RelatesTo> </s:Header> <s:Body> <s:Fault> <s:Code> <s:Value>s:Sender</s:Value>

<s:SubCode> <s:Value>s:1</s:Value> </s:SubCode>

</s:Code> <s:Reason> <s:Text xml:lang="it-IT">Id errore: [Guid dell’eccezione] - Parametro obbligatorio: UserName</s:Text> </s:Reason> </s:Fault> </s:Body></s:Envelope>dove il nodo <s:Code> contiene il FaultCode standard SOAP 1.2 Sender o Receiver a seconda che l’errore sia stato causato dai dati inviati dall’utente oppure da un errore del server ed il sottonodo <s:SubCode> contiene il codice di errore specifico; il nodo <s:Reason> invece contiene la FaultReason, un messaggio composto dall’id univoco dell’eccezione (un guid) e la descrizione testuale dell’errore.

52

Appendice E

Page 56: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

Nel caso in cui dal FaultCode e dalla descrizione della FaultReason non si capisca la causa dell’errore è possibile contattare il gestore del servizio facendo riferimento all’id dell’eccezione.

È possibile che in alcuni casi la risposta contenga anche ulteriori informazioni di dettaglio relative all’errore ma queste sono da considerarsi opzionali e non garantite per cui il client può limitarsi alla sola decodifica di FaultCode e FaultReason.

Gli errori sono suddivisi per categoria e la FaultReason indicata potrebbe essere oggetto di modifiche nel testo ma che non alterano il significato logico legato al FaultCode.

9.1 Errori nei dati della richiestaFaultCode FaultReason

1 Parametro obbligatorio: {nome parametro}

2 Parametro non valido: {nome parametro} = {valore parametro}

3 Il parametro {nome} supera la lunghezza massima di {max} caratteri

4 Il parametro {nome} non ha lunghezza compresa tra {min}-{max} caratteri

5 Il parametro {nome parametro} è obbligatorio quando il parametro {parametro di confronto} è valorizzato

6 Il parametro {nome parametro} è obbligatorio quando il parametro {parametro di confronto} non è valorizzato

7 Il parametro { nome parametro } ha un valore di hash che non corrisponde a quando settato nel parametro { parametro di confronto }

8 Il parametro { nome parametro } dichiara un'estensione file che non corrisponde al parametro { parametro di confronto }

9 Il parametro { nome parametro } ha una dimensione che non corrisponde a quanto settato nel parametro { parametro di confronto }

10 Il parametro { nome parametro } ha valore maggiore di {max}

11 Il parametro { nome parametro } ha valore non compreso nel range {min}-{max}

12 Oggetto { nome parametro } non trovato o inaccessibile

13 Il parametro { nome parametro } è obbligatorio quando il parametro { parametro di confronto } è valorizzato e vale { valore parametro }

14 Il parametro { nome parametro } è obbligatorio quando il parametro { parametro di confronto } è valorizzato e non vale { valore parametro }

15 Il parametro { nome parametro } è obbligatorio quando nessuno tra i seguenti parametri è valorizzato: { nomi parametri di confronto }

53

Page 57: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

16 Il parametro { nome parametro } è obbligatorio quando almeno uno tra i seguenti parametri non è valorizzato: { nomi parametri di confronto }

21 Errore nell’espressione di ricerca: { messaggio di errore }

22 Errore nell’espressione di ordinamento: { messaggio di errore }

23 Il parametro { nome parametro } ha valore non compreso tra i seguenti: { valori ammessi parametro }

24 Il parametro { nome parametro } deve essere nullo

9.2 Errori di sicurezzaFaultCode FaultReason

101 Accesso negatoErrore restituito quando la richiesta non presenta un SecurityToken valido.

102 Operazione non autorizzataErrore restituito quando l’utente, pur avendo fornito un SecurityToken valido non ha i permessi per eseguire l’operazione richiesta.

9.3 Errori in fase di elaborazioneFaultCode FaultReason

200 Errore inaspettatoEccezione interna non prevista, il FaultCode restituito è sempre 200.

201 Errore in fase di loginErrore restituito quando l’autenticazione non va a buon fine.

202 Autenticazione fallita

210 Il file con nome { nome parametro } ha dimesione pari a { dimensione file } bytes che supera la soglia massima { dimensione max file }

211 Utente { valore parametro } non trovato

212 Gruppo { valore parametro } non trovato

213 Nome gruppo { valore parametro } non valido

214 Produttore { valore parametro } non trovato

215 Titolare { valore parametro } non trovato

54

Page 58: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

216 Rivenditore { valore parametro } non trovato

217 Rete di distribuzione { valore parametro } non trovata

218 Titolare { valore parametro } già esistente

219 Produttore { valore parametro } già esistente

220 Rivenditore { valore parametro } già esistente

221 Rete di distribuzione { valore parametro } già esistente

222 Rete di distribuzione indicata in assenza di rivenditore {valore parametro}

223 Incongruenza nei dati del Produttore { valore parametro }

224 Trovate più pubblicazioni Produttore { valore parametro }

225 Rivenditore non corrispondente { valore parametro }

226 Rete di distribuzione non corrispondente { valore parametro }

227 Incongruenza nei dati del Titolare { valore parametro }

228 Trovate più pubblicazioni Titolare { valore parametro }

229 Produttore non corrispondente { valore parametro }

230 Incongruenza nei dati del Rivenditore { valore parametro }

231 Trovate più pubblicazioni Rivenditore { valore parametro }

232 Incongruenza nei dati della Rete di distribuzione { valore parametro }

233 Trovate più pubblicazioni Rete di distribuzione { valore parametro }

234 Provenienza { valore parametro } non abilitata

235 Scheda utente { valore parametro } già esistente

236 Incongruenza nei dati della scheda utente { valore parametro }

237 Trovate più pubblicazioni Scheda utente { valore parametro }

238 Utente e gruppo { valore parametro } non corrispondenti

239 Scheda utente { valore parametro } non trovata

240 Utente { valore parametro } non abilitato

241 PdI { valore parametro } già esistente

55

Page 59: cs-test.teamsystem.comcs-test.teamsystem.com/knos/wcf/cs/doc/CS-WebServices... · Web viewLinee guida per l’integrazione con altri applicativi

Servizio CSCWeb Services – Specifiche Tecniche

242 Trovate più pubblicazioni PdI { valore parametro }

243 Errore nel ricevimento del PdI { valore parametro }

244 Tipo di hash non supportato { valore parametro }

245 Tipo di file non supportato { valore parametro }

246 File corrotto { valore parametro }

9.4 Errori non codificatiPuò succedere che per errore alcuni FaultCode non trovino una corrispondente FaultReason, in questi casi al client viene restituito:

FaultCode FaultReason

N Errore sconosciuto

Dove N indica un FaultCode non riportato in una delle tabelle precedenti.

56