Query Data with SQL /Interroger des données avec SQL

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: /Une fois cette unite terminée, vous pourrez :

  • Define SQL and why it is used. /Définir SQL et savoir pourquoi il est utilisé.
  • Use SQL within Marketing Cloud. /Utiliser SQL dans Marketing Cloud.
  • Identify best practices for using SQL. /Identifier les meilleures pratiques d’utilisation de SQL.

What Is SQL? /Qu’est-ce que SQL?

You’ve moved in to Marketing Cloud, unpacked, and even started to arrange your space. /Vous avez emménagé dans Marketing Cloud, déballé et même commencé à organiser votre plateforme.

 Now for the finishing touches. As we mentioned earlier, Marketing Cloud data extensions and Contact Builder use a relational database. / Maintenant pour la touche finale. Comme nous l’avons mentionné précédemment, les extensions de données Marketing Cloud et Contact Builder utilisent une base de données relationnelle.

 So, you need a good way to get to all of that rich data. Enter: Structured Query Language (or SQL), a domain-specific language that can do just that. /Vous avez donc besoin d’un bon moyen d’accéder à toutes ces données riches. Utilisez: Structured Query Language (ou SQL), un langage spécifique au domaine qui peut faire exactement cela.

 In Marketing Cloud, an SQL query activity is used to execute queries and retrieve data for reporting or segmenting audiences. /Dans Marketing Cloud, une activité de requête SQL est utilisée pour exécuter des requêtes et récupérer des données pour la génération de rapports ou la segmentation d’audiences.

Use SQL in Marketing Cloud / Utiliser SQL dans Marketing Cloud

First, let’s review how a few specific SQL commands are used in Marketing Cloud. / Tout d’abord, revoyons comment quelques commandes SQL spécifiques sont utilisées dans Marketing Cloud.

  • SELECT: command to locate data on a database /SELECT: commande pour localiser les données dans une base de données
  • FROM: location where data reside within Marketing Cloud (usually a data extension) /FROM: emplacement où résident les données dans Marketing Cloud (généralement une extension de données)
  • JOIN: allows the query to search multiple tables and/or data extensions /JOIN: permet à la requête de rechercher plusieurs tables et / ou extensions de données
  • WHERE: used to filter out data you do/don’t want / : utilisé pour filtrer les données que vous soutaitez / ne souhaitez pas

Here’s an example. /Voici un exemple.

SELECT emailaddress as ‘Email_Address’, favoritecolor as ‘Favorite_Color’
FROM [MasterData Extension] m
INNER JOIN JuneMarketingSend j
ON m.emailaddress = j.emailaddress
WHERE m.emailaddress is not NULL

Need a translation? Running this query retrieves email and favorite color from the master data extension, and joins it with any matching email addresses from the June marketing send. / Besoin d’une traduction? L’exécution de cette requête récupère les e-mails et la couleur préférée de l’extension des données de base et les joint à toutes les adresses e-mail correspondantes de l’envoi marketing de juin.

Additionally, it only returns emails that are not missing. /De plus, il ne renvoie que les e-mails qui ne manquent pas.

Also notice the m and the j. These are SQL aliases that are used to give a table, or a field in a table, a temporary name. / Notez également le m et le j. Ce sont des alias SQL qui sont utilisés pour donner un nom temporaire à une table ou à un champ d’une table.

 This is especially helpful when you have a common field name between data extensions, like CustomerID or EmailAddress. You can also see it written like the following. /Cela est particulièrement utile lorsque vous avez un nom de champ commun entre les extensions de données, comme CustomerID ou EmailAddress. Vous pouvez également le voir écrit comme suit.

SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders AS o
WHERE c.CustomerID=o.CustomerID

Note /Remarque

SQL commands are not case sensitive: select is the same as SELECT. / Les commandes SQL ne sont pas sensibles à la casse: select est identique à SELECT.

SQL Data Views / Vues de données SQL

System data views are Salesforce-created queries that you can use to find information about your subscribers. /Les vues de données système sont des requêtes créées par Salesforce que vous pouvez utiliser pour rechercher des informations sur vos abonnés.

 Just remember, you won’t be able to make changes to these precreated data views. Here are some of the most commonly used views. /N’oubliez pas que vous ne pouvez pas modifier ces vues de données précréées. Voici quelques-unes des vues les plus utilisées.

Data ViewQueryInformation
Bounce_bounceIdentify and then suppress commonly bounced email addresses from sends. /Identifiez, puis supprimez les adresses e-mail couramment renvoyées des envois.  
Click and Open_Click

_Open
Query these data views in Automation Studio to view click and open data for emails from your Marketing Cloud account. / Recherchez ces vues de données dans Automation Studio pour afficher les données de clic et d’ouverture des e-mails de votre compte Marketing Cloud.

Helps to identify additional messaging opportunities by indicating subscriber engagement on a specific JobID. /Aide à identifier des opportunités de messagerie supplémentaires en indiquant l’engagement des abonnés sur un JobID spécifique.
Complaint_ComplaintQuery this data view in Automation Studio to view complaints data related to emails from your Marketing Cloud account. / Recherchez cette vue de données dans Automation Studio pour afficher les données relatives aux plaintes liées aux e-mails de votre compte Marketing Cloud.

Use to prune your lists to ensure more accurate audiences and improve deliverability. /Utilisez pour affiner vos listes pour garantir des audiences plus précises et améliorer la dérivabilité.
Journey_JourneyFind a journey’s status, created and last modified date, and other general journey information using this Journey Builder data view. / Trouvez le statut d’un parcours, la date de création et la dernière modification et d’autres informations générales sur le parcours à l’aide de cette vue de données Journey Builder.

Note/Remarque

Click and open tracking data displays in Central Standard Time, does not observe Daylight Savings Time, and is rounded to the nearest second. /Cliquez et ouvrez les données de suivi s’affichent en heure normale centrale, ne tient pas compte de l’heure d’été et sont arrondies à la seconde la plus proche.

So how do you use these data views? / Alors, comment utiliser ces vues de données?

First create a data extension to store the data you need from these views, then navigate to Automation Studio to create a query activity based on the desired data view table. /Créez d’abord une extension de données pour stocker les données dont vous avez besoin à partir de ces vues, puis accédez à Automation Studio pour créer une activité de requête basée sur la table de vue de données souhaitée.

After you complete and run the automation, the output is stored in your created data extension. /Une fois l’automatisation terminée et exécutée, la sortie est stockée dans votre extension de données créée.

Here is a query example that pulls data from the complaint data view for the last 6 months and provides SubscriberKey, JobIDs, and Bounce Reasons. /Voici un exemple de requête qui extrait des données de la vue des données de réclamation pour les 6 derniers mois et fournit SubscriberKey, JobIDs et Bounce Reasons.

SELECT SubscriberKey,JobID,SMTPBounceReason
FROM _Complaint

Joining Data with SQL / Joindre des données avec SQL

Beyond data views, SQL queries can also be customized to solve for a variety of business needs. / Au-delà des vues de données, les requêtes SQL peuvent également être personnalisées pour répondre à divers besoins de l’entreprise.

Say you want to send an email that has data stored in the send log and data found in your customer data extension. / Supposons que vous souhaitez envoyer un e-mail contenant des données stockées dans le journal d’envoi et des données trouvées dans votre extension de données client.

To craft these queries, you’ll want to understand the concept of joins—or taking data from one source and joining it with data from another source. /Pour créer ces requêtes, vous devez comprendre le concept de jointures, ou prendre des données d’une source et les associer à des données d’une autre source.

SQL joins can be complex, so let’s review some join scenarios using a Venn diagram. / Les jointures SQL peuvent être complexes, examinons donc certains scénarios de jointure à l’aide d’un diagramme de Venn.

SQL joins graphic with diagrams 1-7, showing groupings of data from A or B.

Let’s start with the top row, known as the left and right joins. /Commençons par la ligne du haut, appelée jointure gauche et droite.

Diagram 1: Left Outer Join

You want all records from data extension A, plus matching records in the data extension B. / Vous voulez tous les enregistrements de l’extension de données A, ainsi que les enregistrements correspondants dans l’extension de données B.

SELECT *
FROM DataExtension A
LEFT JOIN DataExtension B
ON A.Field = B.Field

Sample Result /Exemple de résultat

Data Extension AData Extension B
NameEmailNameEmail
Joejoe@email.comJoejoe@email.com
Jennjenn@email.comnullnull
Justinjustin@email.comnullnull

Diagram 2: Left Outer Join with Exclusions

In this join, we exclude the records we don’t want from data extension B. /Dans cette jointure, nous excluons les enregistrements que nous ne voulons pas de l’extension de données B.

SELECT *
FROM DataExtension A
LEFT JOIN DataExtension B
ON A.Field = B.Field
WHERE B.Field IS NULL

Sample Result /Exemple de résultat

Data Extension AData Extension B
NameEmailNameEmail
Joejoe@email.comnullnull
Jennjenn@email.comnullnull
Justinjustin@email.comnullnull

Diagram 3 and 4: Right Joins

As for the right joins, they’re the reverse of the previous scenarios. /Quant aux jointures de droite, elles sont l’inverse des scénarios précédents.

DiagramCode
3SELECT * FROM DataExtension A RIGHT JOIN DataExtension B ON A.Field = B.Field
4SELECT * FROM DataExtension A RIGHT JOIN DataExtension B ON A.Field = B.Field WHERE A.Field IS NULL

Now let’s look at inner and outer joins. /Voyons maintenant les jointures internes et externes.

SQL joins graphic with diagrams 1-7

Diagram 5: Inner Join

This query returns records that have matching values in both data extensions. /Cette requête renvoie des enregistrements qui ont des valeurs correspondantes dans les deux extensions de données.

SELECT *
FROM DataExtension A
INNER JOIN DataExtension B
ON A.Field = B.Field

Sample Result /Exemple de résultat

Data Extension AData Extension B
NameEmailNameEmail
Joejoe@email.comJoejoe@email.com
Jonathanjonathan@email.comJonathanjonathan@email.com

Diagram 6: Full Outer Join

Full outer joins return all matching records from both data extensions. /Les jointures externes complètes renvoient tous les enregistrements correspondants des deux extensions de données.

SELECT *
FROM DataExtension A
FULL OUTER JOIN DataExtension B
ON A.Field = B.Field

Sample Result /Exemple de résultat

Data Extension AData Extension B
NameEmailNameEmail
Joejoe@email.comJoejoe@email.com
Jennjenn@email.comnullnull
Justinjustin@email.comnullnull
nullnullJenniferjennifer@email.com
Jonathanjonathan@email.comJonathanjonathan@email.com

Diagram 7: Outer Join 

Returns all matching records from both data extensions, minus the records we don’t want. /Renvoie tous les enregistrements correspondants des deux extensions de données, moins les enregistrements dont nous ne voulons pas.

SELECT *
FROM DataExtension A
FULL OUTER JOIN DataExtension B
ON A.Field = B.Field
WHERE A.Field IS NULL OR B.Field IS NULL

Sample Result /Exemple de résultat

Data Extension A Data Extension B
NameEmailNameEmail
Joejoe@email.comnullnull
Jennjenn@email.comnullnull
Justinjustin@email.comnullnull
nullnullJenniferjennifer@email.com
nullnullJonathanjonathan@email.com

Note/Remarque

Be wary of outer joins as they can potentially return very large result sets! / Méfiez-vous des jointures externes car elles peuvent potentiellement renvoyer de très grands ensembles de résultats!

See SQL in Action /Voir SQL en action

Cloud Kicks has decided to send an exclusive offer to customers who have opened an email in the last 6 months and have made a purchase during that time/Cloud Kicks a décidé d’envoyer une offre exclusive aux clients qui ont ouvert un e-mail au cours des 6 derniers mois et qui ont effectué un achat pendant cette période. L’architecte

Solution Architect Maggie Quinn needs to complete this task by using a SQL query. Let’s follow along. / L’architecte de solution Maggie Quinn doit effectuer cette tâche à l’aide d’une requête SQL. Suivons.

Maggie starts by creating a data extension to store the information about the customers that meet this criteria. / Maggie commence par créer une extension de données pour stocker les informations sur les clients qui répondent à ces critères.

She then navigates to Automation Studio and follows these steps. /Elle accède ensuite à Automation Studio et suit ces étapes.

  1. Click New Automation. /Cliquez sur Nouvelle automatisation.
  2. Select a starting source from Schedule or File Drop. /Sélectionnez une source de départ dans Schedule ou File Drop.
  3. Drag SQL Query to workflow and click Choose. (You can select an existing query or create a new query.) /Faites glisser la requête SQL vers le flux de travail et cliquez sur Choisir. (Vous pouvez sélectionner une requête existante ou créer une nouvelle requête.)
  4. Select Create New Query Activity. /Sélectionnez Créer une nouvelle activité de requête.
  5. Add query properties: name, external key, folder location, and description. /Ajoutez des propriétés de requête: nom, clé externe, emplacement du dossier et description.
  6. Next, build your SQL query. /Ensuite, générez votre requête SQL.

Maggie uses this query. /Maggie utilise cette requête.

SELECT c.EmailAddress, c.CustomerID, c.First_Name
FROM Customers c
INNER JOIN Purchases p
ON c.CustomerID = p.CustomerID
WHERE [Purchase Date] > DateAdd(month, -6, GetDate()) AND [Open Date] > DateAdd(month, -6, GetDate())

Note /Remarque

Data extensions and field names with spaces in their names need to be enclosed in [  ] brackets. /Les extensions de données et les noms de champ avec des espaces dans leurs noms doivent être placés entre crochets []

Once completed, she follows the remaining steps. /Une fois terminée, elle suit les étapes restantes.

  1. Click Validate Syntax. /Cliquez sur Valider la syntaxe.
  2. Choose the data extension created to store the query results. /Choisissez l’extension de données créée pour stocker les résultats de la requête.
  3. Choose the data action the query activity performs: Append, Update, or Overwrite. /Choisissez l’action de données que l’activité de requête effectue: ajouter, mettre à jour ou remplacer.
  4. Click Save. /Cliquez sur Enregistrer.

Once she is ready, Maggie can run the automation. /Une fois qu’elle est prête, Maggie peut exécuter l’automatisation.

Common SQL Queries /Requêtes SQL courantes

Parent Accounts /Comptes parents

You can query data extensions in the Shared Data Extension folder from the parent account by adding the prefix ent. to the data extension name in the query. /Vous pouvez interroger les extensions de données dans le dossier Shared Data Extension du compte parent en ajoutant le préfixe ent. au nom de l’extension de données dans la requête.

SELECT EmailAddress
FROM ent.MasterDataExtension

All the Data /Toutes les données

Sometimes you want everything. /Parfois, vous voulez tout.

SELECT *
FROM MasterDataExtension

Use SELECT * very carefully as this can cause slowness in the system as it is processing a large amount of data. /Utilisez SELECT * très soigneusement car cela peut entraîner une lenteur dans le système car il traite une grande quantité de données.

The larger the dataset, the greater time and effort the system has to use to obtain the data. Queries time-out after 30 minutes, and the more data to process, the more likely the query can time out. /Plus l’ensemble de données est volumineux, plus le système doit consacrer de temps et d’efforts pour obtenir les données. Le délai des requêtes expire après 30 minutes, et plus il y a de données à traiter, plus la requête peut expirer.

To help with this, it is more effective to provide the exact fields you are looking for in the query. /Pour vous aider, il est plus efficace de fournir les champs exacts que vous recherchez dans la requête

SELECT field1, field2, field3
FROM MasterDataExtension

SQL is something you can spend years mastering, but for now, you have the basics. /SQL est quelque chose que vous pouvez passer des années à maîtriser, mais pour l’instant, vous avez les bases.

We hope you—and your data—are feeling settled in your new home. And we can’t wait to see what you achieve with the power of your Marketing Cloud data! /Nous espérons que vous – et vos données – vous sentez installés dans votre nouvelle maison. Et nous avons hâte de voir ce que vous réaliserez avec la puissance de vos données Marketing Cloud!

Resources /Ressources

