# Table of contents:

# 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:

# TO

This element supports two attributes:

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:

# FROM

NOTE: This element should NOT be added to any <NOTIFICATION> documents.

This optional empty element supports two attributes:

# MSG

This is the primary element of the document, and supports two attributes:

# ACTION

This element supports only one attribute:

When opened by a client, the following are added to the URL as query parameters:

# SUBSCR

This element supports only one attribute:

When opened by a client, the following are added to the URL as query parameters:

# CAT

NOTE: This element is obsolete and should NOT be added to any <NOTIFICATION> documents.

This optional empty element only supports one attribute:

# BODY

This is the main body of the document, and supports two attributes:

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:

This element may contain any of the following elements:

# 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:

# 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:

# 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:

# 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.