[0.1.4-alpha.1] xml examples, NOT stuff, fixes
updated yiki also
This commit is contained in:
parent
f096fe907f
commit
0cfc511907
31 changed files with 1247 additions and 187 deletions
|
@ -3,7 +3,8 @@
|
|||
|
||||
It is a Notification Server command, without either a request or response payload.
|
||||
|
||||
Changes your presence status, and sets your Client Capabilities and MSNObject in later MSNP versions.
|
||||
Changes your presence status,
|
||||
and sets your [Client Capabilities](../files/client_capabilities.md) and MSNObject in later MSNP versions.
|
||||
|
||||
# Client/Request
|
||||
`CHG TrID status {flags} {msnobj}`
|
||||
|
@ -20,7 +21,7 @@ Where `status` can be any of the below:
|
|||
* `FLN`: Semi-offline. More on this below.
|
||||
|
||||
In [MSNP8](../versions/msnp8.md) and higher, `flags`, an optional parameter may be used to
|
||||
specify your Client Capabilities.
|
||||
specify your [Client Capabilities](../files/client_capabilities.md).
|
||||
|
||||
In [MSNP9](../versions/msnp9.md) and higher, `msnobj`, an optional parameter may be used to
|
||||
add additional information related to your user. Requires that `flags` MUST be set to use.
|
||||
|
@ -91,6 +92,6 @@ C: CHG 4 HOT
|
|||
Server disconnects client.
|
||||
|
||||
# Known changes
|
||||
* [MSNP8](../versions/msnp8.md): Added optional Client Capabilities parameter (as parameter 2).
|
||||
* [MSNP8](../versions/msnp8.md): Added optional [Client Capabilities](../files/client_capabilities.md) parameter (as parameter 2).
|
||||
* [MSNP9](../versions/msnp9.md): Added optional MSNObject parameter (as parameter 3).
|
||||
* Removed in MSNP24.
|
||||
|
|
|
@ -35,7 +35,7 @@ S: NOT 367
|
|||
</NOTIFICATION>
|
||||
```
|
||||
|
||||
## Advanced notification
|
||||
## Extended notification
|
||||
*Since [MSNP9](../versions/msnp9.md).*
|
||||
```
|
||||
S: NOT 457
|
||||
|
@ -55,7 +55,7 @@ S: NOT 457
|
|||
## Blog update notification
|
||||
*Since [MSNP11](../versions/msnp11.md).*
|
||||
```
|
||||
S: NOT 1249
|
||||
S: NOT 1264
|
||||
<NOTIFICATION id="2" siteid="45705" siteurl="http://storage.msn.com/">
|
||||
<TO pid="0x00000001:0x00000002" name="example@hotmail.com">
|
||||
<VIA agent="messenger"/>
|
||||
|
@ -64,7 +64,10 @@ S: NOT 1249
|
|||
<ACTION url="a.htm" />
|
||||
<SUBSCR url="s.htm" />
|
||||
<BODY>
|
||||
<NotificationData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<NotificationData
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
>
|
||||
<SpaceHandle>
|
||||
<ResourceID>example1!101</ResourceID>
|
||||
</SpaceHandle>
|
||||
|
@ -93,7 +96,7 @@ S: NOT 1249
|
|||
## Contact update notification
|
||||
*Since [MSNP13](../versions/msnp13.md).*
|
||||
```
|
||||
S: NOT 685
|
||||
S: NOT 694
|
||||
<NOTIFICATION id="2" siteid="45705" siteurl="http://contacts.msn.com/">
|
||||
<TO pid="0x00000001:0x00000002" name="example@hotmail.com">
|
||||
<VIA agent="messenger"/>
|
||||
|
@ -102,7 +105,10 @@ S: NOT 685
|
|||
<ACTION url="a.htm" />
|
||||
<SUBSCR url="s.htm" />
|
||||
<BODY>
|
||||
<NotificationData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<NotificationData
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
>
|
||||
<Service>ABCHInternal</Service>
|
||||
<CID>4294967298</CID>
|
||||
<LastModifiedDate>2024-10-26T09:33:27.1020000-08:00</LastModifiedDate>
|
||||
|
@ -122,6 +128,7 @@ C: NOT 1 0
|
|||
Server disconnects client.
|
||||
|
||||
# Known changes
|
||||
* [MSNP9](../versions/msnp9.md): Added support for extended notifications using the `<TEXTX>` element.
|
||||
* [MSNP11](../versions/msnp11.md): Using an `<NotificationData>` sub-document embedded into a `<NOTIFICATION>` document is supported.
|
||||
Using the new sub-document, live blog updates are now sent.
|
||||
* [MSNP13](../versions/msnp13.md): Used for [Address Book Service](../services/abservice.md) live updates using the `<NotificationData>` sub-document.
|
||||
|
|
|
@ -12,6 +12,7 @@ payload
|
|||
```
|
||||
|
||||
Where `public-key` is your client's Public Key.
|
||||
For a list of valid Public Keys, read the [Challenge Key Pairs](../files/challenge_keypairs.md) article.
|
||||
|
||||
Where `length` is the size (in bytes) of the `payload`.
|
||||
|
||||
|
@ -20,6 +21,8 @@ Where `payload` is the challenge response.
|
|||
## Challenge responses
|
||||
Calculating the challenge response depends on the version of the protocol you are using.
|
||||
|
||||
For a list of valid Private Keys, read the [Challenge Key Pairs](../files/challenge_keypairs.md) article.
|
||||
|
||||
### Basic responses
|
||||
*Only in [MSNP6](../versions/msnp10.md) to [MSNP10](../versions/msnp10.md).*
|
||||
|
||||
|
|
47
docs/files/challenge_keypairs.md
Normal file
47
docs/files/challenge_keypairs.md
Normal file
|
@ -0,0 +1,47 @@
|
|||
# Introduction
|
||||
Challenges ([CHL](../commands/chl.md) commands) require a key pair (for the [QRY](../commands/qry.md) command) to be solved.
|
||||
|
||||
The following is a list of valid key pairs.
|
||||
|
||||
If you know of a key pair not on this list,
|
||||
or just the Public Key associated with a client, feel free to contact me.
|
||||
|
||||
Format of the Public Keys (except the first `msmsgs@msnmsgr.com` one)
|
||||
seems to be "PROD", then four digits, the first being a `0`, than 8 random characters.
|
||||
The four digits seem to increase by at least `1` every time a new key pair is made.
|
||||
|
||||
Private keys seem to have a format of 16 random characters.
|
||||
|
||||
Random characters in both cases will match the regular expression of
|
||||
`[A-Z0-9{}!@*%_?$#]`.
|
||||
|
||||
# Old key pairs
|
||||
*Only in [MSNP6](../versions/msnp6.md) to [MSNP10](../versions/msnp10.md).*
|
||||
|
||||
| `PUBLIC KEY` | `PRIVATE KEY` | Introduced with... |
|
||||
| ------------ | ------------- | ------------------ |
|
||||
|`msmsgs@msnmsgr.com`| `Q1P7W2E4J9R8U3S5` | Client Version 3.6.0038 ([MSNP6](../versions/msnp6.md)) |
|
||||
| `PROD0038W!61ZTF9` | `VT6PX?UQTM4WM%YR` | Client Version ?.?.???? |
|
||||
| `PROD0058#7IL2{QD` | `QHDCY@7R1TB6W?5B` | Client Version ?.?.???? |
|
||||
| `PROD0061VRRZH@4F` | `JXQ6J@TUOGYV@N0M` | Client Version ?.?.???? |
|
||||
| `PROD00504RLUG%WL` | `I2EBK%PYNLZL5_J4` | Client Version ?.?.???? |
|
||||
| `PROD0076ENE8*@AW` | `CEQJ8}OE0!WTSWII` | Client Version ?.?.???? |
|
||||
| `PROD00517IFH4@RV` | ? | Client Version ?.?.???? |
|
||||
|
||||
# New key pairs
|
||||
*Since [MSNP11](../versions/msnp11.md).*
|
||||
|
||||
| `PUBLIC KEY` | `PRIVATE KEY` | Introduced with... |
|
||||
| ------------ | ------------- | ------------------ |
|
||||
| `PROD008955JTJ_S7` | ? | Client Version 7.?.???? |
|
||||
| `PROD0090YUAUV{2B` | `YMM8C_H7KCQ2S_KL` | Client Version 7.?.???? ([MSNP11](../versions/msnp11.md)) |
|
||||
| `PROD00974#MT*RC2` | `LMCVO*18PQJ3H!K3` | Client Version 7.?.???? |
|
||||
| `PROD0101{0RM?UBW` | `CFHUR$52U_{VIX5T` | Client Version 7.0.0777 (unconfirmed) |
|
||||
| `PROD0104U6VVM{UJ` | `VK67B}379XYM5}$T` | Client Version 7.5.???? |
|
||||
| `PROD01065C%ZFN6F` | `O4BG@C7BWLYQX?5G` | Client Version 8.0.0328 (unconfirmed) |
|
||||
| `PROD0112J1LW7%NB` | `RH96F{PHI8PPX_TJ` | Client Version 8.0.0812 (unconfirmed) |
|
||||
| `PROD0113H11T8$X_` | `RG@XY*28Q5QHS%Q5` | Client Version 8.1.0168 (unconfirmed) |
|
||||
| `PROD0114ES4Z%Q5W` | `PK}_A_0N_K%O?A9S` | Client Version 8.1.0178 (unconfirmed) |
|
||||
| `PROD0118R6%2WYOS` | `YIXPX@5I2P0UT*LK` | Client Version 8.5.1235 (unconfirmed) |
|
||||
| `PROD0119GSJUC$18` | `ILTXC!4IXB5FB*PX` | Client Version 8.5.1288 (unconfirmed) |
|
||||
| `PROD0120PW!CCV9@` | `C1BX{V4W}Q3*10SM` | Client Version 14.0.8050 (unconfirmed)|
|
63
docs/files/client_capabilities.md
Normal file
63
docs/files/client_capabilities.md
Normal file
|
@ -0,0 +1,63 @@
|
|||
# Information
|
||||
Client Capabilities are a feature introduced with [MSNP8](../versions/msnp8.md)
|
||||
to notify other clients what optional features your client supports.
|
||||
|
||||
This was expanded in [MSNP16](../versions/msnp16.md) with Extended Client Capabilities.
|
||||
|
||||
# Client Capabilities
|
||||
*Since [MSNP8](../versions/msnp8.md).*
|
||||
|
||||
| `hexadecimal` | `decimal` | meaning |
|
||||
| ------------- | ------------ | ------- |
|
||||
| `0x00000001` | `1` | The user is on a mobile device. |
|
||||
| `0x00000002` | `2` | The user is the MSN Desktop client, version 8 or above. |
|
||||
| `0x00000004` | `4` | The user's client supports receiving Ink. (GIF) |
|
||||
| `0x00000008` | `8` | The user's client supports sending Ink. (ISF) |
|
||||
| `0x00000010` | `16` | The user has a webcam and is sharing the fact they have one. |
|
||||
| `0x00000020` | `32` | The user's client supports messages sent over multiple packets. |
|
||||
| `0x00000040` | `64` | The user can be messaged via their mobile device. |
|
||||
| `0x00000080` | `128` | The user can be messaged via their Web Watch. |
|
||||
| `0x00000100` | `256` | ? |
|
||||
| `0x00000200` | `512` | The user is on a web-based client. |
|
||||
| `0x00000400` | `1024` | ? |
|
||||
| `0x00000800` | `2048` | The user is using Microsoft Office Communicator via a cross-platform gateway. |
|
||||
| `0x00001000` | `4096` | The user has a blog. |
|
||||
| `0x00002000` | `8192` | The user is using a media center client. |
|
||||
| `0x00004000` | `16384` | The user's client supports opening a direct connection for instant messaging. |
|
||||
| `0x00008000` | `32768` | The user's client supports sending and receiving Winks (flash animations). |
|
||||
| `0x00010000` | `65536` | The user's client supports the shared search feature. |
|
||||
| `0x00020000` | `131072` | This client is a provisioned user. (User is a bot) |
|
||||
| `0x00040000` | `262144` | The user's client supports sending and receiving Voice Clips. |
|
||||
| `0x00080000` | `524288` | The user's client supports encrypted conversations. |
|
||||
| `0x00100000` | `1048576` | ... |
|
||||
| `0x00200000` | `2097152` | ... |
|
||||
| `0x00400000` | `4194304` | ... |
|
||||
| `0x00800000` | `8388608` | ... |
|
||||
| `0x01000000` | `16777216` | ... |
|
||||
| `0x02000000` | `33554432` | ... |
|
||||
| `0x04000000` | `67108864` | ... |
|
||||
| `0x08000000` | `134217728` | ... |
|
||||
| `0x10000000` | `268435456` | The user's client supports MSNC1. (Client Version 6.0+) |
|
||||
| `0x20000000` | `536870912` | The user's client supports MSNC2 and below. (Client Version 6.1+) |
|
||||
| `0x30000000` | `805306368` | The user's client supports MSNC3 and below. (Client Version 6.2+) |
|
||||
| `0x40000000` | `1073741824` | The user's client supports MSNC4 and below. (Client Version 7.0+) |
|
||||
| `0x50000000` | `1342177280` | The user's client supports MSNC5 and below. (Client Version 7.5+) |
|
||||
| `0x60000000` | `1610612736` | The user's client supports MSNC6 and below. (Client Version 8.0+) |
|
||||
| `0x70000000` | `1879048192` | The user's client supports MSNC7 and below. (Client Version 8.1+) |
|
||||
| `0x80000000` | `2147483648` | The user's client supports MSNC8 and below. (Client Version 8.5+) |
|
||||
| `0x90000000` | `2415919104` | The user's client supports MSNC9 and below. (Client Version 9.0+) |
|
||||
| `0xA0000000` | `2684354560` | The user's client supports MSNC10 and below. (Client Version 14.0+) |
|
||||
| `0xB0000000` | `2952790016` | The user's client supports MSNC11 and below. (Client Version 14.1+) |
|
||||
| `0xC0000000` | `3221225472` | The user's client supports MSNC12 and below. (Client Version 15.0+) |
|
||||
| `0xD0000000` | `3489660928` | The user's client supports MSNC13 and below. |
|
||||
| `0xE0000000` | `3758096384` | The user's client supports MSNC14 and below. |
|
||||
| `0xF0000000` | `4026531840` | The user's client supports MSNC15 and below. |
|
||||
|
||||
# Extended Client Capabilities
|
||||
*Since [MSNP16](../versions/msnp16.md).*
|
||||
|
||||
**TODO: this**
|
||||
|
||||
| `hexadecimal` | `decimal` | meaning |
|
||||
| ------------- | ------------ | ------- |
|
||||
| `0x00000001` | `1` | ... |
|
|
@ -11,9 +11,9 @@ This is the root element of the document, and supports four attributes:
|
|||
* `id`: A 32-bit unsigned integer that is set by the sending party.
|
||||
* `siteid`: The .NET Alerts Site ID, not to be confused with the .NET Passport Site ID.
|
||||
Setting this to some values changes the default icon:
|
||||
* `0`: Use stocks (stack of coins or line-chart) icon
|
||||
* `1`: Use calendar (clock) icon
|
||||
* Other values: Use default bell icon or custom icon
|
||||
* `0`: Use stocks (stack of coins or line-chart) icon
|
||||
* `1`: Use calendar (clock) icon
|
||||
* Other values: Use default bell icon or custom icon
|
||||
* `siteurl`: The base URL to the service used in later relative URL attributes.
|
||||
|
||||
## TO
|
||||
|
@ -31,9 +31,9 @@ If this element (`<TO>`) does not have a (`<VIA>`) element, it is to be empty.
|
|||
|
||||
This empty element only supports one attribute:
|
||||
* `agent`: What this alert is intended to be viewed by:
|
||||
* `email`: A e-mail message.
|
||||
* `messenger`: A "toast" generated by the Official Client.
|
||||
* `mobile`: A mobile device.
|
||||
* `email`: A e-mail message.
|
||||
* `messenger`: A "toast" generated by the Official Client.
|
||||
* `mobile`: A mobile device.
|
||||
|
||||
## FROM
|
||||
*NOTE: This element should NOT be added to any `<NOTIFICATION>` documents.*
|
||||
|
@ -79,9 +79,9 @@ This is the main body of the document, and supports two attributes:
|
|||
|
||||
* `lang`: The decimal LCID that this notification document is meant to display in. Optional, but should be set.
|
||||
* `icon`: The custom 32x32 PNG icon URL, relative to `siteurl`. Optional.
|
||||
Note: Newer versions of the client support 48x32 icons and will use them automatically
|
||||
if your icon URL has `_32x32` in it, the client can replace it with `_48x32`.
|
||||
If you do not have a 48x32 icon, it will fall-back to the original 32x32 one.
|
||||
Note: Client Version 6.0 ([MSNP9](../versions/msnp9.md)) and above support 48x32 icons and will use them automatically
|
||||
if your icon URL includes the substring `_32x32`, the client will replace it with `_48x32`.
|
||||
If you do not have a 48x32 icon, the client will fallback to the original 32x32 icon.
|
||||
|
||||
The default element that this parents is `<TEXT>`. It may also contain other types of data.
|
||||
One such data type is the [`<NotificationData>`](#notificationdata) sub-document.
|
||||
|
@ -102,16 +102,16 @@ supported by [MSNP9](../versions/msnp9.md) and higher.
|
|||
|
||||
The [`<TEXT>`](#text) element is required for this to be parsed by the Official Client.
|
||||
|
||||
The inner docment of this is required to be XML encoded.
|
||||
The inner document of this is required to be XML encoded.
|
||||
|
||||
##### P
|
||||
A paragraph, required for [`<TEXTX>`](#textx) elements to parse correctly.
|
||||
|
||||
This element supports one attribute:
|
||||
* `align`: The extended notification's text alignment:
|
||||
* `left`
|
||||
* `center`
|
||||
* `right`
|
||||
* `left`
|
||||
* `center`
|
||||
* `right`
|
||||
|
||||
This element may contain any of the following elements:
|
||||
* `P`: Nested paragraph, also supporting the `align` element.
|
||||
|
@ -181,9 +181,9 @@ This element and it's children are exclusive to notifications generated by the b
|
|||
### Component
|
||||
This element has one child named `ResourceID` and supports one attribute:
|
||||
* `xsi:type`: The type of this `<Component>`:
|
||||
* `List`: A list.
|
||||
* `Folder`: A photo collection.
|
||||
* `MessageContainer`: A text message container.
|
||||
* `List`: A list.
|
||||
* `Folder`: A photo collection.
|
||||
* `MessageContainer`: A text message container.
|
||||
|
||||
#### ResourceID
|
||||
Contains the blog service's ID for this `<Component>`.
|
||||
|
@ -194,9 +194,9 @@ This element supports multiple `<Item>` child elements.
|
|||
#### Item
|
||||
This element has one child named `ResourceID` and supports one attribute:
|
||||
* `xsi:type`: The type of this `<Component>`:
|
||||
* `ListEntry`: An entry on a list.
|
||||
* `Photo`: A photo.
|
||||
* `Message`: A text message.
|
||||
* `ListEntry`: An entry on a list.
|
||||
* `Photo`: A photo.
|
||||
* `Message`: A text message.
|
||||
|
||||
##### ResourceID
|
||||
Contains the blog service's ID for this `<Item>`.
|
||||
|
|
|
@ -28,18 +28,18 @@ This empty attribute has 5 parameters:
|
|||
* `minbld`: Lowest bound of builds that this block applies to.
|
||||
* `maxbld`: Highest bound of builds that this block applies to
|
||||
* `deny`: What features are disabled:
|
||||
* `SharingFolders`: Sharing Folders. Since [MSNP13](../versions/msnp13.md).
|
||||
* `protocolhandler`: Unknown.
|
||||
* `dynamicbackgrounds`: Dynamic Backgrounds (Flash chat backgrounds).
|
||||
* `phone`: Calling features. Since [MSNP13](../versions/msnp13.md).
|
||||
* `voiceim`: Voice Clips.
|
||||
* `camera`: Video Conversations.
|
||||
* `audio`: Audio Conversations.
|
||||
* `filexfer`: File transfer.
|
||||
* `hotlinks`: Web links.
|
||||
If this feature is blocked URLs sent in the chat will not be formatted as links.
|
||||
* `ddp`: Dynamic Display Pictures (Flash avatars).
|
||||
* `winks`: Winks (Flash full chat window animations).
|
||||
* `SharingFolders`: Sharing Folders. Since [MSNP13](../versions/msnp13.md).
|
||||
* `protocolhandler`: Unknown.
|
||||
* `dynamicbackgrounds`: Dynamic Backgrounds (Flash chat backgrounds).
|
||||
* `phone`: Calling features. Since [MSNP13](../versions/msnp13.md).
|
||||
* `voiceim`: Voice Clips.
|
||||
* `camera`: Video Conversations.
|
||||
* `audio`: Audio Conversations.
|
||||
* `filexfer`: File transfer.
|
||||
* `hotlinks`: Web links.
|
||||
If this feature is blocked URLs sent in the chat will not be formatted as links.
|
||||
* `ddp`: Dynamic Display Pictures (Flash avatars).
|
||||
* `winks`: Winks (Flash full chat window animations).
|
||||
|
||||
### block
|
||||
*Since [MSNP12](../versions/msnp12.md).*
|
||||
|
|
|
@ -40,6 +40,8 @@ More is to come soon! Hopefully!
|
|||
* [Constants used on the wiki](reference_constants.md)
|
||||
* [Shields Configuration Data](files/shields.md)
|
||||
* [`<NOTIFICATION>` documents](files/notification.md)
|
||||
* [Challenge key pairs](files/challenge_keypairs.md)
|
||||
* [All Client Capabilities](files/client_capabilities.md)
|
||||
|
||||
# Wanted Information
|
||||
* [MSNP2](versions/msnp2.md): What is the format of the initial `text/x-msmsgsemailnotification`?
|
||||
|
@ -49,7 +51,7 @@ More is to come soon! Hopefully!
|
|||
* [MSNP10](versions/msnp10.md): Did [LSG](commands/lsg.md) and [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
|
||||
* [MSNP11](versions/msnp11.md): How does `ABCHMigrated: 0` really work now? `OUT MIG` still exists.
|
||||
* [MSNP12](versions/msnp12.md): Did [LST](commands/lst.md) change outside of [SYN](commands/syn.md) in this version?
|
||||
* MSNP18: Was `<NotificationData>`'d circle updates get added in MSNP17 instead?
|
||||
* MSNP18: Was `<NotificationData>`-based circle updates added in MSNP17 instead?
|
||||
* Error Codes: A new article for them, seems like they are implemented in wildly different ways.
|
||||
* [MSNP2](versions/msnp2.md) to [MSNP7](versions/msnp7.md): TODO: Add CVR requests as command 10.
|
||||
* All Protocols: Any error code known to exist but is missing from the pages.
|
||||
|
@ -60,21 +62,31 @@ More is to come soon! Hopefully!
|
|||
* [MSG command](commands/msg.md): What can return from [MSG](commands/msg.md) D?
|
||||
* [LST command](commands/lst.md): Any updates to this command outside of [SYN](commands/syn.md).
|
||||
* [PRP command](commands/prp.md): Any information on the following properties (if they are properties?):
|
||||
* `UTL`
|
||||
* `WPL`
|
||||
* `CID`: Is this related to spaces?
|
||||
* `RES`
|
||||
* `NSD`
|
||||
* `UAC`
|
||||
* `MNI`
|
||||
* `UTL`
|
||||
* `WPL`
|
||||
* `CID`: Is this related to spaces?
|
||||
* `RES`
|
||||
* `NSD`
|
||||
* `UAC`
|
||||
* `MNI`
|
||||
* [UUX command](commands/uux.md): Any information on the following optional elements:
|
||||
* `PHMEnabled`
|
||||
* `MNIEnabled`
|
||||
* `LastSpaceUpdate`
|
||||
* `LastStorageError`
|
||||
* `PHMEnabled`
|
||||
* `MNIEnabled`
|
||||
* `LastSpaceUpdate`
|
||||
* `LastStorageError`
|
||||
* `FIR`
|
||||
* Meta: A good way to handle removed-mid-protocol commands like [FND](commands/fnd.md), [LSG](commands/lsg.md) and [LST](commands/lst.md)...
|
||||
|
||||
## We know, but isn't written
|
||||
* [Contact Sharing Service](services/sharingservice.md): write about `FindMembership`
|
||||
* [Address Book Service](services/abservice.md): write about `ABFindAll`
|
||||
* [Messenger Config service](services/msgrconfig.md): maybe provide examples?
|
||||
* [MSNP13](versions/msnp13.md): just write this page already
|
||||
* [Passport SOAP](services/passportsoap.md): document this service for [MSNP12](versions/msnp12.md), [MSNP13](versions/msnp13.md) and above.
|
||||
Examples would be nice, too.
|
||||
* MSNC1: the client-to-client subprotocol introduced with [MSNP9](versions/msnp9.md), un-sure where to put this one...
|
||||
* MSNP2P: the sub-protocol used for file transfers in [MSNP5](versions/msnp5.md), also un-sure where to put this one...
|
||||
|
||||
## Unsolved Mysteries
|
||||
* [INF command](commands/inf.md): ***Why*** does the [MSNP2](versions/msnp2.md) [draft](https://datatracker.ietf.org/doc/html/draft-movva-msn-messenger-protocol-00#section-7.2) have this in Switchboard? It's not used by any client as far as i'm aware.
|
||||
* [FND command](commands/fnd.md): Why does this have an iterator if you can't send it over multiple packets?
|
||||
|
@ -92,7 +104,7 @@ More is to come soon! Hopefully!
|
|||
* Protocol Split: A MSNP version that usually defines a point of no return.
|
||||
* PP14: [Passport SSI Version 1.4](services/passport14.md).
|
||||
* PP30: Passport over SOAP that was implemented in Client Version 7.5+ ([MSNP12](versions/msnp12.md)).
|
||||
* SOAP: Simple Object Access Protocol, A wrapper over XML. That's the kindest thing I can write about it.
|
||||
* SOAP: Simple Object Access Protocol, A message schema based on XML. That's the kindest thing I can write about it.
|
||||
* Passport: The Authentication Server and/or Protocol.
|
||||
* Undefined Behaviour: An intentional blank left in the documentation, basically as a "I am not responsible for what this does to your client or server" warning.
|
||||
* Dispatch Server: A type of MSNP server that handles moving users to Notification Servers.
|
||||
|
@ -101,16 +113,17 @@ More is to come soon! Hopefully!
|
|||
* Command: A 3-letter case-sensitive command type, followed optionally by a transaction ID and the rest of the Command parameters, ending with a new-line.
|
||||
* Payload Command: A special type of Command that has a integer length parameter as the final parameter before the deliminating new-line.
|
||||
* New-line/Newline: A Carriage Return character followed by a Line Feed character. Seperates commands in the protocol.
|
||||
* Error Code: A 3-digit Command that denotes that there was a problem with the last command sent.
|
||||
* Carriage Return: To return the page-writing apparatus to the left of the page.
|
||||
* Line Feed: To move the page-writing apparatus down a "line".
|
||||
* TrID: Transaction ID. Links the server's response to the client's request.
|
||||
* User handle: An address which supports up to 129 characters that is used across the protocol.
|
||||
May be called "principles" in other places.
|
||||
* Public Key, Private Key: The parameters used in [QRY](commands/qry.md).
|
||||
* The one you send with it in plain is the Public Key.
|
||||
An example of the Public Key is `msmsgs@msnmsgr.com` or `PROD0090YUAUV{2B`.
|
||||
* The one you use for the main challenge response hash is the Private Key.
|
||||
An example of the Private Key is `Q1P7W2E4J9R8U3S5` or `YMM8C_H7KCQ2S_KL`.
|
||||
* The one you send with it in plain is the Public Key.
|
||||
An example of the Public Key is `msmsgs@msnmsgr.com` or `PROD0090YUAUV{2B`.
|
||||
* The one you use for the main challenge response hash is the Private Key.
|
||||
An example of the Private Key is `Q1P7W2E4J9R8U3S5` or `YMM8C_H7KCQ2S_KL`.
|
||||
|
||||
# Where do I find or edit these page's source?
|
||||
The git repo is avaliable at <https://git.kevinthe.horse/yellows111/msnp-wiki>.
|
||||
|
|
|
@ -23,7 +23,7 @@ This refers to all the constants used on the wiki.
|
|||
* John's (mobile-only contact) GUID: `a47e39cf-312c-4100-94a6-f2b33adf5b68`
|
||||
|
||||
## Other things
|
||||
* My Passport Unique ID: `0x00000001:0x000000002`, High: `1`, Low: `2`.
|
||||
* My Passport Unique ID: `0x00000001:0x00000002`, High: `1`, Low: `2`.
|
||||
* My computer's GUID: `44bfd5a4-7450-4bda-ba3a-c51b3031126d`
|
||||
* Another User's computer's GUID: `0061d708-cd9b-4d56-b64b-fffaa92ff344`
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ This element has three children:
|
|||
* `<IsMigration>`: If this request is part of the ABCH Migration process.
|
||||
If it is, set to `true`, otherwise set to `false`.
|
||||
* `<PartnerScenario>`: What caused this request to happen:
|
||||
* `Initial`: This is the initial request to this action.
|
||||
* `Initial`: This is the initial request to this action.
|
||||
* `Timer`: This request was done automatically on a timer.
|
||||
* `ContactSave`: When the modified contact is saved by the client.
|
||||
* `MessengerPendingList`: Managing the Pending List (PL).
|
||||
|
@ -97,7 +97,8 @@ This element has only one attribute:
|
|||
This element has five children:
|
||||
* `<Version>`: The version of this service.
|
||||
* `<CacheKey>`: The current or new address book caching key.
|
||||
Usually starts with `14r2;`, then continues with some form of base64-encoded data.
|
||||
Usually starts with `14r2;`, then continues with base64-encoded data.
|
||||
The meaning of the appended data is yet to be known. It may be a 128-bit hash of some kind.
|
||||
* `<CacheKeyChanged>`: Did the `<CacheKey>` change? If it did, set to `true`, otherwise set to `false`.
|
||||
* `<PreferredHostName>`: The domain name that this service would like to receive requests to.
|
||||
* `<SessionId>`: The current session GUID.
|
||||
|
|
|
@ -29,8 +29,8 @@ The relevant elements are:
|
|||
* `<isMessengerUser>`: Is the user I am adding a part of the Messenger Service Network?
|
||||
If they are, set to `true`, otherwise set to `false`.
|
||||
* `<contactType>`: (Optional?) The type of contact you'd like to add:
|
||||
* `LivePending`: A Messenger Service user.
|
||||
* `Regular`: A user from another service.
|
||||
* `LivePending`: A Messenger Service user.
|
||||
* `Regular`: A user from another service.
|
||||
* `<emails>`: Used exclusively if this is a email-only contact.
|
||||
* `<isSmtp>`: Used with `<phones>` if this is a phone-only contact.
|
||||
* `<phones>`: Used with `<isSmtp>` if this is a phone-only contact.
|
||||
|
@ -56,3 +56,94 @@ but this behavour is yet to be confirmed.
|
|||
|
||||
#### guid
|
||||
The GUID of the contact you have added.
|
||||
|
||||
# Examples
|
||||
|
||||
## Client/Request
|
||||
```
|
||||
POST /abservice/abservice.asmx HTTP/1.1
|
||||
SOAPAction: http://www.msn.com/webservices/AddressBook/ABContactAdd
|
||||
Cache-Control: no-cache
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 1464
|
||||
|
||||
<?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>
|
||||
<ABContactAdd
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<abId>00000000-0000-0000-0000-000000000000</abId>
|
||||
<contacts>
|
||||
<Contact
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<contactInfo>
|
||||
<passportName>anotheruser@hotmail.com</passportName>
|
||||
<isMessengerUser>true</isMessengerUser>
|
||||
<contactType>LivePending</contactType>
|
||||
</contactInfo>
|
||||
</Contact>
|
||||
</contacts>
|
||||
<options>
|
||||
<EnableAllowListManagement>true</EnableAllowListManagement>
|
||||
</options>
|
||||
</ABContactAdd>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
||||
## Server/Response
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/xml
|
||||
Content-Length: 911
|
||||
|
||||
<?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;MjAyNC0xMS0xOVQxNDowOTowNi41MzZa</CacheKey>
|
||||
<CacheKeyChanged>true</CacheKeyChanged>
|
||||
<PreferredHostName>contacts.example.com</PreferredHostName>
|
||||
<SessionId>ecfaf8c7-e388-4571-8641-b061a0ac4bdc</SessionId>
|
||||
</ServiceHeader>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ABContactAddResponse
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<ABContactAddResult>
|
||||
<guid>c1f9a363-4ee9-4a33-a434-b056a4c55b98</guid>
|
||||
</ABContactAddResult>
|
||||
</ABContactAddResponse>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
|
|
@ -30,3 +30,83 @@ The template used in this action is described on the [Address Book Service](../a
|
|||
## ABContactDeleteResponse
|
||||
This empty element has only one attribute:
|
||||
* `xmlns`: Is always set to `http://www.msn.com/webservices/AddressBook`.
|
||||
|
||||
# Examples
|
||||
|
||||
## Client/Request
|
||||
```
|
||||
POST /abservice/abservice.asmx HTTP/1.1
|
||||
SOAPAction: http://www.msn.com/webservices/AddressBook/ABContactDelete
|
||||
Cache-Control: no-cache
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 1213
|
||||
|
||||
<?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>
|
||||
<ABContactDelete
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<abId>00000000-0000-0000-0000-000000000000</abId>
|
||||
<contacts>
|
||||
<Contact
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<contactId>c1f9a363-4ee9-4a33-a434-b056a4c55b98</contactId>
|
||||
</Contact>
|
||||
</contacts>
|
||||
</ABContactDelete>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
||||
## Server/Response
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/xml
|
||||
Content-Length: 774
|
||||
|
||||
<?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>
|
||||
<ABContactDeleteResponse
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
/>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
|
|
@ -51,6 +51,90 @@ The valid values are the following:
|
|||
# Server/Response
|
||||
The template used in this action is described on the [Address Book Service](../abservice.md) main page.
|
||||
|
||||
## ABContactUpdate
|
||||
## ABContactUpdateResponse
|
||||
This empty element has only one attribute:
|
||||
* `xmlns`: Is always set to `http://www.msn.com/webservices/AddressBook`.
|
||||
|
||||
# Examples
|
||||
|
||||
## Client/Request
|
||||
```
|
||||
POST /abservice/abservice.asmx HTTP/1.1
|
||||
SOAPAction: http://www.msn.com/webservices/AddressBook/ABContactUpdate
|
||||
Cache-Control: no-cache
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 1378
|
||||
|
||||
<?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>
|
||||
<ABContactUpdate
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<abId>00000000-0000-0000-0000-000000000000</abId>
|
||||
<contacts>
|
||||
<Contact
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<contactId>c1f9a363-4ee9-4a33-a434-b056a4c55b98</contactId>
|
||||
<contactInfo>
|
||||
<displayName>another user</displayName>
|
||||
</contactInfo>
|
||||
<propertiesChanged>DisplayName <propertiesChanged>
|
||||
</Contact>
|
||||
</contacts>
|
||||
</ABContactUpdate>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
||||
## Server/Response
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/xml
|
||||
Content-Length: 911
|
||||
|
||||
<?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;MjAyNC0xMS0xOVQxNzo0Nzo1OS4zMDZa</CacheKey>
|
||||
<CacheKeyChanged>true</CacheKeyChanged>
|
||||
<PreferredHostName>contacts.example.com</PreferredHostName>
|
||||
<SessionId>ecfaf8c7-e388-4571-8641-b061a0ac4bdc</SessionId>
|
||||
</ServiceHeader>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ABContactUpdateResponse
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
/>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
|
|
@ -25,7 +25,7 @@ This element only contains the `<GroupInfo>` element.
|
|||
This element contains four children:
|
||||
* `<name>`: The name of the group.
|
||||
* `<groupType>`: The GUID type of group:
|
||||
* `C8529CE2-6EAD-434d-881F-341E17DB3FF8`: A contact group.
|
||||
* `C8529CE2-6EAD-434d-881F-341E17DB3FF8`: A contact group.
|
||||
* `<fMessenger>`: Unknown purpose (`true` or `false`).
|
||||
|
||||
##### annotations
|
||||
|
@ -50,3 +50,96 @@ This element only contains the `<guid>` element.
|
|||
|
||||
#### guid
|
||||
This element only contains the GUID of the newly created group.
|
||||
|
||||
# Examples
|
||||
|
||||
## Client/Request
|
||||
```
|
||||
POST /abservice/abservice.asmx HTTP/1.1
|
||||
SOAPAction: http://www.msn.com/webservices/AddressBook/ABGroupAdd
|
||||
Cache-Control: no-cache
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 1486
|
||||
|
||||
<?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>GroupSave</PartnerScenario>
|
||||
</ABApplicationHeader>
|
||||
<ABAuthHeader
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<ManagedGroupRequest>false</ManagedGroupRequest>
|
||||
<TicketToken>t=ticket&p=profile</TicketToken>
|
||||
</ABAuthHeader>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ABGroupAdd
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<abId>00000000-0000-0000-0000-000000000000</abId>
|
||||
<groupAddOptions>
|
||||
<fRenameOnMsgrConflict>false</fRenameOnMsgrConflict>
|
||||
</groupAddOptions>
|
||||
<groupInfo>
|
||||
<GroupInfo>
|
||||
<name>Friends</name>
|
||||
<groupType>C8529CE2-6EAD-434d-881F-341E17DB3FF8</groupType>
|
||||
<fMessenger>false</fMessenger>
|
||||
<annotations>
|
||||
<Annotation>
|
||||
<Name>MSN.IM.Display</Name>
|
||||
<Value>1</Value>
|
||||
</Annotation>
|
||||
</annotations>
|
||||
</GroupInfo>
|
||||
</groupInfo>
|
||||
</ABGroupAdd>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
||||
## Server/Response
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/xml
|
||||
Content-Length: 903
|
||||
|
||||
<?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;MjAyNC0xMS0xOVQxNzo1NTo1Ni45NDla</CacheKey>
|
||||
<CacheKeyChanged>true</CacheKeyChanged>
|
||||
<PreferredHostName>contacts.example.com</PreferredHostName>
|
||||
<SessionId>ecfaf8c7-e388-4571-8641-b061a0ac4bdc</SessionId>
|
||||
</ServiceHeader>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ABGroupAddResponse
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<ABGroupAddResult>
|
||||
<guid>f60efbe7-94af-4b16-b926-e4e10878d329</guid>
|
||||
</ABGroupAddResult>
|
||||
</ABGroupAddResponse>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
|
|
@ -61,3 +61,92 @@ This element only contains the `<guid>` element.
|
|||
|
||||
#### guid
|
||||
This element contains the GUID of the contact that was added to the group.
|
||||
|
||||
# Examples
|
||||
|
||||
## Client/Request
|
||||
```
|
||||
POST /abservice/abservice.asmx HTTP/1.1
|
||||
SOAPAction: http://www.msn.com/webservices/AddressBook/ABGroupContactAdd
|
||||
Cache-Control: no-cache
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 1360
|
||||
|
||||
<?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>GroupSave</PartnerScenario>
|
||||
</ABApplicationHeader>
|
||||
<ABAuthHeader
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<ManagedGroupRequest>false</ManagedGroupRequest>
|
||||
<TicketToken>t=ticket&p=profile</TicketToken>
|
||||
</ABAuthHeader>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ABGroupContactAdd
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<abId>00000000-0000-0000-0000-000000000000</abId>
|
||||
<groupFilter>
|
||||
<groupIds>
|
||||
<guid>f60efbe7-94af-4b16-b926-e4e10878d329</guid>
|
||||
</groupIds>
|
||||
</groupFilter>
|
||||
<contacts>
|
||||
<Contact
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<contactId>c1f9a363-4ee9-4a33-a434-b056a4c55b98</contactId>
|
||||
</Contact>
|
||||
</contacts>
|
||||
</ABGroupContactAdd>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
||||
## Server/Response
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/xml
|
||||
Content-Length: 931
|
||||
|
||||
<?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;MjAyNC0xMS0xOVQxNDowOTowNi41MzZa</CacheKey>
|
||||
<CacheKeyChanged>true</CacheKeyChanged>
|
||||
<PreferredHostName>contacts.example.com</PreferredHostName>
|
||||
<SessionId>ecfaf8c7-e388-4571-8641-b061a0ac4bdc</SessionId>
|
||||
</ServiceHeader>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ABGroupContactAddResponse
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<ABGroupContactAddResult>
|
||||
<guid>c1f9a363-4ee9-4a33-a434-b056a4c55b98</guid>
|
||||
</ABGroupContactAddResult>
|
||||
</ABGroupContactAddResponse>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
|
|
@ -39,3 +39,88 @@ The template used in this action is described on the [Address Book Service](../a
|
|||
## ABGroupContactDeleteResponse
|
||||
This empty element has only one attribute:
|
||||
* `xmlns:` Is always set to `http://www.msn.com/webservices/AddressBook`.
|
||||
|
||||
# Examples
|
||||
|
||||
## Client/Request
|
||||
```
|
||||
POST /abservice/abservice.asmx HTTP/1.1
|
||||
SOAPAction: http://www.msn.com/webservices/AddressBook/ABGroupContactDelete
|
||||
Cache-Control: no-cache
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 1366
|
||||
|
||||
<?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>GroupSave</PartnerScenario>
|
||||
</ABApplicationHeader>
|
||||
<ABAuthHeader
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<ManagedGroupRequest>false</ManagedGroupRequest>
|
||||
<TicketToken>t=ticket&p=profile</TicketToken>
|
||||
</ABAuthHeader>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ABGroupContactDelete
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<abId>00000000-0000-0000-0000-000000000000</abId>
|
||||
<contacts>
|
||||
<Contact
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<contactId>c1f9a363-4ee9-4a33-a434-b056a4c55b98</contactId>
|
||||
</Contact>
|
||||
</contacts>
|
||||
<groupFilter>
|
||||
<groupIds>
|
||||
<guid>f60efbe7-94af-4b16-b926-e4e10878d329</guid>
|
||||
</groupIds>
|
||||
</groupFilter>
|
||||
</ABGroupContactDelete>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
||||
## Server/Response
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/xml
|
||||
Content-Length: 779
|
||||
|
||||
<?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;MjAyNC0xMS0xOVQxNDowOTowNi41MzZa</CacheKey>
|
||||
<CacheKeyChanged>true</CacheKeyChanged>
|
||||
<PreferredHostName>contacts.example.com</PreferredHostName>
|
||||
<SessionId>ecfaf8c7-e388-4571-8641-b061a0ac4bdc</SessionId>
|
||||
</ServiceHeader>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ABGroupContactDeleteResponse
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
/>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
|
|
@ -28,3 +28,81 @@ The template used in this action is described on the [Address Book Service](../a
|
|||
## ABGroupDeleteResponse
|
||||
This empty element has only one attribute:
|
||||
* `xmlns:` Is always set to `http://www.msn.com/webservices/AddressBook`.
|
||||
|
||||
# Examples
|
||||
|
||||
## Client/Request
|
||||
```
|
||||
POST /abservice/abservice.asmx HTTP/1.1
|
||||
SOAPAction: http://www.msn.com/webservices/AddressBook/ABGroupDelete
|
||||
Cache-Control: no-cache
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 1140
|
||||
|
||||
<?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>
|
||||
<ABGroupDelete
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<abId>00000000-0000-0000-0000-000000000000</abId>
|
||||
<groupFilter>
|
||||
<groupIds>
|
||||
<guid>f60efbe7-94af-4b16-b926-e4e10878d329</guid>
|
||||
</groupIds>
|
||||
</groupFilter>
|
||||
</ABGroupDelete>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
||||
## Server/Response
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/xml
|
||||
Content-Length: 772
|
||||
|
||||
<?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>
|
||||
<ABGroupDeleteResponse
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
/>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
|
|
@ -21,7 +21,7 @@ This element contains three children:
|
|||
* `<groupId>`: The GUID of the group to modify.
|
||||
* `<groupInfo>`: Explained below.
|
||||
* `<propertiesChanged>`: A space delimited list of changes made in `<groupInfo>`:
|
||||
* `GroupName`
|
||||
* `GroupName`
|
||||
|
||||
##### groupInfo
|
||||
This element contains only one child:
|
||||
|
@ -30,6 +30,88 @@ This element contains only one child:
|
|||
# Server/Response
|
||||
The template used in this action is described on the [Address Book Service](../abservice.md) main page.
|
||||
|
||||
## ABGroupAddResponse
|
||||
## ABGroupUpdateResponse
|
||||
This empty element has only one attribute:
|
||||
* `xmlns:` Is always set to `http://www.msn.com/webservices/AddressBook`.
|
||||
|
||||
# Examples
|
||||
|
||||
## Client/Request
|
||||
```
|
||||
POST /abservice/abservice.asmx HTTP/1.1
|
||||
SOAPAction: http://www.msn.com/webservices/AddressBook/ABGroupUpdate
|
||||
Cache-Control: no-cache
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 1276
|
||||
|
||||
<?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>GroupSave</PartnerScenario>
|
||||
</ABApplicationHeader>
|
||||
<ABAuthHeader
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<ManagedGroupRequest>false</ManagedGroupRequest>
|
||||
<TicketToken>t=ticket&p=profile</TicketToken>
|
||||
</ABAuthHeader>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ABGroupDelete
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
>
|
||||
<abId>00000000-0000-0000-0000-000000000000</abId>
|
||||
<groups>
|
||||
<Group>
|
||||
<groupId>f60efbe7-94af-4b16-b926-e4e10878d329</groupId>
|
||||
<groupInfo>
|
||||
<name>Other People</name>
|
||||
</groupInfo>
|
||||
<propertiesChanged>GroupName </propertiesChanged>
|
||||
</Group>
|
||||
</groups>
|
||||
</ABGroupDelete>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
||||
## Server/Response
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/xml
|
||||
Content-Length: 772
|
||||
|
||||
<?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>
|
||||
<ABGroupUpdateResponse
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
/>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
|
|
@ -8,8 +8,8 @@ This element can contain many children, all of which optional:
|
|||
* `<IsPassportNameHidden>` Are the contents of `<passportName>` hidden to the user (`true` or `false`)?
|
||||
* `<isMessengerUser>`: Is this contact a part of the Messenger Service Network (`true` or `false`)?
|
||||
* `<contactType>`: The type of contact this is related to:
|
||||
* `LivePending`: A user yet to authorise you
|
||||
* `Regular`: A user from another service.
|
||||
* `LivePending`: A user yet to authorise you
|
||||
* `Regular`: A user from another service.
|
||||
* `<displayName>`: The display name for this contact.
|
||||
* `<puid>`: Unused. Always 0.
|
||||
* `<CID>`: The Common ID of this contact, which is a signed 64-bit integer.
|
||||
|
@ -28,23 +28,23 @@ This element can contain many children, all of which optional:
|
|||
* `<MiddleName>`: The middle name for this contact.
|
||||
* `<annotations>`: Contains one or multiple [`<Annotation>`](#annotation) element(s).
|
||||
* `<primaryEmailType>`: Can be any of the following:
|
||||
* `ContactEmailPersonal`
|
||||
* `ContactEmailMessenger`
|
||||
* `ContactEmailBusiness`
|
||||
* `ContactEmailOther`
|
||||
* `Passport`
|
||||
* `ContactEmailPersonal`
|
||||
* `ContactEmailMessenger`
|
||||
* `ContactEmailBusiness`
|
||||
* `ContactEmailOther`
|
||||
* `Passport`
|
||||
* `<emails>`: Contains one or multiple [`<ContactEmail>`](#contactemail) element(s).
|
||||
* `<PrimaryPhone>`: Can be any of the following:
|
||||
* `ContactPhonePersonal`
|
||||
* `ContactPhonePager`
|
||||
* `ContactPhoneFax`
|
||||
* `ContactPhoneBusiness`
|
||||
* `ContactPhoneOther`
|
||||
* `ContactPhoneMobile`
|
||||
* `ContactPhonePersonal`
|
||||
* `ContactPhonePager`
|
||||
* `ContactPhoneFax`
|
||||
* `ContactPhoneBusiness`
|
||||
* `ContactPhoneOther`
|
||||
* `ContactPhoneMobile`
|
||||
* `<phones>`: Contains one or multiple [`<ContactPhone>`](#contactphone) element(s).
|
||||
* `<PrimaryLocation>`: Can be any of the following:
|
||||
* `ContactLocationBusiness`
|
||||
* `ContactLocationPersonal`
|
||||
* `ContactLocationBusiness`
|
||||
* `ContactLocationPersonal`
|
||||
* `<locations>`: Contains one or multiple [`<ContactLocation>`](#contactlocation) element(s).
|
||||
* `<webSites>`: Contains one or multiple [`<ContactWebSite>`](#contactwebsite) element(s).
|
||||
* `<IsPrivate>`: Is this contact private (`true` or `false`).
|
||||
|
@ -54,39 +54,39 @@ This element can contain many children, all of which optional:
|
|||
## Annotation
|
||||
This element contains two children:
|
||||
* `<Name>`: The key of this property:
|
||||
* `MSN.IM.MBEA`: (Only for you) Can users talk to me via my mobile phone? (`0` or `1`).
|
||||
* `MSN.IM.GTC`: (Only for you) Do I automatically add users to the AL or ask first? (`0` or `1`).
|
||||
* `MSN.IM.BLP`: (Only for you) Are all users blocked or allowed by default to talk to me? (`0` or `1`).
|
||||
* `AB.JobTitle`: The job title of this contact.
|
||||
* `AB.NickName`: The user-provided nick-name for this contact.
|
||||
* `AB.Spouse`: The contact's spouse's name.
|
||||
* `MSN.IM.MBEA`: (Only for you) Do I have a mobile device associated with my account? (`0` or `1`).
|
||||
* `MSN.IM.GTC`: (Only for you) Do I automatically add users to the AL or ask first? (`0` or `1`).
|
||||
* `MSN.IM.BLP`: (Only for you) Are all users blocked or allowed by default to talk to me? (`0` or `1`).
|
||||
* `AB.JobTitle`: The job title of this contact.
|
||||
* `AB.NickName`: The user-provided nick-name for this contact.
|
||||
* `AB.Spouse`: The contact's spouse's name.
|
||||
* `<Value>`: The value of this property.
|
||||
|
||||
## ContactEmail
|
||||
This element contains two children:
|
||||
* `<contactEmailType>`: Can be any of the following:
|
||||
* `ContactEmailPersonal`
|
||||
* `ContactEmailMessenger`
|
||||
* `ContactEmailBusiness`
|
||||
* `ContactEmailOther`
|
||||
* `ContactEmailPersonal`
|
||||
* `ContactEmailMessenger`
|
||||
* `ContactEmailBusiness`
|
||||
* `ContactEmailOther`
|
||||
* `<email>`: The e-mail address associated with the `<contactEmailType>`.
|
||||
|
||||
## ContactPhone
|
||||
This element contains two children:
|
||||
* `<contactPhoneType>`: Can be any of the following:
|
||||
* `ContactPhonePersonal`
|
||||
* `ContactPhonePager`
|
||||
* `ContactPhoneFax`
|
||||
* `ContactPhoneBusiness`
|
||||
* `ContactPhoneOther`
|
||||
* `ContactPhoneMobile`
|
||||
* `ContactPhonePersonal`
|
||||
* `ContactPhonePager`
|
||||
* `ContactPhoneFax`
|
||||
* `ContactPhoneBusiness`
|
||||
* `ContactPhoneOther`
|
||||
* `ContactPhoneMobile`
|
||||
* `<number>`: The phone number associated with the `<contactPhoneType>`.
|
||||
|
||||
## ContactLocation
|
||||
This element contains two children:
|
||||
* `<contactLocationType>`: Can be any of the following:
|
||||
* `ContactLocationBusiness`
|
||||
* `ContactLocationPersonal`
|
||||
* `ContactLocationBusiness`
|
||||
* `ContactLocationPersonal`
|
||||
* `<name>`: The name associated with the `<contactLocationType>`.
|
||||
* `<street>`: The street associated with the `<contactLocationType>`.
|
||||
* `<city>`: The city associated with the `<contactLocationType>`.
|
||||
|
@ -94,16 +94,16 @@ This element contains two children:
|
|||
* `<country>`: The country associated with the `<contactLocationType>`.
|
||||
* `<postalCode>`: The postal code associated associated with the `<contactLocationType>`.
|
||||
* `<Changes>`: A space delimited list of changed elements in this `<ContactLocation>`:
|
||||
* `Name`
|
||||
* `Street`
|
||||
* `City`
|
||||
* `State`
|
||||
* `Country`
|
||||
* `PostalCode`
|
||||
* `Name`
|
||||
* `Street`
|
||||
* `City`
|
||||
* `State`
|
||||
* `Country`
|
||||
* `PostalCode`
|
||||
|
||||
## ContactWebSite
|
||||
This element contains two children:
|
||||
* `<contactWebSiteType>`: Can be any of the following:
|
||||
* `ContactWebSiteBusiness`
|
||||
* `ContactWebSitePersonal`
|
||||
* `ContactWebSiteBusiness`
|
||||
* `ContactWebSitePersonal`
|
||||
* `<webURL>`: The location of the website associated with the `<contactWebSiteType>`.
|
||||
|
|
|
@ -19,11 +19,18 @@ In the HTTP headers, this is defined:
|
|||
|
||||
`SOAPAction: "http://www.msn.com/webservices/Messenger/Client/GetClientConfig"`
|
||||
|
||||
The main body is the following:
|
||||
```
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
||||
<soap:Envelope
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
|
||||
>
|
||||
<soap:Body>
|
||||
<GetClientConfig xmlns='http://www.msn.com/webservices/Messenger/Client'>
|
||||
<GetClientConfig
|
||||
xmlns='http://www.msn.com/webservices/Messenger/Client'
|
||||
>
|
||||
<clientinfo>
|
||||
<Country>US</Country>
|
||||
<CLCID>0809</CLCID>
|
||||
|
@ -44,7 +51,15 @@ Where `<PLCID>` is the binary's language code in unprefixed hexadecimal.
|
|||
Where `<GeoID>` is the system's geographic location in decimal.
|
||||
|
||||
#### As query parameters
|
||||
`GET http://config.messenger.msn.com/Config/MsgrConfig.asmx?op=GetClientConfig&Country=US&CLCID=0809&PLCID=0409&GeoID=242&ver=8.5.1302`
|
||||
```
|
||||
GET http://config.messenger.msn.com/Config/MsgrConfig.asmx
|
||||
?op=GetClientConfig
|
||||
&Country=US
|
||||
&CLCID=0809
|
||||
&PLCID=0409
|
||||
&GeoID=242
|
||||
&ver=8.5.1302
|
||||
```
|
||||
|
||||
Where `op` is always `GetClientConfig`.
|
||||
|
||||
|
@ -64,9 +79,15 @@ Where `ver` is the version of the client as a triplet.
|
|||
*This only applies if you use a SOAP request.*
|
||||
```
|
||||
<?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: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:Body>
|
||||
<GetClientConfigResponse xmlns="http://www.msn.com/webservices/Messenger/Client">
|
||||
<GetClientConfigResponse
|
||||
xmlns="http://www.msn.com/webservices/Messenger/Client"
|
||||
>
|
||||
<GetClientConfigResult><![CDATA[<MsgrConfig>...</MsgrConfig>]]></GetClientConfigResult>
|
||||
</GetClientConfigResponse>
|
||||
</soap:Body>
|
||||
|
@ -156,7 +177,7 @@ This element only contains `<Entry>` elements.
|
|||
This element has two attributes:
|
||||
* `type`: Unknown, but is `0` for `Login`, `2` for `MapFile`, and `3` for P2P.
|
||||
* `name`: The name of the feature:
|
||||
* `Login`: Login Process
|
||||
* `Login`: Login Process
|
||||
* `MapFile`: Content Cache Map Files
|
||||
* `P2P`: Peer-to-peer communications
|
||||
|
||||
|
@ -175,7 +196,7 @@ This element only contains one or multiple `<tab>` element(s).
|
|||
This element has nine children:
|
||||
* `<image>`: Either a direct URL to a PNG file (36x32 size) or a resource id:
|
||||
* `res:mail`: A mail icon. Unused?
|
||||
* `res:bell`: A bell icon. Used for the alerts tab.
|
||||
* `res:bell`: A bell icon. Used for the alerts tab.
|
||||
* `res:calendar`: A clock icon. Used for the calendar service.
|
||||
* `res:money`: A stock chart icon or a icon depicting a stack of coins. Used for the finanical stocks service.
|
||||
* `res:expedia`: A plane icon. Used for the travel service.
|
||||
|
@ -452,10 +473,10 @@ the `$FORMAT$` formatting string is avaliable.
|
|||
### MusicIntegration
|
||||
This empty element has two attributes:
|
||||
* `URL`: The URL to the music search function, supporting the following formatting strings:
|
||||
* `$TITLE$`: The title of the song.
|
||||
* `$ARTIST$`: The artist of the song.
|
||||
* `$ALBUM$`: The album of the song.
|
||||
* `$WMID$`: The Windows Media DRM ID of the song (if avaliable).
|
||||
* `$TITLE$`: The title of the song.
|
||||
* `$ARTIST$`: The artist of the song.
|
||||
* `$ALBUM$`: The album of the song.
|
||||
* `$WMID$`: The Windows Media DRM ID of the song (if avaliable).
|
||||
* `SiteID`: The Passport Site ID that `URL` uses.
|
||||
|
||||
### PremiumAV
|
||||
|
@ -464,12 +485,12 @@ This empty element has the attribute `Visibility`. `1` likely enables this featu
|
|||
### RL
|
||||
* `<ViewProfileURL>`: The URL used to open the Member Directory for this user.
|
||||
Has the following formatting strings:
|
||||
* `%1`: Unknown
|
||||
* `%2`: Unknown
|
||||
* `%3`: Unknown
|
||||
* `%4`: Unknown
|
||||
* `%5`: Unknown
|
||||
* `%6`: The user handle that you want to view.
|
||||
* `%1`: Unknown
|
||||
* `%2`: Unknown
|
||||
* `%3`: Unknown
|
||||
* `%4`: Unknown
|
||||
* `%5`: Unknown
|
||||
* `%6`: The user handle that you want to view.
|
||||
|
||||
### TermsOfUse
|
||||
* `<TermsOfUseSID>`: The Passport Site ID that `<TermsOfUseURL>` uses,
|
||||
|
@ -484,11 +505,11 @@ This element has three required attributes and three optional attributes:
|
|||
* `id`: The ID for this Product Provider
|
||||
* `PartnerID`: The partner 2 character code.
|
||||
* `ProductName`: The type of product:
|
||||
* `Winks`
|
||||
* `Emoticons`
|
||||
* `Backgrounds`
|
||||
* `Theme Packs`
|
||||
* `Dynamic Display Pictures`
|
||||
* `Winks`
|
||||
* `Emoticons`
|
||||
* `Backgrounds`
|
||||
* `Theme Packs`
|
||||
* `Dynamic Display Pictures`
|
||||
* `BrandName` (optional): The display name of this product.
|
||||
* `DialogMenuString` (optional): What the client shows when promoting this product.
|
||||
* `IntegrationType` (optional): How the client should promote this product.
|
||||
|
|
|
@ -14,9 +14,11 @@ This element has only one attribute:
|
|||
### serviceHandle
|
||||
This element contains three children:
|
||||
* `<Id>`: This is always set to `0`.
|
||||
* `<Type>`: This has only been observed to be `Messenger`.
|
||||
* `<ForeignId>`: This has only been observed have no content,
|
||||
but is not an empty element.
|
||||
* `<Type>`: The type of this member:
|
||||
* `Messenger`: This is a Messenger contact.
|
||||
* `Profile`: This is your profile.
|
||||
* `<ForeignId>`: If `<Type>` is `Profile`, this should be `MyProfile`,
|
||||
otherwise leave empty but do not convert to an empty element.
|
||||
|
||||
### memberships
|
||||
This element only contains `<Membership>` elements.
|
||||
|
@ -24,9 +26,10 @@ 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).
|
||||
* `Allow`: The Allow List (AL).
|
||||
* `Block`: The Block List (BL).
|
||||
* `Reverse`: The Reverse List (RL).
|
||||
* `ProfileExpression`: Your profile.
|
||||
* `<Members>`: Explained below.
|
||||
|
||||
##### Members
|
||||
|
@ -35,22 +38,33 @@ This element only contains `<Member>` elements.
|
|||
###### Member
|
||||
This element has two attributes:
|
||||
* `xsi:type`: The type of this `<Member>`:
|
||||
* `PassportMember`
|
||||
* `EmailMember`
|
||||
* `PhoneMember`
|
||||
* `PassportMember`
|
||||
* `EmailMember`
|
||||
* `PhoneMember`
|
||||
* `RoleMember`: Only valid for `ProfileExpression`.
|
||||
* `xmlns:xsi`: This is always set to `http://www.w3.org/2001/XMLSchema-instance`.
|
||||
|
||||
This element contains two children:
|
||||
* `<Type>`: The type of this `<Member>`:
|
||||
* `Passport`
|
||||
* `Email`
|
||||
* `Phone`
|
||||
* `Passport`
|
||||
* `Email`
|
||||
* `Phone`
|
||||
* `<State>`: This is usually only set to `Accepted`, but `Pending` is a valid value.
|
||||
* `<Deleted>`: Should this member be deleted? (Only set to `true` in `UpdateMember`?)
|
||||
|
||||
This element also contains one of the following mutually exclusive children.
|
||||
1. `<PassportName>`: The user handle associated with this membership.
|
||||
2. `<Email>`: The e-mail address associated with this membership.
|
||||
2. `<PhoneNumber>`: The phone number associated with this membership.
|
||||
3. `<PhoneNumber>`: The phone number associated with this membership.
|
||||
|
||||
This element also contains the following children IF the role is set to `ProfileExpression`:
|
||||
* `<Id>`: Always `Allow`.
|
||||
* `<DefiningService>`: Contains the following:
|
||||
* `<Id>`: Always `0`.
|
||||
* `<Type>`: Always `Messenger`.
|
||||
* `<ForeignId>`: Always empty content, but not an empty element.
|
||||
* `<MaxRoleRecursionDepth>`: Always `0`.
|
||||
* `<MaxDegreesSeparationDepth>`: Always `0`.
|
||||
|
||||
# Server/Response
|
||||
The template used in this action is described on the [Address Book Service](../abservice.md) main page.
|
||||
|
@ -58,3 +72,95 @@ The template used in this action is described on the [Address Book Service](../a
|
|||
## AddMemberResponse
|
||||
This empty element has only one attribute:
|
||||
* `xmlns:` Is always set to `http://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
|
||||
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>
|
||||
```
|
||||
|
|
|
@ -13,9 +13,11 @@ This element has only one attribute:
|
|||
### serviceHandle
|
||||
This element contains three children:
|
||||
* `<Id>`: This is always set to `0`.
|
||||
* `<Type>`: This has only been observed to be `Messenger`.
|
||||
* `<ForeignId>`: This has only been observed have no content,
|
||||
but is not an empty element.
|
||||
* `<Type>`: The type of this member:
|
||||
* `Messenger`: This is a Messenger contact.
|
||||
* `Profile`: This is your profile.
|
||||
* `<ForeignId>`: If `<Type>` is `Profile`, this should be `MyProfile`,
|
||||
otherwise leave empty but do not convert to an empty element.
|
||||
|
||||
### memberships
|
||||
This element only contains `<Membership>` elements.
|
||||
|
@ -23,9 +25,10 @@ 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).
|
||||
* `Pending`: The Pending List (RL).
|
||||
* `Allow`: The Allow List (AL).
|
||||
* `Block`: The Block List (BL).
|
||||
* `Pending`: The Pending List (RL).
|
||||
* `ProfileExpression`: Your profile.
|
||||
* `<Members>`: Explained below.
|
||||
|
||||
##### Members
|
||||
|
@ -34,18 +37,34 @@ This element only contains `<Member>` elements.
|
|||
###### Member
|
||||
This element has two attributes:
|
||||
* `xsi:type`: The type of this `<Member>`:
|
||||
* `PassportMember`
|
||||
* `EmailMember`
|
||||
* `PhoneMember`
|
||||
* `PassportMember`
|
||||
* `EmailMember`
|
||||
* `PhoneMember`
|
||||
* `RoleMember`: Only valid for `ProfileExpression`.
|
||||
* `xmlns:xsi`: This is always set to `http://www.w3.org/2001/XMLSchema-instance`.
|
||||
|
||||
This element contains three children:
|
||||
* `<Type>`: The type of this `<Member>`:
|
||||
* `Passport`
|
||||
* `Email`
|
||||
* `Phone`
|
||||
* `Passport`
|
||||
* `Email`
|
||||
* `Phone`
|
||||
* `<MembershipId>`: The ID of the membership you would like to delete.
|
||||
* `<State>`: This is usually only set to `Accepted`, but `Pending` is a valid value.
|
||||
* `<Deleted>`: Should this member be deleted? (Only set to `true` in `UpdateMember`?)
|
||||
|
||||
This element may instead contain one of the following mutually exclusive children instead of `<MembershipId>`:
|
||||
1. `<PassportName>`: The user handle associated with this membership.
|
||||
2. `<Email>`: The e-mail address associated with this membership.
|
||||
3. `<PhoneNumber>`: The phone number associated with this membership.
|
||||
|
||||
This element also contains the following children IF the role is set to `ProfileExpression`:
|
||||
* `<Id>`: Always `Allow`.
|
||||
* `<DefiningService>`: Contains the following:
|
||||
* `<Id>`: Always `0`.
|
||||
* `<Type>`: Always `Messenger`.
|
||||
* `<ForeignId>`: Always empty content, but not an empty element.
|
||||
* `<MaxRoleRecursionDepth>`: Always `0`.
|
||||
* `<MaxDegreesSeparationDepth>`: Always `0`.
|
||||
|
||||
# Server/Response
|
||||
The template used in this action is described on the [Address Book Service](../abservice.md) main page.
|
||||
|
@ -53,3 +72,94 @@ The template used in this action is described on the [Address Book Service](../a
|
|||
## DeleteMemberResponse
|
||||
This empty element has only one attribute:
|
||||
* `xmlns:` Is always set to `http://www.msn.com/webservices/AddressBook`.
|
||||
|
||||
# Examples
|
||||
|
||||
## Client/Request
|
||||
```
|
||||
POST /abservice/SharingService.asmx HTTP/1.1
|
||||
SOAPAction: http://www.msn.com/webservices/AddressBook/DeleteMember
|
||||
Cache-Control: no-cache
|
||||
Content-Type: text/xml; charset=utf-8
|
||||
Content-Length: 1435
|
||||
|
||||
<?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>
|
||||
<DeleteMember
|
||||
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>
|
||||
<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
|
||||
Content-Length: 771
|
||||
|
||||
<?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>
|
||||
<DeleteMemberResponse
|
||||
xmlns="http://www.msn.com/webservices/AddressBook"
|
||||
/>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
```
|
||||
|
|
|
@ -29,7 +29,7 @@ This is a list of all known MSNP commands and their originating version.
|
|||
| [`RNG`](commands/rng.md) | N | N | Y | [MSNP2](versions/msnp2.md) | |
|
||||
| [`LST`](commands/lst.md) | N | Y | Y\*| [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP8](versions/msnp8.md) ([SYN](commands/syn.md): removed iterator parameters, condensed all lists into a single parameter, removed List Version), [MSNP10](versions/msnp10.md) (Added prefixes to contact's handle and friendly name, and added a GUID parameter if `ABCHMigrated: 1`. Also changed group IDs to GUIDs.), [MSNP12](versions/msnp12.md) (Added network IDs), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s `ABFindAll` and [Contact Sharing Service](services/sharingservice.md)'s `FindMemberships` instead.), November 2003 (Removed outside of [SYN](commands/syn.md), not really any specific MSNP update, just hard removed with an automatic disconnect.) |
|
||||
| [`ADD`](commands/add.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP10](versions/msnp10.md) (Removed; automatic disconnect, use [ADC](commands/adc.md) instead) |
|
||||
| [`REM`](commands/rem.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP10](versions/msnp10.md) (Replaced user handles with GUIDs if list is the Forward List (FL), and removed list versions from all responses), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, replaced with RML and [Address Book Service](services/abservice.md)'s [`ABContactDelete`](services/abservice/abcontactdelete.md) and [Contact Sharing Service](services/sharingservice.md)'s [`DeleteMember`](services/abservice/deletemember.md instead) |
|
||||
| [`REM`](commands/rem.md) | N | Y | Y | [MSNP2](versions/msnp2.md) | [MSNP7](versions/msnp7.md) (Added groups support), [MSNP10](versions/msnp10.md) (Replaced user handles with GUIDs if list is the Forward List (FL), and removed list versions from all responses), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, replaced with RML and [Address Book Service](services/abservice.md)'s [`ABContactDelete`](services/abservice/abcontactdelete.md) and [Contact Sharing Service](services/sharingservice.md)'s [`DeleteMember`](services/sharingservice/deletemember.md) instead) |
|
||||
| [`FLN`](commands/fln.md) | N | N | Y | [MSNP2](versions/msnp2.md) | |
|
||||
| [`PNG`](commands/png.md) | N | Y | N | [MSNP2](versions/msnp2.md) | |
|
||||
| [`QNG`](commands/qng.md) | N | N | Y | [MSNP2](versions/msnp2.md) | [MSNP9](versions/msnp9.md) (Added next seconds parameter) |
|
||||
|
@ -41,14 +41,14 @@ This is a list of all known MSNP commands and their originating version.
|
|||
| [`REA`](commands/rea.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP10](versions/msnp10.md) (Removed; automatic disconnect) |
|
||||
| [`SND`](commands/snd.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP3](versions/msnp3.md) (parameters 2 and 3), [MSNP4](versions/msnp4.md) (parameter 4), [MSNP5](versions/msnp5.md) (obsoleted by [SDC](commands/sdc.md)) |
|
||||
| [`SDC`](commands/sdc.md) | Y | Y | N | [MSNP5](versions/msnp5.md) | |
|
||||
| [`ADC`](commands/adc.md) | N | Y | N?| [MSNP10](versions/msnp10.md) | [MSNP10](versions/msnp10.md) (`ABCHMigrated: 1`: Contact user handles and Group IDs are now both GUIDs.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use ADL and the [Address Book Service](services/abservice.md)'s [`ABContactAdd`](services/abservice/abcontactadd.md) and [Contact Sharing Service](services/sharingservice.md)'s [`AddMember`](services/abservice/addmember.md instead)|
|
||||
| [`ADC`](commands/adc.md) | N | Y | Y | [MSNP10](versions/msnp10.md) | [MSNP10](versions/msnp10.md) (`ABCHMigrated: 1`: Contact user handles and Group IDs are now both GUIDs.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use ADL and the [Address Book Service](services/abservice.md)'s [`ABContactAdd`](services/abservice/abcontactadd.md) and [Contact Sharing Service](services/sharingservice.md)'s [`AddMember`](services/sharingservice/addmember.md) instead) |
|
||||
| [`PAG`](commands/pag.md) | Y | Y | N | [MSNP5](versions/msnp5.md) | [MSNP9](versions/msnp9.md) (Removed; error 715, use [PGD](commands/pgd.md) instead.) |
|
||||
| [`PGD`](commands/pgd.md) | Y | Y | N | [MSNP9](versions/msnp9.md) | |
|
||||
| [`SBP`](commands/sbp.md) | N | Y | N | [MSNP10](versions/msnp10.md) | [MSNP10](versions/msnp10.md) (`ABCHMigrated: 1`: Contact user handles are now GUIDs.), [MSNP11](versions/msnp11.md) (Added property `HSB`, for Has Blog. Set by the relevant Client Capability.), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s [`ABContactUpdate`](services/abservice/abcontactupdate.md) action instead.) |
|
||||
| [`CHL`](commands/chl.md) | N | Y | Y | [MSNP6](versions/msnp6.md) | [MSNP10](versions/msnp10.md) (Changed challenge response ([QRY](commands/qry.md) commands) generation algorithm drastically.) |
|
||||
| [`GCF`](commands/gcf.md) | Y | Y | Y | [MSNP11](versions/msnp11.md) | [MSNP13](versions/msnp13.md) (Command is now always asynchronous and always retuns `Shields.xml` in a new wrapper.) |
|
||||
| [`SYN`](commands/syn.md) | N | Y | N | [MSNP2](versions/msnp2.md) | [MSNP5](versions/msnp5.md) (Added [BPR](commands/bpr.md) and [PRP](commands/prp.md) to response.), [MSNP7](versions/msnp7.md) (Added [LSG](commands/lsg.md) support and groups in [LST](commands/lst.md).), [MSNP8](versions/msnp8.md) (Unset properties are now omitted, new response parameters to replace [LSG](commands/lsg.md) and [LST](commands/lst.md) iterator parameters, Transaction IDs and List Version was removed from used commands), [MSNP10](versions/msnp10.md) (Added new parameters for the settings version. With `ABCHMigrated: 1`, both versions are now timestamps), [MSNP12](versions/msnp12.md) (Added Network IDs to [LST](commands/lst.md).), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use the [Address Book Service](services/abservice.md) and the [Contact Sharing Service](services/sharingservice.md) instead.) |
|
||||
| [`NOT`](commands/not.md) | Y | N | Y | [MSNP5](versions/msnp5.md) | [MSNP11](versions/msnp11.md) (Added support for the `<NotificationData>` sub-document, and live blog updates use the new sub-document.), [MSNP13](versions/msnp13.md) (Added live contact list updates using the `<NotificationData>` subdocument.), [MSNP18](versions/msnp18.md) (Added live persistant chat group updates using the `<NotificationData>` subdocument.) |
|
||||
| [`NOT`](commands/not.md) | Y | N | Y | [MSNP5](versions/msnp5.md) | [MSNP9](versions/msnp9.md) (Added support for extended notifications using the `<TEXTX>` element), [MSNP11](versions/msnp11.md) (Added support for the `<NotificationData>` sub-document, and live blog updates use the new sub-document.), [MSNP13](versions/msnp13.md) (Added live contact list updates using the `<NotificationData>` subdocument.), [MSNP18](versions/msnp18.md) (Added live persistant chat group updates using the `<NotificationData>` subdocument.) |
|
||||
| [`IPG`](commands/ipg.md) | Y | N | Y | [MSNP6](versions/msnp6.md) | |
|
||||
| [`REG`](commands/reg.md) | N | Y | N | [MSNP7](versions/msnp7.md) | [MSNP10](versions/msnp10.md) (Removed unused `0` and List Version parameters, with `ABCHMigrated: 1`, group IDs are instead group GUIDs), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s [`ABGroupUpdate`](services/abservice/abgroupupdate.md) instead.) |
|
||||
| [`RMG`](commands/rmg.md) | N | Y | N | [MSNP7](versions/msnp7.md) | [MSNP10](versions/msnp10.md) (Removed List Version parameter, with `ABCHMigrated: 1`, group IDs are instead group GUIDs), [MSNP13](versions/msnp13.md) (Removed; automatic disconnect, use [Address Book Service](services/abservice.md)'s [`ABGroupDelete`](services/abservice/abgroupdelete.md) instead.) |
|
||||
|
|
|
@ -28,23 +28,23 @@ The following commands were removed in this version:
|
|||
* [PRP](../commands/prp.md) MFN replaces [REA](../commands/rea.md) (current user handle). [SBP](../commands/sbp.md) (contact ID) MFN replaces other uses of [REA](../commands/rea.md).
|
||||
* [LST](../commands/lst.md): Added prefixes to the user handle (`N=`) and friendly name (`F=`) parameters.
|
||||
* Added new initial profile variable `ABCHMigrated`. If set to 1, some commands are altered, such as:
|
||||
* [SYN](../commands/syn.md): The request and response's list versions are now ISO 8601 with 7 subsecond digits,
|
||||
usually with a -07:00 timezone offset.
|
||||
the previously unused second parameter (both request and response) is used as the Last Settings Version,
|
||||
and follows the same time format as List Versions now do.
|
||||
* [LST](../commands/lst.md): GUID specified as `C=` parameter, group IDs are now GUIDs.
|
||||
* [ADC](../commands/adc.md), [REM](../commands/rem.md): uses GUIDs instead of contact user handles if the list is the Forward List (FL), and same applies also for groups.
|
||||
* [LSG](../commands/lsg.md), [ADG](../commands/adg.md): Uses GUIDs instead of IDs.
|
||||
* [SBP](../commands/sbp.md): Uses the contact's GUID instead of the Contact Address.
|
||||
* [SYN](../commands/syn.md): The request and response's list versions are now ISO 8601 with 7 subsecond digits,
|
||||
usually with a -07:00 timezone offset.
|
||||
the previously unused second parameter (both request and response) is used as the Last Settings Version,
|
||||
and follows the same time format as List Versions now do.
|
||||
* [LST](../commands/lst.md): GUID specified as `C=` parameter, group IDs are now GUIDs.
|
||||
* [ADC](../commands/adc.md), [REM](../commands/rem.md): uses GUIDs instead of contact user handles if the list is the Forward List (FL), and same applies also for groups.
|
||||
* [LSG](../commands/lsg.md), [ADG](../commands/adg.md): Uses GUIDs instead of IDs.
|
||||
* [SBP](../commands/sbp.md): Uses the contact's GUID instead of the Contact Address.
|
||||
* All list version updating commands no longer return the current list version when used. The following commands are affected:
|
||||
* [GTC](../commands/gtc.md)
|
||||
* [BLP](../commands/blp.md)
|
||||
* [ADG](../commands/adg.md)
|
||||
* [BPR](../commands/bpr.md)
|
||||
* [REG](../commands/reg.md)
|
||||
* [RMG](../commands/rmg.md)
|
||||
* [REM](../commands/rem.md)
|
||||
* [PRP](../commands/prp.md)
|
||||
* [GTC](../commands/gtc.md)
|
||||
* [BLP](../commands/blp.md)
|
||||
* [ADG](../commands/adg.md)
|
||||
* [BPR](../commands/bpr.md)
|
||||
* [REG](../commands/reg.md)
|
||||
* [RMG](../commands/rmg.md)
|
||||
* [REM](../commands/rem.md)
|
||||
* [PRP](../commands/prp.md)
|
||||
* Added a new list: Pending List/PL (bit 5, decimal 16). Is meant for unhandled contact added you notifications.
|
||||
* Added new server-side [OUT](../commands/out.md) reasons: `MIG`, if the server has migrated you to ABCH,
|
||||
and `TOU`, for not accepting the Service Terms of Use.
|
||||
|
|
|
@ -26,7 +26,8 @@ It introduces the notification service commands:
|
|||
* [ADC](../commands/adc.md): Now supports a telephone address (`tel:`) for `N=`.
|
||||
* Official Client: Feature blocks are implemented using the [GCF](../commands/gcf.md) command
|
||||
to download `Shields.xml`. For more information read the [Shields Configuration Data](../files/shields.md) article.
|
||||
* Official Client: WebMessenger now canonically exists - Client Capability 512 is used for this.
|
||||
* Official Client: WebMessenger now canonically exists, the [Client Capability](../files/client_capabilities.md)
|
||||
flag `512` (`0x200` mask) is set for clients online via this method.
|
||||
* Official Client: Notifications ([NOT](../commands/not.md) commands) with encoded
|
||||
[`<NotificationData>`](../files/notification.md) sub-documents are supported for spaces (blogs).
|
||||
* Official Client: Messenger Config requests now support regional arguments via SOAP.
|
||||
|
@ -106,7 +107,7 @@ C: ADC 11 FL N=tel:15551111222 F=john
|
|||
S: ADC 11 FL N=tel:15551111222 F=john C=a47e39cf-312c-4100-94a6-f2b33adf5b68
|
||||
C: ADC 12 AL N=tel:15551111222
|
||||
S: ADC 12 AL N=tel:15551111222
|
||||
S: NOT 1249
|
||||
S: NOT 1264
|
||||
<NOTIFICATION id="2" siteid="45705" siteurl="http://storage.msn.com/">
|
||||
<TO pid="0x00000001:0x00000002" name="example@hotmail.com">
|
||||
<VIA agent="messenger"/>
|
||||
|
@ -115,7 +116,10 @@ S: NOT 1249
|
|||
<ACTION url="a.htm" />
|
||||
<SUBSCR url="s.htm" />
|
||||
<BODY>
|
||||
<NotificationData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<NotificationData
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
>
|
||||
<SpaceHandle>
|
||||
<ResourceID>example1!101</ResourceID>
|
||||
</SpaceHandle>
|
||||
|
|
|
@ -15,7 +15,8 @@ It introduces the notification service commands:
|
|||
# Known changes
|
||||
(from [MSNP11](msnp11.md)):
|
||||
* Network IDs are introduced, each bit represents a contact's service, with bit 0/decimal 1 being MSNP.
|
||||
* Switchboard commands [JOI](../commands/joi.md) and [IRO](../commands/iro.md) have a new parameter for the Client Capabilities of the relevant user.
|
||||
* Switchboard commands [JOI](../commands/joi.md) and [IRO](../commands/iro.md) have a new parameter for the
|
||||
[Client Capabilities](../files/client_capabilities.md) of the relevant user.
|
||||
* [LST](../commands/lst.md) has the Network ID after the list bits (on any list), but before the Group ID (if on Forward List (FL)).
|
||||
* Official Client: Uses Passport 3.0 (via the Microsoft Identity Common Runtime Library).
|
||||
* Official Client: Dropped support for older operating systems, Now requires Windows XP or higher.
|
||||
|
|
|
@ -38,15 +38,15 @@ It introduces the error codes:
|
|||
* Official Client: Automatic login form now supports Passport
|
||||
if parameter 3 is set in [URL](../commands/url.md).
|
||||
To generate `creds`, MD5 hash the following as one concatenated string:
|
||||
* `auth` (from Initial Profile's `MSPAuth`, also included in the form) +
|
||||
* `sl` (amount of seconds since `LoginTime`, also included in the form) +
|
||||
* `passwd` (plain-text password).
|
||||
* `auth` (from Initial Profile's `MSPAuth`, also included in the form) +
|
||||
* `sl` (amount of seconds since `LoginTime`, also included in the form) +
|
||||
* `passwd` (plain-text password).
|
||||
* Official Client: Legacy automatic login form parameters has changed.
|
||||
This only applies for [URL](../commands/url.md) commands without parameter 3.
|
||||
To generate `k2`, MD5 hash the following as one concatenated string:
|
||||
* `login` (The local-part of your user handle, also included in the form) +
|
||||
* `k1` (A short 2 digit number that you generate and is also included in the form) +
|
||||
* `passwd` (plain-text password).
|
||||
* `login` (The local-part of your user handle, also included in the form) +
|
||||
* `k1` (A short 2 digit number that you generate and is also included in the form) +
|
||||
* `passwd` (plain-text password).
|
||||
* Official Client: Removed [URL](../commands/url.md) service `PASSWORD`.
|
||||
* Official Client: Disabled inviting people to the service (needs confirmation).
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ It introduces the error codes:
|
|||
# Known changes
|
||||
(from [MSNP4](msnp4.md)):
|
||||
* [BPR](../commands/bpr.md) and [PRP](../commands/prp.md) have been added to [SYN](../commands/syn.md).
|
||||
* [`<NOTIFICATION>`](../files/notification.md) documents are handled by the client with the new [NOT](not.md) payload command.
|
||||
* [`<NOTIFICATION>`](../files/notification.md) documents are handled by the client with the new [NOT](../commands/not.md) payload command.
|
||||
* Non-protocol: Official website stopped updating the whatsnew.asp page between this (MSNP5) and [MSNP7](msnp7.md).
|
||||
* Official Client: Introduced the toast notification system. Notifications can now stack vertically.
|
||||
* Official Client: Log in notifications are now handled by the newly introduced toast system.
|
||||
|
|
|
@ -38,7 +38,8 @@ The following commands were removed in this version:
|
|||
1 = Forward List (FL), 2 = Allow List (AL), 4 = BlocK List (BL), 8 = Reverse List (RL),
|
||||
For example, a contact on the Forward List (FL), Allow List (AL) and Reverse List (RL)
|
||||
would have their combined list number be 11.
|
||||
* [CHG](../commands/chg.md), [ILN](../commands/iln.md), [NLN](../commands/nln.md): Client Capabilities are introduced.
|
||||
* [CHG](../commands/chg.md), [ILN](../commands/iln.md), [NLN](../commands/nln.md):
|
||||
[Client Capabilities](../files/client_capabilities.md) are introduced.
|
||||
You can now tell other clients what features you support.
|
||||
* Official Client: Connectivity field added to application requests
|
||||
to notify the other user about what the network conditions are.
|
||||
|
|
4
package-lock.json
generated
4
package-lock.json
generated
|
@ -680,8 +680,8 @@
|
|||
}
|
||||
},
|
||||
"node_modules/yiki": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "git+https://git.kevinthe.horse/yellows111/yiki.git#7991d78e1c2461db7ab36ee10dd0a53105801b8b",
|
||||
"version": "0.1.6",
|
||||
"resolved": "git+https://git.kevinthe.horse/yellows111/yiki.git#5afe18743bf59e039d245220cd36381a37cfe6eb",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@liquify/prettify": "^0.5.5-beta.1",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Introduction
|
||||
`Actiom` is one of the SOAP actions the [Service](../service.md) provides.
|
||||
`Action` is one of the SOAP actions the [Service](../service.md) provides.
|
||||
|
||||
Description.
|
||||
|
||||
|
|
Loading…
Reference in a new issue