Développement pour Marketing Cloud

Learn About Server-Side JavaScript / En savoir plus sur le JavaScript côté serveur

Learning Objectives / Objectifs de formation

After completing this unit, you’ll be able to: /Après avoir terminé cette unité, vous pourrez:

  • Review the fundamentals and syntax for server-side JavaScript (SSJS). / Passez en revue les principes fondamentaux et la syntaxe du JavaScript côté serveur (SSJS).
  • Know when to use Core and Platform SSJS libraries. / Savoir quand utiliser les bibliothèques Core et Platform SSJS.
  • Implement SSJS functions and operators. / Implémentez les fonctions et les opérateurs SSJS.
  • Work with SSJS examples and best practices. / Utilisez des exemples et des meilleures pratiques SSJS.

While Marketing Cloud offers an integrated programmatic language with AMPscript, it’s not always convenient to learn an entirely new way of interacting with a platform. / Bien que Marketing Cloud propose un langage de programmation intégré avec AMPscript, il n’est pas toujours pratique d’apprendre une toute nouvelle façon d’interagir avec une plate-forme.

To help developers get started more quickly, Marketing Cloud put together server-side JavaScript (SSJS). / Pour aider les développeurs à démarrer plus rapidement, Marketing Cloud a mis en place du JavaScript côté serveur (SSJS).

The syntax and format should look familiar to web developers, but Marketing Cloud customized the language to function specifically with Marketing Cloud activities. / La syntaxe et le format doivent sembler familiers aux développeurs Web, mais Marketing Cloud a personnalisé le langage pour fonctionner spécifiquement avec les activités de Marketing Cloud.

These functions don’t just allow access to Marketing Cloud activities—they also let you use  functionality that doesn’t exist in AMPscript. / Ces fonctions ne permettent pas seulement d’accéder aux activités de Marketing Cloud, elles vous permettent également d’utiliser des fonctionnalités qui n’existent pas dans AMPscript.

  • You can use arrays in SSJS. / Vous pouvez utiliser des tableaux dans SSJS.
  • You can use the EVAL function in SSJS. / Vous pouvez utiliser la fonction EVAL dans SSJS.
  • SSJS handles more advanced exception handling, including try catch blocks. / SSJS gère la gestion des exceptions plus avancée, y compris les blocs try catch.

Before diving in, remember that SSJS does not work with external JavaScript libraries and you can’t work with the DOM. / Avant de plonger, n’oubliez pas que SSJS ne fonctionne pas avec les bibliothèques JavaScript externes et que vous ne pouvez pas travailler avec le DOM.

SSJS Syntax and Personalization Strings / Syntaxe SSJS et chaînes de personnalisation

SSJS appears in Marketing Cloud as a code block, like this example. / SSJS apparaît dans Marketing Cloud comme un bloc de code, comme cet exemple.

<script runat=server language="JavaScript">
   [Insert JavaScript Here]
</script>

Or you can just open the block with <script runat=server> and simplify the whole matter. /Ou vous pouvez simplement ouvrir le bloc avec <script runat=server> et simplifier le tout.</p>

SSJS also offers personalization strings to insert values from several different sources. / SSJS propose également des chaînes de personnalisation pour insérer des valeurs provenant de plusieurs sources différentes.

  • ctrl:field—Subscriber and system attributes from lists and sendable data extensions / Abonnés et attributs système des listes et des extensions de données envoyables
  • ctrl:var—Variables / Variables
  • ctrl:eval—Functions and SSJS code expressions / Fonctions et expressions de code SSJS

Here are some examples. / Voici quelques exemples.

If you want to pull a contact’s full name into a landing page, you can use this example. / Si vous souhaitez insérer le nom complet d’un contact dans une page de destination, vous pouvez utiliser cet exemple.

<ctrl:field name=FullName />

This example returns the contactZIP variable, along with a default value if no value exists and a format for that number. / Cet exemple renvoie la variable contactZIP, ainsi qu’une valeur par défaut si aucune valeur n’existe et un format pour ce nombre.

<ctrl:var name=contactZIP default=46201 format=g />

If you want to make the variable value uppercase, you can use a function like this one. / Si vous souhaitez mettre la valeur de la variable en majuscule, vous pouvez utiliser une fonction comme celle-ci.

<ctrl:eval language=javascript default=none format=G>MyVal.toUpper()</ctrl:eval>

SSJS Libraries / Bibliothèques SSJS

SSJS offers two libraries, and you may notice some overlap between them. / SSJS propose deux bibliothèques, et vous remarquerez peut-être un certain chevauchement entre elles.

