Unico3.Link.API

<back to all web services

RicercaDocumentiEmessi

Documenti
The following routes are available for this service:
GET/documenti/emessi/da/{Da}Restituisce tutti i documenti con ID > {Da}
GET/documenti/emessi/ultimi/{Ultimi}Restituisce gli ultimi N documenti (utile per test)
GET/intervento/numero/{NumeroIntervento}/documentiRestituisce i documenti, se presenti, collegati ad un dato intervento
GET/intervento/id/{IdIntervento}/documentiRestituisce i documenti, se presenti, collegati ad un dato intervento
GET/interventi/{IdIntervento}/documentiRestituisce i documenti, se presenti, collegati ad un dato intervento
GET/documenti/emessi/da/data/{DataDa}/a/data/{DataA}Resituisce tutti i documenti con data compresa tra due date (estremi inclusi)
GET/documenti/emessi/da/data/{DataDa}Resituisce i documenti con data maggiore o uguale a una data limite
import Foundation
import ServiceStack

public class RicercaDocumentiEmessi : Codable
{
    public var da:Int?
    public var ultimi:Int?
    public var daFatturare:Bool?
    public var isFatturato:Bool?
    public var isIntervento:Bool?
    public var isCommessa:Bool?
    public var intervento:FK_Intervento?
    public var tipologia:FK_TipologiaDocumento?
    public var cat:FK_CAT?
    public var tecnico:FK_Tecnico?
    public var dataA:Date?
    public var dataDa:Date?
    public var sessioneMobile:StatoSessioneMobile?
    public var validazione:StatoValidazione?
    public var isSupportoDistinte:Bool?

    required public init(){}
}

public class FK_Intervento : FK, IUniqueNumero
{
    public var numero:Int?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case numero
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        numero = try container.decodeIfPresent(Int.self, forKey: .numero)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if numero != nil { try container.encode(numero, forKey: .numero) }
    }
}

public class FK : Codable
{
    public var id:Int?

    required public init(){}
}

public class FK_TipologiaDocumento : FK, IUniqueDescrizione, IUniqueCodiceExport
{
    public var codiceExport:String?
    public var descrizione:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codiceExport
        case descrizione
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
        descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
        if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) }
    }
}

public class FK_CAT : FK, IUniqueCodice
{
    public var codice:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codice
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codice = try container.decodeIfPresent(String.self, forKey: .codice)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codice != nil { try container.encode(codice, forKey: .codice) }
    }
}

public class FK_Tecnico : FK, IUniqueSigla, IUniqueNominativo
{
    public var sigla:String?
    public var nominativo:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case sigla
        case nominativo
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        sigla = try container.decodeIfPresent(String.self, forKey: .sigla)
        nominativo = try container.decodeIfPresent(String.self, forKey: .nominativo)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if sigla != nil { try container.encode(sigla, forKey: .sigla) }
        if nominativo != nil { try container.encode(nominativo, forKey: .nominativo) }
    }
}

public enum StatoSessioneMobile : String, Codable
{
    case APERTA
    case CHIUSA
}

public enum StatoValidazione : String, Codable
{
    case DA_VALIDARE
    case VALIDATI
}

public class GetDocumentiResponse : Codable
{
    public var documenti:[Documento] = []

    required public init(){}
}

public class Documento : Codable
{
    public var id:Int?
    public var codiceExport:String?
    public var data:Date?
    public var numero:String?
    public var tipologia:FK_TipologiaDocumento?
    public var cat:FK_CAT?
    public var intervento:Intervento?
    public var cliente:FK_Anagrafica?
    public var codiceFiscale:String?
    public var partitaIva:String?
    public var nominativoIntestatario:String?
    public var indirizzoIntestatario:String?
    public var comuneIntestatario:String?
    public var capIntestatario:String?
    public var provinciaIntestatario:String?
    public var telefonoIntestatario:String?
    public var nominativoDestinatario:String?
    public var indirizzoDestinatario:String?
    public var comuneDestinatario:String?
    public var capDestinatario:String?
    public var provinciaDestinatario:String?
    public var magazzinoDestinazione:FK_Magazzino?
    public var magazzinoOrigine:FK_Magazzino?
    public var impianto:FK_Impianto?
    public var nominativoImpianto:String?
    public var indirizzoImpianto:String?
    public var numeroCivicoImpianto:String?
    public var comuneImpianto:String?
    public var capImpianto:String?
    public var provinciaImpianto:String?
    public var imponibile:Double?
    public var imposta:Double?
    public var esente:Double?
    public var arrotondamento:Double?
    public var totaleImporto:Double?
    public var pagamentoContestuale:FK_Pagamento?
    public var pagato:Double?
    public var pagamentoDifferito:FK_Pagamento?
    public var ivaDiCassa:Bool?
    public var isFatturare:Bool?
    public var causaleDiTrasporto:FK_CausaleTrasporto?
    public var dettagli:[DettaglioDocumento] = []