Collect Data with a Send Log/Collecter des données avec un journal d’envoi

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: /Une fois cette unite terminée, vous pourrez :

  • Explain what a send log is and how it is used. /Expliquez ce qu’est un journal d’envoi et comment il est utilisé.
  • Configure an email send log in your account. /Configurez un journal d’envoi d’e-mails dans votre compte.
  • Enable send logging in your send interactions. /Activez la journalisation des envois dans vos interactions d’envoi.

What Is a Send Log? /Qu’est-ce qu’un journal d’envoi?

A send log is a data extension that is created to store specific data about your email sends—beyond the information already stored in tracking. /Un journal d’envoi est une extension de données créée pour stocker des données spécifiques sur vos envois de courrier électronique, au-delà des informations déjà stockées dans le suivi

Standard tracking options in Marketing Cloud store email send performance based on a job ID (or a system created ID) at the time of send. /Les options de suivi standard dans les performances d’envoi d’e-mails du magasin Marketing Cloud sont basées sur un ID de travail (ou un ID créé par le système) au moment de l’envoi.

You can use a send log to track additional information about the send, based on what matters most to your business. /Vous pouvez utiliser un journal d’envoi pour suivre des informations supplémentaires sur l’envoi, en fonction de ce qui compte le plus pour votre entreprise.

Things to Consider/Choses à considérer

Before you create your send log, confirm that your account has send logging and data extensions configured. /Avant de créer votre journal d’envoi, vérifiez que votre compte a configuré la journalisation d’envoi et les extensions de données.

Additionally, if you have an Enterprise 2.0 account, determine if you want to have the send log in the enterprise account or in the individual child accounts. /En outre, si vous avez un compte Enterprise 2.0, déterminez si vous souhaitez que le journal d’envoi dans le compte d’entreprise ou dans les comptes enfants individuels.

Business Unit “Child” Send Log /Envoi du journal de l’unité commerciale «Enfant»Business Unit “Child” Send Log /Envoi du journal de l’unité commerciale «Enfant»
Pros /AvantagesGood for reporting on emails across business units. /Idéal pour les rapports sur les e-mails dans les unités commercialesGood for reporting on business unit specific campaigns. /Idéal pour les rapports sur les campagnes spécifiques aux unités commerciales
Cons /Les inconvénientsCan get very large, quickly, therefore it is important to establish a data retention policy. /Peut devenir très volumineux, rapidement, il est donc important d’établir une politique de conservation des données.Doesn’t show a big picture across lines of business. /N’affiche pas une vue d’ensemble des secteurs d’activité.

Send Log Fields /Envoyer des champs de journal

Next, review your current reporting and determine what data is most helpful to have to enhance those reporting options. /Ensuite, examinez vos rapports actuels et déterminez quelles données sont les plus utiles pour améliorer ces options de rapports.

Review your sendable data extensions and notice commonly used fields. /Passez en revue vos extensions de données envoyables et notez les champs couramment utilisés.

While you can add new fields later to the send log, it is better to add all possible required fields at the beginning, since historical data can’t be added after the send log has been created. /Bien que vous puissiez ajouter de nouveaux champs ultérieurement au journal d’envoi, il est préférable d’ajouter tous les champs obligatoires possibles au début, car les données historiques ne peuvent pas être ajoutées après la création du journal d’envoi.

Email Send Log /Courriel d’envoi
Default Data in Template: /Données par défaut dans le modèle:

-JobID: The numeric identifier of a traditional email send. /JobID: identifiant numérique d’un envoi d’e-mail traditionnel.

-ListID: The unique identifier created by the application. /ListID: l’identifiant unique créé par l’application.

-BatchID: A number that identifies the batch associated with a Triggered Email Send event. It is used to differentiate between multiple sends to the same Subscriber using a single Job. /BatchID: numéro qui identifie le lot associé à un événement d’envoi d’e-mail déclenché. Il est utilisé pour différencier plusieurs envois vers le même abonné à l’aide d’un seul travail.

-SubID: The SubscriberID associated to the receiver of the email. /SubID: SubscriberID associé au destinataire de l’e-mail.

-TriggeredSendID: The numeric identifier of the triggered send./TriggeredSendID: identificateur numérique de l’envoi déclenché

ErrorCode: Identifies any error found in a send. /ErrorCode: identifie toute erreur trouvée dans un envoi.
Common Custom Fields: /Champs personnalisés courants:

-Subscriber-level info (email address, subscriber key, anniversary date, and so on)/Informations au niveau de l’abonné (adresse e-mail, clé d’abonné, date d’anniversaire, etc.)
-Email or campaign name /Adresse e-mail ou nom de la campagne

-Internal campaign ID/code /ID / code de campagne interne

-Send date (dates added are in UTC-6) /Date d’envoi (les dates ajoutées sont en UTC-6)

Note /REMARQUE

It’s best practice to add 10 or fewer custom fields to the send log. /Il est recommandé d’ajouter au moins 10 champs personnalisés au journal d’envoi.

Create Your Send Log /Créez votre journal d’envoi

It’s a great idea to set up your send log before you start sending campaigns—since you can’t add historical data—but that’s not always possible (and that’s okay). /C’est une bonne idée de configurer votre journal des envois avant de commencer à envoyer des campagnes, car vous ne pouvez pas ajouter de données historiques, mais ce n’est pas toujours possible (et c’est correct).

Let’s check in with Maggie, Cloud Kicks’s solution architect, to see how she configures the company’s send log. She starts by navigating to the Subscribers tab in Email Studio. Next, she follows these steps. /Retrouvons Maggie, l’architecte de la solution Cloud Kicks, pour voir comment elle configure le journal des envois de l’entreprise. Elle commence par accéder à l’onglet Abonnés dans Email Studio. Ensuite, elle suit ces étapes

Properties /Propriétés

  1. Click Data Extensions and Create. /Cliquez sur Extensions de données et créer.
  2. Select Standard Data Extension method and click OK. /Sélectionnez la méthode d’extension de données standard et cliquez sur OK.
  3. Select Create From Template in the Creation Method dropdown list. /Sélectionnez Créer à partir d’un modèle dans la liste déroulante Méthode de création.
  4. Choose the template called SendLog and click Select. /Choisissez le modèle appelé SendLog et cliquez sur Sélectionner.
  5. Enter a name, an external key, and description, if desired. /Saisissez un nom, une clé externe et une description, si vous le souhaitez.
  6. Leave the checkbox next to Is Sendable? unchecked. /Laissez la case à côté de Est-il possible d’envoyer? décochée.
  7. Click Next. /Cliquez sur Suivant.
Create a Send Log New Data Extension

Data Retention Policy /Politique de conservation des données

  1. Select retention setting to either On or Off. /Sélectionnez le paramètre de rétention sur On ou Off.
  2. If on, determine what to delete: Individual Records, All records and data extensions, or All records. /Si cette option est activée, déterminez les éléments à supprimer: enregistrements individuels, tous les enregistrements et extensions de données ou tous les enregistrements
  3. Set the period of time for deletion. /Définissez la période de suppression.
  4. Click Next./Cliquez sur Suivant.

Note /REMARQUE

While not required, we strongly recommend you use a data retention policy on your send logs to limit the amount of data stored. /Bien que cela ne soit pas obligatoire, nous vous recommandons fortement d’utiliser une politique de conservation des données sur vos journaux d’envoi pour limiter la quantité de données stockées.

Send logs can grow quickly and retaining unneeded amounts of data can cause performance issues. /Les journaux d’envoi peuvent se développer rapidement et la conservation de quantités de données inutiles peut entraîner des problèmes de performances.

Fields /Des champs

  1. Create additional fields for all fields you want recorded in your send log data extension. (Default fields are preadded and uneditable.) /Créez des champs supplémentaires pour tous les champs que vous souhaitez enregistrer dans votre extension de données de journal d’envoi. (Les champs par défaut sont préchargés et non modifiables.)
  2. Click Create when finished. /Cliquez sur Créer lorsque vous avez terminé.
Send log creation screen

Note/rEMARQUE

To help with data processing, minimize the length of the fields to the size required for the expected data. /Pour faciliter le traitement des données, réduisez la longueur des champs à la taille requise pour les données attendues.

Prep Your Messages for Logging /Préparez vos messages pour la journalisation

To make the most of your send log, it’s important to ensure your sendable data extensions use the exact same names as the columns in the send log data extension. /Pour tirer le meilleur parti de votre journal d’envoi, il est important de vous assurer que vos extensions de données envoyables utilisent exactement les mêmes noms que les colonnes de l’extension des données du journal d’envoi.

It can be helpful to create a template that is used for all sends that need to be tracked using the send log. / Il peut être utile de créer un modèle utilisé pour tous les envois qui doivent être suivis à l’aide du journal des envois.

Additionally, make sure your emails are enabled for send logging. It’s as easy as checking a box (seriously). /De plus, assurez-vous que vos e-mails sont activés pour l’envoi de journaux. C’est aussi simple que de cocher une case (sérieusement).

Every send, whether from Content Builder, a User-Initiated Send, or a Triggered Email Send interaction, needs to have the checkbox selected for Retain Send Log Data. /Chaque envoi, qu’il s’agisse de Content Builder, d’un envoi initié par l’utilisateur ou d’une interaction d’envoi d’e-mail déclenché, doit avoir la case à cocher sélectionnée pour Conserver les données du journal d’envoi.

Retain Send Log Data checked in Send Email screen

Note /rEMARQUE

FYI, Content Builder test sends are not recorded on Send Log Data Extensions. /Pour info, les envois de test de Content Builder ne sont pas enregistrés dans Send Log Data Extensions.

Now that data is flowing into the send log, you can do lots of cool things with this information, including running a query activity within the send log data extension. /Maintenant que les données circulent dans le journal d’envoi, vous pouvez faire beaucoup de choses intéressantes avec ces informations, y compris l’exécution d’une activité de requête dans l’extension de données du journal d’envoi.

New to query activities? No problem. You learn more about query activities using SQL in the next unit. /Vous débuté sur la consultation des activités? Aucun problème. Vous en apprendrez plus sur les activités de requête à l’aide de SQL dans l’unité suivante.

Resources /Ressources

Move Your Data /Déplacez vos données

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: /Une fois cette unite terminée, vous pourrez :

  • Set up a secure FTP account. /Configurez un compte FTP sécurisé.
  • Create an import activity in Automation Studio. /Créez une activité d’importation dans Automation Studio.

Set Up Your FTP Account /Configurer votre compte FTP

A File Transfer Protocol (FTP) is a standard protocol for securely moving files between environments. /Un File Transfer Protocol (FTP) est un protocole standard pour déplacer des fichiers en toute sécurité entre des environnements.

Before you can officially move into Marketing Cloud and begin creating imports, you need to set up any FTP accounts that you’ll be using. /Avant de pouvoir passer officiellement à Marketing Cloud et commencer à créer des importations, vous devez configurer tous les comptes FTP que vous utiliserez.

Each Marketing Cloud account comes with a Secure FTP (or SFTP) that needs to be configured before you do any import activities. /Chaque compte Marketing Cloud est livré avec un FTP sécurisé (ou SFTP) qui doit être configuré avant d’effectuer des activités d’importation. 

Note /Remarque

You can have one SFTP per Enterprise account or separate SFTPs for each child account or Member ID (MID). /Vous pouvez avoir un SFTP par compte d’entreprise ou des SFTP distincts pour chaque compte enfant ou ID de membre (MID).

Here’s how to get your Marketing Cloud SFTP set up. /Voici comment configurer votre SFTP Marketing Cloud.

  1. Navigate to Setup and then Data Management. /Accédez à Configuration puis à Gestion des données.
  2. Select FTP Accounts. /Sélectionnez Comptes FTP.
  3. Click Add FTP User. /Cliquez sur Ajouter un utilisateur FTP.
Add FTP User in FTP Account setup

By default, the username is your Marketing Cloud MID. /Par défaut, le nom d’utilisateur est votre MID Marketing Cloud.

  1. Enter a password for the user. /Saisissez un mot de passe pour l’utilisateur.
  2. Reenter the initial password and click Save. /Saisissez à nouveau le mot de passe initial et cliquez sur Enregistrer.

Note /Remarque

Be sure to use a unique password to access the folder. (Psst! It shouldn’t be the same password you use to log in to Marketing Cloud.) /Assurez-vous d’utiliser un mot de passe unique pour accéder au dossier. (Psst! Il ne doit pas être même mot de passe que celui que vous utilisez pour vous connecter à Marketing Cloud.)

All set! Now your FTP site can be accessed at the unique URL found under FTP Site Information. Marketing Cloud automatically creates Import, Export, and Reports folders in your SFTP folder. Don’t delete these folders! Trust us, they’re important. /Tout est prêt! Vous pouvez désormais accéder à votre site FTP à l’URL unique située sous Informations sur le site FTP. Marketing Cloud crée automatiquement des dossiers d’importation, d’exportation et de rapports dans votre dossier SFTP. Ne supprimez pas ces dossiers! Faites-nous confiance, ils sont importants.

Your data sources may use other external FTP or SFTP locations—so be sure to connect those to Marketing Cloud too! Learn more about how to configure these on the Create a File Transfer Location help page. /Vos sources de données peuvent utiliser d’autres emplacements FTP ou SFTP externes. Assurez-vous donc de les connecter également à Marketing Cloud! Découvrez comment les configurer sur la page d’aide Créer un emplacement de transfert de fichiers.

File Handling /Gestion des fichiers

Let’s take a minute to discuss the files you plan to import. If your files are encrypted or zipped, a file transfer activity is needed before you can import the file into Marketing Cloud. /Prenons une minute pour discuter des fichiers que vous prévoyez d’importer. Si vos fichiers sont cryptés ou zippés, une activité de transfert de fichiers est nécessaire avant de pouvoir importer le fichier dans Marketing Cloud.

A file transfer activity is a two-step process in Automation Studio that 1) transfers the file to the safehouse (more on that in a minute) and 2) decrypts or unzips the file to prep for import. /Une activité de transfert de fichiers est un processus en deux étapes dans Automation Studio qui 1) transfère le fichier vers le coffre-fort (plus d’informations en une minute) et 2) décrypte ou décompresse le fichier pour le préparer à l’importation.

The safehouse is where Marketing Cloud stores decrypted or unzipped files for a short period of time. /Le refuge est l’endroit où Marketing Cloud stocke les fichiers déchiffrés ou décompressés pendant une courte période.

Note /Remarque

Only authenticated users can access safehouse locations, which reside on highly redundant, highly available central storage servers. /Seuls les utilisateurs authentifiés peuvent accéder aux emplacements de refuge, qui résident sur des serveurs de stockage central hautement redondants et hautement disponibles.

Import Your Data /Importez vos données

Temporary storage is exactly that, temporary. Marketing Cloud removes files from the SFTP and the safehouse after 21 days. /Le stockage temporaire est exactement cela, temporaire. Marketing Cloud supprime les fichiers du SFTP et du coffre-fort après 21 jours.

So we need to get your data out of there—grab a dolly and let’s get moving! / Nous devons donc extraire vos données de là-bas: prenez un chariot et allons-y!

There are three ways to get data into Marketing Cloud. Let’s take a closer look. /Il existe trois méthodes pour importer des données dans Marketing Cloud. Regardons de plus près.

