# Introduction The Address Book Service (abservice) is a SOAP (XML) Web Service. Introduced with [MSNP8](../versions/msnp8.md). It manages the link(s) between the E-mail Service Address Book and the Forward List (FL). It's default HTTP URL is `http://contacts.msn.com/abservice/abservice.asmx`. It's default HTTPS URL is `https://contacts.msn.com/abservice/abservice.asmx`. This service requires [Passport authentication](passport14.md). Related: [Contact Sharing Service](sharingservice.md) (for other List's members). # Actions *All actions listed have the prefix of `http://www.msn.com/webservices/AddressBook/`.* * ABFindAll (internal name: `Contacts.Pull`) * [ABContactAdd](abservice/abcontactadd.md) (internal name: `Contacts.Push.Contact.Add`) * [ABContactDelete](abservice/abcontactdelete.md) (internal name: `Contacts.Push.Contact.Delete`) * [ABContactUpdate](abservice/abcontactupdate.md) (internal name: `Contacts.Push.Contact.Update`) * ABGroupContactAdd (internal name: `Contacts.Push.Contact.AddToGroup`) * ABGroupContactDelete (internal name: `Contacts.Push.Contact.DeleteFromGroup`) * ABGroupAdd (internal name: `Contacts.Push.Group`) * ABGroupDelete (internal name: `Contacts.Push.Group.Delete`) * ABGroupUpdate (internal name: `Contacts.Push.Contact.Edit`) ## Actions that we don't know much about * ABFind (internal name: `Contacts.FindId`) * ABAdd (internal name: `Contacts.AddAb`) * ABDelete (internal name: `Contacts.DeleteAb`) * ABFindByContacts (internal name: `Contacts.Pull.Id`) * UpdateDynamicItem (internal name: `Contacts.Push.DynamicItem.Edit`) # Shared Templates This is used by all Actions listed, as far as we know. ## Client/Request The following sub-headings are XML elements for the server's response. ### soap:Envelope This element has four attributes: * `xmlns:soap`: Is always set to `http://schemas.xmlsoap.org/soap/envelope/`. * `xmlns:xsi`: Is always set to `http://www.w3.org/2001/XMLSchema-instance`. * `xmlns:xsd`: Is always set to `http://www.w3.org/2001/XMLSchema`. * `xmlns:soapenc`: Is always set to `http://schemas.xmlsoap.org/soap/encoding/`. #### soap:Header This element only serves to host the `` and `` elements. ##### ABApplicationHeader This element has only one attribute: * `xmlns`: Is always set to `http://www.msn.com/webservices/AddressBook`. This element has three children: * ``: The GUID of the client that sent the request for this action. * ``: If this request is part of the ABCH Migration process. If it is, set to `true`, otherwise set to `false`. * ``: What caused this request to happen: * `Initial`: This is the initial request to this action. * `Timer`: This request was done automatically on a timer. * `ContactSave`: When the contact is updated. * `MessengerPendingList`: Managing the Pending List (PL). * `ContactMsgrAPI`: General Messenger API. * `BlockUnblock`: Block or unblock of this user. ##### ABAuthHeader This element has only one attribute: * `xmlns`: Is always set to `http://www.msn.com/webservices/AddressBook`. This element has two children: * ``: If this is a managed group request, set to `true`, otherwise set to `false`. * `` This element contains the [Passport](passport14.md) token for `contacts.msn.com`. Added since [MSNP15](../versions/msnp15.md). #### soap:Body Your request element and it's children goes here. ## Server/Response The following sub-headings are XML elements for the server's response. ### soap:Envelope This element has three attributes: * `xmlns:soap`: Is always set to `http://schemas.xmlsoap.org/soap/envelope/`. * `xmlns:xsi`: Is always set to `http://www.w3.org/2001/XMLSchema-instance`. * `xmlns:xsd`: Is always set to `http://www.w3.org/2001/XMLSchema`. #### soap:Header This element only serves to host the `` element. ##### ServiceHeader This element has only one attribute: * `xmlns`: Is always set to `http://www.msn.com/webservices/AddressBook`. This element has five children: * ``: The version of this service. * ``: The current or new address book caching key. Usually starts with `14r2;`, then continues with some form of base64-encoded data. * ``: Did the `` change? If it did, set to `true`, otherwise set to `false`. * ``: The domain name that this service would like to receive requests to. * ``: The current session GUID. #### soap:Body This element contains the server's response elements and their children for the action.