    required public init(){}
}

public class Intervento : Codable
{
    public var id:Int?
    public var numero:Int?
    public var richiesta:FK_Attivita?
    public var impianto:FK_Impianto?
    public var tipologia:FK_TipologiaIntervento?
    public var tecnico:FK_Tecnico?
    public var statoSessioneMobile:StatoSessioneMobile?
    public var statoValidazione:StatoValidazione?
    public var validazioni:[ValidazioneIntervento] = []
    public var descrizione:String?
    public var note:String?
    public var data:Date?
    @TimeSpan public var oraInizio:TimeInterval?
    @TimeSpan public var durata:TimeInterval?

    required public init(){}
}

public class FK_Attivita : FK, IUniqueNumero
{
    public var numero:Int?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case numero
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        numero = try container.decodeIfPresent(Int.self, forKey: .numero)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if numero != nil { try container.encode(numero, forKey: .numero) }
    }
}

public class FK_Impianto : FK, IUniqueCodiceNumerico, IUniqueCodiceExport
{
    public var codice:Int?
    public var codiceExport:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codice
        case codiceExport
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codice = try container.decodeIfPresent(Int.self, forKey: .codice)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codice != nil { try container.encode(codice, forKey: .codice) }
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
    }
}

public class FK_TipologiaIntervento : FK, IUniqueSigla, IUniqueDescrizione
{
    public var descrizione:String?
    public var sigla:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case descrizione
        case sigla
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione)
        sigla = try container.decodeIfPresent(String.self, forKey: .sigla)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) }
        if sigla != nil { try container.encode(sigla, forKey: .sigla) }
    }
}

public class ValidazioneIntervento : Codable
{
    public var isEseguita:Bool?
    public var note:String?
    public var stepValidazione:FK_StepValidazione?

    required public init(){}
}

public class FK_StepValidazione : FK
{
    public var descrizione:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case descrizione
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) }
    }
}

public class FK_Anagrafica : FK, IUniqueCodiceNumerico, IUniqueCodiceExport
{
    public var codice:Int?
    public var codiceExport:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codice
        case codiceExport
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codice = try container.decodeIfPresent(Int.self, forKey: .codice)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codice != nil { try container.encode(codice, forKey: .codice) }
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
    }
}

public class FK_Magazzino : FK, IUniqueDescrizione, IUniqueCodiceExport
{
    public var descrizione:String?
    public var codiceExport:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case descrizione
        case codiceExport
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) }
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
    }
}

public class FK_Pagamento : FK, IUniqueDescrizione, IUniqueCodiceExport
{
    public var codiceExport:String?
    public var descrizione:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codiceExport
        case descrizione
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
        descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
        if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) }
    }
}

public class FK_CausaleTrasporto : FK, IUniqueDescrizione
{
    public var descrizione:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case descrizione
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) }
    }
}

public class DettaglioDocumento : Codable
{
    public var id:Int?
    public var tipo:TipoRiga?
    public var articolo:FK_Articolo?
    public var codice:String?
    public var descrizione:String?
    public var descrizioneEstesa:String?
    public var quantita:Double?
    public var udM:FK_UdM?
    public var prezzoUnitario:Double?
    public var importo:Double?
    public var sconto:String?
    public var contropartita:FK_Conto?
    public var aliquotaIVA:FK_AliquotaIVA?
    public var isGaranzia:Bool?
    public var tipoPrezzoDistinta:TipoPrezzoDistinta?
    public var isComponenteDistinta:Bool?
    public var idTestataDistinta:Int?

    required public init(){}
}

public enum TipoRiga : String, Codable
{
    case Articolo
    case Manuale
    case Testo
    case Distinta
}

public class FK_Articolo : FK, IUniqueCodice
{
    public var codice:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codice
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codice = try container.decodeIfPresent(String.self, forKey: .codice)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codice != nil { try container.encode(codice, forKey: .codice) }
    }
}