Manual Importing (Email Studio)Import Definition (Contact Builder)Import Activity (Automation Studio)
Description/ DescriptionYou can import any data type into Marketing Cloud manually by navigating to the data extension and clicking on the Records tab. From there, click Import. /Vous pouvez importer n’importe quel type de données dans Marketing Cloud manuellement en accédant à l’extension de données et en cliquant sur l’onglet Enregistrements.
Follow the instructions on screen to import your data into the data extension. /De là, cliquez sur Importer. Suivez les instructions à l’écran pour importer vos données dans l’extension de données.
You can create a reusable import definition within Contact Builder. /Vous pouvez créer une définition d’importation réutilisable dans Contact Builder.
To run this import definition in Contact Builder, click the action icon in the row of the definition you want to trigger./Pour exécuter cette définition d’importation dans Contact Builder, cliquez sur l’icône d’action dans la ligne de la définition que vous souhaitez déclencher.
Create an import definition or reuse an existing one from either Contact Builder or Automation Studio. /Créez une définition d’importation ou réutilisez une définition existante depuis Contact Builder ou Automation Studio.
Once you create the import definition, add steps to the automation and define when you want the automation to run. /Une fois que vous avez créé la définition d’importation, ajoutez des étapes à l’automatisation et définissez quand vous souhaitez que l’automatisation s’exécute.
Pros /Avantages* Easy to use
* Allows you to import a record from your desktop vs. an FTP
/*Facile à utiliser
*Vous permet d’importer un enregistrement à partir de votre bureau vs FTP
*Helps with planning
*Can be used in a future automation, or can be used with an API call
/*Aide à la planification
*Peut être utilisé dans une future automatisation, ou peut être utilisé avec un appel API
*Automated
*Can be easily scheduled /*Automatique
*Peut être facilement programmé
Cons /InconvénientsCan’t be automated /Ne peut pas être automatiséCan’t be automated /Ne peut pas être automatiséInitial setup is more complex /La configuration initiale est plus complexe

Next, let’s take a closer look at creating import activities in Automation Studio. /Ensuite, regardons de plus près la création d’activités d’importation dans Automation Studio.

Automate Your Data Imports /Automatisez vos importations de données

Remember Maggie from Cloud Kicks? She needs to set up a scheduled nightly automation to import data from website purchases into Marketing Cloud. /Vous vous souvenez de Maggie de Cloud Kicks? Elle doit configurer une automatisation nocturne programmée pour importer les données des achats de sites Web dans Marketing Cloud.

Here’s how she does it. She first reviews the purchases data extension and confirms that it has all the required fields. /Voici comment elle le fait. Elle examine d’abord l’extension des données d’achats et confirme qu’elle contient tous les champs requis.

Next, she navigates to Automation Studio and clicks New Automation. Here are the options she has for a Starting Source. /Ensuite, elle accède à Automation Studio et clique sur Nouvelle automatisation. Voici les options qu’elle a pour une source de départ.

Source & OptionDescription When to Use
Schedule – None (run once) /Calendrier-Aucun (exécuté une fois) Automation runs once. /L’automatisation s’exécute une fois.You will not use the automation regularly. /Vous n’utiliserez pas l’automatisation régulièrement.
Schedule /ProgrammerAutomation runs based on definition (hourly to yearly). /L’automatisation s’exécute selon la définition (horaire à annuelle).You want to consistently update data based on time of day. /Vous souhaitez mettre à jour régulièrement les données en fonction de l’heure de la journée.
File Drop – No Filename Pattern /Suppression de fichiers – Aucun modèle de nom de fichierAutomation runs when a file is dropped into a designated FTP folder regardless of naming convention. This creates a new folder for each automation. /L’automatisation s’exécute lorsqu’un fichier est déposé dans un dossier FTP désigné, quelle que soit la convention de dénomination. Cela crée un nouveau dossier pour chaque automatisation.You want data to be updated when the data is ready. /Vous souhaitez que les données soient mises à jour lorsque les données sont prêtes.

File Drop – Use Filename Pattern /Suppression de fichiers – Utiliser le modèle de nom de fichierAutomation runs when a file is dropped into a designated FTP folder only if the file includes a designated filename pattern.
(If you have multiple files you plan to drop into that folder, use a unique filename pattern.) /L’automatisation s’exécute lorsqu’un fichier est déposé dans un dossier FTP désigné uniquement si le fichier comprend un modèle de nom de fichier désigné.
(Si vous prévoyez de déposer plusieurs fichiers dans ce dossier, utilisez un modèle de nom de fichier unique.)
You want a specific data extension to be updated when the data is ready. /Vous souhaitez qu’une extension de données spécifique soit mise à jour lorsque les données sont prêtes.

Since Maggie knows she wants her import to run nightly, she chooses Schedule as her Starting Source and configures the automation. /Étant donné que Maggie sait qu’elle souhaite que son importation soit exécutée tous les soirs, elle choisit Schedule comme source de départ et configure l’automatisation.

File Transfer Activity / Activité de transfert de fichiers

Remember how we discussed file handling steps? Here is where those steps come into play. Maggie needs to import a zipped file from Marketing Cloud’s SFTP, so she follows these steps. /Rappelez-vous de nos échanges sur les étapes de gestion des fichiers? Voici où ces étapes entrent en jeu. Maggie doit importer un fichier compressé à partir du SFTP de Marketing Cloud, elle suit donc ces étapes.

  1. Drag over File Transfer activity to the workflow and then Choose to configure. /Faites glisser l’activité de transfert de fichiers vers le flux de travail, puis choisissez de configurer.
  2. Click Create New File Transfer Activity. /Cliquez sur Créer une nouvelle activité de transfert de fichiers.
  3. Enter a Name and select a File Action of Manage File. /Entrez un nom et sélectionnez une action de fichier de Gérer le fichier.
  4. Enter a description, and click Next. /Saisissez une description et cliquez sur Suivant.
Properties screen for file transfer activity. Manage File being selected

Maggie then enters a file naming pattern for the file. /Maggie entre ensuite un modèle de dénomination de fichier pour le fichier.

She copies this name to a notepad, to easily paste the exact name in the next step. She then selects the Source File Location./Elle copie ce nom dans un bloc-notes, pour coller facilement le nom exact à l’étape suivante. Elle sélectionne ensuite l’emplacement du fichier source.

Configuration screen in file transfer activity.

She reviews any File Management actions or Qualifications and then clicks Next. Finally, she reviews the summary and clicks Finish. /Elle passe en revue toutes les actions ou qualifications de gestion de fichiers, puis clique sur Suivant. Enfin, elle passe en revue le résumé et clique sur Terminer.

Now that Maggie has a File Transfer in place, she moves on to creating the import definition in Automation Studio. /Maintenant que Maggie a un transfert de fichiers en place, elle passe à la création de la définition d’importation dans Automation Studio.

She drags the Import File activity to the workflow and clicks Configure to Create New Import Definition. /Elle fait glisser l’activité Importer un fichier vers le flux de travail et clique sur Configurer pour créer une nouvelle définition d’importation.

Under Activity info she names the import definition, adds a description, and then enters her email address to receive a notification of completion. /Sous Infos sur l’activité, elle nomme la définition d’importation, ajoute une description, puis saisit son adresse e-mail pour recevoir une notification d’achèvement.

She clicks Next. /Elle clique sur Suivant.

First, Maggie selects the appropriate File Location from the list of established FTP options (1). She pastes the File Naming Pattern (2) from the previous transfer activity. Remember, the file name must be an exact match. Then, she selects a Date Format (3), and then Comma (4) as the file delimiter. She reviews and then clicks Next. /Tout d’abord, Maggie sélectionne l’emplacement de fichier approprié dans la liste des options FTP établies (1). Elle colle le modèle de dénomination de fichier (2) de l’activité de transfert précédente. N’oubliez pas que le nom du fichier doit correspondre exactement. Ensuite, elle sélectionne un format de date (3), puis une virgule (4) comme délimiteur de fichier. Elle passe en revue puis clique sur Suivant.Import Definition with callouts for file location, naming pattern, date format, and delimiter.

Lastly, she moves on to Destination and Mapping and follows these steps. /Enfin, elle passe à Destination et cartographie et suit ces étapes.

  1. Select the data extension where your data is going. /Sélectionnez l’extension de données où vos données vont.
  2. Click Next. /Cliquez sur Suivant.
  3. Select the Data Action from: Add Only, Update Only, Add and Update, and Overwrite. /Sélectionnez l’action de données parmi: Ajouter uniquement, Mettre à jour uniquement, Ajouter et mettre à jour et Remplacer.
  4. Then select from the options of Map by Header Row, Map by Ordinal, or Map Manually. /Sélectionnez ensuite parmi les options Carte par ligne d’en-tête, Carte par ordinal ou Carte manuellement.
Add and Update and Map by Header Row selected in import definition.

Once completed, she clicks Next, reviews the summary screen, and then clicks Finish. Maggie reviews her work, clicks Save, and then activates the automation by selecting Active. /Une fois terminée, elle clique sur Suivant, vérifie l’écran de résumé, puis clique sur Terminer. Maggie vérifie son travail, clique sur Enregistrer, puis active l’automatisation en sélectionnant Actif.

Finished cloud kicks import automation with active and paused buttons circled

It is important to note there is one other step needed if the encrypted file is on an external FTP. In Automation Studio, you add an additional File Transfer activity to the workflow. The first one moves the file to the safehouse, the second one decrypts the file. /Il est important de noter qu’une autre étape est nécessaire si le fichier chiffré se trouve sur un FTP externe. Dans Automation Studio, vous ajoutez une activité de transfert de fichiers supplémentaire au flux de travail. Le premier déplace le fichier vers le safehouse, le second déchiffre le fichier.

File transfer activity example for external ftp

Maggie repeats these steps to add import definitions or automations for all the data sources that she would like imported into Marketing Cloud. /Maggie répète ces étapes pour ajouter des définitions d’importation ou des automatisations pour toutes les sources de données qu’elle souhaite importer dans Marketing Cloud.

And with that, moving day is over! But like most new homeowners, you can still need a few of the essentials. /Et avec ça, le jour du déménagement est terminé! Mais comme la plupart des nouveaux propriétaires, vous pouvez toujours avoir besoin de quelques éléments essentiels.

In the next unit, you learn how to get more of the data you need to make the most of your new home in Marketing Cloud. /Dans l’unité suivante, vous apprendrez à obtenir plus de données dont vous avez besoin pour tirer le meilleur parti de votre nouvelle maison dans Marketing Cloud.

Resources

Build Your Data Model /Créez votre modèle de données

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: /Une fois cette unite terminée, vous pourrez :

  • Set up data sources and data extensions. /Configurez des sources de données et des extensions de données.
  • Build an attribute group in Contact Builder. /Créez un groupe d’attributs dans Contact Builder.
  • Identify data relationships and define cardinality. /Identifiez les relations de données et définir la cardinalité.

Let’s Start Building /Commençons à construire

Get out your data model design and any notes about your data, it’s time to build your data’s new home. /Prenez la conception de votre modèle de données et toutes les notes sur vos données, il est temps de construire la nouvelle maison de vos données.

Like you, Maggie Quinn, a solution architect for shoe retailer Cloud Kicks, is ready to begin using Contact Builder. /Comme vous, Maggie Quinn, architecte de solution pour la boutique de chaussures Cloud Kicks, est prête à utiliser Contact Builder.

She’s been asked to create a new data model for customers. Let’s follow along as she completes this assignment. /On lui a demandé de créer un nouveau modèle de données pour les clients. Suivons-la tout au long de cette mission.

Set Up Data Sources and Data Extensions /Configurer des sources de données et des extensions de données

To begin, Maggie navigates to the Data Sources tab to enter in all the custom data sources Cloud Kicks will use in their model. /Pour commencer, Maggie accède à l’onglet Sources de données pour entrer toutes les sources de données personnalisées que Cloud Kicks utilisera dans leur modèle.

Once done, she navigates to the tab for Data Extensions, to create the company’s planned data extensions. /Une fois cela fait, elle accède à l’onglet Extensions de données, pour créer les extensions de données planifiées de l’entreprise.

While she completes this task, she confirms the following info against her data model blueprint. /Pendant qu’elle termine cette tâche, elle confirme les informations suivantes par rapport à son modèle de données.

🗹 Is sendable? is checked, if needed /Est-il envoyable? est vérifié, si nécessaire

🗹 Data retention is applied, if desired /La conservation des données est appliquée, si vous le souhaitez

🗹 Data type is correct (especially for fields that will be used as foreign keys) /Le type de données est correct (en particulier pour les champs qui seront utilisés comme clés étrangères)

🗹 Length is appropriate for data /La longueur est appropriée pour les données

🗹 Primary key is selected, where appropriate /La clé primaire est sélectionnée, le cas échéant

🗹 Send relationship is set to the correct contact key  /La relation d’envoi est définie sur la bonne clé de contact

Note /Remarque

Need a refresher on data extension creation? Visit Salesforce Help: Create a Data Extension. /Besoin d’un rappel sur la création d’extension de données? Consultez l’aide de Salesforce: créer une extension de données.

Create Attribute Groups /Créer des groupes d’attributs

Once the setup of sources and data extensions is complete (and with a fresh cup of coffee in hand), Maggie creates an Attribute Group for her customer data model. /Une fois la configuration des sources et des extensions de données terminée (et avec une tasse de café fraîche à la main), Maggie crée un groupe d’attributs pour son modèle de données client.

Let’s review the steps she follows. /Passons en revue les étapes qu’elle suit.

  1. In Data Designer, click the Create Attribute Group button. /Dans Data Designer, cliquez sur le bouton Créer un groupe d’attributs.
  2. Enter a name for your attribute group. /Saisissez un nom pour votre groupe d’attributs.

Create New Attribute Group for Cloud Kicks Customers

3-Select an icon to visually represent the data. /Sélectionnez une icône pour représenter visuellement les données

4-Click Create. /Cliquez sur Créer.

Link Data Extensions /Lier les extensions de données

Next, Maggie needs to link all the available data to her new attribute group. Since she already created data extensions, she follows these steps. /Ensuite, Maggie doit lier toutes les données disponibles à son nouveau groupe d’attributs. Comme elle a déjà créé des extensions de données, elle suit ces étapes.

  1. Click Link Data Extensions. /Cliquez sur Lier les extensions de données.Cloud Kicks Customers attribute group with cursor on Link Data Extensions
  2. Select a data extension to connect to the contact model. /Sélectionnez une extension de données pour vous connecter au modèle de contact.
  3. Choose the attribute (or foreign key) that connects your data to that model. /Choisissez l’attribut (ou la clé étrangère) qui connecte vos données à ce modèle.Customer ID text attribute connected to CustomerID text attribute with key icon

Remember, the attributes need to be the same data type in order to make the connection. /N’oubliez pas que les attributs doivent être du même type de données pour établir la connexion.

Note /Remarque

The key icon identifies if the field is the data extension’s primary key. /L’icône de clé identifie si le champ est la clé primaire de l’extension de données.

Specify Data Relationships /Spécifiez les relations de données

Whenever you link contacts to attribute sets or to other attributes, you need to set the relationship cardinality. /Chaque fois que vous liez des contacts à des ensembles d’attributs ou à d’autres attributs, vous devez définir la cardinalité de la relation.

Cardinality is a fancy way of saying how data relates to one another. Let’s review the options. /La cardinalité est une façon élégante de dire comment les données sont liées les unes aux autres. Examinons les options.

Relationship Cardinality Example
One-to-oneA contact (or customer) exists once in a data model. /Un contact (ou client) existe une fois dans un modèle de données.
One-to-manyA contact (or customer) can have many purchases over time and can exist multiple times in a data extension. /Un contact (ou un client) peut avoir plusieurs achats au fil du temps et peut exister plusieurs fois dans une extension de données.
Many-to-many (not used with contacts)A purchase can contain more than one product and a product can be part of more than one purchase for a single contact over time. /Un achat peut contenir plusieurs produits et un produit peut faire partie de plusieurs achats pour un seul contact au fil du temps.

With this in mind, Maggie continues her steps. /Sachant cela, Maggie poursuit les étapes.

1-Select the desired data relationship. /Sélectionnez la relation de données souhaitée.

Cardinality selection of one-to-one for a customer’s data extension

2-Click Save. /Cliquez sur Enregistrer.

Now that the first data extension is linked, Maggie moves on to link the customers data extension to the purchases extension by clicking the Set Relationship icon. /Maintenant que la première extension de données est liée, Maggie continue de lier l’extension de données clients à l’extension d’achats en cliquant sur l’icône Définir une relation.

Cursor on Set Relationship icon

She follows the same steps as above to connect attributes. This time, however, Maggie sets the cardinality to one-to-many, since a customer can have multiple purchases. /Elle suit les mêmes étapes que ci-dessus pour connecter les attributs. Cette fois, cependant, Maggie définit la cardinalité sur un à plusieurs, car un client peut effectuer plusieurs achats.

Customers cardinality screenshot with the selection of one-to-many

When she’s finished, she clicks Save. /Une fois qu’elle a terminé, elle clique sur Enregistrer.

To make sure that all the data she plans to import has a home, Maggie goes back to her data model to review what additional data extensions need to be linked. /Pour s’assurer que toutes les données qu’elle prévoit d’importer ont un domicile, Maggie revient à son modèle de données pour examiner quelles extensions de données supplémentaires doivent être liées.

She follows the steps above until all data points are accounted for and linked appropriately. /Elle suit les étapes ci-dessus jusqu’à ce que tous les points de données soient pris en compte et liés de manière appropriée.

Note /Remarque

Be sure to map any subscriber data to the contact model within Contact Builder prior to any imports. /Assurez-vous de mapper toutes les données d’abonné au modèle de contact dans Contact Builder avant toute importation.

This way, the subscriber’s primary key matches the contact’s primary key. /De cette façon, la clé primaire de l’abonné correspond à la clé primaire du contact.

Now it’s your turn. /Maintenant c’est ton tour.

You can create your company’s own unique data model by following a similar process to the one Maggie used. /Vous pouvez créer le modèle de données unique de votre entreprise en suivant un processus similaire à celui utilisé par Maggie.

And it doesn’t stop there. Once your data has a home, you’ll want to tidy up. /Et ça ne s’arrête pas là. Une fois que vos données auront une maison, vous voudrez ranger.

Here are some pointers for getting your data in tip-top shape for moving day. /Voici quelques conseils pour mettre vos données en forme pour le jour du déménagement.

  • Create a standard naming convention across platforms to help with consistency. For example, determine if you will use: Email Address or Email or EmailAddress. /Créez une convention de dénomination standard sur toutes les plateformes pour améliorer la cohérence. Par exemple, déterminez si vous utiliserez: adresse e-mail ou e-mail ou adresse e-mail.
  • Deduplicate data before importing. /Dédupliquez les données avant l’importation.
  • Establish any email verification or validation systems that will be used before importing into Marketing Cloud. /Établissez tous les systèmes de vérification ou de validation des e-mails qui seront utilisés avant l’importation dans Marketing Cloud.

In the next unit, you dig into temporary storage and the file import process. Get ready for the big move! /Dans l’unité suivante, vous verrons le stockage temporaire et le processus d’importation de fichiers. Préparez-vous pour le grand déménagement!

Resources /Ressources

Design Your Data Model /Conception de votre modèle de données

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: /Une fois cette unité terminée, vous pourrez:

  • Identify your data sources. /Identifiez vos sources de données.
  • Specify the data you will store in Marketing Cloud. /Spécifiez les données que vous stockerez dans Marketing Cloud.
  • Design a data model to use in Contact Builder. /Concevoir un modèle de données à utiliser dans Contact Builder.

Before You Start /Avant de commencer

Before you start this module, make sure you complete Marketing Cloud Contact Management. /Avant de démarrer ce module, assurez-vous d’avoir terminé la gestion des contacts Marketing Cloud.

The work you do here builds on the concepts and work you do in that badge. /Le travail que vous effectuez ici s’appuie sur les concepts et le travail que vous avez effectué dans ce badge.

Get Ready for Your Data Deep-Dive /Préparer vous à plonger dans les données

As a developer, you are probably excited to begin incorporating your company’s data into Marketing Cloud, but you may not be sure where to start. /En tant que développeur, vous êtes probablement ravi de commencer à intégrer les données de votre entreprise dans Marketing Cloud, mais vous ne savez peut-être pas par où commencer.

Well, you came to the right place! Moving your data into Marketing Cloud is a lot like moving into a new house. /Eh bien, vous êtes venu au bon endroit! Déplacer vos données dans Marketing Cloud, c’est un peu comme emménager dans une nouvelle maison.

Before you move, you need to do a few things. /Avant de déménager, vous devez faire des actions au préalable.

1.Decide what stuff you’re keeping. /Décidez quels objets vous gardez.

2. Label and box it up. /Étiquetez et emballez-les.

3.Figure out where to put your things in your new place. /Décidez où mettre vos affaires dans votre nouvel maison.

The same is true for data. Let’s dive in and get you ready for moving day! /Il en va de même pour les données. Sans plus tarder préparez le jour du déménagement!

Identify Your Data /Identifiez vos données

As you know, data can come from many sources, like web forms, web analytic services, preference centers, point-of-sale (POS) systems, social media, and so on. /Comme vous le savez, les données peuvent provenir de nombreuses sources, telles que les formulaires Web, les services d’analyse Web, les centres de préférences, les systèmes de point de vente (POS), les médias sociaux, etc.

That’s why it’s a good idea to brainstorm and plot out all of your current and potential data sources. /C’est pourquoi c’est une bonne idée de réfléchir et de tracer toutes vos sources de données actuelles et potentielles.

This step usually takes some teamwork, so if you haven’t done it already, grab a whiteboard, round up your colleagues, and put your heads together. /Cette étape nécessite généralement un certain travail d’équipe, donc si vous ne l’avez pas déjà fait, prenez un tableau blanc, rassemblez vos collègues et travaillez ensemble sur ce sujet.

Don’t worry, we’ll wait. /Ne vous inquiétez pas, nous attendrons.

Choose Your Database of Record /Choisissez votre base de données principale

Once you’ve identified potential data sources, it’s time to choose your database of record (DBOR). /Une fois que vous avez identifié les sources de données potentielles, il est temps de choisir votre base de données d’enregistrement (DBOR).

A DBOR is the source of truth for subscriber opt-in status and general info about that subscriber. /Un DBOR est la source de vérité sur le statut d’adhésion des abonnés et des informations générales sur cet abonné.

This is where you can find the most up-to-date information about your customers. /C’est ici que vous pouvez trouver les informations les plus récentes sur vos clients.

Plus, this decision helps you determine what data needs to flow in or out of the Marketing Cloud and how often. /De plus, cette décision vous aide à déterminer quelles données doivent entrer ou sortir de Marketing Cloud et à quelle fréquence.

Marketing Cloud data sources include external website, commerce, analytics, POS, Profile Center, and CSV /Les sources de données de Marketing Cloud incluent un site Web externe, le commerce, l’analyse, le point de vente, le centre de profil et le CSV

Which Data Should Make the Move? /Quelles données seront importées?

Now that you have a clear picture of your data, you can determine what you are moving to Marketing Cloud. /Maintenant que vous avez une image claire de vos données, vous pouvez déterminer ce que vous importez dans Marketing Cloud.

Only select data you will use for campaign segmentation and personalization. /Sélectionnez uniquement les données que vous utiliserez pour la segmentation et la personnalisation de la campagne.

For example, your POS system might have great data, like purchase date or description, but it also has info like SKU or wholesale price that you would never share with a customer. /Par exemple, votre système de point de vente peut contenir d’excellentes données, comme la date d’achat ou la description, mais il contient également des informations comme le SKU ou le prix de gros que vous ne partageriez jamais avec un client.

Just because you can import any type of data into Marketing Cloud, doesn’t mean you should. /Ce n’est pas parce que vous pouvez importer n’importe quel type de données dans Marketing Cloud, que vous devriez importer tout les types d’informations.

Additionally, only store sensitive and identifying data (like date of birth or Social Security number) if it is essential for segmentation or transactional messages.  /De plus, ne stockez les données sensibles et personnelles (comme la date de naissance ou le numéro de sécurité sociale) que si elles sont essentielles pour la segmentation ou les messages transactionnels.

Put a Label on It /Mettez une étiquette dessus ( sur vos données)

With your essential data in mind, you can box it up and start labeling. /Avec vos données essentielles, vous pouvez les emballer et commencer à étiqueter.

First, label the data based on field types found in Marketing Cloud: number, text, date, Boolean, decimal, email, phone number, or locale. /Tout d’abord, étiquetez les données en fonction des types de champs trouvés dans Marketing Cloud: nombre, texte, date, booléen, décimal, e-mail, numéro de téléphone ou paramètres régionaux.

Then label and identify your keys. Which keys? Glad you asked. There are three types of keys to keep in mind. /Ensuite, étiquetez et identifiez vos clés. Quelles clés? Heureux que vous ayez demandé. Il existe trois types de clés à retenir.

  • Foreign key: Marketing Cloud organizes data using a relational database, and in this type of structure, foreign keys are used to connect data between two unique tables or sources. For example, you might find CustomerID on a customer data extension, and PurchaserID on a POS data source. They may have different names, but these fields are the same customer. Therefore these fields become the foreign keys that connect these two pieces of data. /Clé étrangère: Marketing Cloud organise les données à l’aide d’une base de données relationnelle, et dans ce type de structure, les clés étrangères sont utilisées pour connecter les données entre deux tables ou sources uniques. Par exemple, vous pouvez trouver CustomerID sur une extension de données client et PurchaserID sur une source de données POS. Ils peuvent avoir des noms différents, mais ces champs sont le même client. Par conséquent, ces champs deviennent les clés étrangères qui connectent ces deux données.
  • Contact key: The contact key is a unique value you assign to identify a contact within your Marketing Cloud account. (You may know it as a subscriber key in Email Studio.) /Clé de contact: la clé de contact est une valeur unique que vous attribuez pour identifier un contact dans votre compte Marketing Cloud. (Vous pouvez le connaître en tant que clé d’abonné dans Email Studio.)
  • Primary key: A Marketing Cloud primary key is a unique field on a data extension that identifies a specific and, well unique, data point. Often this is the contact key, but it can be something unique to that data. For example, in a product catalog data extension, SKU can be a unique identifier (and therefore, a primary key). /Clé primaire: une clé primaire Marketing Cloud est un champ unique sur une extension de données qui identifie un point de données spécifique et bien unique. Il s’agit souvent de la clé de contact, mais elle peut être quelque chose d’unique à ces données. Par exemple, dans une extension de données de catalogue de produits, la SKU peut être un identifiant unique (et donc une clé primaire).

If you haven’t decided on your key already, it is important to identify a consistent contact key for your model. Here’s a refresher on best practices. /Si vous n’avez pas encore décidé de votre clé, il est important d’identifier une clé de contact cohérente pour votre modèle. Voici un rappel des meilleures pratiques.

Contact Key Best Practices /Recommendations sur la clé de contact
To maintain consistency, use the subscriber key value in Email Studio as your unique contact key in Contact Builder. /Pour maintenir la cohérence, utilisez la valeur de clé d’abonné dans Email Studio comme clé de contact unique dans Contact Builder.

Use a unique value that does not relate to a specific channel. /
Utilisez une valeur unique qui ne se rapporte pas à un canal spécifique.


Use a contact key value that does not change based on customer behavior. /Utilisez une valeur de clé de contact qui ne change pas en fonction du comportement du client.

If using Marketing Cloud Connect, it is best practice to use the Lead or Contact ID as the contact key. Using this ID will automatically sync with Sales Cloud and Service Cloud data, so you will have a consistent identifier across all clouds. /Si vous utilisez Marketing Cloud Connect, il est recommandé d’utiliser le Contact ID comme la contact key. Cet ID se synchronisera automatiquement avec les données Sales Cloud et Service Cloud, vous aurez donc un identifiant cohérent sur tous les clouds.

Design Your Data Model /Concevez votre modèle de données

You’ve wrangled your data (high five!), now where is it all going to go? /Vous vous avez catégoriser vos donées, maintenant qu’en est-il pour la suite?

Remember the Data Designer interface that you learned about in the Marketing Cloud Contact Management module? Yep, that’s where you head next! /Vous vous souvenez de l’interface Data Designer que vous avez découverte dans le module Marketing Cloud Contact Management? Oui, c’est là que vous vous dirigez ensuite!

Data designer home page with tabs for data sources, data extensions, populations, and attribute groups

Here’s what you can find in Data Designer. /Ici ce que vous pouvez trouver dans Data Designer.

1-Data sources: This is where you identify and organize all your data sources, including synchronized and custom sources. /Sources de données: c’est ici que vous identifiez et organisez toutes vos sources de données, y compris les sources synchronisées et personnalisées.

2-Data extensions: This is where you build the placeholders for your data. You can also create data extensions in Email Studio. /Extensions de données: c’est ici que vous créez les espaces réservés pour vos données. Vous pouvez également créer des extensions de données dans Email Studio.

3-Attribute group: This is a way of organizing your data model. Within an attribute group you have attribute sets or data extensions, and the attributes are the fields within a data extension. /Groupe d’attributs: c’est une façon d’organiser votre modèle de données. Dans un groupe d’attributs, vous avez des ensembles d’attributs ou des extensions de données, et les attributs sont les champs d’une extension de données.

4-Populations: These can be used to differentiate between groups of people or data models that have unique attributes or identifiers. Populations are beneficial for a company that has a different model or structure for communicating with customers vs. employees. /Populations: elles peuvent être utilisées pour différencier des groupes de personnes ou des modèles de données qui ont des attributs ou des identificateurs uniques. Les populations sont bénéfiques pour une entreprise qui a un modèle ou une structure différente pour communiquer avec les clients par rapport aux employés.

These are the basic tools you use to design your data model. So, how do they fit together? /Ce sont les outils de base que vous utilisez pour concevoir votre modèle de données. Alors, comment s’intègrent-ils?

An attribute group is a collection of data extensions, with links to tie them together based on common data they share. / Un groupe d’attributs est une collection d’extensions de données, avec des liens pour les lier ensemble en fonction des données communes qu’ils partagent.

Let’s review an example of a potential customer attribute group. /Examinons un exemple de groupe d’attributs de clients potentiels.

Product Catalog /Catalogue de produitsAssociated Data ExtensionData Connection
External Preference Center /Centre de préférence externeMaster Customer /Client principalMaster Customer DE identifies CustomerID as the primary key attribute. /La DE Client principal identifie l’ID client comme attribut de clé primaire.
Website Browsing Activity /Activité de navigation sur le site WebWeb Activity /Activité WebWeb Activity DE links to Master Subscriber DE via the foreign key attribute CustomerID. /La DE activité Web est liée à la DE abonné principal via l’attribut de clé étrangère CustomerID.
Retail Purchase Data (POS) /Données d’achat au détail (PDV)Customer Purchases /Achats des clientsCustomer Purchases DE links to Master Subscriber DE via the foreign key attribute CustomerID. /La DE achats client se connecte à la DE abonné principal via l’attribut de clé étrangère CustomerID.
Product Catalog CSV /Catalogue de produits CSVProduct Catalog /Catalogue de produitsProduct Catalog links to Customer Purchases via the foreign key attribute ProductID. /Le catalogue de produits est lié aux achats des clients via l’attribut de clé étrangère ProductID.

As you can tell, determining your data extension structure is important. /Comme vous pouvez le constater, déterminer votre structure d’extension de données est important.

Here are some questions to consider. / Voici quelques questions à considérer.

  • Do you need a data extension for every external data source? /Avez-vous besoin d’une extension de données pour chaque source de données externe?
  • Will you create a master data extension to store subscriber info? /Allez-vous créer une extension de données de base pour stocker les informations sur les abonnés?
  • How will you segment your audiences for sending individual campaigns? /Comment allez-vous segmenter vos audiences pour l’envoi de campagnes individuelles?
  • Will you use filtered data extensions? /Allez-vous utiliser des extensions de données filtrées?
  • Can the content be used for sending or is it nonsendable content? /Le contenu peut-il être utilisé pour l’envoi ou s’agit-il d’un contenu non envoyable?
  • How often will the data in the data extension be updated? /À quelle fréquence les données de l’extension de données seront-elles mises à jour?

There isn’t a right or wrong way to design your data model in Marketing Cloud because every business has unique needs. /Il n’y a pas de bonne ou de mauvaise façon de concevoir votre modèle de données dans Marketing Cloud, car chaque entreprise a des besoins uniques.

Consult with your colleagues before making any final decisions on the structure of your data model and data extensions.  /Consultez vos collègues avant de prendre des décisions finales sur la structure de votre modèle de données et des extensions de données.

Whew! We’ve covered a lot, so here’s a checklist summary of the steps to design your data model and prep for your build in Contact Builder. /Ouf! Nous avons couvert de nombreux sujets. Voici donc une liste récapitulative des étapes de conception de votre modèle de données et de préparation de votre génération dans Contact Builder.

🗹 List all pieces of data from all potential sources. /Énumérez toutes les données de toutes les sources potentielles.

🗹 Select your DBOR and determine what data needs to flow in and out of Marketing Cloud. /Sélectionnez votre DBOR et déterminez quelles données doivent entrer et sortir de Marketing Cloud.

🗹 Determine required data for campaign segmentation and personalization. /Déterminez les données requises pour la segmentation et la personnalisation de la campagne.

🗹 Label the types of data you have and identify common fields across data sources. /Étiquetez les types de données dont vous disposez et identifiez les champs communs aux différentes sources de données.

🗹 Finalize the data sources and data fields that you need to import into Marketing Cloud. /Finalisez les sources de données et les champs de données que vous devez importer dans Marketing Cloud.

🗹 Identify the data extensions that need to be created to store your data. /Identifiez les extensions de données qui doivent être créées pour stocker vos données.

Next up, you begin to build your data model. /Ensuite, vous commencez à construire votre modèle de données.

Resources

Make the Most of Your API Integrations /Tirez le meilleur parti de vos intégrations API

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: / Une fois cette unite terminée, vous pourrez :

  • Follow best practices for the REST and SOAP APIs. / Suivre les meilleures pratiques des API REST et SOAP.
  • Use AMPscript, Server-side JavaScript, and Guide Template Language in conjunction with APIs. / Utilisez AMPscript, JavaScript côté serveur et le langage de modèle de guide conjointement avec les API.
  • Implement available SDKs. /Implémentez les SDK disponibles.

More API Tips and Resources /Plus de conseils et de ressources API

You know the basics for authenticating and working with the REST and SOAP APIs. /Vous connaissez les bases de l’authentification et de l’utilisation des API REST et SOAP.

 (Woohoo!) Now, it’s time to take a look at some of the best ways to implement your API integrations, achieve peak performance, and handle any errors along the way. /(Woohoo!) Maintenant, il est temps d’examiner quelques-unes des meilleures façons de mettre en œuvre vos intégrations d’API, d’atteindre des performances optimales et de gérer les erreurs en cours de route.

Security /Sécurité

It’s no surprise that security tops the list when dealing with credentials and customer data. /Il n’est pas surprenant que la sécurité arrive en tête de liste lorsqu’il s’agit des informations d’identification et des données client.

Follow these tips to make sure your interactions with Marketing Cloud are as secure as possible. / Suivez ces conseils pour vous assurer que vos interactions avec Marketing Cloud sont aussi sécurisées que possible.

  • Make sure that your OAuth token contains only the permissions necessary to accomplish your task. / Assurez-vous que votre jeton OAuth ne contient que les autorisations nécessaires pour accomplir votre tâche.
  • Treat your refresh token like credentials for a Salesforce account and keep it secure. / Traitez votre jeton d’actualisation comme des informations d’identification pour un compte Salesforce et protégez-le.
  • Enforce TLS 1.2 when making requests to Marketing Cloud APIs. / Appliquez TLS 1.2 lors des demandes aux API Marketing Cloud.
  • Use secure procedures to manage sessions for users—like using your framework’s session-management features. /Utilisez des procédures sécurisées pour gérer les sessions pour les utilisateurs, comme l’utilisation des fonctionnalités de gestion de session de votre infrastructure.
  • Verify session and permission levels for users in any apps you develop. / Vérifiez les niveaux de session et d’autorisation pour les utilisateurs dans toutes les applications que vous développez.
  • Make sure users can access only what they need to perform their tasks. / Assurez-vous que les utilisateurs ne peuvent accéder qu’à ce dont ils ont besoin pour effectuer leurs tâches.
  • Make sure that you restrict stack traces and debug logs, so that only people who need the information can view it. / Assurez-vous de restreindre les traces de pile et les journaux de débogage, afin que seules les personnes qui ont besoin des informations puissent les consulter.
  • Configure your system and requests to avoid common attacks like cross-site request forgery (CSRF), HTML injection and cross-site scripting (XSS), arbitrary redirects, and remote code execution. / Configurez votre système et vos demandes pour éviter les attaques courantes telles que la falsification de demandes intersites (CSRF), l’injection HTML et les scripts intersites (XSS), les redirections arbitraires et l’exécution de code à distance.
  • Update all libraries and frameworks frequently to help avoid security vulnerabilities. / Mettez régulièrement à jour toutes les bibliothèques et tous les frameworks pour éviter les failles de sécurité.
  • Follow industry-standard best practices when storing sensitive data like passwords, financial data, and other personally identifiable information. /Suivez les meilleures pratiques standard de l’industrie lors du stockage de données sensibles comme les mots de passe, les données financières et autres informations personnelles identifiables.

Plan Your Requests / Planifiez vos demandes

There’s always room to grow, so plan for your API integration to handle more data and data sources in the future. Here’s how. /Il y a toujours de la place pour grandir, alors planifiez l’intégration de votre API pour gérer plus de données et de sources de données à l’avenir. Voici comment.

  • Reduce the number of steps to access, move, or update data to lower the number of requests to your API resources. /Réduisez le nombre d’étapes pour accéder, déplacer ou mettre à jour les données afin de réduire le nombre de demandes à vos ressources API.
  • If you know that your website or system regularly encounters high levels of activity, plan for those peaks and make sure your API integration can handle it. /Si vous savez que votre site Web ou votre système rencontre régulièrement des niveaux d’activité élevés, planifiez ces pics et assurez-vous que votre intégration API peut le gérer.
  • Test your code in a staging environment before moving to your production environment. / Testez votre code dans un environnement intermédiaire avant de passer à votre environnement de production.

Data Management / Gestion de données

To ease traffic, avoid simultaneous updates to a single data extension with multiple API requests. Instead, use a single request with all necessary information. /Pour réduire le trafic, évitez les mises à jour simultanées d’une seule extension de données avec plusieurs demandes d’API. Utilisez plutôt une seule demande avec toutes les informations nécessaires.

Use a coordinated universal time (UTC) offset to work with date and time values; then convert the time value when retrieving that information. /Utilisez un décalage d’heure universelle coordonnée (UTC) pour travailler avec les valeurs de date et d’heure; puis convertissez la valeur de temps lors de la récupération de ces informations.

Include AMPscript, Server-Side JavaScript, and Guide Template Language /Inclure AMPscript, JavaScript côté serveur et langage de modèle de guide

In addition to our APIs, Marketing Cloud includes three programmatic scripting languages that developers can use. /En plus de nos API, Marketing Cloud comprend trois langages de script programmatiques que les développeurs peuvent utiliser.

  • AMPscript: A proprietary scripting language designed to personalize content for customers, provide dynamic content, and update subscriber information. /AMPscript: langage de script propriétaire conçu pour personnaliser le contenu pour les clients, fournir un contenu dynamique et mettre à jour les informations des abonnés.
  • Server-side JavaScript (SSJS): A language designed to mimic AMPscript functionality using syntax and functions similar to JavaScript. / JavaScript côté serveur (SSJS): langage conçu pour imiter la fonctionnalité AMPscript à l’aide d’une syntaxe et de fonctions similaires à JavaScript.
  • Guide Template Language (GTL): A language designed to build content and messages using Handlebars- and Moustache-style syntax. /Guide Template Language (GTL): langage conçu pour créer du contenu et des messages à l’aide de la syntaxe Handlebars- and Moustache-style.

As a developer, you’ll likely run across these programmatic languages as parts of messages or content included in requests from data extensions. /En tant que développeur, vous parcourrez probablement ces langages de programmation en tant que parties de messages ou de contenu inclus dans les demandes d’extensions de données.

For example, to include dynamic content in an email message, you might use GTL in the message to pull information from a data extension. You can store these scripts in data extensions as well. /Par exemple, pour inclure du contenu dynamique dans un e-mail, vous pouvez utiliser GTL dans le message pour extraire des informations d’une extension de données. Vous pouvez également stocker ces scripts dans des extensions de données.

AMPscript and SSJS can also call API functionality to build messages or create objects in Marketing Cloud. This AMPscript sample builds a sendable data extension using the SOAP API. /AMPscript et SSJS peuvent également appeler la fonctionnalité API pour créer des messages ou créer des objets dans Marketing Cloud. Cet exemple AMPscript crée une extension de données pouvant être envoyée à l’aide de l’API SOAP.

%%[
/*CREATE THE DATA EXTENSION*/
Set @de = CreateObject("DataExtension")
SetObjectProperty(@de,"Name","API-Created Data Extension")
SetObjectProperty(@de,"CustomerKey","XXXXXXXX")
SetObjectProperty(@de,"Description","Data Extension Created via API")
SetObjectProperty(@de,"IsSendable","True")
SetObjectProperty(@de,"IsTestable","False")
/*DE Folder ID - mouse over in app to get this ID */
SetObjectProperty(@de,"CategoryID","123")
/* THIS IS THE SENDABLE FIELD */
Set @deFields = CreateObject("DataExtensionField")
SetObjectProperty(@deFields,"FieldType","EmailAddress")
SetObjectProperty(@deFields,"IsRequired","true")
SetObjectProperty(@deFields,"IsPrimaryKey","true")
SetObjectProperty(@deFields,"IsNillable","false")
SetObjectProperty(@deFields,"MaxLength","100")
SetObjectProperty(@deFields,"Name","email_address")
AddObjectArrayItem(@de,"Fields",@deFields)
SetObjectProperty(@de,"SendableDataExtensionField",@deFields)
 Set @deFields = CreateObject("DataExtensionField")
