Modifier des modèles de messages

De ISPWiki.


Sommaire

Fonctions

Des modèles de message peuvent être utilisés pour la génération des notifications qui seront envoyées aux consommateurs de BILLmanager. Le processus de création de message contient les objet de système dont les paramètres doivent être ajoutés dans le document XML et dans un modèle XSLT. Avant d'envoyer un message aux consommateurs, BILLmanager collecte les informations sur des objets demandés et place leurs paramètres dans le document XML dans lequel le modèle XSLT sera appliqué.

Modifier un modèle

Modifiez un modèle de message pour chaque localisation configurée dans le système. Lors de la création d'un modèle de message, vous pouvez utiliser les mécanismes décrits ci-dessous.

Modifier le texte d'un modèle

Un texte de modèle est une feuille de style de XSLT qui sera appliquée pour le document XML avec les informations sur les objets demandés de BILLmanager afin de fournir les informations sur l'événement qui provoquait l'envoi de message.

Dans cette section nous dirons comment créer une feuille de style facile.

Une feuille de style vide est comme:

<?xml version='1.0'?>                                                          
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:mgr="http://ispsystem.com/xslplugin">
<xsl:output method='text' encoding='UTF-8' omit-xml-declaration='yes'/>
<xsl:template match='doc'>
</xsl:template>
</xsl:stylesheet>

Où:

  • xmlns:mgr="http://ispsystem.com/xslplugin"> - espace de noms de fonctions supplémentaires:
    • replace - change un ensemble de caractères par un autre dans le texte. Trois paramètres sont possibles: où changer, que changer et par quoi changer;
    • random - génère un ensemble aléatoire de chiffres;
    • strsum - produit la présentation de texte de la somme. Deux paramètres sont possibles: montant en devises et code de devises. Vous pouvez utiliser UAH pour devises, tous les autres valeurs sont sorties en roubles;
    • dateformat - le format demandé de date. Par exemple, "select="mgr:dateformat('2011-12-31', '%A, %d, %B, %Y')" sortit "Sunday, 31, December, 2011". Vous pouvez spécifier le format comme pour la fonction "strftime" du langage "С";
    • encodesubject - encode le texte en Base64;
  • Тег xsl:stylesheet - le début du texte de feuille de style;
  • Тег xsl:output - le format de la sortie de feuille de style;
  • Тег xsl:template - le début du modèle de feuille de style. match='doc' veut dire que toutes les données seront sélectionnées de "doc" du document XML.

La balise xsl:template contient la description de la feuille de style qui sera ajoutée dans le message, l'extraction de données et le branchement conditionnel.

Les trois premières colonnes du modèle de message doivent contenir les données demandées pour une passerelle email afin d'envoyer des messages correctement comme: "From:", "Subject:" et "Content-Type:". Une partie standard de la feuille de style pour ces champs dans:

From: <xsl:value-of select="project.notifyemail"/>
Subject: <xsl:value-of select="mgr:encodesubject('Message subject')"/>
Content-Type: text/plain; charset=utf-8


Si vous avez besoin d'ajouter les données du texte XML dans le message, vous pouvez utiliser <xsl:value-of select='xpathquery' disable-output-escaping='yes'/>, où xpathquery - la requête XPath de l'extraction de données.


Par exemple, si vous avez le document XML:

<?xml version="1.0" encoding="UTF-8"?>
<doc>
  <hostname>test.example.com</hostname>
  <item.id>1</item.id>
  <item.name>Hosting services ServicePlanName #1 (user1), 1 month</item.name>
...
  <item.billdate>2011-01-01</item.billdate>
  <item.expiredate>2011-01-01</item.expiredate>
...
  <itemip>
    <ip>10.0.0.1</ip>
    <ip>10.0.0.2</ip>
    <ip>10.0.0.3</ip>
  </itemip>
</doc>

Afin d'afficher "item.billdate", vous avez besoin d'utiliser "<xsl:value-of select="item.expiredate"/>"

Dans votre modèle vous pouvez utiliser toutes constructions qui sont autorisées dans XSLT.

Tester un modèle

Lors de la création d'un modèle de message, vous pouvez voir un message en résultant pour un objet de la base de données de BILLmanager. Vous pouvez utiliser la fonction permettant de tester dans le module 'Modèles des messages'.

La procédure se compose de 3 pas:

  • introduire les paramètres d'objet de la base de données;
  • afficher le document XML pour lequel le style sera appliqué;
  • afficher les résultats.

Paramètres de modèle

Chaque message dans BILLmanager est basé sur certains paramètres que BILLmanager vous permet d'introduire manuellement afin de spécifier l'objet pour lequel le message sera créé. Les modèles détiennent les paramètres suivants:

  • autoaddon
    • addon.id - add-on identifier.
  • autoprolongwarning
    • items - two values separated by '='. The first value is an item identifier, the second one is a renewal cost.
  • coloopen, dedicopen, dnsopen, rhostopen, rvdsopen, vdsopen, vhostopen, licopen, newcertificate, itemsuspend
    • item.id - item identifier.
  • confirmemailnotify
    • gate.id - mail gateway identifier.
    • user.id - user identifier.
  • creditgeneratenotify
    • credit.id - account identifier.
  • domainerroroperation
    • operation - an error occurred while performing this operation.
    • item.id - domain identifier.
    • errorparams - contact fields separated by space that have errors.
    • contactid - domain registration contact identifier.
    • msgerror - error message.
  • domainsenddocs
    • items - identifiers of the domains separated by space for which you need to send documents.
  • domautorenew, domexpirewarning
    • items - domain identifiers space separated.
  • errorcertificate
    • item.id - identifier of the certificate that caused a error.
  • expirecertificate
    • item.id - expiring certificate identifier.
  • itemexpirewarning
    • items - item identifiers separated by space.
  • licautoprolong, licexpired, licexpirewarning
    • items - license identifiers space separated.
  • lowmoney
    • subaccount.id - payer identifier.
    • days, balance, daily - parameters are transferred to XML without processing.
  • moreaccountnotify
    • gate.id - gateway identifier.
  • nearaddonmax, overaddonmax
    • item.id - item identifier.
    • addon.id - identifier if the service package detail.
  • newadminmessagenotify
    • message.id - message indentifier.
  • newmessagenotify, newresponsenotify
    • adminticket.id - ticket identifier.
    • userid - user identifier.
    • in_reply_to - transferred to XML without processing.
  • newsnotify
    • message.id - message identifier.
  • overlimit
    • item.id - item identifier.
    • expense.id - service overage expense identifier.
  • recovery
    • user.id - user identifier.
  • registration
    • account.id - customer identifier.
  • unknownemailnotify
    • gate.id - gateway identifier.

Des messages pour des types de services d'utilisateurs n'ont qu'un paramètre item.id (identificateur de service).

Document XML

Un document XML contient les données des objets de la base de données de BILLmanager et peut être utilisé lors de la création d'un message. Ces données sont spécifiques pour chaque notification. Vous pouvez les voir en utilisant la fonction de test.

Cet article vous a-t-il été utile? Oui | Non
Outils personnels