GET | /directplus/supplier |
---|
import Foundation
import ServiceStack
public class BrowseDirectPlusSupplierData : IGet, Codable
{
public var vatNumber:String
public var country:String
public var dunsNumber:String
required public init(){}
}
public class BrowseDirectPlusSupplierDataResponse : ResponseBase
{
public var vatNumber:String
public var businessType:String
public var euTaxNumber:String
public var groupTaxNumber:String
public var countryId:Int?
public var name:String
public var shortName:String
public var registrationNumber:String
public var establishedDate:Date?
public var registrationDate:Date?
public var duns:String
public var email:String
public var phoneNumber:String
public var website:String
public var mainActivities:[AddSupplierMainActivity] = []
public var supplierAddresses:[AddSupplierSupplierAddress] = []
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case vatNumber
case businessType
case euTaxNumber
case groupTaxNumber
case countryId
case name
case shortName
case registrationNumber
case establishedDate
case registrationDate
case duns
case email
case phoneNumber
case website
case mainActivities
case supplierAddresses
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
vatNumber = try container.decodeIfPresent(String.self, forKey: .vatNumber)
businessType = try container.decodeIfPresent(String.self, forKey: .businessType)
euTaxNumber = try container.decodeIfPresent(String.self, forKey: .euTaxNumber)
groupTaxNumber = try container.decodeIfPresent(String.self, forKey: .groupTaxNumber)
countryId = try container.decodeIfPresent(Int.self, forKey: .countryId)
name = try container.decodeIfPresent(String.self, forKey: .name)
shortName = try container.decodeIfPresent(String.self, forKey: .shortName)
registrationNumber = try container.decodeIfPresent(String.self, forKey: .registrationNumber)
establishedDate = try container.decodeIfPresent(Date.self, forKey: .establishedDate)
registrationDate = try container.decodeIfPresent(Date.self, forKey: .registrationDate)
duns = try container.decodeIfPresent(String.self, forKey: .duns)
email = try container.decodeIfPresent(String.self, forKey: .email)
phoneNumber = try container.decodeIfPresent(String.self, forKey: .phoneNumber)
website = try container.decodeIfPresent(String.self, forKey: .website)
mainActivities = try container.decodeIfPresent([AddSupplierMainActivity].self, forKey: .mainActivities) ?? []
supplierAddresses = try container.decodeIfPresent([AddSupplierSupplierAddress].self, forKey: .supplierAddresses) ?? []
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if vatNumber != nil { try container.encode(vatNumber, forKey: .vatNumber) }
if businessType != nil { try container.encode(businessType, forKey: .businessType) }
if euTaxNumber != nil { try container.encode(euTaxNumber, forKey: .euTaxNumber) }
if groupTaxNumber != nil { try container.encode(groupTaxNumber, forKey: .groupTaxNumber) }
if countryId != nil { try container.encode(countryId, forKey: .countryId) }
if name != nil { try container.encode(name, forKey: .name) }
if shortName != nil { try container.encode(shortName, forKey: .shortName) }
if registrationNumber != nil { try container.encode(registrationNumber, forKey: .registrationNumber) }
if establishedDate != nil { try container.encode(establishedDate, forKey: .establishedDate) }
if registrationDate != nil { try container.encode(registrationDate, forKey: .registrationDate) }
if duns != nil { try container.encode(duns, forKey: .duns) }
if email != nil { try container.encode(email, forKey: .email) }
if phoneNumber != nil { try container.encode(phoneNumber, forKey: .phoneNumber) }
if website != nil { try container.encode(website, forKey: .website) }
if mainActivities.count > 0 { try container.encode(mainActivities, forKey: .mainActivities) }
if supplierAddresses.count > 0 { try container.encode(supplierAddresses, forKey: .supplierAddresses) }
}
}
public class ResponseBase : Codable
{
public var responseStatus:ResponseStatus
required public init(){}
}
public class AddSupplierMainActivity : Codable
{
public var teaor:String
public var Description:String
required public init(){}
}
public class AddSupplierSupplierAddress : Codable
{
public var countryId:Int
public var addressType:AddressType
public var zipCode:String
public var city:String
public var address:String
public var streetAddress:String
public var streetType:String
public var houseNumber:String
public var building:String
public var staircase:String
public var floor:String
public var door:String
public var pob:String
public var other:String
required public init(){}
}
public enum AddressType : Int, Codable
{
case Postal = 0
case HeadQuarters = 1
case Site = 2
}
Swift BrowseDirectPlusSupplierData 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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /directplus/supplier HTTP/1.1 Host: szallitoiportal-be.veolia.hu Accept: application/json
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"VatNumber":"String","BusinessType":"String","EUTaxNumber":"String","GroupTaxNumber":"String","CountryId":0,"Name":"String","ShortName":"String","RegistrationNumber":"String","EstablishedDate":"0001-01-01T00:00:00.0000000","RegistrationDate":"0001-01-01T00:00:00.0000000","Duns":"String","Email":"String","PhoneNumber":"String","Website":"String","MainActivities":[{"Teaor":"String","Description":"String"}],"SupplierAddresses":[{"CountryId":0,"AddressType":0,"ZipCode":"String","City":"String","Address":"String","StreetAddress":"String","StreetType":"String","HouseNumber":"String","Building":"String","Staircase":"String","Floor":"String","Door":"String","POB":"String","Other":"String"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}