SetObjectProperty(@deFields,"FieldType","Text")
SetObjectProperty(@deFields,"IsRequired","true")
SetObjectProperty(@deFields,"IsPrimaryKey","false")
SetObjectProperty(@deFields,"IsNillable","false")
SetObjectProperty(@deFields,"MaxLength","100")
SetObjectProperty(@deFields,"Name","subscriber_key")
AddObjectArrayItem(@de,"Fields",@deFields)
Set @deFields = CreateObject("DataExtensionField")
SetObjectProperty(@deFields,"FieldType","Text")
SetObjectProperty(@deFields,"IsRequired","false")
SetObjectProperty(@deFields,"IsPrimaryKey","false")
SetObjectProperty(@deFields,"IsNillable","false")
SetObjectProperty(@deFields,"MaxLength","50")
SetObjectProperty(@deFields,"Name","first_name")
AddObjectArrayItem(@de,"Fields",@deFields)
Set @deFields = CreateObject("DataExtensionField")
SetObjectProperty(@deFields,"FieldType","Text")
SetObjectProperty(@deFields,"IsRequired","false")
SetObjectProperty(@deFields,"IsPrimaryKey","false")
SetObjectProperty(@deFields,"IsNillable","false")
SetObjectProperty(@deFields,"MaxLength","75")
SetObjectProperty(@deFields,"Name","last_name")
AddObjectArrayItem(@de,"Fields",@deFields)
/* This field sets how the data extension field above relates to the all subscribers list */
SET @ts_attr = CreateObject("Attribute")
SetObjectProperty(@ts_attr, "Name", "Email Address")
SetObjectProperty(@ts_attr, "Value", "Email Address")
SetObjectProperty(@de,"SendableSubscriberField",@ts_attr)
Set @StatCode = InvokeCreate(@de, @StatMessage, @ErrorCode)
]%%
Status = %%= v(@StatMessage) =%% -- %%= v(@ErrorCode) =%%

