BokaMera.API.Host

<back to all web services

SyncCompanyMembers

Requires Authentication
Requires the role:superadmin
The following routes are available for this service:
PUT/mailchimp/member/company/syncsync mailchimp memebers
import Foundation
import ServiceStack

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
public class SyncCompanyMembers : Codable
{
    /**
    * 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

    /**
    * Determines if it is a test user
    */
    // @ApiMember(Description="Determines if it is a test user")
    public var test:Bool

    /**
    * The company id of member of which members you want to sync.
    */
    // @ApiMember(Description="The company id of member of which members you want to sync.")
    public var memberCompanyId:String?

    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 SyncCompanyMembers DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /mailchimp/member/company/sync HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"DeleteNonExisting":false,"Test":false,"MemberCompanyId":"00000000-0000-0000-0000-000000000000"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
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"}]}]}