Both allow you to use standard JSON and JavaScript functionality, but you use the libraries at different times. / Les deux vous permettent d’utiliser les fonctionnalités JSON et JavaScript standard, mais vous utilisez les bibliothèques à des moments différents.

So how do you know which one to use? There’s a simple answer to that question. / Alors, comment savez-vous lequel utiliser? Il y a une réponse simple à cette question.

  • Are you including SSJS in email or SMS messages? Use the Platform library. / Incluez-vous SSJS dans les e-mails ou les SMS? Utilisez la bibliothèque Platform.
  • Are you building landing pages or applications? Use the Core library. / Créez-vous des pages de destination ou des applications? Utilisez la bibliothèque Core.

Platform functions resemble their AMPscript counterparts and always begin with the Platform prefix. / Les fonctions de la plateforme ressemblent à leurs homologues AMPscript et commencent toujours par le préfixe de la plateforme.

Otherwise, you can accomplish the same kinds of tasks as you can with AMPscript. / Sinon, vous pouvez accomplir les mêmes types de tâches qu’avec AMPscript.

  • Retrieve and modify account information. / Récupérez et modifiez les informations de compte.
  • Interact with account users. / Interagissez avec les utilisateurs du compte.
  • Interact with content areas. / Interagissez avec les zones de contenu.
  • Add, retrieve, delete, and update data extension information. / Ajoutez, récupérez, supprimez et mettez à jour les informations d’extension de données.
  • Perform date and time functions. / Exécuter des fonctions de date et d’heure.
  • Create and send email messages and triggered sends. / Créez et envoyez des e-mails et des envois déclenchés.
  • Create, retrieve, update, and delete subscriber information. / Créez, récupérez, mettez à jour et supprimez les informations des abonnés.
  • Interact with HTTP functions and information. / Interagissez avec les fonctions et les informations HTTP.
  • Use a variety of utility and evaluation functions. / Utilisez une variété de fonctions d’utilité et d’évaluation.

SSJS also supports these methods. / SSJS prend également en charge ces méthodes.

Method NameFunctionality
Nom de la méthodeFonctionnalité
AddInvokes the SOAP web service API Create method on an API object
AjouterAppelle la méthode Create API du service Web SOAP sur un objet API
RemoveInvokes the SOAP web service API Delete method on an API object
RetirerAppelle la méthode Delete d’API du service Web SOAP sur un objet API
UpdateInvokes the SOAP web service API Update method on an API object
Mise à jourAppelle la méthode de mise à jour de l’API du service Web SOAP sur un objet AP
RetrieveInvokes the SOAP web service API Retrieve method on an API object
RécupérerAppelle la méthode de récupération d’API du service Web SOAP sur un objet API

Next, let’s look at how to retrieve data with SSJS. / Ensuite, regardons comment récupérer des données avec SSJS.

This function pulls data from the same location as the AMPscript example in the previous unit. / Cette fonction extrait les données du même emplacement que l’exemple AMPscript dans l’unité précédente.

<script runat="server">
   var dataRows = Platform.Function.LookupRows('Purchases','MemberID',memID);
</script>

Now let’s expand on that function and write those rows to an email. / Développons maintenant cette fonction et écrivons ces lignes dans un e-mail.

<script runat="server">
   var dataRows = Platform.Function.LookupRows('CustomerData','Company','exampleCompany');
   if(dataRows &amp;&amp; dataRows.length > 0) {
      for(var i=0; i<dataRows.length; i++) {
         Platform.Response.Write(dataRows[i]["Email"]);
      }
   }
</script>

If you want to add some more content to an email message, you can bring in content areas using several methods, including the key value shown in this example. / Si vous souhaitez ajouter un peu plus de contenu à un e-mail, vous pouvez ajouter des zones de contenu à l’aide de plusieurs méthodes, notamment la valeur de clé indiquée dans cet exemple

<script runat="server">
   var content = Platform.Function.ContentBlockByKey("myExternalKey","impressionRegion",false,"defaultContentHere");
</script>

The additional parameters allow you to specify an impression region for the content area, choose whether the insertion call stops if it encounters an error, and insert some default content if your specific content area can’t be found. / Les paramètres supplémentaires vous permettent de spécifier une région d’impression pour la zone de contenu, de choisir si l’appel d’insertion s’arrête s’il rencontre une erreur et d’insérer du contenu par défaut si votre zone de contenu spécifique est introuvable.

Next, we take a closer look at Guide Template Language (GTL). / Ensuite, nous examinons de plus près le Guide Template Language (GTL).

Resources/Ressources

Leave a Reply

Your email address will not be published. Required fields are marked *