As always, test your code and scripts before deploying them, and use the version that works best for your needs. /Comme toujours, testez votre code et vos scripts avant de les déployer et utilisez la version qui convient le mieux à vos besoins.

Implement Marketing Cloud SDKs /Implémenter les SDK Marketing Cloud

Ready to assemble the necessary code for your integration? There are plenty of resources to help you get started and save time. / Prêt à assembler le code nécessaire à votre intégration? Il existe de nombreuses ressources pour vous aider à démarrer et à gagner du temps.

 (After all, who wants to start from scratch?) Get a leg up from your fellow developers and Marketing Cloud community with ready-to-use SDKs. Dig in to jumpstart your integration. /(Après tout, qui veut repartir de zéro?) Obtenez un coup de pouce de vos collègues développeurs et de la communauté Marketing Cloud avec des SDK prêts à l’emploi. Creusez pour démarrer votre intégration.

You can access community-supported SDKs for a variety of languages on GitHub. / Vous pouvez accéder aux SDK pris en charge par la communauté pour une variété de langues sur GitHub.

These SDKs include source code, samples, and documentation to get you started more quickly. /Ces kits de développement logiciel incluent du code source, des exemples et de la documentation pour vous permettre de démarrer plus rapidement.

  • C# SDK
  • Java SDK
  • Node SDK
  • PHP SDK
  • Ruby SDK
  • Python SDK

And, if you’re working with MobilePush or Content Builder, check out our app-specific SDKs. /Et, si vous travaillez avec MobilePush ou Content Builder, consultez nos SDK spécifiques à l’application.

  • MobilePush SDK
  • Content Builder SDK

With these tips and resources, you’ll be customizing your own integration in no time! And, as always, our community of Salesforce developers is here to help. /Avec ces conseils et ressources, vous personnaliserez votre propre intégration en un rien de temps! Et, comme toujours, notre communauté de développeurs Salesforce est là pour vous aider.

Resources /Ressources

Use SOAP API in Email Studio /Utiliser l’API SOAP dans Email Studio

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: /Une fois cette unite terminée, vous pourrez :

  • Work with the methods, objects, and endpoints of the SOAP API. /Travaillez avec les méthodes, les objets et les points de terminaison de l’API SOAP.
  • Configure a basic email message in Marketing Cloud. /Configurez un e-mail de base dans Marketing Cloud.
  • Know when to use synchronous and asynchronous processing. /Sachez quand utiliser le traitement synchrone et asynchrone.

When Should You Use the SOAP API?/Quand devez-vous utiliser l’API SOAP?

While the REST API applies to many Marketing Cloud apps, the SOAP API focuses specifically on integrating with Email Studio. / Alors que l’API REST s’applique à de nombreuses applications Marketing Cloud, l’API SOAP se concentre spécifiquement sur l’intégration avec Email Studio.

Which means you can create, send, and retrieve tracking information on email messages—all using the SOAP API. /Ce qui signifie que vous pouvez créer, envoyer et récupérer des informations de suivi sur les e-mails, le tout à l’aide de l’API SOAP.

Plus, this API also permits changes to account information. /De plus, cette API permet également de modifier les informations de compte.

Read on for more about working with Email Studio and legacy integrations in Marketing Cloud. /Lisez la suite pour en savoir plus sur l’utilisation d’Email Studio et les intégrations héritées dans Marketing Cloud.

SOAP API Basics /Principes de base de l’API SOAP

The SOAP API authenticates using OAuth access tokens. / L’API SOAP s’authentifie à l’aide de jetons d’accès OAuth.

Remember this from earlier? / Nous en avons parlé plus tôt, t’en souviens-tu?

FYI, you can also authenticate with a UsernameToken created with a Marketing Cloud username and password, but the OAuth token provides a more secure connection. / Pour info, vous pouvez également vous authentifier avec un jeton Username créé avec un nom d’utilisateur et un mot de passe Marketing Cloud, mais le jeton OAuth fournit une connexion plus sécurisée.

The SOAP API also uses tenant-specific endpoints for both the WSDL and the endpoint. / L’API SOAP utilise également des points de terminaison spécifiques au locataire pour le WSDL et le point de terminaison.

You can use these links to work with the provided methods and objects. /Vous pouvez utiliser ces liens pour travailler avec les méthodes et objets fournis.

Marketing Cloud also provides legacy endpoints if you’re working on existing implementations, but it’s best to use the new endpoints for any new development. /Marketing Cloud fournit également des points de terminaison hérités si vous travaillez sur des implémentations existantes, mais il est préférable d’utiliser les nouveaux points de terminaison pour tout nouveau développement.

Methods and Objects / Méthodes et objets

Marketing Cloud provides several different methods you can use in your requests. / Marketing Cloud propose plusieurs méthodes différentes que vous pouvez utiliser dans vos demandes.

 Your requests use these methods on different objects, such as Account, Email, Owner, and more. /Vos demandes utilisent ces méthodes sur différents objets, tels que compte, e-mail, propriétaire, etc

You can refer to the WSDL file or Salesforce Developers for a full list of available objects and properties. / Vous pouvez vous référer au fichier WSDL ou à la documentation Salesforce développeurs pour une liste complète des objets et propriétés disponibles.

