fix all XML example responses missing charset Change "Contact ID" with "Common ID", for now. Really would like to know which one is canonical. Added 3 reference constants. Linked things and fixed minor mistakes. Next is probably Passport SOAP, not sure.
5.3 KiB
Introduction
AddMember
is one of the SOAP actions the Contact Sharing Service provides.
Adds a user to the Allow List (AL), Block List (BL),
or if the user is in the Pending List (PL), the Reverse List (RL).
For adding a user to the Forward List (FL), read the ABContactAdd
article.
Client/Request
The template used in this action is described on the Address Book Service main page.
AddMember
This element has only one attribute:
xmlns:
Is always set tohttp://www.msn.com/webservices/AddressBook
.
serviceHandle
This element contains three children:
<Id>
: This is always set to0
.<Type>
: The type of this member:Messenger
: This is a Messenger contact.Profile
: This is your profile.
<ForeignId>
: If<Type>
isProfile
, this should beMyProfile
, otherwise leave empty but do not convert to an empty element.
memberships
This element only contains <Membership>
elements.
Membership
This element contains two children:
<MemberRole>
: The type of list:Allow
: The Allow List (AL).Block
: The Block List (BL).Reverse
: The Reverse List (RL).ProfileExpression
: Your profile.
<Members>
: Explained below.
Members
This element only contains <Member>
elements.
Member
This element has two attributes:
xsi:type
: The type of this<Member>
:PassportMember
EmailMember
PhoneMember
RoleMember
: Only valid forProfileExpression
.
xmlns:xsi
: This is always set tohttp://www.w3.org/2001/XMLSchema-instance
.
This element contains two children:
<Type>
: The type of this<Member>
:Passport
Email
Phone
<State>
: This is usually only set toAccepted
, butPending
is a valid value.<Deleted>
: Should this member be deleted? (Only set totrue
inUpdateMember
?)
This element also contains one of the following mutually exclusive children.
<PassportName>
: The user handle associated with this membership.<Email>
: The e-mail address associated with this membership.<PhoneNumber>
: The phone number associated with this membership.
This element also contains the following children IF the role is set to ProfileExpression
:
<Id>
: AlwaysAllow
.<DefiningService>
: Contains the following:<Id>
: Always0
.<Type>
: AlwaysMessenger
.<ForeignId>
: Always empty content, but not an empty element.
<MaxRoleRecursionDepth>
: Always0
.<MaxDegreesSeparationDepth>
: Always0
.
Server/Response
The template used in this action is described on the Address Book Service main page.
AddMemberResponse
This empty element has only one attribute:
xmlns:
Is always set tohttp://www.msn.com/webservices/AddressBook
.
Examples
Client/Request
POST /abservice/SharingService.asmx HTTP/1.1
SOAPAction: http://www.msn.com/webservices/AddressBook/AddMember
Cache-Control: no-cache
Content-Type: text/xml; charset=utf-8
Content-Length: 1468
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>
<soap:Header>
<ABApplicationHeader
xmlns="http://www.msn.com/webservices/AddressBook"
>
<ApplicationID>996CDE1E-AA53-4477-B943-2BE802EA6166</ApplicationID>
<IsMigration>false</IsMigration>
<PartnerScenario>Timer</PartnerScenario>
</ABApplicationHeader>
<ABAuthHeader
xmlns="http://www.msn.com/webservices/AddressBook"
>
<ManagedGroupRequest>false</ManagedGroupRequest>
<TicketToken>t=ticket&p=profile</TicketToken>
</ABAuthHeader>
</soap:Header>
<soap:Body>
<AddMember
xmlns="http://www.msn.com/webservices/AddressBook"
>
<serviceHandle>
<Id>0</Id>
<Id>Messenger</Id>
<ForeignId></ForeignId>
</serviceHandle>
<memberships>
<Membership>
<MemberRole>Allow</MemberRole>
<Members>
<Member
xsi:type="PassportMember"
>
<Type>Passport</Type>
<State>Accepted</State>
<Deleted>false</Deleted>
<PassportName>anotheruser@hotmail.com</PassportName>
</Member>
</Members>
</Membership>
</memberships>
</AddMember>
</soap:Body>
</soap:Envelope>
Server/Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: 768
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>
<soap:Header>
<ServiceHeader
xmlns="http://www.msn.com/webservices/AddressBook"
>
<Version>12.01.1111.0000</Version>
<CacheKey>12r1;MjAyNC0xMS0xOVQxNzo0ODowOS44MDNa</CacheKey>
<CacheKeyChanged>true</CacheKeyChanged>
<PreferredHostName>contacts.example.com</PreferredHostName>
<SessionId>ecfaf8c7-e388-4571-8641-b061a0ac4bdc</SessionId>
</ServiceHeader>
</soap:Header>
<soap:Body>
<AddMemberResponse
xmlns="http://www.msn.com/webservices/AddressBook"
/>
</soap:Body>
</soap:Envelope>