| Requires any of the roles: | Client, Admin, Partner |
import Foundation
import ServiceStack
public class Requests : List<CSVRequestsArr>
{
required public init(){ super.init() }
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
}
}
public class CSVRequestsArr : Codable
{
public var batchId:Int
public var data:JsonObject
public var errors:[CSVErrors]
required public init(){}
}
public class JsonObject : List<String:String>
{
required public init(){ super.init() }
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
}
}
public class CSVErrors : Codable
{
public var type:String
public var code:String
public var message:String
public var row:String
required public init(){}
}
public class CSVRequestsArrResponse : List<MetaParseUpload>
{
required public init(){ super.init() }
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
}
}
// @DataContract
public class MetaParseUpload : Codable
{
// @DataMember(Order=1)
public var data:String
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/Requests HTTP/1.1
Host: duengageapi.uat.scadsoftware.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
[]
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length []