Spoiler alert: There’s a bunch! Here are just a few. /. Attention: il y en a plein! En voici quelques-uns.

Method NamePurpose
ConfigureConfigure a Marketing Cloud account
CreateCreate one or more objects
DeleteDelete one or more objects
DescribeRetrieve metadata for an object
ExecuteAccess and execute one or helper functions
ExtractExtract a file to the Marketing Cloud FTP site
GetSystemStatusRetrieve the status of your Marketing Cloud account
PerformPerform an asynchronous action
QueryQuery Marketing Cloud data
RetrieveGet information on a single object type
ScheduleSchedule an action or event to occur
UpdateUpdate information on one or more objects

Note /Remarque

Some objects or associated sub-objects are for internal use only or reserved for future use. / Certains objets ou sous-objets associés sont destinés à un usage interne uniquement ou réservés pour une utilisation future.

Working with the SOAP API /Travailler avec l’API SOAP

When you work with the SOAP API, it’s helpful to keep a few things in mind. / Quand vous travaillez avec l’API SOAP, il est utile de garder quelques éléments à l’esprit.

  • You can expect synchronous processing of your requests anywhere from 3 seconds (for a single email send) to 30 seconds (for retrieval of tracking data). / Vous pouvez vous attendre à un traitement synchrone de vos demandes allant de 3 secondes (pour un seul envoi de courrier électronique) à 30 secondes (pour la récupération des données de suivi).
  • Each request returns one of three statuses. /Chaque demande renvoie l’un des trois statuts.
    • OK
    • Has Error
    • Error
  • Marketing Cloud stores data values in central standard time (CST) with no variation for daylight saving time. / Marketing Cloud stocke les valeurs des données en heure standard centrale (CST) sans variation de l’heure d’été. You can use a coordinated universal time (UTC) offset when retrieving date information to make sure that information is optimized for your system. /Vous pouvez utiliser un décalage d’heure universelle coordonnée (UTC) lors de la récupération des informations de date pour vous assurer que les informations sont optimisées pour votre système.
  • You can set different character sets for email messages depending on the culture codes you send to, so it’s a good idea to test these messages to make sure all characters appear correctly. /Vous pouvez définir différents jeux de caractères pour les e-mails en fonction des codes de culture auxquels vous envoyez, c’est donc une bonne idée de tester ces messages pour vous assurer que tous les caractères apparaissent correctement.

Example: Create an Email Message /Exemple: créer un e-mail

Let’s take a look at some common SOAP API tasks. This C# example shows how to create a simple email. / Voyons quelques tâches courantes de l’API SOAP. Cet exemple C # montre comment créer un simple e-mail.

The code assigns a subject line and content, and an identifying name and location, so you can easily find it in your Marketing Cloud account. /Le code attribue une ligne d’objet et un contenu, ainsi qu’un nom et un emplacement d’identification, afin que vous puissiez facilement les trouver dans votre compte Marketing Cloud.

Email email = new Email();
email.Subject = "Check out my way cool email";
email.Name = "Dynamic Email_" + DateTime.Now.ToShortTimeString();
email.HTMLBody = "<center>##Way Cool Email</center>";
email.TextBody = "Way Cool Email";
email.CharacterSet = "iso-8859-1";
email.CategoryID = 556442;  //This is the Folder where the email is stored.
email.CategoryIDSpecified = true;
CreateResult[] results = proxy.Create(new CreateOptions(), new APIObject[] { email }, out requestID, out status);

This next C# example shows one way to send an email message with an email send definition. That send definition includes the information you need to identify the email sent and any additional send details. /Cet exemple C # suivant montre une façon d’envoyer un e-mail avec une définition d’envoi d’e-mail. Cette définition d’envoi comprend les informations dont vous avez besoin pour identifier l’e-mail envoyé et tout détail d’envoi supplémentaire.

// 1. Create the EmailSendDefinition
EmailSendDefinition sd = new EmailSendDefinition();
sd.CustomerKey = "95";
// 2. Start the Send
PerformResult[] results = integrationFramework.Perform(new PerformOptions(), "start", new InteractionBaseObject[] { sd }, out status, out message, out requestID);
// 3. Print out overall results
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("Perform Send Definition");
sb.AppendFormat("\nOverall result: {0}.  RequestID: {1}, {2}\n{3}\n{4}\n{5}\nTaskID: {6}", status, requestID, message, results[0].ErrorCode, results[0].StatusCode, results[0].StatusMessage, results[0].Task.ID);
Console.WriteLine(sb.ToString());

After the send completes, you can retrieve tracking information on the send using this sample code. (Just remember, you need to include the JobID returned after the original send.) /Une fois l’envoi terminé, vous pouvez récupérer des informations de suivi sur l’envoi à l’aide de cet exemple de code. (N’oubliez pas, vous devez inclure le JobID retourné après l’envoi d’origine.)

/**
*Returns details of send - when you send email, it returns JobID.
*Use returned ID to get details.
*/
        public void testSendDetails()
        {
             RetrieveRequest retrieveRequest = new RetrieveRequest();
             retrieveRequest.ObjectType = "Send";
             String[] props = { "SentDate", "UniqueOpens", "NumberSent", "NumberDelivered", "HardBounces", "SoftBounces" };
retrieveRequest.Properties =props;
             /**
              * Use date range to get all sends that happened in range
          */
             /**
             SimpleFilterPart filter = new SimpleFilterPart();
             filter.Property = "SendDate";
             filter.SimpleOperator = SimpleOperators.greaterThanOrEqual;
             filter.DateValue = new DateTime[1];
             filter.DateValue[0] = DateTime.Now;
             retrieveRequest.Filter = filter;
             */
             /**
              * Details for the particular job
              */
              SimpleFilterPart filter = new SimpleFilterPart();
              filter.Property = "ID";
              filter.SimpleOperator = SimpleOperators.equals;
              filter.Value= new string[] {"12043295"};
              retrieveRequest.Filter = filter;
              /**
              * If this job happened from Child Account include ClientId in request.
              */
              /*
              ClientID id = new ClientID();
              id.ID = 90554;
              id.IDSpecified = true;
              retrieveRequest.ClientIDs = new ClientID[] {id};
              */
              APIObject[] results = null;
              String requestId = null;
              String response = soapClient.Retrieve(retrieveRequest, out requestId, out results);
              Send send = null;
              if (response != null &amp;&amp; response.ToLower().Equals("ok"))
              {
                   if (results != null)
                   {
                      send = (Send) results[0];
                   }
              }
              Assert.IsNotNull(send);
           }

Most API objects return results in batches of 2,500. You can ask for smaller batches in your requests, or you can perform additional requests to retrieve results with more than 2,500 records. /La plupart des objets API renvoient des résultats par lots de 2 500. Vous pouvez demander des lots plus petits dans vos demandes, ou vous pouvez effectuer des demandes supplémentaires pour récupérer les résultats avec plus de 2 500 enregistrements.

Synchronous and Asynchronous Processing / Traitement synchrone et asynchrone

You can choose to perform your requests as synchronous or asynchronous operations. / Vous pouvez choisir d’effectuer vos demandes en tant qu’opérations synchrones ou asynchrones.

Synchronous calls achieve almost immediate results. /Les appels synchrones obtiennent des résultats presque immédiats.

The SOAP API queues asynchronous operations to ensure that your calls don’t get lost if the service becomes unavailable. /L’API SOAP met en file d’attente les opérations asynchrones pour garantir que vos appels ne seront pas perdus si le service devient indisponible.

Use asynchronous processing to ensure more resilient requests to the SOAP API. / Utilisez un traitement asynchrone pour garantir des demandes plus résilientes à l’API SOAP.

This method protects against dropped requests in case of a system outage and queues your requests for more predictable performance. / Cette méthode protège contre les demandes abandonnées en cas de panne du système et met vos demandes en file d’attente pour des performances plus prévisibles.

We also recommend making only 20 or fewer synchronous API calls per hour. / Nous vous recommandons également d’effectuer seulement 20 appels API synchrones ou moins par heure.

 Those calls should include references for up to 50 objects per synchronous call or 100 objects per asynchronous call. /Ces appels doivent inclure des références pour un maximum de 50 objets par appel synchrone ou 100 objets par appel asynchrone.

Stick around—the next unit gives you expert tips and resources to make the most of your API integrations. / Continuez- l’unité suivante vous donne des conseils d’experts et des ressources pour tirer le meilleur parti de vos intégrations d’API

Resources /Ressources

Use REST API Across Marketing Cloud / Utiliser l’API REST via Marketing Cloud

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: /Une fois cette unité terminée, vous pourrez :

  • Describe how to use the Marketing Cloud REST API. /Décrire comment utiliser l’API REST Marketing Cloud.
  • Identify the Marketing Cloud apps that interface with the REST API. /Identifier les applications Marketing Cloud qui s’interfacent avec l’API REST.

Take a REST/Choisir REST API

Marketing Cloud’s REST API offers you access to the most recent Marketing Cloud features. /L’API REST de Marketing Cloud vous permet d’accéder aux fonctionnalités les plus récentes de Marketing Cloud.

This unit gives you insight into what you can accomplish with the REST API and how to customize it to your needs. /Cette unité vous donne un aperçu de ce que vous pouvez accomplir avec l’API REST et comment le personnaliser selon vos besoins.

REST API Basics /Principes de base de l’API REST

Before we dive in, take a look at the common traits for all REST API requests and endpoints. /Avant de commencer, jetons un coup d’œil aux caractéristiques communes à toutes les demandes et points de terminaison de l’API REST.

  • The REST API supports multichannel use and accepts JSON request bodies. /L’API REST prend en charge l’utilisation multicanal et accepte les demandes écritent en code JSON.
  • All requests are synchronous and can contain up to 4 MB of information. /Toutes les demandes sont synchrones et peuvent contenir jusqu’à 4 Mo d’informations.
  • Tracking information and other data-retrieve operations time out after 300 seconds. /Les informations de suivi et les autres opérations de récupération de données expirent après 300 secondes.
  • Other requests time out after 120 seconds. /Les autres demandes expirent après 120 secondes.

With that in mind, let’s take a look at what you can accomplish with the REST API across several Marketing Cloud apps. /Dans cet esprit, voyons ce que vous pouvez accomplir avec l’API REST sur plusieurs applications Marketing Cloud.

Content Builder / Générateur de contenu

In Marketing Cloud, Content Builder is where you can create all of the material included in email, push, and SMS messages. /Dans Marketing Cloud, Content builder est le lieu de création de tous les templates tel que email, push et des messages SMS.

No matter how the information is sent from the account, all of the content (also known as assets) resides in Content Builder. /Quelle que soit la façon dont les informations sont envoyées à partir du compte, tout le contenu (également connu comme créas) réside dans content builder.

Assets also include the templates and slots used to create and organize your content. /Les créas incluent également les modèles et les emplacements utilisés pour créer et organiser votre contenu.

You can use REST API requests to retrieve, update, or delete assets and categories (also known as folders) in Content Builder, among other less common requests. /Vous pouvez utiliser des demandes d’API REST pour récupérer, mettre à jour ou supprimer des créas et des catégories (également appelés dossiers) dans Content Builder, entre autres demandes moins courantes.

Salesforce Developers contains a full list, including samples of requests and resources to use when interacting with Content Builder. /Salesforce Developers contient une liste complète, y compris des exemples de demandes et de ressources à utiliser lors de l’interaction avec Content Builder.

Example: Update an Email Message / Exemple: mettre à jour un e-mail

Take a look at the following resource and organization for a request. /Jetez un œil à la ressource et à l’organisation suivantes pour une demande.

This example updates an existing email message, and it also demonstrates a typical JSON payload. /Cet exemple met à jour un e-mail existant et illustre également une utilisation JSON typique.

The request uses the PATCH method to the specified route and updates the content of an email message. /La demande utilise la méthode PATCH vers la direction spécifiée et met à jour le contenu d’un e-mail.

The ID value accepts the external key used to identify the asset in your account. / La valeur ID accepte la clé externe utilisée pour identifier la créa dans votre compte.

PATCH /asset/v1/content/assets/{id}
{
 "name": "NTO Welcome Series Email",
 "channels": {
   "email": true,
   "web": false
},
 "views": {
   "html": {
     "content": "<!DOCTYPE html><body>This is a simple message.</body></html>"
 },
 "text": {},
 "subjectline": {},
 "preheader": {}
 }
}

Journey Builder

Journey Builder determines how contacts receive different types of messages based on events and behavior. /Journey Builder détermine comment les contacts reçoivent différents types de messages en fonction des événements et du comportement.

For example, you can send email messages to customers who signed up for a newsletter, but never clicked a link or purchased a product. /Par exemple vous pouvez envoyer des emails aux clients qui se sont inscrits à une newsletter, mais qui n’ont jamais cliqué sur un lien ou acheté un produit.

This is an example of a journey. /Ceci est un exemple de journey.

To create a journey in Marketing Cloud, your steps can look something like this example. /Pour créer un parcours dans Marketing Cloud, vos étapes peuvent ressembler à cet exemple.

1-Create a sendable data extension in Marketing Cloud. This data extension includes a unique contact key for each contact and information to use as part of any send. /Créez une extension de données pouvant être envoyée dans Marketing Cloud. Cette extension de données comprend une clé de contact unique pour chaque contact et des informations à utiliser dans le cadre de tout envoi

2-Create event definitions in Marketing Cloud. These event definitions control which contacts enter the journey and when. /Créez des définitions d’événements dans Marketing Cloud. Ces définitions d’événements contrôlent quels contacts entrent dans le parcours et quand.

3-Build the journey. This includes any activities, such as sends or updates, that determine which messages the contact receives. You can also add a goal here to help you determine the success of the journey. /Construisez le parcours. Cela inclut toutes les activités, telles que les envois ou les mises à jour, qui déterminent les messages que le contact reçoit. Vous pouvez également ajouter un objectif ici pour vous aider à déterminer le succès du parcours.

4-Publish the journey. This step activates the journey and evaluates contacts to determine if they enter the journey. /Publiez le parcours .Cette étape active le parcours et évalue les contacts pour déterminer s’ils entrent dans le parcours.

5-Fire an entry event. This step begins the journey for the contacts that meet the entry criteria. /Déclenchez un événement d’entrée. Cette étape débute le parcours pour les contacts qui répondent aux critères d’entrée.

A journey can include some pretty complex operations, so Salesforce Developers includes a full reference for all these steps. /Un parcours peut inclure des opérations assez complexes, la documentation Salesforce développeurs contient une référence complète pour toutes ces étapes.

Example: Send an Email Message Via Journey Builder /Exemple: envoyer un e-mail via Journey Builder

Let’s take a look at a simple example, for reference. /Voyons un exemple simple d’une référence.

Here’s the JSON for an event that sends an email message. /Voici le JSON d’un événement qui envoie un e-mail.

The information specifies the activity and the triggered send with associated metadata. The email is sent when the event is triggered as part of the journey. /Les informations spécifient l’activité et l’envoi déclenché avec les métadonnées associées. L’e-mail est envoyé lorsque l’événement est déclenché dans le cadre du parcours.

{
   "type": "EMAILV2",
   "key": "<activity key>",
   "name": "<activity name>",
   "applicationId": "<Marketing Cloud provided GUID>",
   "outcomes": [
      {
        "key": "<outcome key>",
        "next": "<key of next activity>"
      }
   ],
   "metaData":{
      "icon":"/img/email-icon.svg",
      "iconSmall":"/img/email-icon.svg",
      "category":"message",
      "version":"1.0",
      "isConfigured":true
   },
   "configurationArguments":{
      "triggeredSend":{
        "emailId":"<email id>",
        "emailSubject": "<subject>",
        "preHeader":"<preheader>",
        "description":"<description>",
        "campaigns":[
            {
               "id":"<campaign id>",
               "name":"<campaign name>",
               "color":"<campaign color>"
            }
   ],
   "sendClassificationId":"<send classification id>",
   "senderProfileId":"<sender profile id>",
   "deliveryProfileId":"<delivery profile id>",
   "publicationListId":"<publication list id>",
   "suppressionLists":[
       {
          "name":"<suppression list name>",
          "id":"<suppression list id>"
       }
   ],
   "domainExclusions":[
       {
          "name":"<domain exclusion name>",
          "id":"<domain exclusion id>"
       }
   ],
   "exclusionFilter":"<exclusion script>",
   "isTrackingClicks":true,
   "isMultipart":true,
   "isSendLogging":true,
   "suppressTracking":true,
   "ccEmail":"<cc email>",
   "bccEmail":"<bcc email>",
   "keyword":"<keyword>",
   "throttleLimit":500,
   "throttleOpens":"12:00",
   "throttleCloses":"12:30",
   "isSalesforceTracking":true
       }
   }
} 

