Unico3.Link.API

<back to all web services

Scadenziario

Documenti
The following routes are available for this service:
PUT,GET/documenti/scadenziario/al/{Data}/
import Foundation
import ServiceStack

public class Scadenziario : Codable
{
    // @Required()
    public var data:Date?

    public var attivaPassiva:SezioneScadenza?
    public var includiManuali:Bool?
    public var cat:FK_CAT?

    required public init(){}
}

public enum SezioneScadenza : String, Codable
{
    case ATTIVA
    case PASSIVA
}

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 : Codable
{
    public var id:Int?

    required public init(){}
}

public class ScadenziarioResult : Codable
{
    public var scadenze:[ScadenzaResult] = []

    required public init(){}
}

public class ScadenzaResult : Codable
{
    public var id:Int?
    public var attivaPassiva:SezioneScadenza?
    public var tipo:TipoScadenza?
    public var stato:StatoScadenza?
    public var anagrafica:AnagraficaConExtra?
    public var importo:Double?
    public var dataScadenza:Date?
    public var numeroDocumento:String?
    public var suffissoDocumento:String?
    public var dataDocumento:Date?
    public var descrizioneTipologiaDocumento:String?
    public var codiceExport:String?

    required public init(){}
}

public enum TipoScadenza : String, Codable
{
    case Bonifico
    case Insoluto
    case RID
    case RicevutaBancaria
    case RimessaDiretta
    case RitenutaAcconto
    case RitenutaEnasarco
    case ScontoBonus
    case SplitPayment
    case Tratta
}

public enum StatoScadenza : String, Codable
{
    case Aperto
    case Chiuso
    case Insoluto
    case Presentato
    case Contestuale
}

public class AnagraficaConExtra : FK_Anagrafica
{
    public var nominativo:String?
    public var cf:String?
    public var piva:String?

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

    private enum CodingKeys : String, CodingKey {
        case nominativo
        case cf
        case piva
    }

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

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

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) }
    }
}


Swift Scadenziario 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.

PUT /documenti/scadenziario/al/{Data}/ HTTP/1.1 
Host: unico3.link.api 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"Data":"0001-01-01T00:00:00.0000000","AttivaPassiva":"ATTIVA","IncludiManuali":false,"CAT":{"Codice":"String","Id":0}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Scadenze":[{"Id":0,"AttivaPassiva":"ATTIVA","Tipo":"Bonifico","Stato":"Aperto","Anagrafica":{"Nominativo":"String","CF":"String","PIVA":"String","Codice":0,"CodiceExport":"String","Id":0},"Importo":0,"DataScadenza":"0001-01-01T00:00:00.0000000","NumeroDocumento":"String","SuffissoDocumento":"String","DataDocumento":"0001-01-01T00:00:00.0000000","DescrizioneTipologiaDocumento":"String","CodiceExport":"String"}]}