update version file, forgot this repo had one fix mistakes and other such add new information finish passport (SOAP) stuff, may rename to RST later?, just mention in footnote for now next commit WILL be msnp13 on 0.1.4 release, promise
12 KiB
Introduction
ABFindAll
is one of the SOAP actions the Address Book Service provides.
Returns the full list of contacts in the Forward List (FL).
For retrieving information about other lists,
read the FindMembership
article.
Client/Request
The template used in this action is described on the Address Book Service main page.
ABFindAll
This element has only one attribute:
xmlns
: Is always set tohttp://www.msn.com/webservices/AddressBook
.
abId
This element contains your Address Book Service GUID.
abView
Always set to Full
.
deltasOnly
If set to true
, the <lastChange>
value is compared against the server to
only provide the updates since the timestamp provided.
lastChange
This is a ISO 8601 timestamp which denotes the last time you retrieved the
Forward List (FL), comes from the response's
<createDate>
element inside the <ab>
element.
Server/Response
ABFindAllResponse
This element has only one attribute:
xmlns
: Is always set tohttp://www.msn.com/webservices/AddressBook
.
This element only contains the <ABFindAllResult>
element.
ABFindAllResult
groups
This element contains any amount of <Group>
elements.
Group
This element contains five children:
<groupId>
: The group's GUID.<groupInfo>
: Described below.<propertiesChanged>
: Contains a space delimited list of changed elements in<groupInfo>
:GroupName
<fDeleted>
: Is this group deleted? (true
orfalse
).<lastChange>
: The ISO 8601 timestamp of the time this group was last modified.
groupInfo
This element contains six children:
<annotations>
: This element contains multiple<Annotation>
elements.<groupType>
: Only known to be set toc8529ce2-6ead-434d-881f-341e17db3ff8
.<name>
: The group's name<IsNotMobileVisible>
: If this is set totrue
, this group is not shown to mobile clients. Otherwise, it is set tofalse
.<IsPrivate>
: If this is set totrue
, this group is private. Otherwise, it is set tofalse
.<IsFavorite>
: If this is set totrue
, this group is the Favorites group. Otherwise, it is set tofalse
.
<Annotation>
elements contain two children:
<Name>
: The key of this annotation:MSN.IM.Display
: Is this group shown to the Official Client? (1
or0
)
<Value>
: The value of this annotation.
contacts
This element contains any amount of <Contact>
elements.
Contact
This element contains five children:
<contactId>
: The GUID of this contact.<contactInfo
: Described on it's own page.<propertiesChanged>
: Contains a space delimited list of changed elements in<contactInfo>
:DisplayName
IsMessengerUser
ContactFirstName
ContactLastName
Comment
MiddleName
ContactPrimaryEmailType
ContactEmail
ContactLocation
ContactPhone
ContactWebSite
Annotation
<fDeleted>
: Is this contact deleted? (true
orfalse
)<lastChange>
: The ISO 8601 timestamp of the time this contact was last modified.
ab
This element contains seven children:
<abId>
: Your Address Book Service GUID.<abInfo>
: Described below.<lastChange>
: The ISO 8601 timestamp of the time a change was last made to the Address Book.<DynamicItemLastChanged>
: The ISO 8601 timestamp of the time any dynamic item was last modified.<RecentActivityItemLastChanged>
: The ISO 8601 timestamp of the time a "recent activity item" was last modified.<createDate>
: The ISO 8601 timestamp of the time this Address Book was created.<propertiesChanged>
: Contains a space delimited list of changed elements in an unknown location.
abInfo
This element contains ten children:
<ownerPuid>
: This is always0
.<OwnerCID>
: Your Common ID, an signed 64-bit integer.<ownerEmail>
: Your user handle.<fDefault>
: unknown (true
orfalse
)<joinedNamespace>
: unknown (true
orfalse
)<IsBot>
: Is this account provisioned? (true
orfalse
)<IsParentManaged>
: Is this a children's account? (true
orfalse
)<SubscribeExternalPartner>
: unknown (true
orfalse
)<NotifyExternalPartner>
: unknown (true
orfalse
)<AddressBookType>
: Is always set toIndividual
.
Examples
Client/Request
POST /abservice/abservice.asmx HTTP/1.1
SOAPAction: http://www.msn.com/webservices/AddressBook/ABFindAll
Cache-Control: no-cache
Content-Type: text/xml; charset=utf-8
Content-Length: 1128
<?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>ContactSave</PartnerScenario>
</ABApplicationHeader>
<ABAuthHeader
xmlns="http://www.msn.com/webservices/AddressBook"
>
<ManagedGroupRequest>false</ManagedGroupRequest>
<TicketToken>t=ticket&p=profile</TicketToken>
</ABAuthHeader>
</soap:Header>
<soap:Body>
<ABFindAll
xmlns="http://www.msn.com/webservices/AddressBook"
>
<abId>00000000-0000-0000-0000-000000000000</abId>
<abView>Full</abView>
<deltasOnly>false</deltasOnly>
<lastChange>0001-01-01T00:00:00.0000000-08:00</lastChange>
</ABFindAll>
</soap:Body>
</soap:Envelope>
Server/Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: 6684
<?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;MjAyNC0xMS0yMFQxMToyMDoyNy43MTVa</CacheKey>
<CacheKeyChanged>true</CacheKeyChanged>
<PreferredHostName>contacts.example.com</PreferredHostName>
<SessionId>ecfaf8c7-e388-4571-8641-b061a0ac4bdc</SessionId>
</ServiceHeader>
</soap:Header>
<soap:Body>
<ABFindAllResponse
xmlns="http://www.msn.com/webservices/AddressBook"
>
<ABFindAllResult>
<groups>
<Group>
<groupId>f60efbe7-94af-4b16-b926-e4e10878d329</groupId>
<groupInfo>
<annotations>
<Annotation>
<Name>MSN.IM.Display</Name>
</Annotation>
</annotations>
<groupType>c8529ce2-6ead-434d-881f-341e17db3ff8</groupType>
<name>Friends</name>
<IsNotMobileVisible>false</IsNotMobileVisible>
<IsPrivate>false</IsPrivate>
<IsFavorite>false</IsFavorite>
</groupInfo>
</Group>
</groups>
<contacts>
<Contact>
<contactId>c1f9a363-4ee9-4a33-a434-b056a4c55b98</contactId>
<contactInfo>
<contactType>Regular</contactType>
<quickName>anotheruser</quickName>
<passportName>anotheruser@hotmail.com</passportName>
<IsPassportNameHidden>false</IsPassportNameHidden>
<displayName>another user</displayName>
<puid>0</puid>
<groupIds>
<guid>f60efbe7-94af-4b16-b926-e4e10878d329</guid>
</groupIds>
<CID>4388220788362762</CID>
<IsNotMobileVisible>false</IsNotMobileVisible>
<isMobileIMEnabled>false</isMobileIMEmabled>
<isMessengerUser>true</isMessengerUser>
<isFavorite>false</isFavorite>
<isSmtp>false</isSmtp>
<hasSpace>false</hasSpace>
<spotWatchState>NoDevice</spotWatchState>
<birthdate>0001-01-01T00:00:00</birthdate>
<primaryEmailType>ContactEmailPersonal</primaryEmailType>
<PrimaryLocation>ContactLocationPersonal</PrimaryLocation>
<PrimaryPhone>ContactPhonePersonal</PrimaryPhone>
<IsPrivate>false</IsPrivate>
<Gender>Unspecified</Gender>
<TimeZone>None</TimeZone>
</contactInfo>
<propertiesChanged />
<fDeleted>false</fDeleted>
<lastChange>2024-11-20T11:43:00.1230000-08:00</lastChange>
</Contact>
<Contact>
<contactId>a47e39cf-312c-4100-94a6-f2b33adf5b68</contactId>
<contactInfo>
<phones>
<ContactPhone>
<contactPhoneType>ContactPhoneMobile</contactPhoneType>
<number>15551111222</number>
<isMessengerEnabled>true</isMessengerEnabled>
<propertiesChanged />
</ContactPhone>
</phones>
<contactType>Regular</contactType>
<quickName>john</quickName>
<IsPassportNameHidden>false</IsPassportNameHidden>
<displayName>john</displayName>
<puid>0</puid>
<CID>0</CID>
<IsNotMobileVisible>false</IsNotMobileVisible>
<isMobileIMEnabled>true</isMobileIMEnabled>
<isMessengerUser>false</isMessengerUser>
<isFavorite>false</isFavorite>
<isSmtp>false</isSmtp>
<hasSpace>false</hasSpace>
<spotWatchState>NoDevice</spotWatchState>
<birthdate>0001-01-01T00:00:00</birthdate>
<primaryEmailType>ContactEmailPersonal</primaryEmailType>
<PrimaryLocation>ContactLocationPersonal</PrimaryLocation>
<PrimaryPhone>ContactPhoneMobile</PrimaryPhone>
<IsPrivate>false</IsPrivate>
<Gender>Unspecified</Gender>
<TimeZone>None</TimeZone>
</contactInfo>
<propertiesChanged />
<fDeleted>false</fDeleted>
<lastChange>2024-11-20T11:44:40.4560000-08:00</lastChange>
</Contact>
<Contact>
<contactId>c867a811-089f-4c4c-a601-e983881f003a</contactId>
<contactInfo>
<annotations>
<Annotation>
<Name>MSN.IM.MBEA</Name>
<Value>0</Value>
</Annotation>
<Annotation>
<Name>MSN.IM.GTC</Name>
<Value>1</Value>
</Annotation>
<Annotation>
<Name>MSN.IM.BLP</Name>
<Value>1</Value>
</Annotation>
</annotations>
<phones>
<ContactPhone>
<contactPhoneType>ContactPhonePersonal</contactPhoneType>
<number>123 (4567)</number>
</ContactPhone>
</phones>
<contactType>Me</contactType>
<quickName>Q</quickName>
<passportName>example@hotmail.com</passportName>
<IsPassportNameHidden>false</IsPassportNameHidden>
<displayName>example user</displayName>
<puid>0</puid>
<CID>4294967298</CID>
<IsNotMobileVisible>false</IsNotMobileVisible>
<isMobileIMEnabled>false</isMobileIMEnabled>
<isMessengerUser>false</isMessengerUser>
<isFavorite>false</isFavorite>
<isSmtp>false</isSmtp>
<hasSpace>false</hasSpace>
<spotWatchState>NoDevice</spotWatchState>
<birthdate>0001-01-01T00:00:00</birthdate>
<primaryEmailType>ContactEmailPersonal</primaryEmailType
<PrimaryLocation>ContactLocationPersonal</PrimaryLocation>
<PrimaryPhone>ContactPhonePersonal</PrimaryPhone>
<IsPrivate>false</IsPrivate>
<Gender>Unspecified</Gender>
<TimeZone>None</TimeZone>
</contactInfo>
<propertiesChanged />
<fDeleted>false</fDeleted>
<lastChange>2024-11-20T11:26:00.4180000-08:00</lastChange>
</Contact>
</contacts>
</ABFindAllResult>
<ab>
<abId>00000000-0000-0000-0000-000000000000</abId>
<abInfo>
<ownerPuid>0</ownerPuid>
<OwnerCID>4294967298</OwnerCID>
<ownerEmail>example@hotmail.com</ownerEmail>
<fDefault>true</fDefault>
<joinedNamespace>false</joinedNamespace>
<IsBot>false</IsBot>
<IsParentManaged>false</IsParentManaged>
<SubscribeExternalPartner>false</SubscribeExternalPartner>
<NotifyExternalPartner>false</NotifyExternalPartner>
<AddressBookType>Individual</AddressBookType>
</abInfo>
<lastChange>2024-11-20T11:26:00.4180000-08:00</lastChange>
<DynamicItemLastChanged>0001-01-01T00:00:00</DynamicItemLastChanged>
<createDate>2024-10-10T20:38:51.0000000-08:00</createDate>
</ab>
</ABFindAllResponse>
</soap:Body>
</soap:Envelope>