GroupConnect

Marketing Cloud uses the GroupConnect REST API to send messages using apps like Facebook Messenger and LINE. /Marketing Cloud utilise l’API REST GroupConnect pour envoyer des messages à l’aide d’applications telles que Facebook Messenger et LINE.

Contacts might receive messages for shipping or reservation updates, account changes, or other communications. /Les contacts peuvent recevoir des messages pour l’envoi ou les mises à jour de réservation, les changements de compte ou d’autres communications.You can set up your GroupConnect API integration with these steps from Salesforce Developers. /Vous pouvez configurer votre intégration API GroupConnect à l’aide de ces étapes à partir de la documentation Salesforce développeurs.

Example: Register a Facebook Page /Exemple: enregistrer une page Facebook

This example contains a sample request that identifies the platform, includes the necessary access information, and identifies the page to register. /Cet exemple contient un exemple de requête qui identifie la plateforme, inclut les informations d’accès nécessaires et identifie la page à enregistrer.

Host: https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com
POST /ott/v1/registration
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
    "ottPlatformName" : "messenger",
    "ottPlatformAttributes" : {
       "applicationId" : "1093076390764037",
       "applicationSecret" : "03d537gg656gvkbe9b430f002e9c4517",
       "pageId" : "1732555047025799",
       "pageName" : "SFMC Engineers",
       "pageAccessToken" :
"someaccesstoken4fasdcruib213123knubkdnfisdubnu12312ub3pijnb",
       "endpointUrl" :
"https://graph.facebook.com/v2.6/me/messages",
       "callbackVerifyToken" : "this_is_the_verify_token",
       "isActive": true
    }
}

MobileConnect

MobileConnect allows Marketing Cloud accounts to send SMS and MMS messages to contacts. / MobileConnect permet aux comptes Marketing Cloud d’envoyer des messages SMS et MMS aux contacts.

These types of messages require more regulation than email messages, so MobileConnect provides different types of opt-in mechanisms to help you comply with the applicable regulations for your sends. All contacts must opt to receive your messages in one of three ways. /Ces types de messages nécessitent plus de réglementation que les e-mails, MobileConnect propose donc différents types d’Opt-In vous aider à vous conformer aux réglementations applicables à vos envois. Tous les contacts doivent choisir de recevoir vos messages de trois manières.

1-Single Opt-In. The contact sends an SMS message via a short code to subscribe to further communication. /Opt-in unique.Le contact envoie un SMS via un code court pour s’abonner à une communication ultérieure.

2-Double Opt-In. The contact sends the SMS message and confirms in a reply that they want to continue receiving messages. /Double opt-in. Le contact envoie le message SMS et confirme dans une réponse qu’il souhaite continuer à recevoir des messages.

3-Double Opt-In with Age Confirmation. In addition to the two confirmation messages, the contact also confirms that they are old enough to receive the messages. /Double opt-in avec confirmation d’âge. En plus des deux messages de confirmation, le contact confirme également qu’ils sont l’âge requis pour recevoir les messages.

After they’ve subscribed, you can send a variety of messages to your subscribers, either individually or via a list. /Une fois qu’ils se sont abonnés, vous pouvez envoyer divers messages à vos abonnés, individuellement ou via une liste.

 You can also create triggered messages that send after a certain activity, such as a purchase or shipment. /Vous pouvez également créer des messages déclenchés qui sont envoyés après une certaine activité, comme un achat ou une expédition.

 Other common API requests include subscription confirmation and using a web form (or mobile app) as part of the opt-in process. /D’autres demandes d’API courantes incluent la confirmation de l’abonnement et l’utilisation d’un formulaire Web (ou d’une application mobile) dans le cadre du processus d’adhésion.

Example: Send an SMS Message Via MobileConnect /Exemple: envoyer un message SMS via MobileConnect

Let’s take a look at an example for sending a message to welcome a new subscriber. /Voyons un exemple d’envoi d’un message pour souhaiter la bienvenue à un nouvel abonné.

The Subscribe and Resubscribe values require subscription confirmation before sending the message. /Les valeurs d’abonnement et de réabonnement nécessitent une confirmation d’abonnement avant d’envoyer le message.

POST
https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com/sms/v1/messageContact/MzA6Nzg6MA/send
Content-Type: application/json
Authorization: Bearer YOUR_OAUTH_ACCESS_TOKEN
{
   "mobileNumbers": [
   "13175551212"
   ],
   "Subscribe": true,
   "Resubscribe": true,
   "Override": true,
   "messageText": "Welcome to Salesforce Developers",
}

Personalization Builder /Générateur de personnalisation

Personalization Builder works with Einstein Recommendations to personalize multichannel messages based on your customers’ needs, interests, and preferences. /Personalization Builder fonctionne avec les recommandations Einstein pour personnaliser les messages multicanaux en fonction des besoins, des intérêts et des préférences de vos clients.

This API integration helps you update the information used to create recommendations, manage privacy requests, and download large reports. /Cette intégration d’API vous aide à mettre à jour les informations utilisées pour créer des recommandations, gérer les demandes de confidentialité et télécharger des rapports volumineux.

This integration requires the Crimson Kraken API key from your Marketing Cloud account. Contact your Marketing Cloud admin for assistance if you can’t access this key. /Cette intégration nécessite la clé API Crimson Kraken de votre compte Marketing Cloud. Contactez votre administrateur Marketing Cloud pour obtenir de l’aide si vous ne pouvez pas accéder à cette clé.

Example: Update Personalization Builder Settings /Exemple: mise à jour des paramètres du générateur de personnalisation

This example shows an example of information necessary to update privacy settings for the specified Personalization Builder profile. /Cet exemple montre un exemple d’informations nécessaires pour mettre à jour les paramètres de confidentialité pour le profil Personalization Builder spécifié.

Host:  https://app.igodigital.com
POST /api/v2/organization/12345678/privacy
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
   "batch": {
      "hashed-id-01": ["do_not_track"], // Adds "do_not_track" privacy setting, removes "do_not_profile" or "do_not_process" if they were previously set
      "hashed-id-02": ["do_not_profile"], // Adds "do_not_profile" privacy setting, removes "do_not_track" or "do_not_process" if they were previously set
      "hashed-id-03": ["do_not_process"], // Adds "do_not_process" privacy setting, removes "do_not_profile" or "do_not_track" if they were previously set
      "hashed-id-04": ["do_not_track", "do_not_profile"], // Adds "do_not_track" and "do_not_profile" privacy settings, removes "do_not_process" if it was previously set
      "hashed-id-05": ["do_not_track", "do_not_process"], // Adds "do_not_track" and "do_not_process" privacy settings, removes "do_not_profile" if it was previously set
      "hashed-id-06": ["do_not_profile", "do_not_process"], // Adds "do_not_profile" and "do_not_process" privacy settings, removes "do_not_track" if it was previously set
      "hashed-id-07": ["do_not_track", "do_not_profile", "do_not_process"], // Adds "do_not_track", "do_not_profile" and "do_not_process" privacy settings
      "hashed-id-08": [], // Removes any existing privacy settings for profile
      "hashed-id-09": ["rtbf_delete"], // Deletes profile and associated data
      "hashed-id-10": ["rtbf_suppress"] // Deletes profile and associated data after suppression period
   }
}

Transactional Messaging / Messagerie transactionnelle

The transactional messaging API manages automated messaging used for order confirmations, password resets, and other nonpromotional messages. /L’API de messagerie transactionnelle gère la messagerie automatisée utilisée pour les confirmations de commande, les réinitialisations de mot de passe et d’autres messages non promotionnels.

You can use email or SMS messages for these communications. /Vous pouvez utiliser des messages email ou SMS pour ces communications.

This API offers speedier performance than your average triggered send in Email Studio or MobileConnect, and you can use the Event Notification Service (an immediate notification API) to receive instantaneous confirmation of your sends. /Cette API offre des performances plus rapides que votre envoi déclenché moyen dans Email Studio ou MobileConnect, et vous pouvez utiliser le service de notification d’événements (une API de notification immédiate) pour recevoir une confirmation instantanée de vos envois.

To create transactional messages using the API, follow these steps. /Pour créer des messages transactionnels utilisant l’API, suivez ces étapes

  1. Create an email message in Content Builder and a list in Email Studio (or a keyword in MobileConnect). /Créez un e-mail dans Content Builder et une liste dans Email Studio (ou un mot-clé dans MobileConnect).
  2. Get your access token. /Récupérer votre jeton d’accès.
  3. Create a transactional send definition via REST API. If you create a triggered send in Email Studio or Outbound Message in MobileConnect, the transactional REST API fails to send. /Créez une définition d’envoi transactionnel via l’API REST. Si vous créez un envoi déclenché dans Email Studio ou un message sortant dans MobileConnect, l’API REST transactionnelle ne parvient pas à envoyer.
  4. (Optional) You can create a subscription using the Event Notification Service that delivers real-time tracking data about the messages. /(Facultatif) Vous pouvez créer un abonnement à l’aide du service de notification d’événements qui fournit des données de suivi en temps réel sur les messages.

Example: Send a Transactional Email Message /Exemple: envoyer un e-mail transactionnel

This sample code contains an example of the information necessary to send a transactional email message. /Cet exemple de code contient un exemple des informations nécessaires pour envoyer un e-mail transactionnel.

Host: https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com
POST /messaging/v1/email/messages/f4fe74b7-c3c0-4e5a-9f49-b63a641109a2
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
  "definitionKey": "2FA_order_accounts",
  "recipient":
  {
   "contactKey": "recipient2",
    "to": "recipient2@example.com",
    "attributes": {
      "UserAttribute_1": "value_1",
      "UserAttribute_n": "value_n",
    }
  },
}

Whew, we covered a lot! And that’s just the start of what’s possible with the REST API. You can find additional resources and explore even more possibilities on Salesforce Developers. Next up, you learn how to amp up your Email Studio integration with the SOAP API. /Ouf, nous avons fait le plein de connaissance! Et ce n’est qu’un début des possibilités de l’API REST. Vous trouverez des ressources supplémentaires et encore plus de possibilités sur Salesforce Developers. Prochainement, vous verrez comment amplifier votre intégration via Email Studio avec l’API SOAP.

Resources /Ressources

Stay Secure with Access Tokens / Maintenir la sécurité avec des jetons d’accès

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to: / Une fois cette unité terminée, vous pourrez :

  • Integrate with a Marketing Cloud API securely. / Intégrer en toute sécurité avec une API Marketing Cloud.
  • Use access tokens for both REST and SOAP APIs. /Utiliser des jetons d’accès pour les API REST et SOAP.
  • Know when to refresh your tokens. /Savoir quand actualiser vos jetons.

Get Your Token / Avoir votre jeton

At Salesforce, we take security seriously. /Chez Salesforce, nous prenons la sécurité au sérieux.

And the Marketing Cloud REST and SOAP APIs are no exception. /Et les API Marketing Cloud REST et SOAP ne font pas exception.

Marketing Cloud provides tenant-specific endpoints to help secure your API requests (more on this in a minute). /Marketing cloud fournit des points de terminaison spécifiques au locataire pour vous d’aider à sécuriser vos demandes d’API (plus d’informations à ce sujet dans une minute).

Plus, you’re required to use OAuth tokens to access these endpoints. /De plus, vous devez utiliser les jetons OAuth pour accéder à ces points de terminaison.

To get those endpoints and tokens, you need to do a few things. /Pour obtenir ces points de terminaison et ces jetons, vous devez faire un peu de configuration.

Both the REST and SOAP APIs require an API integration with Marketing Cloud using an installed package. /Les API REST et SOAP nécessitent une intégration d’API avec Marketing Cloud à l’aide d’un package installé.

After you create the installed package in your Marketing Cloud account, you can request an access token using your client ID and secret. / Après avoir créé le package installé dans votre compte Marketing Cloud, vous pouvez demander un jeton d’accès à l’aide de votre ID client et secret.

Any application that you create extracts that token and uses it to gain access to Marketing Cloud resources. /Toute application que vous créez extrait ce jeton et l’utilise pour accéder aux ressources Marketing Cloud.

Let’s walk through creating an installed package and finding your endpoints. /Voyons comment créer un package installé et trouver vos points de terminaison.

Note / Remarque

The examples in this unit use the REST API—since it’s the preferred way to interact with Marketing Cloud. /Les exemples de cette unité utilisent l’API REST, car c’est le moyen préféré d’interagir avec Marketing Cloud.

Create an Installed Package /Créer un package installé

Marketing Cloud uses installed packages to help authenticate users and API requests. /Marketing Cloud utilise des packages installés pour permettre l’authentification des utilisateurs et des appels API.

For this step, you need access to your Marketing Cloud account. (Contact your Marketing Cloud admin for help.) /Pour cette étape, il vous faut un accès à votre compte Marketing cloud. (Contacter votre administrateur Marketing cloud pour cela)

  1. In Marketing Cloud, go to Setup. /Dans Marketing Cloud, accédez à la configuration
  2. Click Apps. /Cliquez sur Apps
  3. Click Installed Packages. /Cliquez sur Packages installés
  4. Click New. /Cliquez sur Nouveau
  5. Give the package a name and description. /Donner un nom et une description au package
  6. Create the package with enhanced functionality. /Créer un package avec des fonctionnalités améliorées
  7. Save the package. /Enregistrer le package
  8. Under Components, click Add Component and select API Integration. /Sous Composants, cliquez sur Ajouter un composant et sélectionnez Intégration API.

9.  Select an integration type. /Sélectionnez un type d’intégration.

  • Server-to-Server with Client Credentials Grant Type /Serveur à serveur avec type d’attribution des informations d’identification client
  • Web and Public App Integrations with Authorization Code Grant Type /Intégrations Web et applications publiques avec type d’autorisation de code d’autorisation

 10-Set the integration properties, including scopes and the redirect URIs for web and public apps. /Définissez les propriétés d’intégration, notamment les étendues de services et les URI de redirection pour les applications Web et publiques.

Use https://127.0.0.1:80/ as a valid redirect URI for local testing. /Utilisez https://127.0.0.1:80/ comme URI de redirection valide pour les tests locaux.

11-Save the component. /Enregistrer le composant

Discover Your Endpoints / Découvrez vos points de terminaison

As we mentioned earlier, our APIs use tenant-specific endpoints. /Comme mentionné précédemment, nos API utilisent des points de terminaison spécifiques au locataire

That means, instead of directing all requests to a single endpoint, your endpoints include a subdomain unique to your tenant. /Cela signifie qu’au lieu de diriger toutes les demandes vers un seul point de terminaison, vos points de terminaison incluent un sous-domaine unique à votre locataire.

This also improves performance for your API requests by reducing the amount of traffic on any one endpoint. /Cela améliore également les performances de vos demandes d’API en réduisant la quantité de trafic sur n’importe quel point de terminaison.

Faster and more secure—that’s a win-win. /Rapide et plus sécurisé, c’est du gagnant-gagnant.

Your Marketing Cloud account contains the information you need to implement your endpoints. /Votre compte Marketing Cloud contient les informations dont vous avez besoin pour implementer vos points de terminaisons.

If you can’t directly access the account, contact your Marketing Cloud admin for the information you need to get started. /Si vous n’avez pas accès au compte, contacter votre Admin Marketing Cloud afin d’obtenir les informations dont vous avez besoin pour commencer.

Server-to-Server Integrations /Intégrations de serveur à serveur

Use server-to-server integrations to set up REST or SOAP API interactions between Marketing Cloud and your system. /Utilisez des intégrations de serveur à serveur pour configurer les interactions d’API REST ou SOAP entre Marketing Cloud et votre système.

You can set up your integration in just three steps. /Vous pouvez configurer votre intégration en seulement trois étapes.

