PUT | /mailchimp/member/company/customer/sync | sync mailchimp memebers |
---|
import Foundation
import ServiceStack
// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
public class SyncCompanyCustomerMembers : ICompany, Codable
{
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
// @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
public var companyId:String?
/**
* Should we delete emails that do not exist in BokaMera.
*/
// @ApiMember(Description="Should we delete emails that do not exist in BokaMera.")
public var deleteNonExisting:Bool
/**
* Should we target only subscribed to newsletter customers.
*/
// @ApiMember(Description="Should we target only subscribed to newsletter customers.")
public var onlySubscribed:Bool
/**
* Determines if it is a test user
*/
// @ApiMember(Description="Determines if it is a test user")
public var test:Bool
required public init(){}
}
public class SyncMembersResponse : Codable
{
public var failedSyncedMembers:[MemberResponse] = []
public var successSyncedMembers:[MemberResponse] = []
required public init(){}
}
public class MemberResponse : Codable
{
public var emailAddress:String
public var fullName:String
public var tags:[MemberTag] = []
required public init(){}
}
public class MemberTag : Codable
{
public var id:Int
public var name:String
public var dateAdded:Date?
public var status:String
required public init(){}
}
Swift SyncCompanyCustomerMembers DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /mailchimp/member/company/customer/sync HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
DeleteNonExisting: False,
OnlySubscribed: False,
Test: False
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { FailedSyncedMembers: [ { EmailAddress: String, FullName: String, Tags: [ { Id: 0, Name: String, DateAdded: "0001-01-01T00:00:00", Status: String } ] } ], SuccessSyncedMembers: [ { EmailAddress: String, FullName: String, Tags: [ { Id: 0, Name: String, DateAdded: "0001-01-01T00:00:00", Status: String } ] } ] }