GET | /supplier |
---|
import Foundation
import ServiceStack
public class BrowseAllSupplier : IGet, Codable
{
required public init(){}
}
public class BrowseAllSupplierResponse : ResponseBase
{
public var suppliers:[SupplierSimple] = []
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case suppliers
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
suppliers = try container.decodeIfPresent([SupplierSimple].self, forKey: .suppliers) ?? []
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if suppliers.count > 0 { try container.encode(suppliers, forKey: .suppliers) }
}
}
public class ResponseBase : Codable
{
public var responseStatus:ResponseStatus
required public init(){}
}
public class SupplierSimple : Codable
{
public var id:Int
public var ownerId:Int
public var vatNumber:String
public var businessType:BusinessType
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 operatingLicenseNumber:String
public var isAccounting:Bool
public var isSmallTaxPayer:Bool
public var email:String
public var phoneNumber:String
public var website:String
required public init(){}
}
public enum BusinessType : Int, Codable
{
case Company = 0
case PrivateEntrepreneur = 1
case NonProfit = 2
case LawOffice = 3
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /supplier HTTP/1.1 Host: szallitoiportal-be.veolia.hu Accept: application/xml
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <BrowseAllSupplierResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Portal.ServiceDto"> <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types"> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:Message>String</d2p1:Message> <d2p1:StackTrace>String</d2p1:StackTrace> <d2p1:Errors> <d2p1:ResponseError> <d2p1:ErrorCode>String</d2p1:ErrorCode> <d2p1:FieldName>String</d2p1:FieldName> <d2p1:Message>String</d2p1:Message> <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </d2p1:Meta> </d2p1:ResponseError> </d2p1:Errors> <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </d2p1:Meta> </ResponseStatus> <Suppliers> <SupplierSimple> <BusinessType>Company</BusinessType> <CountryId>0</CountryId> <Duns>String</Duns> <Email>String</Email> <EstablishedDate>0001-01-01T00:00:00</EstablishedDate> <Id>0</Id> <IsAccounting>false</IsAccounting> <IsSmallTaxPayer>false</IsSmallTaxPayer> <Name>String</Name> <OperatingLicenseNumber>String</OperatingLicenseNumber> <OwnerId>0</OwnerId> <PhoneNumber>String</PhoneNumber> <RegistrationDate>0001-01-01T00:00:00</RegistrationDate> <RegistrationNumber>String</RegistrationNumber> <ShortName>String</ShortName> <VatNumber>String</VatNumber> <Website>String</Website> </SupplierSimple> </Suppliers> </BrowseAllSupplierResponse>