Requires the role: | superadmin |
PUT | /mailchimp/member/company/sync | sync mailchimp memebers |
---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MemberTag:
id: int = 0
name: Optional[str] = None
date_added: Optional[datetime.datetime] = None
status: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class MemberResponse:
email_address: Optional[str] = None
full_name: Optional[str] = None
tags: Optional[List[MemberTag]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SyncMembersResponse:
failed_synced_members: Optional[List[MemberResponse]] = None
success_synced_members: Optional[List[MemberResponse]] = None
# @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SyncCompanyMembers:
# @ApiMember(Description="Should we delete emails that do not exist in BokaMera.")
delete_non_existing: bool = False
"""
Should we delete emails that do not exist in BokaMera.
"""
# @ApiMember(Description="Determines if it is a test user")
test: bool = False
"""
Determines if it is a test user
"""
# @ApiMember(Description="The company id of member of which members you want to sync.")
member_company_id: Optional[str] = None
"""
The company id of member of which members you want to sync.
"""
Python SyncCompanyMembers DTOs
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.
PUT /mailchimp/member/company/sync HTTP/1.1
Host: api.bokamera.se
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<SyncCompanyMembers xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
<DeleteNonExisting>false</DeleteNonExisting>
<MemberCompanyId>00000000-0000-0000-0000-000000000000</MemberCompanyId>
<Test>false</Test>
</SyncCompanyMembers>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <SyncMembersResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos"> <FailedSyncedMembers> <MemberResponse> <EmailAddress>String</EmailAddress> <FullName>String</FullName> <Tags xmlns:d4p1="http://schemas.datacontract.org/2004/07/MailChimp.Net.Models"> <d4p1:MemberTag> <d4p1:DateAdded>0001-01-01T00:00:00</d4p1:DateAdded> <d4p1:Id>0</d4p1:Id> <d4p1:Name>String</d4p1:Name> <d4p1:Status>String</d4p1:Status> </d4p1:MemberTag> </Tags> </MemberResponse> </FailedSyncedMembers> <SuccessSyncedMembers> <MemberResponse> <EmailAddress>String</EmailAddress> <FullName>String</FullName> <Tags xmlns:d4p1="http://schemas.datacontract.org/2004/07/MailChimp.Net.Models"> <d4p1:MemberTag> <d4p1:DateAdded>0001-01-01T00:00:00</d4p1:DateAdded> <d4p1:Id>0</d4p1:Id> <d4p1:Name>String</d4p1:Name> <d4p1:Status>String</d4p1:Status> </d4p1:MemberTag> </Tags> </MemberResponse> </SuccessSyncedMembers> </SyncMembersResponse>