8.1 KiB
Introduction
<NOTIFICATION>
documents are the basis behind the NOT and IPG commands.
Being such, it was introduced with MSNP5.
This article only describes the <NOTIFICATION>
command from .NET Alerts 5.0 and below,
and not the <Notify>
element used in .NET Alerts 6.0 and above.
NOTIFICATION
This is the root element of the document, and supports four attributes:
ver
: This is always1
. Seems optional, or was removed later.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) icon1
: 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
This element supports two attributes:
pid
: The recipient's Passport Unique ID. The format for the PUID is0xHHHHHHHH:0xLLLLLLLL
, whereH
is the hexadecimal representation of the profile'sMemberIdHigh
variable, and whereL
is the hexadecimal representation of the profile'sMemberIdLow
variable.name
: The recipient's display name or user handle. Optional.
If this element (<TO>
) does not have a (<VIA>
) element, it is to be empty.
VIA
NOTE: This element seems to only exist as backwards compatibility from .NET Alerts 6.0.
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.
FROM
NOTE: This element should NOT be added to any <NOTIFICATION>
documents.
This optional empty element supports two attributes:
pid
: The sender's Passport Unique ID. Follows the same format as<TO>
'spid
parameter.from
: The sender's display name or user handle. Optional.
MSG
This is the primary element of the document, and supports two attributes:
pri
: This is always empty, and should NOT be set. May be set to1
for incoming pages. Optional.id
: The notification's numeric ID, defaulting to '0', and should NOT be changed.
ACTION
This element supports only one attribute:
url
: The main URL that is used when this notification is activated, relative tositeurl
.
When opened by a client, the following are added to the URL as query parameters:
to_pid
: Thepid
attribute from<TO>
element.notification_id
: Theid
attribute from<NOTIFICATION>
element.message_id
: Theid
attribute from<MSG>
element.agent
: The client that activated this notification. The Official Client sets this tomessenger
. Optional.
SUBSCR
This element supports only one attribute:
url
: The configuration URL that is used when the notification'schange
option is activated, relative tositeurl
.
When opened by a client, the following are added to the URL as query parameters:
to_pid
: Thepid
attribute from<TO>
element.notification_id
: Theid
attribute from<NOTIFICATION>
element.message_id
: Theid
attribute from<MSG>
element.agent
: The client that activated this notification. The Official Client sets this tomessenger
. Optional.
CAT
NOTE: This element is obsolete and
should NOT be added to any <NOTIFICATION>
documents.
This optional empty element only supports one attribute:
id
: The category ID of this notification.
BODY
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 tositeurl
. Optional. Note: Client Version 6.0 (MSNP9) 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>
sub-document.
This element (including the <BODY>
and </BODY>
) are restricted in size to 1024 bytes.
NAME
NOTE: This element should NOT be added to any <NOTIFICATION>
documents.
This optional element contains the friendly name of the recipient.
TEXT
This optional element contains the text data of the notification.
TEXTX
This optional element contains the extended text data of the notification, supported by MSNP9 and higher.
The <TEXT>
element is required for this to be parsed by the Official Client.
The inner document of this is required to be XML encoded.
P
A paragraph, required for <TEXTX>
elements to parse correctly.
This element supports one attribute:
align
: The extended notification's text alignment:left
center
right
This element may contain any of the following elements:
P
: Nested paragraph, also supporting thealign
element.B
: Bold text.I
: Italic text.BR
: This empty element denotes a line-break.
NotificationData
This element may instead be contained in the <BODY>
element entirely,
replacing all of it's children.
This sub-document is XML encoded if set as the inner data of the <BODY>
element.
This element supports two attributes:
xmlns:xsd
: is always set tohttp://www.w3.org/2001/XMLSchema
xmlns:xsi
: is always set tohttp://www.w3.org/2001/XMLSchema-instance
Service
Contains only ABCHInternal
. Unknown if there are other values supported.
This element is exclusive to notifications generated by the Address Book Service.
CID
Contains only the Common ID of the user associated with this notification.
This element is exclusive to notifications generated by the Address Book Service.
SpaceHandle
This element only has one child named ResourceID
.
This element and it's children are exclusive to notifications generated by the blog service.
ResourceID
Contains the blog service's ID for this user.
ComponentHandle
This element only has one child named ResourceID
.
This element and it's children are exclusive to notifications generated by the blog service.
ResourceID
Contains the blog service's ID for the main component.
OwnerCID
This element only contains a signed 64-bit integer for the Common ID. Added since MSNP13.
This element and it's children are exclusive to notifications generated by the blog service.
LastModifiedDate
Contains a ISO 8601-compatible timestamp with 7 millisecond digits.
This element is omitted in notifications generated by the persistant group service.
Action
Only observed to contain Add
. Unknown if there are other values supported.
This element is exclusive to notifications generated by the blog service.
HasNewItem
Contains either true
or false
.
ComponentSummary
This element has two children named <Component>
and <Items>
.
This element and it's children are exclusive to notifications generated by the blog service.
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.
ResourceID
Contains the blog service's ID for this <Component>
.
Items
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.
ResourceID
Contains the blog service's ID for this <Item>
.
CircleId
Contains the GUID of the persistant group.
This element is exclusive to notifications generated by the persistant group service.