BokaMera.API.Host

<back to all web services

SyncCompanyCustomerMembers

Requires Authentication
The following routes are available for this service:
PUT/mailchimp/member/company/customer/syncsync 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

HTTP + 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
				}
			]
		}
	]
}