Step 1Request an access token using a client ID and secret. /Demander un jeton d’acces à l’aide d’un ID client et secret.

Installed packages generate these values for you when you create the integration. /Les packages installés génèrent ces valeurs pour vous quand vous créez l’intégration.

This example shows the information included in this REST API request. /Cet exemple montre les informations incluses dans cet appel REST API.

Store your client ID and secret securely. /Stockez votre identifiant client et secret en toute sécurité.

Never expose this information on the client side via JavaScript and don’t store it in a mobile application. /N’exposez jamais ces informations côté client via JavaScript et ne les stockez pas dans une application mobile.

Host: https://YOUR_SUBDOMAIN.auth.marketingcloudapis.com
POST /v2/token
Content-Type: application/json
{
"grant_type": "client_credentials",
"client_id": "7a9j47upktedde30uedl822p",
"client_secret": "1955278925675241571",
"scope": "email_read email_write email_send",
"account_id": "12345"
}

Step 2—Marketing Cloud returns an access token. /Marketing Cloud renvoie un jeton d’accès.

Extract this token for your use. /Extrayez ce jeton pour votre usage.

Give this token the same care and protection that you do for a username and password. /Donnez à ce jeton le même soin et la même protection qu’un nom d’utilisateur et mot de passe.

In other words, don’t post it on a public message board or leave it on an unencrypted document in your system. /En d’autres termes, ne le postez pas sur un objet public et ne le laissez pas sur un document non chiffré de votre système.

HTTP/1.1 200 OK
{
"access_token":"eyJhbLciOiJIPzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjIifQ.eyJhY2Nlc3NfdG9rZW4iOiJhYmJUQTlpSHZqRjkyd3Jkb0xWZEFCaloiLCJjbGllbnRfaWQiOiI3ZTRmYW1xaWUzcWtzdzlhNDRrcmxvZDgiLCJlaWQiOjEwNzU3Njc2LCJzdGFja19rZXkiOiJRQTFTMSJ9.wSFfEdeNrkoiU_tnmJ2ihm8iUqnJKlZoI3GlavTGBhs.hU4EsiC1e9txh_TCt90YlI2l7xZZ5E6_oa0xku3Jj9CCk1B72M4bhO3kUIyhwfVuB0MFbL0y9KD_RRFzg-nuqPgjPyONnby-iWopdZPBHd-3woupxCMST5-vfJO9qAED9qiUfYLS4WmHRuJTCX4NPScyu8BdROTVEe-D3iAoAeFoJX_rLZ9d5eEhIn1AvkYgoj9siuxAprHEvmySTgNIXkQA6uT_IQ-H1dbfOyJmlFKpYzvhvHb0KH7NJ24zy5bd2MQ5",
"expires_in":1200,
"token_type":"Bearer",
"rest_instance_url":"mc563885gzs27c5t9-63k636tzgm.rest.marketingcloudapis.com",
"soap_instance_url":"mc563885gzs27c5t9-63k636tzgm.soap.marketingcloudapis.com",
"scope": "email_read email_write email_send"
}

Step 3—Access your REST and SOAP API resources. /Accédez à vos ressources API REST et SOAP.

You’re good to go! Start planning and writing your requests. /Vous êtes prêt à partir! Commencez à planifier et à rédiger vos requetes.

Web and Public Integrations /Web et intégrations publiques

Use this method to allow a specific user to access your app using authorization from Marketing Cloud. /Utilisez cette méthode pour autoriser un utilisateur spécifique à accéder à votre application en utilisant l’autorisation de Marketing Cloud.

 A web app can securely store a client secret, but a public app cannot. /Une application Web peut stocker en toute sécurité un secret client, mais pas une application publique.

Step 1—Redirect the User Web Browser to Marketing Cloud. /Redirigez le navigateur Web de l’utilisateur vers Marketing Cloud.

Include code in your app to perform the redirect to the Marketing Cloud authorization URL for your integration. Take a look at this example. /Incluez du code dans votre application pour effectuer la redirection vers l’URL d’autorisation Marketing Cloud pour votre intégration. Jetez un oeil à cet exemple.

https://YOUR_SUBDOMAIN.auth.marketingcloudapis.com/v2/authorize?response_type=code&amp;client_id=vqwyswrlzzfk024ivr682esb&amp;redirect_uri=https%3A%2F%2Fwww.example.com%2Fcode_callback.jsp&amp;scope=email_read%20email_write%20email_send&amp;state=mystate

Step 2—Extract the authorization code. /Extraire le code d’autorisation.

A successful authorization returns a response containing an authorization code. Extract that code from the response, which appears like this. /Une autorisation réussie renvoie une réponse contenant un code d’autorisation. Extrayez ce code de la réponse, qui apparaît comme ceci.

https://www.example.com/code_callback.jsp?state=mystate&amp;tssd={YOUR_MARKETING_CLOUD_SUBDOMAIN}
&amp;code=aWekysIEeqM9PiThEfm0Cnr0MoLIfwWyRJcqOqHdF8f9INokharAS09ia7UNP6RiVScerfhc4w

Step 3—Request a token. /Demandez un jeton.

The request for the token looks like this. /La demande de jeton ressemble à ceci.

Host: https://YOUR_SUBDOMAIN.auth.marketingcloudapis.com
POST /v2/token
Content-Type: application/json
{
   "grant_type": "authorization_code",
   "code":
"eyJhbZciOiJIUzI1NiIsImtpZCI6IjIiLCJ2ZXIiOiIxIiwidHlwIjoiSldUIn0.eyJhY2Nlc3NfdG9rZW4iOiJhY0tlbEVIaTdzVERNNWd5VVR1VGdsS1YiLCJjbGllbnRfaWQiOiJmaG0yd2lsb2d2ajhqNXdzcWprZmgwejUiLCJlaWQiOjEwNzcxNzA2LCJzdGFja19rZXkiOiJRQTFTMSIsInBsYXRmb3JtX3ZlcnNpb24iOjIsImNsaWVudF90eXBlIjoiU2VydmVyVG9TZXJ2ZXIifQ.Q0qyABvInOiz3PfGsTDbj1coVTTdD8A4pCZS395P3Qo.DoROxfr3CQlMVMtVd5gYERWFYWoiNWojKObHxOq_5BqR98CDSAqfExfH-mv3PFMzy0U2NntttdgZK5wTL0UejXCxxH_XlcgL5k1TWzv_K-uTlPmliK2eI0LnaR1ti-TSqG36RnfUWzZ8KlAuGlqdGv-wgJtLeQTCEqE97yuqnlppgLLOB",
   "client_id": "7a8j47upktedde30uedl822p",
   “client_secret: “lYkAjPxnmHP4Zarpv1U4cLf0”
   "redirect_uri": "http://www.example.com/code_callback.jsp/",
   "scope": "email_read email_write email_send offline"
}

That request prompts Marketing Cloud to return the token. Again, take the utmost care to protect this token. /Cette demande invite Marketing Cloud à renvoyer le jeton. Encore une fois, prenez s’en grand soin de protéger ce jeton.

HTTP/1.1 200 OK
{
"access_token":"eyJhbZciOiJIUzI1NiIsImtpZCI6IjEiLCJ2ZXIiOiIxIiwidHlwIjoiSldUIn0.eyJhY2Nlc3NfdG9rZW4iOiJjZ3RHRklkUjUydnY4WHhLRHZaTDU2VHAiLCJjbGllbnRfaWQiOiI5b2xhcnI3emEyZHplaWtlaTBxZ2Z0dm0iLCJlaWQiOjEwODU1ODQsInN0YWNrX2tleSI6IlFBM1MxIiwicGxhdGZvcm1fdmVyc2lvbiI6MiwiY2xpZW50X3R5cGUiOiJDb25maWRlbnRpYWwifQ.Hp6gLSnlvBsx9FI6qXwJ12HJVzStWLIJdlzrx4XIIN4.t2kCu9YBNHVask49MQZXMlKGvYMXEc50QkRTc3y5_ylEWC8hPyEkU9sIanqL0ALSwFNyhQmMF6aajnmSrsD5obIl-NjXNfIwYWmnDqZU6HFBgbMoR3ofuEGIhrGokqUbD8nHZtgp-otgQSOg5Qj_RqUHUC0N0Fo4BUCXTq5BiM_EjP_djIKZF",
"refresh_token":"eyJhbZciOiJIUzI1NiIsImtpZCI6IjEiLCJ2ZXIiOiIxIiwidHlwIjoiSldUIn0.eyJyZWZyZXNoX3Rva2VuIjoiY2JINUE0aUdnTnBQVmJzOTlCUlZnNmh6IiwiY2xpZW50X2lkIjoiOW9sYXJyN3phMmR6ZWlrZWkwcWdmdHZtIiwiZWlkIjoxMDg1NTg0LCJzdGFja19rZXkiOiJRQTNTMSIsInBsYXRmb3JtX3ZlcnNpb24iOjIsImNsaWVudF90eXBlIjoiQ29uZmlkZW50aWFsIn0.-kScEfPhdz2g75b-KgTnmYKK9YTbUu9m9AhDTKkYFr4.mFd_EyLlPeAmfmwqqiBi_0HrAL5Ndtj1R9zWMj0Y80FOjB9n_EPYR0nKGKkNeijVuxmdMNgnOSF_isxGDwqjDoor2x4B-gP9Erl0gl4u58yzAXcjesNoJ1L96HJ3kjg-Jwke4p4K1MEWoB0fsrbDUaIAkg2Tf5THwrTLAxKRhn-ANltUDwUt",
   "expires_in":1200,
   "token_type":"Bearer",
"rest_instance_url":"mc563885gzs27c5t9-63k636tzgm.rest.marketingcloudapis.com",
"soap_instance_url":"mc563885gzs27c5t9-63k636tzgm.soap.marketingcloudapis.com",
   "scope": "email_read email_write email_send"
}

Step 4—Access your REST and SOAP API resources. /Accédez à vos ressources API REST et SOAP.

Once you have your tokens in place, you’re ready to implement some REST or SOAP API requests!  / Une fois vos jetons en place, vous êtes prêt à implémenter quelques demandes d’API REST ou SOAP!

Now that you can securely access both of the APIs, let’s take a closer look at each one. First up: the REST API. /Maintenant que vous pouvez accéder en toute sécurité aux deux API, voyons chacune de plus près. Tout d’abord : l’API REST.

Resources /Ressources

Get to Know Marketing Cloud APIs / Présentation des APIs dans Marketing Cloud

Learning Objectives /Objectifs de formation

After completing this unit, you’ll be able to:/ Une fois cette unite terminée, vous pourrez :

  • Describe each Marketing Cloud API. /Décrire chaque Api Marketing cloud
  • Discover the endpoints used to access a Marketing Cloud API. /Découvrir les points de terminaisons utilisés pour accéder à une API Marketing Cloud.

APIs: The Building Blocks of Marketing Cloud /APIs: Les blocs de constructions de Marketing Cloud

As a developer, APIs are the building blocks you use to connect your system to Marketing Cloud. /En tant que developpeur, les APIs sont des blocs de constructions que vous utilisez pour connecter votre système à Marketing Cloud.

We want you to have everything you need to design and implement your code, so Marketing Cloud offers two robust APIs: REST and SOAP. / Nous souhaitons que vous ayez tous ce dont vous avez besoin pour concevoir et implementer votre code, alors Marketing cloud offre deux APIs robustres: REST and SOAP.

Each API has its own benefits, so sometimes you may even use both, depending on your needs. /Chaque APIs a ses propres avantages, parfois vous pouvez meme utiliser les deux, cela déprendra de vos besoins.

In this unit, we take a look at these APIs and explore how they can help you reach your goals. / Dans cette unité, nous explorons ces API et verrons comment elles peuvent vous aider à atteindre vos objectifs.

Let’s Get Some REST API /Utilisation d’une API REST

Ready to make your job easier? Good news: You can create content, build your contact records, and monitor your customer journeys with the Marketing Cloud REST API. / Pret à rendre votre travail simple ?  Bonne nouvelle: vous pouvez créer du contenu, créer vos enregistrements de contact et monitorer vos parcours client avec l’API REST de Marketing Cloud.

And the REST API is your key to the latest and greatest functionality across Marketing Cloud apps, like :  /Et l’API REST est votre clé pour les récentes et super fonctionnalités des applications Marketing cloud telles que :

  • Contact Builder
  • Content Builder
  • GroupConnect
  • Journey Builder
  • MobileConnect
  • MobilePush
  • Personalization Builder

Using the REST API, you can also send transactional (or triggered) messages, manage campaigns, and handle event notifications. Avec l’aide de l’API REST, vous pouvez également envoyer des messages transactionnels et gérer vos campagnes, et traiter vos événements de notifications.

Plus, our REST API requests and responses contain JSON bodies, and the resources accept synchronous requests. /De plus, nos requetes et réponses d’API REST contiennent du code JSON et les ressources acceptent les requetes synchrones.

Dive In with SOAP API / l’API SOAP

If you’re working with an existing Marketing Cloud integration or building new functionality with Email Studio, the SOAP API provides the tools you need. / Si vous travaillez sur des integrations marketing existantes ou créer une nouvelle fonctionalité avec email studio, l’API SOAP fournit les outils dont vous avez besoin.

With the SOAP API, you can manage : /Avec l’API SOAP, vous pouvez gérer :

  • Automations /les automatisations
  • Content creation /Création de contenu
  • Subscribers and lists /Abonnés et listes
  • Tracking /Suivi
  • Triggered sends /Envois déclenchés
  • Other email activities /Autres activités de messagerie

The SOAP API accepts SOAP envelopes to exchange information with Marketing Cloud. /L’API SOAP accepte les enveloppes SOAP pour échanger des informations avec Marketing Cloud.

You can review your WSDL to see all of the available operations, or check out Salesforce Developers for a complete list. /Vous pouvez consulter votre WSDL pour voir toutes les opérations disponibles ou allez rechercher dans Salesforce Developers pour une liste complète.

Choose the Best API for the Job/ Choisissez la meilleur API pour votre travail

So how do you choose between the two APIs? /Entre les deux APIs comment faire son choix?

Well, the REST API works with the latest apps in Marketing Cloud and is up to almost any task, so it’s the best place to start. / L’API REST fonctionne avec les dernières applications de Marketing Cloud et est à la hauteur de presque toutes les tâches. C’est donc le meilleur choix pour commencer.

If you want to use Content Builder, the REST API is the way to go. /Si vous souhaitez utiliser Content builder, l’API REST est le choix à faire.

However, the SOAP API can be helpful for managing Email Studio content and triggered sends /Cependant, l’API SOAP peut etre utile pour gérer du contenus et des envois déclenchés

especially if you’re working with older accounts or integrations that require a specific functionality. /Spécialement si vous travaillez avec des vieux comptes ou d’intégrations qui nécessite de fonctionnalité spécifique

Keep in mind, the SOAP API can only be used with classic content in Marketing Cloud (not Content Builder). Garder à l’esprit, l’API SOAP ne peut être utilisée qu’avec du contenu classique dans Marketing Cloud (pas avec Content Builder).

If you noticed some overlap between the two APIs (namely, content and triggered sends), you’ve got a keen eye! As we mentioned earlier, you may need both APIs to accomplish some of your Marketing Cloud tasks /Si vous avez remarqué quelques chauvement entre les deux APIs (à savoir, le contenu et les envois déclenchés) vous avez des bons yeux! Comme nous l’avons mentionné précédemment, vous aurez peut-être besoin des deux API pour effectuer certaines de vos tâches Marketing Cloud.

and these shared uses are a good example. However, when possible, opt for the REST API to make sure you’re using the most current API offerings. /Ces utilisations partagées en sont un bon exemple. Toutefois, lorsque cela est possible, optez pour l’API REST pour vous assurer que vous utilisez les offres d’API les plus récentes.

No matter which API you choose, you need an OAuth (Open Authorization) token to access Marketing Cloud. / Quelle que soit l’API choisie, vous avez besoin d’un jeton OAuth (Open Authorization) pour accéder à Marketing Cloud.

In the next unit, we walk through the steps to get your credentials and get started! /Dans l’unité suivante, nous réaliserons les étapes pour obtenir vos informations d’identification afin de commencer!

Resources /Ressources