Unico3.Link.API

<back to all web services

ElaboraBilancio

Contabilita
The following routes are available for this service:
GET, POST/contabilita/bilancio/dal/{DataDa}/al/{DataA}
import Foundation
import ServiceStack

public class ElaboraBilancio : Codable
{
    // @Required()
    public var dataA:Date?

    // @Required()
    public var dataDa:Date?

    public var sezione:Int?
    public var cat:FK_CAT?
    public var escludiExtracontabili:Bool?

    required public init(){}
}

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 BilancioResponse : Codable
{
    public var elementi:[RigaBilancio] = []

    required public init(){}
}

public class RigaBilancio : Codable
{
    public var conto:ContoConExtra?
    public var attivitaRicavo:Double?
    public var passivitaCosto:Double?
    public var saldo:Double?

    required public init(){}
}

public class ContoConExtra : FK_Conto
{
    public var isEconomico:Bool?
    public var isPatrimoniale:Bool?
    public var codiceMastro:String?
    public var codiceConto:String?
    public var descrizione:String?

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

    private enum CodingKeys : String, CodingKey {
        case isEconomico
        case isPatrimoniale
        case codiceMastro
        case codiceConto
        case descrizione
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        isEconomico = try container.decodeIfPresent(Bool.self, forKey: .isEconomico)
        isPatrimoniale = try container.decodeIfPresent(Bool.self, forKey: .isPatrimoniale)
        codiceMastro = try container.decodeIfPresent(String.self, forKey: .codiceMastro)
        codiceConto = try container.decodeIfPresent(String.self, forKey: .codiceConto)
        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 isEconomico != nil { try container.encode(isEconomico, forKey: .isEconomico) }
        if isPatrimoniale != nil { try container.encode(isPatrimoniale, forKey: .isPatrimoniale) }
        if codiceMastro != nil { try container.encode(codiceMastro, forKey: .codiceMastro) }
        if codiceConto != nil { try container.encode(codiceConto, forKey: .codiceConto) }
        if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) }
    }
}

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


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

POST /contabilita/bilancio/dal/{DataDa}/al/{DataA} HTTP/1.1 
Host: unico3.link.api 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"DataA":"0001-01-01T00:00:00.0000000","DataDa":"0001-01-01T00:00:00.0000000","Sezione":0,"CAT":{"Codice":"String","Id":0},"EscludiExtracontabili":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Elementi":[{"Conto":{"IsEconomico":false,"IsPatrimoniale":false,"CodiceMastro":"String","CodiceConto":"String","Descrizione":"String","Codice":"String","CodiceExport":"String","Id":0},"AttivitaRicavo":0,"PassivitaCosto":0,"Saldo":0}]}