IBM Marketing Center - Guide du développeur Web et du
Transcription
IBM Marketing Center - Guide du développeur Web et du
29 mai 2014 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Important Avant d'utiliser le présent document et le produit associé, prenez connaissance des informations générales figurant à la section «Remarques», à la page 47. Remarque Certaines illustrations de ce manuel ne sont pas disponibles en français à la date d'édition. LE PRESENT DOCUMENT EST LIVRE EN L'ETAT SANS AUCUNE GARANTIE EXPLICITE OU IMPLICITE. IBM DECLINE NOTAMMENT TOUTE RESPONSABILITE RELATIVE A CES INFORMATIONS EN CAS DE CONTREFACON AINSI QU'EN CAS DE DEFAUT D'APTITUDE A L'EXECUTION D'UN TRAVAIL DONNE. Ce document est mis à jour périodiquement. Chaque nouvelle édition inclut les mises à jour. Les informations qui y sont fournies sont susceptibles d'être modifiées avant que les produits décrits ne deviennent eux-mêmes disponibles. En outre, il peut contenir des informations ou des références concernant certains produits, logiciels ou services non annoncés dans ce pays. Cela ne signifie cependant pas qu'ils y seront annoncés. Pour plus de détails, pour toute demande d'ordre technique, ou pour obtenir des exemplaires de documents IBM, référez-vous aux documents d'annonce disponibles dans votre pays, ou adressez-vous à votre partenaire commercial. Vous pouvez également consulter les serveurs Internet suivants : v http://www.fr.ibm.com (serveur IBM en France) v http://www.can.ibm.com (serveur IBM au Canada) v http://www.ibm.com (serveur IBM aux Etats-Unis) Compagnie IBM France Direction Qualité 17, avenue de l'Europe 92275 Bois-Colombes Cedex © Copyright IBM Corporation 2009, 2014. Table des matières Avis aux lecteurs canadiens . . . . . . v Chapitre 1. Introduction . . . . . . . . 1 Conditions, conventions et conseils de codage de modèles et de pages Web . . . . . . . . . Vérification de la compatibilité du code du modèle avec XHTML . . . . . . . . . Planification des zones . . . . . . . . . . ID zone valides . . . . . . . . . . . . Mise en page des hyperliens générés par le widget Hyperlien . . . . . . . . . . . . . . Ecriture de fragments HTML pour les zones . . . . 3 . 4 Chapitre 2. Créer des modèles d'e-mail 5 . 1 . 2 . 2 . 3 Les styles pour les e-mails doivent être inclus (incorporés dans le document) . . . . . . . . 5 Modèles et conventions de dénomination . . . . . 5 Configurer des zones pour les modèles d'e-mail . . 5 Utilisation de texte dans chaque zone . . . . . . 7 Coder les modèles pour des e-mails en version texte seul . . . . . . . . . . . . . . . . . 7 Coder les sections statiques . . . . . . . . . 7 Ajout de personnalisations dans les modèles. . . . 8 Ajout d'images personnalisées dans des modèles d'e-mail transactionnel. . . . . . . . . . . 10 Conception pour la distribution . . . . . . . 10 Transférer et tester le modèle . . . . . . . . 11 Chapitre 3. Préparer votre site pour Marketing Center . . . . . . . . . . 13 Si une page Web est balisée avec plusieurs ID de client . . . . . . . . . . . . . . . . 13 Configurer les éléments de personnalisation du site Web . . . . . . . . . . . . . . . . . 13 Comment le JavaScript est chargé dans vos pages web . . . . . . . . . . . . . . . . . 14 Chapitre 4. Permettre aux utilisateurs de se désinscrire de vos communications par e-mail . . . . . . 17 Utiliser la page de désinscription standard hébergée sur le CDN . . . . . . . . . . . . . . 17 Hébergement de votre propre page de désinscription . . . . . . . . . . . . . 19 La réponse JSONP complète . . . . . . . . 20 © Copyright IBM Corp. 2009, 2014 Chapitre 5. API Marketing Center . . . 23 Test de votre ID client et de votre jeton de sécurité Accès aux données sur l'implication client et mise à jour de ces données via l'API Marketing Center . . Extraction d'une liste de zones . . . . . . . Extraction des données d'un seul client . . . . Mise à jour des données client . . . . . . . Génération et déploiement à distance de campagnes Génération de campagnes, déploiement et annulation du déploiement de générations . . . 23 23 24 24 25 27 28 Chapitre 6. Création du client local de messagerie transactionnelle . . . . . 31 Ajout d'informations personnalisées dans des demandes d'e-mail transactionnel . . . . . . Envoi de pièces jointes dans les e-mails transactionnels . . . . . . . . . . . . Ajout d'images personnalisées dans des demandes d'e-mail transactionnel. . . . . . . . . . Flux de processus d'e-mail transactionnel . . . API du service de mailing transactionnel (TMS) . mailingCode . . . . . . . . . . . . audienceID . . . . . . . . . . . . fields . . . . . . . . . . . . . . cellCodes . . . . . . . . . . . . . additionalOptions . . . . . . . . . . attachments . . . . . . . . . . . . trackingFields . . . . . . . . . . . locale . . . . . . . . . . . . . . userName . . . . . . . . . . . . . password . . . . . . . . . . . . . NameValuePair . . . . . . . . . . . Response . . . . . . . . . . . . . AdvisoryMessage . . . . . . . . . . Messages d'erreurs associés aux e-mails transactionnels . . . . . . . . . . . . 32 . 32 . . . . . . . . . . . . . . . . 33 34 36 36 37 37 37 37 38 38 38 39 39 39 39 40 . 41 Annexe. Exemple de client utilisant le langage WSDL de deuxième génération 43 Remarques . . . . . . . . . . . . . 47 Marques . . . . . . . . . . . . Remarque sur les règles de confidentialité . . . . . . 49 . 49 iii iv IBM Marketing Center - Guide du développeur Web et du développeur de modèles Avis aux lecteurs canadiens Le présent document a été traduit en France. Voici les principales différences et particularités dont vous devez tenir compte. Illustrations Les illustrations sont fournies à titre d'exemple. Certaines peuvent contenir des données propres à la France. Terminologie La terminologie des titres IBM peut différer d'un pays à l'autre. Reportez-vous au tableau ci-dessous, au besoin. IBM France IBM Canada ingénieur commercial représentant agence commerciale succursale ingénieur technico-commercial informaticien inspecteur technicien du matériel Claviers Les lettres sont disposées différemment : le clavier français est de type AZERTY, et le clavier français-canadien de type QWERTY. OS/2 et Windows - Paramètres canadiens Au Canada, on utilise : v les pages de codes 850 (multilingue) et 863 (français-canadien), v le code pays 002, v le code clavier CF. Nomenclature Les touches présentées dans le tableau d'équivalence suivant sont libellées différemment selon qu'il s'agit du clavier de la France, du clavier du Canada ou du clavier des États-Unis. Reportez-vous à ce tableau pour faire correspondre les touches françaises figurant dans le présent document aux touches de votre clavier. © Copyright IBM Corp. 2009, 2014 v Brevets Il est possible qu'IBM détienne des brevets ou qu'elle ait déposé des demandes de brevets portant sur certains sujets abordés dans ce document. Le fait qu'IBM vous fournisse le présent document ne signifie pas qu'elle vous accorde un permis d'utilisation de ces brevets. Vous pouvez envoyer, par écrit, vos demandes de renseignements relatives aux permis d'utilisation au directeur général des relations commerciales d'IBM, 3600 Steeles Avenue East, Markham, Ontario, L3R 9Z7. Assistance téléphonique Si vous avez besoin d'assistance ou si vous voulez commander du matériel, des logiciels et des publications IBM, contactez IBM direct au 1 800 465-1234. vi IBM Marketing Center - Guide du développeur Web et du développeur de modèles Chapitre 1. Introduction IBM® Marketing Center est une console avec laquelle les spécialistes du marketing créent, gèrent et déploient des campagnes et des mailings qui diffusent des communications personnalisées aux membres de l'audience. Certains types de communications et certaines fonctionnalités nécessitent de travailler sur les modèles HTML, pages web ou applications web associées en dehors de Marketing Center. Si votre organisation utilise Marketing Center pour diffuser des communications par e-mail, vous devez créer des modèles d'e-mail. Ces modèles définissent les parties statiques des e-mail et les sections qui peuvent être personnalisées. Si votre organisation utilise Marketing Center pour diffuser des pages web personnalisées, vous devez désigner les parties de ces pages qui peuvent être personnalisées. Votre site doit également être balisé pour Marketing Center. Si votre organisation prévoit une page web sur laquelle vos clients peuvent choisir de ne pas recevoir d'e-mails de votre part, vous devez créer cette page ou établir un lien à une page standard hébergée par IBM. Si votre organisation utilise Marketing Center pour envoyer des e-mails transactionnels, vous devez créer le client local de messagerie transactionnelle. Conditions, conventions et conseils de codage de modèles et de pages Web Sachant que vous ne pouvez pas contrôler à quel endroit le message est affiché, assurez-vous que le code HTML dans vos modèles et pages web est correctement écrit et conforme à XHTML. Le public ciblé par vos spécialistes marketing dispose de divers navigateurs. Certains navigateurs, notamment ceux des périphériques mobiles, ne peuvent pas interpréter un HTML mal conçu. Gardez à l'esprit les conseils suivants : v Indiquez le codage de caractères pour le texte. Le plus souvent, utilisez le codage Unicode UTF-8 pour que le texte de vos messages s'affiche correctement dans les clients de messagerie et les navigateurs. v Veillez à inclure les informations alt="description de l'image" pour toutes les images. Les descriptions d'image sont importantes en termes d'accessibilité et peuvent fournir des informations utiles si les images ne peuvent être rendues. v Sauf si vous citez quelque chose dans une autre langue que l'anglais, n'utilisez pas le caractère ». Entrez à la place deux caractères >. v L'entité de caractères pour les points de suspension horizontaux (...) est prise en charge en HTML et XHTML, mais n'est pas valide en XML. Il est donc préférable d'entrer trois points au lieu du caractère … quand vous avez besoin de points de suspension. © Copyright IBM Corp. 2009, 2014 1 Vérification de la compatibilité du code du modèle avec XHTML Même si ce n'est pas obligatoire, il est conseillé d'utiliser un code compatible avec XHTML dans vos modèles HTML. Il existe quatre principales différences entre les éléments XHTML et les balises HTML. Les éléments XHTML : v Doivent être correctement imbriqués v Doivent toujours être fermés, même pour des balises autonomes comme <br/> v Doivent être en minuscule v Doivent avoir un élément racine Il existe de nombreux sites Web décrivant en détail les différences entre HTML et XHTML. Si vous avez des questions, consultez les tutoriels et informations disponibles. Voir par exemple les sites Web suivants : v w3Schools.com v XHTML.org Utilisez un valideur HTML pour tester vos modèles avant de les télécharger dans IBM Marketing Center. De cette façon, vous évitez des problèmes possibles quand les responsables marketing utilisent les modèles pour créer une communication. Vous pouvez télécharger un outil tel que JTIDY. Vous pouvez aussi utiliser un valideur en ligne comme celui disponible dans W3C. Planification des zones Quand vous concevez le code HTML et ajoutez les zones, vous configurez celles-ci pour prendre en charge le type de contenu devant être déposé dans chaque zone. Pour déterminer la taille et l'apparence des zones, placez les styles dans l'espace autour d'elles. Lors de la définition des styles et de la taille d'une zone, veillez à prendre en considération chaque type de contenu susceptible d'y être déposé. Les spécialistes marketing peuvent ajouter du contenu aux zones en sélectionnant un contenu dans la bibliothèque d'actifs numériques ou à l'aide de widgets de contenu. Le tableau suivant répertorie les widgets de contenu. Tableau 1. Widgets de contenu Widget Description Bloc de texte montre un éditeur de texte intégré pour la saisie manuelle de texte et les zones de personnalisation. Le texte peut inclure des balises de format HTML. Hyperlien montre un formulaire ajoutant un hyperlien dans une page Web. Il peut s'agir de n'importe quelle page accessible via Internet. L'hyperlien peut être un texte ou une image. Image montre un formulaire pour la saisie d'une URL à une image hébergée en externe. Les images de la bibliothèque peuvent être glissées depuis la sous-fenêtre de navigation latérale et déposées directement dans la zone. 2 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Tableau 1. Widgets de contenu (suite) Widget Description Zone montre la liste des zones utilisables pour personnaliser le message au destinataire. Les zones disponibles dépendent de vos données. View as Web Page vous permet d'insérer un lien dans une page Web pour afficher le contenu de votre communication. Content Connector affiche un formulaire permettant d'entrer l'URL ou le chemin du fichier HTML ou de contenu texte externe. Ce widget est disponible dans les communications par e-mail uniquement. ID zone valides Chaque zone de votre modèle et page web doit avoir un ID valide. Les campagnes contenant une communication avec un ID zone non valide ne fonctionnent pas. Une campagne ne peut pas être déployée si elle contient une communication e-mail qui utilise un modèle avec un ID zone non valide. Une communication de site vers une page avec un ID zone non valide n'affiche jamais de contenu aux visiteurs de votre site. Tous les ID zone doivent respecter les conditions suivantes : v Le premier caractère doit être une lettre. v L'ID zone ne peut comprendre que des lettres, des chiffres et le caractère de soulignement. v L'ID zone ne peut pas contenir d'espaces. v L'ID zone doit être unique dans le modèle ou la page Web. Vous ne pouvez pas utiliser la casse pour distinguer un ID zone d'un autre. Tous les ID zone sont convertis en majuscules lorsqu'ils sont traités, ainsi Prénom et prénom sont considérés comme le même ID zone. Mise en page des hyperliens générés par le widget Hyperlien Généralement, les zones utilisent la mise en page définie par les styles intégrés dans le modèle HTML sans codage supplémentaire. Si toutefois vous savez que dans une section, vous des utilisateurs déposeront un widget Hyperlien devez appliquer un élément <span> supplémentaire afin de forcer le lien généré à utiliser un style spécifique. Imaginez par exemple que vous créez une zone dans un modèle pour un lien. Vous pouvez ajouter un élément de style appelé "linkWrapper" pour définir le formatage pour l'hyperlien : <style type=’text/css">.linkWrapper a {color #999} </style> Puis vous entourez la zone contenant l'hyperlien d'un élément <span> supplémentaire, en spécifiant la classe "linkWrapper" : <span class="linkWrapper"> <span id="LINK0" class="droppable">Link</span> </span> Chapitre 1. Introduction 3 Ecriture de fragments HTML pour les zones Les fragments HTML sont de petites sections de code HTML que les spécialistes du marketing peuvent utiliser dans une zone du modèle. Ils sont stockés dans IBM Marketing Center. Limitez le code HTML dans vos fragments aux balises de formatage : <b></b>, <br/> et <h3></h3>, par exemple. N'incluez jamais de balises <body> ou <head> dans un fragment HTML prévu pour être utilisé dans une zone du modèle. Ci-après un exemple de fragment HTML : <b>Aenean ornare luctus enim, a aliquet urna congue quis!</b> <br/> Cras ultrices convallis urna, quis iaculis odio auctor ut. <ul> <li>Quisque in lacus lectus.</li> <li> Nullam dictum libero ac metus tincidunt hendrerit.</li> <li>Vestibulum aliquam porttitor lorem et laoreet.</li> </ul> 4 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Chapitre 2. Créer des modèles d'e-mail Un modèle d'e-mail est un fichier HTML qui désigne certaines parties comme des zones à contenu variable. Les zones définissent à quel endroit le contenu de la page peut être modifié quand le modèle est utilisé. Pour créer les modèles HTML, servez-vous de votre propre éditeur HTML tiers. Concevez les modèles et indiquez quelles parties sont des zones. Transférez ensuite les modèles à Marketing Center. Quand les spécialistes marketing se servent des modèles pour générer des e-mails, ils peuvent remplacer et éditer le contenu dans les zones. Les styles pour les e-mails doivent être inclus (incorporés dans le document) Sachant que tous les clients de messagerie ne prennent pas en charge css, n'entrez pas de styles et de formatage dans des fichiers css externes. Pour des résultats optimaux, incorporez toutes les définitions de styles dans le modèle. Modèles et conventions de dénomination Quand des utilisateurs créent une communication par e-mail, ils doivent sélectionner un modèle dans la bibliothèque. Utilisez une convention de dénomination indiquant l'objectif du modèle de façon suffisamment claire pour que les utilisateurs puissent savoir quel modèle choisir au moment de créer des communications. Vous pouvez par ailleurs utiliser des dossiers dans la bibliothèque en vue d'organiser les fichiers modèles. Configurer des zones pour les modèles d'e-mail Les zones sont des parties que les spécialistes du marketing peuvent personnaliser lorsqu'ils créent des communications dans IBM Marketing Center. Vous pouvez indiquer qu'une partie d'un modèle est une zone en utilisant l'attribut id ou l'attribut class. Vous indiquez qu'une section ou partie du modèle est personnalisable de l'une des deux façons suivantes : v Incluez une valeur pour l'attribut d'identification (id) de l'élément qui définit la section. La valeur que vous indiquez pour cet attribut apparaîtra comme libellé de la zone lorsque le modèle sera utilisé pour une communication. v Pour indiquer que seuls certains éléments sont des zones (et que d'autres sont statiques), ajoutez l'attribut de classe nommé droppable aux éléments devant être des zones. En d'autres termes, si aucun élément n'est marqué avec l'attribut de classe droppable, tous les éléments avec un attribut d'identification sont considérés comme des zones. En revanche, si au moins un élément a un attribut de classe droppable, il est interprété comme une zone et tous les autres éléments dépourvus de l'attribut droppable sont considérés comme statiques. © Copyright IBM Corp. 2009, 2014 5 Pour créer un modèle avec des parties non modifiables, vous devez utiliser l'attribut de classe droppable afin de désigner explicitement quels éléments sont des zones à contenu variable. Exemple 1 : Utilisation de l'attribut id Dans l'exemple de code suivant, on utilise l'attribut id pour créer cinq zones. <table> <tbody> <tr> <td><img id="BANNER" alt="Whatchamacallit"/></td> </tr> <tr> <td> <ul class="nav"> <li>Page 1 </li> <li>Page 2 </li> <li>Page 3 </li> </ul> <img id="AD1" alt="ad1"/> </td> <td valign="top"> <div id="body"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p> </div> </td> <td> <img id="AD2" alt="ad2"/> <img id="AD3" alt="ad3"/> </td> </tr> </tbody> </table> Exemple 2 : Utilisation de l'attribut class avec la valeur droppable Dans l'exemple de code suivant, on utilise l'attribut class avec la valeur droppable pour créer cinq zones. Les éléments ayant un attribut id mais pas d'attribut class="droppable" ne sont pas considérés comme des zones. <table> <tbody> <tr> <td><img id="BANNER" class="droppable" alt="Whatchamacallit"/></td> </tr> <tr> <td> <ul class="nav"> <li>Page 1 </li> <li>Page 2 </li> <li>Page 3 </li> </ul> <img id="AD1" class="droppable" alt="ad1"/> </td> <td valign="top"> <div id="body"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p> </div> </td> <td> <img id="AD2" class="droppable" alt="ad2"/> 6 IBM Marketing Center - Guide du développeur Web et du développeur de modèles <img id="AD3" alt="ad3"/> </td> </tr> </tbody> </table> Utilisation de texte dans chaque zone Utilisez du texte dans chaque zone pour indiquer l'objectif de cette zone. Quand une zone inclut du texte, les utilisateurs peuvent la voir et y faire glisser du contenu. Quand une zone n'a pas de libellé, les utilisateurs doivent sélectionner l'option Afficher les zones avant d'y faire glisser du contenu. Le fait de fournir un libellé évite une confusion possible pour les responsables marketing utilisant vos modèles. Par exemple, si votre modèle est conçu pour communiquer une offre mensuelle, vous pouvez nommer la zone Offre mensuelle. <span id="MONTHLY_OFFER" class="droppable">Offre mensuelle</span> <br/> Coder les modèles pour des e-mails en version texte seul Si vos spécialistes du marketing doivent fournir une version texte seul de leurs e-mails, vous avez deux possibilités : 1 - Créer des modèles texte seul à leur usage. 2 - Leur demander de faire générer par IBM Marketing Center une version texte seul dérivée du modèle de la version HTML. Si vous voulez créer des zones dans un modèle d'e-mail en texte seul, ce modèle doit être au format HTML. Dans ce cas, veillez à ce que le modèle utilise l'extension de fichier .html. Les balises utilisables se limitent au jeu suivant : v les balises <html> et <body> qui définissent la page v les balises <span> avec l'attribut de classe droppable défini pour les zones v la balise <br /> pour les retours à la ligne v <UAEreferenceLabel> pour inclure un actif numérique Par exemple, voici un simple modèle d'e-mail en texte seul avec des zones : <html> <body> Dear <span id="FIRST_NAME" class="droppable">First name</span> <span id="LAST_NAME" class="droppable">Last name</span>, <br/> Thank you for attending our recent conference. To show our appreciation for your interest, we will be sending you a gift autographed by our keynote speaker. <br/> We look forward to seeing you at future events soon. </body> </html> Coder les sections statiques Les parties de vos modèles autres que des zones à contenu variable sont des sections statiques. Vous codez les sections statiques comme d'habitude, avec du code compatible XHTML. Chapitre 2. Créer des modèles d'e-mail 7 Utiliser des contenus stockés en dehors de Marketing Center Utilisez la balise <UAEConnect> pour inclure du texte ou du contenu HTML qui est stocké en dehors de Marketing Center dans une section statique de votre modèle de courrier électronique. Par exemple, vous pouvez inclure du texte ou du contenu HTML à partir d'une page Web. Le système met à jour ce contenu lorsque le message est envoyé. Utilisez <UAEConnect n="chemin source"/> où chemin source est l'URL ou le chemin d'accès au fichier de contenu. Remarque : Vous pouvez vous connecter à un contenu externe via HTTP ou FTP, mais vous ne pouvez pas vous connecter à un contenu qui nécessite une authentification (HTTPS ou FTPS) à ce stade. Pour demander un compte de serveur FTP à utiliser avec les connexions de contenu, contactez le support IBM. Vous pouvez inclure des images et des scripts dans les sections statiques sans recourir à la balise <UAEConnect>. Les images et les scripts des sections statiques doivent être accessibles via HTTP et peuvent également être accessibles de manière sécurisée via HTTPS, le cas échéant. Vous devez utiliser des chemins d'accès absolus aux images, scripts et URL dans les sections statiques de vos modèles. Vérifiez que l'URL de la communication générée à partir du modèle et les URL d'accès aux images ou scripts figurant dans les sections statiques de cette communication partagent un même nom de domaine à un niveau supérieur. Dans le cas contraire, le navigateur du destinataire de la communication émettrait des messages d'avertissement interdomaines. Par exemple, imaginez que le nom de domaine géré pour vous par Marketing Center est email.yourcompany.com et que vos images et scripts sont accessibles via yourcompany.com. Dans ce cas, la communication et les URL ont en commun un même domaine de niveau supérieur et aucun avertissement ne sera émis par le navigateur à l'affichage de la communication. Utiliser des contenus stockés dans Marketing Center Utilisez la balise <UAEreferenceLabel> pour inclure du contenu stocké dans Marketing Center dans une section statique de votre modèle. Par exemple, vous pouvez utiliser une étiquette de référence pour inclure une mention légale dans vos modèles. Si vous devez modifiez cette mention légale, sa mise à jour est possible dans Marketing Center et elle affecte toutes les communications basées sur ces modèles. Les changements sont visibles dans les communications la prochaine fois que leurs campagnes sont générées et déployées. Le contenu doit être stocké en tant qu'actif numérique dans Marketing Center et doit avoir une étiquette de référence. Vous devez connaître l'étiquette de référence exacte pour chaque actif que vous voulez inclure. Utilisez <UAEreferenceLabel n="name"/>, où name est la valeur de la zone Etiquette de référence pour l'actif dans Marketing Center. Ajout de personnalisations dans les modèles Utilisez la balise de zone de personnalisation, <UAEpf>, pour inclure des données personnalisées dans votre modèle. 8 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Une zone de personnalisation est une zone qui contient des données personnalisées telles que des informations d'implication client, des données collectées par les balises ou des données externes à Marketing Center. Vous pouvez utiliser la balise <UAEpf> pour gagner du temps si vous utilisez plusieurs zones de personnalisation dans un e-mail. N'imbriquez pas les balises <UAEpf>. Toutes les balises <UAEpf> acceptent un attribut unique, n, égal à l'ID de la zone. Toutes les zones sont sensibles à la casse. Données standard Marketing Center inclut les zones d'enregistrement standard du tableau ci-dessous. <UAEpf n="AGE" /> Tableau 2. Zones d'enregistrement standard ID de zone Informations associées REGISTRATION_ID ID enregistrement EMAIL_ADDRESS Adresse e-mail REGISTERED_CITY Ville REGISTERED_STATE Etat REGISTERED_COUNTRY Pays REGISTERED_ZIP_CODE Code postal Données d'implication client Pour localiser l'ID de zone, accédez à l'écran Gérer les champs et consultez la colonne ID du champ. <UAEpf n="CUSTOMER_ENGAGEMENT_DATA_FIELD" /> Données de balises Pour localiser l'ID de zone des données de balise, <UAEpf n="TAG_DATA_1" /> Données d'importation Contactez le support pour obtenir les ID des zones importées à l'aide de IBM Digital Analytics Import. <UAEpf n="REGISTRATION_RPT_ATTRIBUTE16__REGISTRATION" /> Données externes Vous ne pouvez utiliser de zones externes que dans les modèles d'e-mail ou actifs transactionnels. Si vous utilisez une zone externe dans un modèle ou actif standard, la génération de la campagne échouera. <UAEpf n="externalField" /> Chapitre 2. Créer des modèles d'e-mail 9 Ajout d'images personnalisées dans des modèles d'e-mail transactionnel Vous pouvez inclure une image personnalisée, telle qu'un code à barres de ticket ou un code Quick Response, dans un e-mail transactionnel. Définissez un libellé d'image dans le modèle d'e-mail à l'endroit où vous souhaitez que l'image soit insérée. Pourquoi et quand exécuter cette tâche Les images personnalisées sont envoyées sous forme de pièce jointe, mais elles sont affichées sous forme d'images incorporées dans le corps de l'e-mail. Comme l'image est envoyée en tant que pièce jointe, le destinataire voit l'image dans le message électronique, même si le client de messagerie est configuré pour désactiver les images. Le libellé d'image est sensible à la casse. Procédure 1. Ouvrez le modèle d'e-mail dans un éditeur HTML. 2. Localisez l'emplacement voulu pour l'image. 3. Déterminez si vous voulez que l'image soit un lien. 4. Insérez l'image avec l'une des balises suivantes. v Utilisez une balise d'image pour une image qui n'est pas un lien : <img src="#include:libellé_image#" alt="texte_alternatif_image" border="0" /> Remplacez libellé_image par un nom unique identifiant l'image. Entrez le texte alternatif pour l'image. v Utilisez une balise href pour image sous forme de lien : <a href="cible_lien"><img src="#include:libellé_image#" alt="texte_alternatif_lien" border="0" /></a> Remplacez libellé_image par un nom unique identifiant l'image. La valeur cible_lien correspond à l'URL cible. Entrez le texte alternatif pour l'image. Exemple Voici un exemple d'image qui n'est pas un lien : <img src="#include:barcode1#" alt="Libellé d’image personnalisée" border="0" /> Voici un exemple d'image sous forme de lien : <a href="www.example.com"><img src="#include:picture1#" alt="Lien vers site Web" border="0" /></a> Conception pour la distribution La distribution mesure votre capacité d'envoyer de façon constante des e-mails marketing à la boîte de réception du destinataire prévu. La distribution d'e-mails peut être affectée par de nombreux facteurs comme les filtres antispam, les listes noires et les adresses incorrectes. 10 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Quand vous concevez des modèles d'e-mail, incluez des éléments normalisés permettant à chaque message généré depuis un modèle de respecter les règles antispam. Incluez aussi des éléments augmentant le niveau de fiabilité de votre marque. Ci-après les méthodes courantes pour améliorer la distribution de vos e-mails. v Incluez une zone conçue pour fournir un lien d'exclusion ou de désabonnement. v Si votre entreprise peut accepter d'autres options d'exclusion (basé Web, par téléphone, en réponse à des e-mails), incluez un texte normalisé décrivant comme procéder. v Intégrez une phrase qui identifie clairement l'e-mail comme un message promotionnel. Certaines entreprises incluent cette phrase dans l'instruction de désabonnement au bas de l'e-mail. Par exemple, "This email advertisement was sent to [email address of the recipient]. If you no longer want to receive these email messages, click here to unsubscribe." v Fournissez une adresse de courrier physique valide pour les destinataires afin d'identifier ou de contacter l'entreprise. v Ajoutez une phrase générique qui demande au destinataire d'ajouter l'adresse De du message à leur carnet d'adresses. v Disposez toujours au même endroit le logo de votre marque dans tous les e-mails envoyés par votre société. v N'utilisez pas une image unique recouvrant tout le message. Pour plus de détails sur CAN-SPAM, voir le site Web officiel de la Federal Trade Commission (FTC), en particulier la page The CAN-SPAM Act: A Compliance Guide for Business. Transférer et tester le modèle Après avoir codé un modèle et contrôlé sa validité, importez-le dans IBM Marketing Center et testez-le avant de demander aux spécialistes du marketing de l'utiliser. Procédure 1. Dans la section Actifs numériques du volet de navigation latéral, cliquez sur Actions > Importer un actif et transférez le modèle. Cochez la case Est modèle. 2. Créez une communication par e-mail et sélectionnez le nouveau modèle. 3. Cochez la case Show zones et sélectionnez All. Est-ce que tout semble correct ? Il n'est pas rare que quelque chose doive être corrigé alors que vous avez déjà transféré le modèle et l'avez utilisé pour créer une communication. 4. Pour les corrections de code mineures, cliquez sur l'icône Edit Template ) et apportez-les modifications. ( 5. Si des modifications importantes doivent être apportées, il est recommandé de revenir à votre propre éditeur HTML tiers. Téléchargez ensuite le fichier HTML révisé dans la bibliothèque d'actifs numériques. 6. Si vous téléchargez une nouvelle version d'un modèle avec le même nom de fichier, vous devez actualiser la communication afin de voir vos modifications. Par exemple, vous pouvez fermer et rouvrir le modèle ou vous pouvez l'ajouter à nouveau. Chapitre 2. Créer des modèles d'e-mail 11 Résultats Quand vous êtes sûr que le code de votre modèle fonctionne correctement, prévenez les responsables marketing qu'ils peuvent commencer à l'utiliser. 12 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Chapitre 3. Préparer votre site pour Marketing Center Pour intégrer le site web de votre société ou organisation avec Marketing Center, vous devez commencer par y insérer le code nécessaire sous forme de balises. Le Guide d'implémentation d'Digital Analytics décrit comment ajouter le JavaScript nécessaire pour intégrer votre site avec Marketing Center. Si une page Web est balisée avec plusieurs ID de client Une page Web ne peut être modifiée par des communications de site que depuis un seul ID de client. Si une page est balisée avec plusieurs ID de client, vous devez créer toutes les communications de site pour cette page dans le premier ID de client figurant dans la fonction cmSetClientID. Si nécessaire, vous pouvez changer l'ordre des ID de client dans la fonction cmSetClientID, mais cela risque d'interrompre les autres communications dans IBM Marketing Center ainsi que les processus de recommandation dans IBM Digital Recommendations. Configurer les éléments de personnalisation du site Web Chaque élément dans votre page Web possède une valeur pour l'attribut d'ID, ou bien un élément parent avec un attribut d'ID personnalisable. Par exemple, l'extrait de code suivant définit deux zones : 1 <span id="CENTER_CONTENT1" >Zone #1</span> 2 <div id="CENTER_CONTENT2" ><span class="ctr">Zone #2</span></div> Veillez à définir un ID pour chaque élément à personnaliser. Donnez à chaque élément une définition unique, descriptive et inoubliable. Plus tard, vous pouvez utiliser la fonction de recherche de votre programme pour localiser l'ID s'il est nécessaire de le modifier. Quand les spécialistes marketing créent une communication de site pour une page contenant ce code, chaque zone est marquée par une icône en forme de punaise. Fournissez toujours le contenu par défaut pour les zones ; par exemple, une image de marque ou un texte. De cette façon, vous n'avez pas d'images ou de marques de réservation incomplètes en cas d'échec du réseau ou d'une autre connexion. N'imbriquez pas les éléments à personnaliser. L'imbrication peut provoquer le remplacement des éléments internes par les éléments internes. © Copyright IBM Corp. 2009, 2014 13 Comment le JavaScript est chargé dans vos pages web Les balises de page Digital Analytics et les communications du site Marketing Center fonctionnent avec des fichiers JavaScript. Ces fichiers JavaScript sont chargés dans vos pages web à partir du réseau CDN (Content Delivery Network, ou réseau de distribution de contenu). Lors de la création d'une page web, incluez-y l'appel suivant : <script src="http://libs.coremetrics.com/eluminate.js" type="text/ javascript"> Ce fichier JavaScript, eluminate.js, s'exécute de manière synchrone. Une fois son exécution terminée, les fichiers JavaScript restants sont chargés en mode asynchrone pour minimiser le temps de chargement de la page. Référez-vous au Guide d'implémentation de Digital Analytics pour toute information sur l'utilisation du script eluminate.js dans votre site web. Le diagramme suivant illustre la séquence de chargement. Le tableau suivant décrit chaque fichier. 14 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Tableau 3. Séquence de chargement du JavaScript JavaScript Description eluminate.js La bibliothèque <script src="http:// conteneur de balises libs.coremetrics.com/ Digital Analytics. Ce eluminate.js"> fichier est commun à tous les ID de client. ~ 148 ko <id-client>.js Bitmap de configuration de produits indiquant quelles applications Digital Analytics sont activées. Ce fichier est différent pour chaque ID de client. ~ 100 octets mc.js Logique d'amorçage <script src="http:// de Marketing Center libs.coremetrics.com/ mc.js"> à appliquer aux communications du site. Ce fichier est commun à tous les ID de client. ~ 27 ko rules-<id-client>.js Contenu JSON déterminant si une campagne est active pour la page courante. Il définit également les conditions et les segments et fournit une mappe au fichier de traitement. Ce fichier est différent pour chaque ID de client. <script src="http:// mktgcdn.coremetrics.com/ 12345678/JS/rules12345678.js"> ~ 18,4 ko Contenu JSON avec des instructions sur la manière d'appliquer un traitement au contenu fourni par le réseau CDN. Ce fichier est différent pour chaque traitement. <script src="http:// mktgcdn.coremetrics.com/ 12345678/JS/treatment87654321.js"> ~ 2,6 ko treatment-<idtraitement>.js Exemple <script src="http:// libs.coremetrics.com/ configs/12345678.js"> Taille Taille variable selon les définitions des règles. Chapitre 3. Préparer votre site pour Marketing Center 15 16 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Chapitre 4. Permettre aux utilisateurs de se désinscrire de vos communications par e-mail Vous pouvez configurer une page de désinscription (refus) afin de donner aux utilisateurs la possibilité de faire cesser la réception de communications par e-mail Marketing Center. Utilisez la page de désinscription pour fournir à vos clients un moyen de ne plus recevoir vos communications et vous conformer ainsi aux règles de respect de la vie privée. Il existe deux manières d'implémenter la page de désinscription : v Utiliser la page standard, entièrement hébergée sur le réseau de distribution de contenu (CDN). Vous pouvez l'utiliser directement ou la charger à l'intérieur d'un cadre sur votre site. Vous n'avez rien de plus à coder sur votre site que de créer un lien à une URL. v Coder votre propre page de désinscription et, à l'aide d'une demande HTTP GET, passer les informations reçues du client à un servlet exécuté sur les serveurs IBM. Cette technique exige un codage de votre part, mais elle vous permet d'intégrer étroitement la fonctionnalité de désinscription dans votre site web. Utiliser la page de désinscription standard hébergée sur le CDN Le moyen le plus simple d'implémenter la fonctionnalité de désinscription est d'utiliser la page de référence hébergée sur le réseau de distribution de contenu (CDN). Cette technique ne requiert pas de code supplémentaire dans votre page, seul un hyperlien à la page standard du CDN étant nécessaire. Vous pouvez aussi charger la page de désinscription dans un cadre (iframe) de votre page. Pourquoi et quand exécuter cette tâche Voici un exemple de page de désinscription standard. © Copyright IBM Corp. 2009, 2014 17 Figure 1. Page de désinscription standard Si l'URL que vous utilisez pour accéder à Marketing Center a un code de pays devant coremetrics, vous devez utiliser le même code de pays dans les URL de droit d'opposition. Par exemple, si vous accédez à Marketing Center via cette URL : https://mc.de.coremetrics.com, utilisez l'URL suivante pour accéder à la page de désinscription hébergée : mktgcdn.de.coremetrics.com/optout/index.html?CI=IDclient&LANG=env-local Procédure Pour utiliser la page standard qui est hébergée sur le CDN Marketing Center , ajoutez un lien vers l'URL appropriée sur votre site Web. Indiquez l'URL comme suit, y compris le code pays, le cas échéant : mktgcdn.coremetrics.com/optout/ index.html?CI=IDclient&LANG=env-local 18 Option Description IDclient L'ID de client Marketing Center associé à votre site web. IBM Marketing Center - Guide du développeur Web et du développeur de modèles Option Description env-local Le code de paramètres régionaux (langue et pays) de votre page web permettant de charger la version localisée de la page de désinscription. Voici la liste des valeurs admises : deCH - Allemand-Suisse deDE - Allemand-Allemagne enAU - Anglais-Australie enUK - Anglais-Royaume-Uni esES - Espagnol-Espagne frCA - Français-Canada frFR - Français-France jaJP - Japonais-Japon ptBR - Portugais-Brésil zhCN - Chinois simplifié-Chine Exemples : v mktgcdn.coremetrics.com/optout/index.html?CI=99999999&LANG=jaJP v mktgcdn.coremetrics.com/optout/index.html?CI=87654321&LANG=enUS Résultats Lorsqu'un utilisateur soumet la page, son adresse mail et son choix (désinscription ou réinscription) sont envoyés aux serveurs IBM. Un message est affiché pour indiquer si la transaction a réussi ou échoué. Hébergement de votre propre page de désinscription Vous pouvez héberger une page de désinscription sur votre site si vous préférez ne pas utiliser la page standard. Procédure 1. Créez une page afin de recueillir l'adresse mail et le choix de désinscription de l'utilisateur. Pour un exemple, référez-vous à la page mktgcdn.coremetrics.com/optout/ index.html. 2. Dans votre page de désinscription, créez une fonction de rappel (callback) dont le rôle est d'afficher la réponse JSONP du servlet. Le résultat est communiqué dans le paramètre FG. Les valeurs possibles sont 1 (réussite) et 0 (échec). Voici un exemple de fonction de rappel qui écrit le résultat dans la console. Utilisez-le comme point de départ pour écrire le résultat dans un élément HTML. function optoutCallback(data) { // réussite de la transaction selon la valeur de "FG" // réussite : 1, échec : 0 var flagSuccess = 1; Chapitre 4. Permettre aux utilisateurs de se désinscrire de vos communications par e-mail 19 // charger le message de réussite si la transaction réussit // charger le message d’échec si la transaction échoue if (data.FG == flagSuccess) { console.log("Vos préférences ont été enregistrées.") } else { console.log("Erreur"); } } 3. Dans votre page, créez une demande HTTP afin de soumettre la demande de désinscription au moteur de servlet. Voici un exemple de demande : http://mcdata.coremetrics.com/optOut?CI=IDclient&EM=adresse@email &OPT=choix&CB=nomFonctionRappel Valeur du paramètre Description IDclient L'ID de client Marketing Center associé à votre site. adresse@email L'adresse e-mail de votre client. Cette information est fournie par le client lui-même. choix Le choix du client (ne plus recevoir d'e-mail de votre part ou, au contraire, les recevoir à nouveau s'il s'est précédemment désinscrit). Cette information est fournie par le client lui-même. Les valeurs doivent être codées sous la forme OUT (désinscription) et IN (réinscription). nomFonctionRappel Le nom de la fonction de rappel que vous avez créée. Exemples : v http://mcdata.coremetrics.com/optOut?CI=99999999&[email protected] &OPT=OUT&CB=optoutCallback v http://mcdata.coremetrics.com/optOut?CI=99999999&[email protected] &OPT=IN&CB=optoutCallback Remarque : Si l'URL que vous utilisez pour accéder à Marketing Center a un code de pays devant coremetrics, vous devez utiliser le même code de pays dans les URL de droit d'opposition. Par exemple, si vous accédez à Marketing Center via cette URL : https://mc.de.coremetrics.com, utilisez l'URL de droit d'opposition suivante : http://mcdata.de.coremetrics.com/optOut?CI=clientID&EM=email@address&OPT= choice&CB=callbackFunctionName La réponse JSONP complète Lorsqu'un client soumet une demande par l'intermédiaire de votre propre page de désinscription (hébergée sur votre site), le conteneur du servlet renvoie une réponse JSONP. Vous pouvez utiliser les valeurs des paramètres renvoyés dans cette réponse pour personnaliser la manière dont votre page doit traiter la réponse. La réponse est de la forme suivante : nomfonctionrappel({ "CI":"clientID", "EM":"email@address", 20 IBM Marketing Center - Guide du développeur Web et du développeur de modèles "CB":"callbackFunctionName", "FG":"success/failure value", "OPT":"choice" }); Les valeurs sont définies dans le tableau suivant. Tableau 4. Réponse JSONP à une page de désinscription Paramètre Description clientID L'ID de client associé à votre site. email@address L'adresse mail de l'utilisateur (votre client) ayant soumis la demande. Cette information a été fournie par le client lui-même. callbackFunctionName Le nom de la fonction de rappel que vous avez créée pour accepter la réponse JSONP. success/failure value Le résultat de la transaction consécutive à la demande soumise. Les valeurs possibles sont 1 (réussite) et 0 (échec). choice Le choix du client (ne plus recevoir d'e-mail de votre part ou, au contraire, les recevoir à nouveau s'il s'est précédemment désinscrit). Les valeurs possibles sont OUT (désinscription) et IN (réinscription). Exemples : optoutCallback({ "CI":"99999999", "EM":"[email protected]", "CB":"optoutCallback", "FG":"1", "OPT":"OUT" }); optoutCallback({ "CI":"87654321", "EM":"[email protected]", "CB":"optoutCallback", "FG":"1", "OPT":"IN" }); Chapitre 4. Permettre aux utilisateurs de se désinscrire de vos communications par e-mail 21 22 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Chapitre 5. API Marketing Center Utilisez l'API Marketing Center pour accéder aux données sur l'implication client et les mettre à jour, ainsi que pour générer et déployer des campagnes de manière sécurisée. Test de votre ID client et de votre jeton de sécurité Utilisez la méthode ci-après pour tester votre ID client et votre jeton de sécurité. Avant de commencer Demandez un jeton de sécurité au support IBM. Procédure Créez une demande HTTP GET pour tester votre ID client et votre jeton de sécurité Marketing Center. Des codes d'état HTTP signalent le succès ou l'échec de l'opération. Code d'état HTTP Signification 200 Succès 401 Echec d'authentification 422 Paramètres de méthode non valides Valeur du paramètre Description mc_clientId Votre ID client Marketing Center mc_tokenId Votre jeton de sécurité unique. Si vous n'avez pas de jeton de sécurité, contactez le support technique. Voici un exemple de demande : GET https://mcdata.coremetrics.com/ced/isOk?mc_clientId=12345678&mc_tokenId=1234 Remarque : Si l'URL que vous utilisez pour accéder à Marketing Center a un code de pays devant coremetrics, vous devez utiliser le même code de pays dans les URL de méthode. Par exemple, si vous accédez à Marketing Center via l'URL https://mc.de.coremetrics.com, utilisez l'URL suivante pour soumettre des demandes : https://mcdata.de.coremetrics.com/ced/isOk?mc_clientId=12345678&mc_tokenId=1234 Accès aux données sur l'implication client et mise à jour de ces données via l'API Marketing Center Vous pouvez utiliser l'API Marketing Center pour mettre à jour à distance les données sur l'implication client. © Copyright IBM Corp. 2009, 2014 23 Utilisez l'API pour obtenir et définir des valeurs pour les zones de données sur l'implication client, sur la base d'une seule ligne. Vous ne pouvez pas supprimer des données à l'aide de l'API. Pour supprimer des données, contactez le support IBM. Extraction d'une liste de zones Utilisez la méthode ci-après pour extraire la liste de toutes les zones de données sur l'implication client. Les zones désactivées ne sont pas extraites. Procédure Créez une demande HTTP GET pour extraire la liste de toutes les zones activées. Des codes d'état HTTP signalent le succès ou l'échec de l'opération. Code d'état HTTP Signification 200 Succès 401 Echec d'authentification 422 Paramètres de méthode non valides Valeur du paramètre Description mc_clientId Votre ID client Marketing Center callback Paramètre facultatif utilisé pour prendre en charge les demandes JSONP Voici un exemple de demande : GET https://mcdata.coremetrics.com/ced/getFields?mc_clientId=12345678 &callback=callbackName Remarque : Si l'URL que vous utilisez pour accéder à Marketing Center a un code de pays devant coremetrics, vous devez utiliser le même code de pays dans les URL de méthode. Par exemple, si vous accédez à Marketing Center via l'URL https://mc.de.coremetrics.com, utilisez l'URL suivante pour soumettre des demandes : https://mcdata.de.coremetrics.com/ced/getFields?mc_clientId=12345678 &callback=callbackName La réponse est reçue sous la forme suivante : { fields : [ "firstName", "lastName", "age", "preference" ]} Extraction des données d'un seul client Utilisez la méthode ci-après pour extraire les données sur l'implication d'un seul client. Procédure Créez une demande HTTP GET pour extraire les données de Marketing Center. Des codes d'état HTTP signalent le succès ou l'échec de l'opération. 24 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Code d'état HTTP Signification 200 Succès 401 Echec d'authentification 404 Utilisateur introuvable 422 Paramètres de méthode non valides 500 Erreur interne du serveur Valeur du paramètre Description mc_clientId Votre ID client Marketing Center mc_regId ID d'inscription unique associé au client mc_tokenId Votre jeton de sécurité unique. Si vous n'avez pas de jeton de sécurité, contactez le support technique. mc_date_format Extrait les dates dans le format défini. Utilisez la classe Java SimpleDateFormat pour le format de vos dates. callback Paramètre facultatif utilisé pour prendre en charge les demandes JSONP Voici un exemple de demande : GET https://mcdata.coremetrics.com/ced/getValues?mc_clientId=12345678 &[email protected]&mc_tokenId=12345 &mc_date_format="yyyyMMdd"&callback=callbackName HTTP/1.1 Remarque : Si l'URL que vous utilisez pour accéder à Marketing Center a un code de pays devant coremetrics, vous devez utiliser le même code de pays dans les URL de méthode. Par exemple, si vous accédez à Marketing Center via l'URL https://mc.de.coremetrics.com, utilisez l'URL suivante pour soumettre des demandes : https://mcdata.de.coremetrics.com/ced/getValues?mc_clientId=12345678 &[email protected]&mc_tokenId=12345&mc_date_format="yyyyMMdd" &callback=callbackName La réponse est de la forme suivante : { "firstName":"John", "lastName":"Doe", "age":"24", "birthdate":"19700331" "preference":null } Mise à jour des données client Vous pouvez mettre à jour ou créer des données sur l'implication d'un client à l'aide de l'API Marketing Center. Créez un enregistrement en soumettant un identifiant d'inscription unique. Pour mettre à jour les données par lots, utilisez Implication > Importer des données. Avant de commencer Au préalable, sur l'écran Gérer les champs, veillez à définir les zones que vous allez utiliser pour les données sur l'implication client. Chapitre 5. API Marketing Center 25 Procédure Créez une demande HTTP POST pour mettre à jour les données sur l'implication client. Des codes d'état HTTP signalent le succès ou l'échec de l'opération. Code d'état HTTP Signification 200 L'enregistrement est mis à jour 201 Un nouvel enregistrement est créé 400 Zones non valides. Les zones sont inexistantes, non activées, ou la valeur que vous envoyez est une chaîne alors que la définition de zone est configurée sur numérique. 401 Echec d'authentification 422 Paramètres de méthode non valides 500 Erreur interne du serveur Valeur du paramètre Description mc_clientId Votre ID client Marketing Center mc_tokenId Jeton de sécurité unique associé à votre compte mc_regId ID d'inscription du client dont les données sont mises à jour mc_date_format Stocke les dates dans le format défini. Utilisez la classe Java SimpleDateFormat pour le format de vos dates. Si le format de date indiqué n'est pas valide, votre demande POST renvoie 422. Voici un exemple de demande définissant le nom (name) sur "Rob Miller," l'anniversaire (birthday) sur March 30, 1970 et l'âge (age) sur "25." POST https://mcdata.coremetrics.com/ced/setValues { mc_clientId: "12345678", mc_tokenId: "secret token", mc_regId:[email protected], mc_date_format:MM/dd/yyyy name:"Rob Miller", age:"25" birthday:"03/30/1970" } Remarque : Si l'URL que vous utilisez pour accéder à Marketing Center a un code de pays devant coremetrics, vous devez utiliser le même code de pays dans les URL de service Web. Par exemple, si vous accédez à Marketing Center via l'URL https://mc.de.coremetrics.com, utilisez l'URL suivante pour soumettre des demandes à l'API : https://mcdata.de.coremetrics.com/ced/setValues 26 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Génération et déploiement à distance de campagnes Utilisez l'API pour générer et déployer des campagnes non programmées. Pourquoi et quand exécuter cette tâche Seules les campagnes standard sont prises en charge. Les campagnes horaires, les campagnes à code promotionnel et les mailings transactionnels ne sont actuellement pas pris en charge. Utilisez l'interface utilisateur Marketing Center pour annuler le déploiement de générations à distance. Vous ne pouvez pas utiliser l'API pour annuler le déploiement de campagnes. Procédure Utilisez la demande HTTP POST pour appeler l'API. Des codes d'état HTTP signalent le succès ou l'échec de l'opération. Code d'état HTTP Signification 200 Succès 400 Echec Valeur du paramètre Description token Votre jeton de sécurité unique. Si vous n'avez pas de jeton de sécurité, contactez le support technique. client Votre ID client Marketing Center campaign Nom de la campagne sur laquelle vous voulez intervenir user Votre nom d'utilisateur Marketing Center Product Domain Domaine que vous utilisez pour accéder à Marketing CenterPar exemple : https://mc.coremetrics.com ou https://mc.de.coremetrics.com. method deploy, build ou buildAndDeploy Voici un exemple de demande : POST Product Domain/mcwebapp/api/1.0/campaign?method=build { token: "YourSecurityToken", client: "12345678", campaign: "Example Campaign", user: "YourUsername" } Remarque : Si l'URL que vous utilisez pour accéder à Marketing Center a un code de pays devant coremetrics, vous devez utiliser le même code de pays dans les URL de méthode. Par exemple, si vous accédez à Marketing Center via l'URL https://mc.de.coremetrics.com, utilisez l'URL suivante pour soumettre des demandes : https://mc.de.coremetrics.com/mcwebapp/api/1.0/campaign?method=buildAndDeploy Chapitre 5. API Marketing Center 27 Génération de campagnes, déploiement et annulation du déploiement de générations La génération d'une campagne entraîne celle de la liste de destinataires. Elle génère aussi les e-mails personnalisés et les fichiers CSV d'exportation de liste. Le déploiement d'une génération envoie les communications aux destinataires. L'annulation du déploiement d'une génération empêche l'utilisation des actifs numériques. Vous pouvez générer une campagne, la déployer et annuler manuellement son déploiement dans l'onglet Déployer de la campagne. Vous pouvez aussi planifier ces actions. Les développeurs peuvent générer et déployer des campagnes à l'aide de l'API Marketing Center. Les campagnes horaires suivent un processus différent. Elles peuvent être exécutées, mises en pause, reprises et arrêtées à partir de l'interface utilisateur Marketing Center. Génération Quand vous générez une campagne, les actions suivantes se produisent : v Les segments d'audience sont comparés aux données en cours et une liste de destinataires est générée. Les règles d'exclusion et de fatigue des contacts sont appliquées lors d'une génération. L'activité qui se produit entre la génération et le déploiement n'ajoute pas ou ne supprime pas des destinataires dans la liste. v Un fichier CSV est créé pour chaque communication d'exportation de liste. v Les informations nécessaires pour personnaliser les e-mails sont regroupées pour chaque destinataire. Déploiement Quand vous déployez une génération, les actions se produisent : v Les communications par e-mail et les informations sur les destinataires sont envoyées à IBM eMessage. Marketing Center supprime les e-mails dont les destinataires correspondent à des adresses de la liste d'exclusion (refus). v eMessage met en file d'attente les e-mails pour la livraison. La rapidité d'envoi de tous les e-mails dépend de la taille de tout le courrier et des conditions du réseau pour le serveur de messagerie. v Toutes les images utilisées dans les communications par e-mail sont envoyées au réseau de distribution de contenu (CDN). v Les communications de site et les images employées sont envoyées au réseau de distribution de contenu. En raison de la mise en cache sur le réseau de distribution de contenu et dans les navigateurs des visiteurs, les changements effectués dans les pages Web peuvent tarder 30 à 60 minutes avant d'apparaître à la suite d'un déploiement. v Toutes les informations de profil nécessaires aux communications du site sont envoyées au serveur de données utilisateur. v Les fichiers CSV d'exportation de liste sont envoyés aux cibles FTP. 28 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Annulation du déploiement Quand vous annulez le déploiement d'une génération, les actions suivantes se produisent : v Les communications de site pour la campagne sont désactivées. (Sachant qu'une seule génération à la fois est active pour les communications de site, l'annulation du déploiement désactive la campagne pour ces communications.) En raison de la mise en cache sur le réseau de distribution de contenu et dans les navigateurs des visiteurs, les communications de site peuvent tarder 30 à 60 minutes après l'annulation d'un déploiement. v Les actifs utilisés dans les communications par e-mail pour la génération sont supprimés du réseau de distribution de contenu. L'annulation du déploiement d'une génération est sans incidence sur les communications par exportation de liste. Si les clients accèdent à un e-mail une fois l'annulation du déploiement de la génération l'ayant créé, les images dans cet e-mail risquent de ne pas s'afficher correctement. En général, annulez le déploiement de générations contenant des communications par e-mail 90 jours après le déploiement. Chapitre 5. API Marketing Center 29 30 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Chapitre 6. Création du client local de messagerie transactionnelle Les développeurs d'applications doivent travailler avec les spécialistes du marketing e-mail pour créer un client local de messagerie transactionnelle qui intègre vos systèmes transactionnels d'entreprise au service TMS d'eMessage. Le service TMS d'eMessage est un service Web hébergé dans IBM EMM Hosted Services. Marketing Center utilise le service TMS d'eMessage. Pourquoi et quand exécuter cette tâche Le client local de messagerie transactionnelle envoie chaque e-mail transactionnel par le biais d'une demande SOAP au service TMS d'eMessage via une connexion HTTPS. Procédure 1. Déterminez le centre de données IBM qui traite votre demande d'e-mail transactionnel. Il existe un centre aux Etats-Unis et un centre au Royaume-Uni : v https://tms-em-us.unicaondemand.com (Etats-Unis) v https://tms-em-eu.unicaondemand.com (Royaume-Uni) Si vous ne savez pas quel centre de données votre compte utilise, prenez contact avec le support technique IBM. 2. Déterminez le nom d'utilisateur et le mot de passe attribués à votre compte eMessage. Si vous ne connaissez pas le nom d'utilisateur et le mot de passe, prenez contact avec le support technique IBM. 3. Téléchargez le WSDL pour créer des applications qui accèdent au service TMS d'eMessage. Vous pouvez télécharger le WSDL à partir du centre de données IBM pour votre compte : v https://tms-em-us.unicaondemand.com/emessageds/services/TMS?wsdl (pour le centre de données aux États-Unis) v https://tms-em-eu.unicaondemand.com/emessageds/services/TMS?wsdl (pour le centre de données au Royaume-Uni) 4. Utilisez le WSDL pour créer un client qui exécute chacune des actions suivantes sans intervention manuelle : v Identifier les transactions qui déclenchent l'e-mail transactionnel Un événement de transaction peut être n'importe quelle action détectée par votre système de gestion des transactions. Par exemple, il peut s'agir d'un achat, d'une demande de service émise par un client, d'une demande d'informations ou d'un changement intervenant dans l'état d'un compte client. v Pour chaque événement déclencheur, identifier le mailing transactionnel, les éléments de données personnalisées, et toutes les pièces jointes. v Se connecter à la base de données marketing qui contient les données servant à personnaliser le message électronique et extraire ces données. v Emettre la demande d'e-mail transactionnel sous forme de demande SOAP. v Fournir les données d'identification pour accéder au service TMS d'eMessage via une connexion sécurisée. © Copyright IBM Corp. 2009, 2014 31 v Fournir les informations du message. v Fournir les informations de la pièce jointe. v Gérer les messages d'erreur renvoyés par le service TMS. Ajout d'informations personnalisées dans des demandes d'e-mail transactionnel Les spécialistes du marketing peuvent utiliser les zones de données d'un e-mail transactionnel pour indiquer où insérer les informations personnalisées. Dans la demande de service Web, vous devez transmettre une paire nom-valeur pour chaque zone de l'e-mail. Procédure 1. Lorsqu'un spécialiste du marketing déploie un mailing transactionnel, il convient de déterminer les zones utilisées dans l'e-mail. Le spécialiste du marketing peut configurer le mailing pour vous envoyer un e-mail avec la liste des zones lorsque le mailing est déployé. Le spécialiste du marketing peut également copier la liste des zones à partir de l'onglet Déployer du mailing et vous l'envoyer. 2. Dans la demande de service Web du mailing, transmettez NameValuePair une fois pour chaque zone. Envoi de pièces jointes dans les e-mails transactionnels Vous pouvez envoyer des pièces jointes dans les e-mails transactionnels. Les pièces jointes proviennent de vos systèmes métier et non de IBM Marketing Center. Pourquoi et quand exécuter cette tâche La taille d'une pièce jointe ne peut pas dépasser 1 Mo. La taille totale de toutes les pièces jointes d'un e-mail ne peut pas dépasser 2 Mo. Vous transmettez les pièces jointes au service TMS en ligne en tant qu'extensions MIME distinctes. Servez-vous des techniques décrites dans l'une ou l'autre des normes suivantes reconnues par le World Wide Web Consortium (W3C) : v SOAP Message Transmission Optimization Mechanism (MTOM) v SOAP Messages with Attachments (SWA) Consultez le site Web W3C pour plus d'informations sur ces normes. Procédure 1. Lorsqu'un spécialiste du marketing déploie un mailing transactionnel, il convient de déterminer le nombre de pièces jointes utilisées dans l'e-mail. 2. Déterminez comment récupérer le contenu des pièces jointes à partir de vos systèmes métier. 3. Dans la demande correspondant à ce mailing transactionnel, utilisez le paramètre attachment pour fournir le nom, le type de contenu MIME et le contenu de chaque pièce jointe. 32 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Ajout d'images personnalisées dans des demandes d'e-mail transactionnel Si le spécialiste du marketing inclut une image personnalisée dans un e-mail transactionnel, vous devez spécifier l'image sous forme de pièce jointe dans la demande de service Web correspondante. Pourquoi et quand exécuter cette tâche Les pièces jointes d'images personnalisées doivent respecter les limites de taille valables pour les autres types de pièce jointe. Procédure 1. Procurez-vous le libellé exact de l'image utilisée dans la communication par e-mail auprès du spécialiste du marketing. 2. Dans la demande de service Web du mailing, utilisez ce libellé en tant que valeur pour l'attribut label du paramètre attachments. Exemple Supposons que vous vouliez envoyer un e-mail transactionnel à chaque client qui s'inscrit à une conférence. L'e-mail doit inclure un code Quick Response qui permet au client d'être admis à la conférence. Vous voulez aussi envoyer des instructions en rapport avec la conférence dans une pièce jointe. Dans Marketing Center, le mailing transactionnel doit indiquer que le mailing inclut deux pièces jointes. Vous devez configurer deux pièces jointes dans la demande de service Web. La première pièce jointe est le code Quick Response. La seconde est une carte qui indique comment se rendre à la conférence en voiture depuis l'adresse physique enregistrée pour le client. Vous trouverez ci-après un exemple de la partie relative aux pièces jointes d'une demande de service Web. // Configure attachments In this example, there are two attachments: // QRblock and MAP_site Attachment[] attachments = new Attachment[2]; //This is the first of the two attachments // Load the attachment data from the file system by using a data source FileDataSource QRdataSource = new FileDataSource(new File("C:\\QR.png")); DataHandler QRhandler = new DataHandler(QRdataSource); Base64Binary QRattachmentBinary = new Base64Binary(); attachmentBinary.setBase64Binary(QRhandler); ContentType_type0 QRContentType = new ContentType_type0(); QRContentType.setContentType_type0(QRhandler.getContentType()); // specify the content type for the attachment QRattachmentBinary.setContentType(QRContentType); // Add the attachment //PremiumTix_QR is the exact image label that is used in the email communication Attachment QRblock = new Attachment(); QRblock.setFileName("QR.png"); QRblock.setLabel("PremiumTix_QR"); QRblock.setFileContent(QRattachmentBinary); //This is the second of the two attachments // Load the attachment data from the file system by using a data source FileDataSource MAPdataSource = new FileDataSource(new File("C:\\SiteMap.png")); DataHandler MAPhandler = new DataHandler(MAPdataSource); Base64Binary MAPattachmentBinary = new Base64Binary(); Chapitre 6. Création du client local de messagerie transactionnelle 33 MAPattachmentBinary.setBase64Binary(MAPhandler); ContentType_type0 MAPContentType = new ContentType_type0(); MAPContentType.setContentType_type0(MAPhandler.getContentType()); // specify the content type for the attachment MAPattachmentBinary.setContentType(MAPContentType); // Add the attachment Attachment MAP_site = new Attachment(); MAP_site.setFileName("SiteMap.png"); MAP_site.setLabel(null); MAP_site.setFileContent(MAPattachmentBinary); // Set the attachment array attachments[0] = QRblock; attachments[1] = MAP_site; Flux de processus d'e-mail transactionnel Les spécialistes du marketing utilisentMarketing Center pour créer des communications par e-mail et des mailings transactionnels. Les développeurs d'applications créent un client de messagerie transactionnelle et l'intègrent aux autres systèmes d'applications. Le diagramme suivant illustre les systèmes hébergés et locaux impliqués dans l'envoi d'e-mails transactionnels. 34 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Activité 1 Elément connexe L'équipe marketing utilise IBM Marketing Center (A) pour créer un mailing transactionnel. Lorsque le mailing est déployé, il est envoyé au service TMS d'eMessage (F). Les spécialistes du marketing fournissent les informations suivantes aux développeurs d'applications : A IBM Marketing Center Marketing Center est l'interface qui permet de créer des communications par e-mail et des mailings transactionnels. B Mailing transactionnel Le mailing référence une communication par e-mail. v Code de mailing v ID zone, libellé de la zone et type de données de chaque zone de l'e-mail v Nombre de pièces jointes, le cas échéant v Libellé de chaque image personnalisée, le cas échéant 2 Une transaction a lieu dans vos systèmes métier (C). C Le système de surveillance des transactions (D) effectue les tâches suivantes : v Détection de la transaction v Reconnaissance du fait que le type de transaction nécessite une réponse par e-mail v Fourniture des informations de personnalisation et du contenu des pièces jointes au client de messagerie D transactionnelle (E). Vos systèmes métier d'entreprise et vos bases de données Différents systèmes métier et bases de données peuvent fournir les données de personnalisation et les informations sur les pièces jointes requises par un e-mail transactionnel. Vos systèmes de surveillance des transactions Les applications transactionnelles d'entreprise surveillent les systèmes métier pour détecter les types de transaction qui déclenchent un e-mail transactionnel. Vous pouvez utiliser quasiment toutes les activités métier pour déclencher un e-mail transactionnel. Les administrateurs système configurent les systèmes de surveillance pour détecter les transactions spécifiées et fournir les informations de personnalisation des e-mails. 3 Le client de messagerie transactionnelle fournit les données d'identification pour IBM EMM Hosted Services dans une demande SOAP via HTTPS au service TMS d'eMessage (F). E Application client qui soumet les demandes de service Web au service TMS d'eMessage. IBM met à la disposition des développeurs un langage WSDL à utiliser pour créer le client. La demande spécifie le code de mailing et fournit des valeurs pour toutes les zones de personnalisation contenues dans le courrier électronique. La demande inclut également les pièces jointes, si nécessaire. 4 Le service TMS d'eMessage vérifie la demande de service Web. Si la demande fournit toutes les informations requises, le service TMS d'eMessage transmet la demande, y compris les pièces jointes à l'infrastructure de mailing d'eMessage (G) pour transmission. Client local de messagerie transactionnelle Le client se trouve sur votre réseau local. F Service TMS d'eMessage Service Web faisant partie d'IBM EMM Hosted Services. Le service reçoit et traite les demandes d'e-mail transactionnel du client local de messagerie transactionnelle. Si le service TMS détecte un incident, il renvoie un message d'erreur décrivant le problème au client local. Chapitre 6. Création du client local de messagerie transactionnelle 35 Activité 5 Elément connexe eMessage transmet et effectue le suivi d'un e-mail G personnalisé individuel adressé au destinataire identifié dans la demande d'e-mail. Infrastructure de mailing eMessage Composants et serveurs eMessage gérés par les centres de données IBM qui assemblent et transmettent les e-mails transactionnels via SMTP. API du service de mailing transactionnel (TMS) Le service de mailing transactionnel (TMS) d'eMessage est un service Web hébergé dans IBM EMM Hosted Services. Il propose une API contenant la méthode sendMailing. La méthode sendMailing utilise les paramètres suivants : v mailingCode v audienceId v fields v cellCodes v additionalOptions v attachments v trackingFields v locale La méthode sendMailing utilise les types personnalisés suivants : v NameValuePair Fournit des méthodes pour stocker les entrées de mailing sous la forme d'un nom et de la valeur qui lui correspond. v Response Fournit des messages de statut pour la demande d'e-mail transactionnel. v AdvisoryMessage Fournit des réponses détaillées si le statut de la demande signale un avertissement ou une erreur. mailingCode mailingCode définit le code de mailing défini dans le mailing transactionnel dans Marketing Center. Marketing Center affecte le code au mailing une fois celui-ci déployé. Le code est affiché sur l'onglet Déployer du mailing. Nom du paramètre mailingCode Type de données Chaîne Dans la mesure où le code de mailing est unique pour votre compte, vous pouvez utiliser ce paramètre pour identifier le mailing. Consultez le mailing pour obtenir la valeur spécifique. Vous pouvez rendre le code de mailing configurable dans votre application de client local de messagerie transactionnelle afin de pouvoir pointer vers un mailing différent si nécessaire. 36 IBM Marketing Center - Guide du développeur Web et du développeur de modèles audienceID Vous définissez le paramètre audienceID pour mettre en corrélation les e-mails transactionnels et les destinataires lorsque vous effectuez des opérations de traitement ou de génération de rapports supplémentaires. Nom du paramètre audienceID Type de données Variable. Vous pouvez identifier un ou plusieurs ID audience pour le destinataire de l'e-mail transactionnel. Transmettez les données du paramètre audienceID sous la forme d'un ensemble de paires "nom-valeur". Vous pouvez définir n'importe quelle valeur ou ensemble de valeurs pour chaque paramètre audienceID. Par exemple, vous pouvez utiliser un code promotionnel, le type de compte, l'identificateur géographique, ou les trois en tant que valeur pour audienceID. Etant donné que chaque demande envoie un e-mail transactionnel à une personne, vous pouvez identifier un destinataire de courrier électronique spécifique en définissant un paramètre audienceID unique. Dans ce scénario, vous pouvez utiliser un numéro de compte client comme valeur d'audienceID. fields Utilisez le paramètre fields pour fournir des informations relatives au destinataire afin de remplir les zones définies dans le message électronique transactionnel. Nom du paramètre fields Type de données Variable. Fournissez les données sous forme de paires nom-valeur distinctes pour chaque zone de personnalisation du message électronique. Vous devez identifier chaque zone de l'e-mail qui est référencée par le mailing. La paire nom-valeur doit contenir l'ID zone. Vous pouvez affecter n'importe quelle valeur du type de données approprié. cellCodes Le paramètre cellCodes ne s'applique pas aux mailings créés dans Marketing Center. Ce paramètre est facultatif. Si vous l'incluez dans votre appel de service web, transmettez une valeur null. Nom du paramètre cellCodes Type de données Chaîne additionalOptions Ce paramètre est réservé pour une utilisation future. Chapitre 6. Création du client local de messagerie transactionnelle 37 Nom du paramètre additionalOptions Type de données NULL attachments Utilisez ce paramètre pour indiquer les fichiers joints à l'e-mail transactionnel. La demande de service Web inclut le contenu du fichier joint dans le format que vous spécifiez. Nom du paramètre attachments Type de données fileName : nom du fichier joint. Indiquez le nom sous la forme d'une chaîne. label : utilisé pour identifier des images personnalisées. Si l'e-mail inclut une image personnalisée, transmettez le libellé sous la forme d'une chaîne. Vous pouvez omettre le libellé si vous n'utilisez pas d'images personnalisées. fileContent : type de contenu MIME du fichier joint. Ce type est toujours base64Binary. trackingFields Le paramètre trackingFields ne s'applique pas aux mailings créés dans Marketing Center. Ce paramètre est facultatif. locale Ce paramètre indique l'environnement local (y compris la langue associée), qui est utilisé pour les messages renvoyés par le service de mailing transactionnel d'eMessage. La présente section répertorie les arguments autorisés pour les environnements locaux pris en charge. Remarque : La liste des environnements locaux qui sont disponibles pour le service de mailing transactionnel d'eMessage est différente de la liste des environnements locaux disponibles pour Marketing Center. Nom du paramètre locale Type de données Portugais (Brésil) : arg.locale=pt_BR Anglais : arg.locale=en_US Français : arg.locale=fr Allemand : arg.locale=de Italien : arg.locale=it Japonais: arg.locale=ja Coréen : arg.locale=ko Russe : arg.locale=ru 38 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Chinois simplifié : arg.locale=zh_CN Espagnol : arg.locale=es userName Ce paramètre spécifie le nom d'utilisateur associé à votre compte de messagerie électronique hébergé. La définition du nom d'utilisateur fait partie de l'authentification qui est requise pour établir une connexion avec le service TMS d'eMessage. Vous devez également indiquer le mot de passe affecté au compte de messagerie électronique hébergé. Nom du paramètre userName Type de données Chaîne password Ce paramètre spécifie le mot de passe qui est associé à votre compte de messagerie électronique hébergé. La définition du mot de passe fait partie de l'authentification qui est requise pour établir une connexion avec le service TMS d'eMessage. Vous devez également indiquer le nom d'utilisateur affecté au compte de messagerie électronique hébergé. Nom du paramètre password Type de données Chaîne NameValuePair Le type NameValuePair constitue une méthode pour soumettre des noms de paramètre, des types de données et des valeurs. Vous pouvez soumettre les paramètres sous forme de chaîne ou de valeur numérique. Méthode Paramètre setName name setValueDataType valueDataType setValueAsString valueAsString setValueAsNumeric valueAsNumeric Response Le type personnalisé Response fournit des messages généraux d'accusé de réception qui indiquent si la demande d'e-mail a abouti ou si elle a eu pour résultat une erreur ou un avertissement. Le tableau suivant répertorie les types d'état et les codes associés à Response. Ces codes sont considérés comme des codes d'état de haut niveau décrivant la réussite ou l'échec de la demande d'e-mail. Le type personnalisé AdvisoryMessage permet d'accéder à des messages plus détaillés qui décrivent les raisons de l'échec d'une demande d'e-mail. Chapitre 6. Création du client local de messagerie transactionnelle 39 Type d'état Description Code STATUS_SUCCESS La demande effectuée auprès du service TMS d'eMessage a abouti. 0 STATUS_WARNING Au moins un avertissement a été émis lors du traitement de la demande, mais aucune erreur. Le client peut effectuer une requête de type AdvisoryMessage pour obtenir plus de détails. 1 STATUS_ERROR Au moins une erreur a été détectée lors du traitement de la demande. 2 Méthodes disponibles pour le type Response Le type Response contient les méthodes suivantes. Méthode Description Retour getAdvisoryMessages Renvoie la liste des messages de recommandation. getApiVersion Renvoie la version de l'API. Chaîne getStatusCode Renvoie le message de recommandation le plus grave dans la réponse. Entier AdvisoryMessage[] Par exemple, si la réponse contient un avertissement (code: 1) et une erreur (code: 2), cette méthode renvoie 2. AdvisoryMessage Le type personnalisé AdvisoryMessage fournit plus de détails sur les messages d'état. Le tableau suivant répertorie les types d'état et les codes associés pour le type AdvisoryMessage. 40 Type d'état Description STATUS_LEVEL_INFO Message d'information uniquement. N'indique pas d'incident lié à l'appel du service TMS d'eMessage. 0 STATUS_LEVEL_WARNING L'appel au service TMS d'eMessage a abouti, mais il existe un problème qui nécessite une analyse plus approfondie. 1 STATUS_LEVEL_ERROR L'appel au service TMS d'eMessage a échoué. 2 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Code Méthodes pour le type AdvisoryMessage Le type AdvisoryMessage contient les méthodes suivantes. Méthode Description Retour getStatusLevel Renvoie le niveau de gravité des messages d'état : Information, Avertissement ou Erreur. Entier Par exemple, pour STATUS_LEVEL_ERROR, cette méthode renvoie le code 2. getMessageCode Renvoie le code d'un message d'erreur. Entier Par exemple, pour l'erreur INVALID_LOGIN, cette méthode renvoie le code 1. getMessage Renvoie un message d'erreur. Chaîne getDetailMessage Renvoie plus d'informations sur un message d'erreur, si elles sont disponibles. Chaîne Messages d'erreurs associés aux e-mails transactionnels Le service de mailing transactionnel (TMS) d'eMessage renvoie des messages d'erreur et les codes associés. Les messages d'erreur qui sont décrits dans le tableau suivant s'appliquent uniquement aux e-mails transactionnels et aux demandes d'e-mail transactionnel. Message Description Code INVALID_LOGIN Les données d'authentification (nom d'utilisateur et/ou mot de passe) spécifiés au cours de l'appel du service TMS d'eMessage ne correspondent pas à celles enregistrées par IBM pour votre compte. Vérifiez les paramètres userName et password pour vous assurer que les données d'identification indiquées sont correctes. 1 UNRECOGNIZED_MAILING_CODE Le code de mailing inclus dans l'appel du service TMS ne correspond pas à un mailing transactionnel. Vérifiez le mailing pour vérifier le code. Examinez le paramètre mailingCode pour vous assurer que le code est correct. 2 RUNTIME_EXCEPTION_ENCOUNTERED Une exception d'exécution inattendue s'est produite lors de l'exécution de la demande d'e-mail. Contactez le support IBM. 3 ENVIRONMENT_EXCEPTION_ENCOUNTERED Une exception d'environnement inattendue s'est produite lors de l'exécution de la demande d'e-mail. Contactez le support IBM. 4 SMTP_CONNECTION_FAILURE La connexion au serveur SMTP a échoué. Contactez le support IBM. 5 DOCUMENT_NOT_DEFINED_FOR_SPECIFIED_MAILING Le mailing n'inclut pas d'e-mail. 6 EMAIL_FAILED_TO_SEND La transmission de l'e-mail n'a pas abouti. Vous pouvez réessayer ou contacter le support IBM. 7 Chapitre 6. Création du client local de messagerie transactionnelle 41 Message Description REQUIRED_PFS_MISSING La demande d'e-mail ne spécifiait pas de noms ni de valeurs pour toutes les zones requises par le mailing. Vérifiez que la demande de service Web définit toutes les zones utilisées dans l'e-mail. Le mailing répertorie toutes les zones obligatoires. 8 AUDIENCE_ID_MISSING La demande n'inclut pas d'ID public. Vérifiez que la demande de service Web définit une valeur pour le paramètre audienceID. 9 ATTACHMENT_NUMBER_MISMATCH Le nombre de pièces jointes défini dans le mailing ne correspond pas au nombre indiqué dans la demande de service Web. Vérifiez le mailing et la demande de service Web. Le mailing et la demande de service Web doivent indiquer le même nombre de pièces jointes. 12 ATTACHMENT_SIZE_EXCEEDED La taille d'une des pièces jointes dépasse la taille maximale autorisée. La taille des pièces jointes individuelles ne peut pas dépasser 1 Mo. 13 TOTAL_ATTACHMENT_SIZE_PER_MESSAGE_EXCEEDED La taille totale de toutes les pièces jointes de la demande dépasse la taille maximale autorisée par message. La taille totale de toutes les pièces jointes ne peut pas dépasser 2 Mo. 14 TMS_MAILING_ATTACHMENTS_LABEL_NOT_FOUND Une étiquette spécifiée dans le paramètre attachments (généralement pour identifier une image personnalisée) manque ou ne correspond pas à l'étiquette contenue dans le document d'e-mail. REMARQUE : les étiquettes de pièce jointe sont sensibles à la casse. Les étiquettes indiquées dans la demande de service Web doivent correspondre exactement à celles spécifiées dans l'e-mail. 15 TMS_MAILING_ATTACHMENTS_LABEL_DUPLICATED Une étiquette spécifiée dans le paramètre attachments (généralement pour identifier une image personnalisée) apparaît plusieurs fois dans la demande de service Web. Les étiquettes de pièce jointe dans la demande de service Web doivent être uniques. 16 42 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Code Annexe. Exemple de client utilisant le langage WSDL de deuxième génération IBM fournit des exemples de client de messagerie transactionnelle pour aider les développeurs d'applications qui créent des applications client transmettant des appels de service Web au service TMS d'eMessage. Cet exemple de client est basé sur le langage WSDL de deuxième génération, introduit en 2011. La principale différence entre ce langage WSDL et la version précédente est que cette version prend en charge l'utilisation de pièces jointes dans les e-mails transactionnels et fournit les données d'authentification sous la forme de paramètres. Le programme suivant est un exemple illustrant comment structurer une demande transmise au service TMS d'eMessage. Il montre comment utiliser l'interface de programme d'application pour le service TMS d'eMessage. Cet exemple est basé sur des bibliothèques axis2 1.3. Pour plus de détails sur axis2 1.3, visitez le site Web suivant : http://ws.apache.org/axis2/. // // IBM Confidential // // eMessage // // © Copyright IBM Corporation 2011,2011. // package com.unica.emessage.webservices.tms.soap.client; import java.io.File; import java.rmi.RemoteException; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.xml.namespace.QName; import import import import import org.apache.axis2.AxisFault; org.apache.axis2.client.ServiceClient; org.apache.axis2.transport.http.HTTPConstants; org.w3.www._2005._05.xmlmime.Base64Binary; org.w3.www._2005._05.xmlmime.ContentType_type0; import import import import import import import import com.unica.emessage.webservices.tms.soap.SendMailingResponse; com.unica.emessage.webservices.tms.soap.SendMailing; com.unica.emessage.webservices.tms.soap.Password; com.unica.emessage.webservices.tms.soap.UserName; com.unica.emessage.webservices.tms.xsd.AdvisoryMessage; com.unica.emessage.webservices.tms.xsd.Attachment; com.unica.emessage.webservices.tms.xsd.NameValuePair; com.unica.emessage.webservices.tms.xsd.Response; /** * SampleTestClient * * This class is a sample program written to illustrate calling the * IBM Unica eMessage TMS web service with a generated client stub using * the Axis2 soap toolkit. http://ws.apache.org/axis2/ */ public class SampleTestClient © Copyright IBM Corp. 2009, 2014 43 { public static void main(String[] args) throws AxisFault, RemoteException { /** * The sendMailing method of the TMS webservice requires: * 1) proper authentication information - a valid username and password * recognized by the TMS * 2) a mailingCode to identify the Mailing that contains the document * to be sent * 3) an audience identifier (used primarily for tracking) * 4) personalized fields that will be merged into the document * to be sent * 5) optional cellCode(s) associated to the audience identifier. * 6) optional additionalOptions - there are currently no additional * options supported, but is here for future use. For now this * parameter can be left as null. * 7) optional locale for the response messages to be returned * otherwise default is "en" (Locale.US) for english */ // authentication information String userName = "MyTMSUserName"; String password = "MyTMSPassword"; // mailing code String mailingCode = "mailing 123"; // audience id: note, an audience id is comprised of // at least one name value pair. // a custom type called NameValuePair needs to be constructed. NameValuePair[] audienceId = new NameValuePair[1]; NameValuePair nvp = new NameValuePair(); nvp.setName("CustomerID"); nvp.setValueDataType("numeric"); nvp.setValueAsNumeric(2021); audienceId[0] = nvp; // personalized fields: each personalized field is a name value pair, // so again we use the custom type "NameValuePair". For this example, // we want to send two personalized fields (emailAddress, gender) NameValuePair[] personalizedFields = new NameValuePair[2]; NameValuePair nvp1 = new NameValuePair(); nvp.setName("emailAddress"); nvp.setValueDataType("string"); nvp.setValueAsString("[email protected]"); personalizedFields[0]=nvp1; NameValuePair nvp2 = new NameValuePair(); nvp.setName("gender"); nvp.setValueDataType("string"); nvp.setValueAsString("male"); personalizedFields[1]=nvp2; // Cell code String[] cellCodes = { "CC243935" }; // Configure attachments Attachment[] attachments = new Attachment[1]; // Load the attachment data from the file system using a data source FileDataSource logo = new FileDataSource(new File("C:\\logo.png")); DataHandler handler = new DataHandler(logo); 44 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Base64Binary attachmentBinary = new Base64Binary(); attachmentBinary.setBase64Binary(handler); ContentType_type0 actualContentType = new ContentType_type0(); actualContentType.setContentType_type0(handler.getContentType()); // specify the content type for the attachment attachmentBinary.setContentType(actualContentType); // Add the attachment Attachment attachment = new Attachment(); attachment.setFileName("First Attachment"); attachment.setLabel("Attachment"); attachment.setFileContent(attachmentBinary); // Set the attachment array attachments[0] = attachment; // Additional Options - this is a name value pair again // but for now send as null NameValuePair[] additionalOptions = null; NameValuePair[] trackingFields = null; // locale - rely on default by setting as null; String locale = null; /** * Calling the Method: * 1) Set up a connection object with the URL of the TMS webservice * 2) Construct the required security header with the * authentication credentials * 3) Construct the method and Set the parameters * 4) Make the call * 5) Process the response */ // connection object TMSStub stub = new TMSStub("http://localhost:8085/emessageds/services/TMS"); ServiceClient serviceClient = stub._getServiceClient(); serviceClient.getOptions().setProperty(HTTPConstants.SO_TIMEOUT, new Integer(60*1000)); serviceClient.getOptions().setProperty(HTTPConstants.CONNECTION_TIMEOUT, new Integer(60*1000)); // Construct the method and set the parameters that were defined above SendMailing req = new SendMailing(); req.setMailingCode(mailingCode); req.setAudienceId(audienceId); req.setFields(personalizedFields); req.setCellCodes(cellCodes); req.setAdditionalOptions(additionalOptions); req.setTrackingFields(trackingFields); req.setLocale(locale); req.setAttachments(attachments); // Authentication: the TMS web service requires the client to submit // user and pw info via soap headers. // The following code sets up the authentication credentials that are // passed in via the headers. UserName un = new UserName(); un.setUserName(userName); Password pwd = new Password(); pwd.setPassword(password); Annexe. Exemple de client utilisant le langage WSDL de deuxième génération 45 // Make the call Response response = stub.sendMailing(req.getMailingCode(), req.getAudienceId(), req.getFields(), req.getCellCodes(), req.getAdditionalOptions(), req.getAttachments(), req.getTrackingFields(), req.getLocale(), un, pwd); // Process the response - a customType Response is returned // All responses come back with a top level code that indicates // whether or not the request was successful (0) or a warning (1) // or error (2) occurred. // If the request was not successful, the client code // should log/alert the issue, and possibly retry the request depending on the issue if(response.getStatusCode()==0) { System.out.println("Request to TMS successful"); } else // an error or warning occurred - print out the message contained //in the customType AdvisoryMessage - there may be more than one { AdvisoryMessage[] messages = response.getAdvisoryMessages(); for(AdvisoryMessage message: messages) { System.out.println("message:"+message.getMessage()); System.out.println("message detail:"+message.getDetailMessage()); } } } } 46 IBM Marketing Center - Guide du développeur Web et du développeur de modèles Remarques Le présent document peut contenir des informations ou des références concernant certains produits, logiciels ou services IBM non annoncés dans ce pays. Pour plus de détails, reportez-vous aux documents d'annonce disponibles dans votre pays, ou bien adressez-vous à votre partenaire commercial IBM. Lorsqu'il est fait référence à un quelconque produit, programme ou service IBM, cela n'implique pas que seul ce produit, programme ou service IBM peut être utilisé. Tout autre élément fonctionnellement équivalent peut être utilisé dès lors qu'il n'enfreint aucun droit d'IBM. Il relève toutefois de la responsabilité de l'utilisateur d'évaluer et de vérifier l'exploitation ou le fonctionnement de tout produit, programme ou service non IBM. IBM peut détenir des brevets ou des demandes de brevet couvrant les produits mentionnés dans le présent document. La remise du présent document ne vous octroie aucun droit de licence sur ces brevets ou demandes de brevet. Vous pouvez envoyer des demandes au sujet des licences par écrit en vous adressant à : IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. Pour le Canada, veuillez adresser votre courrier à : IBM Director of Commercial Relations IBM Canada Ltd 3600 Steeles Avenue East Markham, Ontario L3R 9Z7 Canada Pour des informations sur les licences concernant les produits qui utilisent un jeu de caractères double octet, vous pouvez soit contacter le service IBM Intellectual Property Department de votre pays, soit envoyer vos questions par écrit à l'adresse suivante : Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan, Ltd. 19-21, Nihonbashi-Hakozakicho, Chuo-ku Tokyo 103-8510, Japan Le paragraphe suivant ne s'applique ni au Royaume-Uni ni à aucun pays dans lequel il serait contraire aux législations locales : INTERNATIONAL BUSINESS MACHINES CORPORATION FOURNIT CETTE PUBLICATION "EN L'ETAT" SANS AUCUNE GARANTIE QUELLE QU'ELLE SOIT, EXPLICITE OU IMPLICITE, INCLUANT MAIS DE FAÇON NON RESTRICTIVE LES GARANTIES IMPLICITVES D'ABSENCE DE CONTREFAÇON, DE QUALITE MARCHANDE ET D'ADEQUATION A UN USAGE DONNE. Certaines juridictions n'autorisent pas l'exclusion des garanties implicites, auquel cas l'exclusion ci-dessus ne vous sera pas applicable. © Copyright IBM Corp. 2009, 2014 47 Le présent document peut contenir des inexactitudes ou des coquilles. Ce document est mis à jour périodiquement. Chaque nouvelle édition inclut les mises à jour. IBM peut, à tout moment et sans préavis, modifier les produits et logiciels décrits dans ce document. Les références à des sites Web non-IBM sont fournies à titre d'information uniquement et n'impliquent en aucun cas une adhésion aux données qu'ils contiennent. Les éléments figurant sur ces sites Web ne font pas partie des éléments du présent produit IBM et l'utilisation de ces sites relève de votre seule responsabilité. IBM pourra utiliser ou diffuser, de toute manière qu'elle jugera appropriée et sans aucune obligation de sa part, tout ou partie des informations qui lui seront fournies. Les licenciés souhaitant obtenir des informations permettant : (i) l'échange des données entre des logiciels créés de façon indépendante et d'autres logiciels (dont celui-ci), et (ii) l'utilisation mutuelle des données ainsi échangées, doivent adresser leur demande à : IBM Bay Area Lab 1001 E Hillsdale Boulevard Foster City, California 94404 U.S.A. Ces informations peuvent être soumises à des conditions particulières, prévoyant notamment le paiement d'une redevance. Le logiciel sous licence décrit dans le présent document ainsi que tous les éléments sous licence mis à disposition pour ce logiciel sont fournis par IBM conformément aux dispositions de l'ICA (IBM Customer Agreement), des Conditions Internationales d'Utilisation de Logiciels IBM ou de tout autre accord équivalent. Les données de performance indiquées dans le présent document ont été déterminées dans un environnement contrôlé. Par conséquent, les résultats peuvent varier de manière significative selon l'environnement d'exploitation utilisé. Certaines mesures évaluées sur des systèmes en cours de développement ne sont pas garanties sur tous les systèmes disponibles. En outre, elles peuvent résulter d'extrapolations. Les résultats peuvent donc varier. Il incombe aux utilisateurs du présent document de vérifier si les données sont applicables à leur environnement d'exploitation. Les informations concernant des produits non IBM ont été obtenues auprès des fournisseurs de ces produits, par l'intermédiaire d'annonces publiques ou via d'autres sources disponibles. IBM n'a pas testé ces produits et ne peut confirmer l'exactitude de leurs performances ni leur compatibilité. Elle ne peut recevoir aucune réclamation concernant des produits non IBM. Toute question concernant les performances de produits non IBM doit être adressée aux fournisseurs de ces produits. Toute instruction relative aux intentions d'IBM pour ses opérations à venir est susceptible d'être modifiée ou annulée sans préavis, et doit être considérée uniquement comme un objectif. Le présent document peut contenir des exemples de données et de rapports utilisés couramment dans l'environnement professionnel. Ces exemples mentionnent des 48 IBM Marketing Center - Guide du développeur Web et du développeur de modèles noms fictifs de personnes, de sociétés, de marques ou de produits à des fins illustratives ou explicatives uniquement. Toute ressemblance avec des noms de personnes, de sociétés ou des données réelles serait purement fortuite. Marques IBM, le logo IBM et ibm.com sont des marques d'International Business Machines aux Etats-Unis et/ou dans certains autres pays. D'autres noms de services et de produits peuvent être des marques d'IBM ou d'autres sociétés. Une liste actualisée des marques IBM est disponible sur Internet dans la rubrique «Informations sur la marque et le copyright» à l'adresse www.ibm.com/legal/copytrade.shtml. Remarque sur les règles de confidentialité Les logiciels IBM, y compris le logiciel sous forme de services ("Offres logicielles") peuvent utiliser des cookies ou d'autres technologies pour collecter des informations sur l'utilisation des produits, pour aider à améliorer l'expérience de l'utilisateur final, pour personnaliser les interactions avec l'utilisateur final, etc. Un cookie est un fragment de données qu'un site Web peut envoyer à votre navigateur et qui peuvent être stockées sur votre ordinateur sous forme de balise identifiant la machine. Très souvent, aucune information personnelle n'est collectée par ces cookies. Si une offre logicielle vous permet de collecter des informations personnelles via des cookies et d'autres technologies similaires, vous trouverez ci-dessous des renseignements spécifiques les concernant. En fonction des configurations déployées, cette offre logicielle peut utiliser des cookies de session et persistants qui collectent le nom de chaque utilisateur et d'autres renseignements personnels ; ils servent à la gestion de la session, à une meilleure convivialité pour l'utilisateur et à des fins de suivi ou de fonctionnement. Ces cookies peuvent être désactivés, mais leur désactivation élimine la fonctionnalité qu'ils offrent. Plusieurs juridictions régulent la collecte d'informations personnelles via des cookies et des technologies similaires. Si les configurations déployées pour cette offre logicielle vous permettent en tant que client de collecter des informations personnelles d'utilisateurs finaux via des cookies et d'autres technologies, vous devez rechercher votre propre avis légal concernant les lois applicables à cette collecte de données, dont toute exigence de mention et d'accord lorsqu'approprié. IBM demande que les clients (1) fournissent un lien clair aux conditions d'utilisation du site Web (par exemple, les règles de confidentialité), avec un lien aux pratiques de collecte et d'utilisation de données client et IBM, (2) indiquent des cookies et des gifs transparents/pixels espions sont placés sur l'ordinateur du visiteur par IBM au nom du client, avec une explication sur l'objectif de cette technologie, et (3) dans la mesure autorisée par la loi, obtiennent l'accord des visiteurs du site Web avant le placement de cookies et de gifs transparents/pixels espions placés par le client ou par IBM pour le compte du client sur les appareils des visiteurs du site Web. Pour plus d'informations sur l'utilisation de diverses technologies, y compris les cookies, voir la déclaration de confidentialité en ligne d'IBM à l'adresse http://www.ibm.com/privacy/details/us/en, section “Cookies, Web Beacons and Other Technologies." Remarques 49 50 IBM Marketing Center - Guide du développeur Web et du développeur de modèles