public class FK_UdM : FK, IUniqueCodice, IUniqueDescrizione, IUniqueCodiceExport
{
    public var codice:String?
    public var descrizione:String?
    public var codiceExport:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codice
        case descrizione
        case codiceExport
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codice = try container.decodeIfPresent(String.self, forKey: .codice)
        descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codice != nil { try container.encode(codice, forKey: .codice) }
        if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) }
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
    }
}

public class FK_Conto : FK, IUniqueCodice, IUniqueCodiceExport
{
    public var codice:String?
    public var codiceExport:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codice
        case codiceExport
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codice = try container.decodeIfPresent(String.self, forKey: .codice)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codice != nil { try container.encode(codice, forKey: .codice) }
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
    }
}

public class FK_AliquotaIVA : FK, IUniqueCodice, IUniqueCodiceExport
{
    public var codice:String?
    public var codiceExport:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case codice
        case codiceExport
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        codice = try container.decodeIfPresent(String.self, forKey: .codice)
        codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if codice != nil { try container.encode(codice, forKey: .codice) }
        if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
    }
}

public enum TipoPrezzoDistinta : String, Codable
{
    case ANALITICO
    case FORFAIT
}


Swift RicercaDocumentiEmessi DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /documenti/emessi/da/{Da} HTTP/1.1 
Host: unico3.link.api 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Documenti":[{"Id":0,"CodiceExport":"String","Data":"0001-01-01T00:00:00.0000000","Numero":"String","Tipologia":{"CodiceExport":"String","Descrizione":"String","Id":0},"CAT":{"Codice":"String","Id":0},"Intervento":{"Id":0,"Numero":0,"Richiesta":{"Numero":0,"Id":0},"Impianto":{"Codice":0,"CodiceExport":"String","Id":0},"Tipologia":{"Descrizione":"String","Sigla":"String","Id":0},"Tecnico":{"Sigla":"String","Nominativo":"String","Id":0},"StatoSessioneMobile":"APERTA","StatoValidazione":"DA_VALIDARE","Validazioni":[{"IsEseguita":false,"Note":"String","StepValidazione":{"Descrizione":"String","Id":0}}],"Descrizione":"String","Note":"String","Data":"0001-01-01T00:00:00.0000000","OraInizio":"PT0S","Durata":"PT0S"},"Cliente":{"Codice":0,"CodiceExport":"String","Id":0},"CodiceFiscale":"String","PartitaIva":"String","NominativoIntestatario":"String","IndirizzoIntestatario":"String","ComuneIntestatario":"String","CAPIntestatario":"String","ProvinciaIntestatario":"String","TelefonoIntestatario":"String","NominativoDestinatario":"String","IndirizzoDestinatario":"String","ComuneDestinatario":"String","CAPDestinatario":"String","ProvinciaDestinatario":"String","MagazzinoDestinazione":{"Descrizione":"String","CodiceExport":"String","Id":0},"MagazzinoOrigine":{"Descrizione":"String","CodiceExport":"String","Id":0},"Impianto":{"Codice":0,"CodiceExport":"String","Id":0},"NominativoImpianto":"String","IndirizzoImpianto":"String","NumeroCivicoImpianto":"String","ComuneImpianto":"String","CAPImpianto":"String","ProvinciaImpianto":"String","Imponibile":0,"Imposta":0,"Esente":0,"Arrotondamento":0,"TotaleImporto":0,"PagamentoContestuale":{"CodiceExport":"String","Descrizione":"String","Id":0},"Pagato":0,"PagamentoDifferito":{"CodiceExport":"String","Descrizione":"String","Id":0},"IvaDiCassa":false,"IsFatturare":false,"CausaleDiTrasporto":{"Descrizione":"String","Id":0},"Dettagli":[{"Id":0,"Tipo":"Articolo","Articolo":{"Codice":"String","Id":0},"Codice":"String","Descrizione":"String","DescrizioneEstesa":"String","Quantita":0,"UdM":{"Codice":"String","Descrizione":"String","CodiceExport":"String","Id":0},"PrezzoUnitario":0,"Importo":0,"Sconto":"String","Contropartita":{"Codice":"String","CodiceExport":"String","Id":0},"AliquotaIVA":{"Codice":"String","CodiceExport":"String","Id":0},"IsGaranzia":false,"TipoPrezzoDistinta":"ANALITICO","IsComponenteDistinta":false,"IdTestataDistinta":0}]}]}