Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

MessageML describes the input which is accepted by the API Agent (the end point for Symphony's public message sending and receiving API). MessageML includes all valid PresentationML and is subject to the same general constraints, such as character encoding, the need for balanced tags and allowable styles, described in PresentationML.

The following MessageML tags are also accepted by the API Agent and will be translated into the indicated PresentationML or MessageJSON.

Permanent MessageML Elements

The following tags will be accepted by the API Agent and will be transliterated to the given standard tags:

Transitional Tag

Equivalent Standard Tag

Description

<mention email="user@domain"/>
<mention uid="123456789"/>

<a class="mention" href="/userId/numericUserId">@Pretty Name</a>

It is inconvenient for API callers to identify the correct numeric ID for a user when constructing a Mention (although API to find this from an email address does exist). It is also necessary for the pretty name provided in the PresentationML mention markup to be validated. For these reasons additional mention tags will be provided which will be mapped to equivalent PresentationML markup by the API agent.

<chime/>

<audio src="https://asset.symphony.com/chime.mp3autoplay/>A shorthand to allow a chime to be sent in a message.

Transitional MessageML Elements

The following tags will be accepted by the API Agent for a transitional period and will be transliterated to the given standard tags:

Transitional Tag

Equivalent Standard Tag

<hash tag="tag"/>

<a class="hashTag">#tag</a>

<cash tag="tag"/>

<a class="cashTag">$tag</a>

Template Macros

The API Agent will support Freemarker templating (see http://freemarker.org/). Any MessageJSON content associated with a message will be made available as the data model in the Freemarker interpreter and macros can then be used to expand the supplied MessageML document into a PresentationML document which fully describes the message.

This PresentationML represents the default rendering of the message, but where the receiving user has an App installed which is registered as a renderer for the type of some embedded complex object, that App will be called to render the data and the associated PresentationML will be ignored.


  • No labels