Uncategorized

Set Up Your Developer Environment /Configurer votre environnement de développeur

Learning Objectives /Objectifs de formation

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

  • Explain different types of integration components. /Expliquer les différents types de composants d’intégration.
  • Create an enhanced installed package in your Marketing Cloud account. /Créer un package installé amélioré dans votre compte Marketing Cloud.
  • Obtain credentials for API integration authentication. /Obtenir les informations d’identification pour l’authentification d’intégration API.

Did you think we’d let you finish this badge without developing something? Fear not. /Pensiez-vous que nous vous laisserions terminer ce badge sans développer quelque chose? N’ayez crainte.

All your hard work learning about Marketing Cloud developer tools and admin concepts is about to pay off. /Tout votre travail acharné d’apprentissage des outils de développement et des concepts d’administration de Marketing Cloud est sur le point de porter ses fruits.

In this unit, we’re walking through the steps to set up your developer environment. /Dans cette unité, nous parcourons les étapes de configuration de votre environnement de développeur.

Then, in the next unit, you get to try out a simple project to validate your setup. /Ensuite, dans l’unité suivante, vous pouvez essayer un projet simple pour valider votre configuration.

Note /Remarque

Want to follow along with these steps in your Marketing Cloud account? You need the “Administer” permission for Installed Packages to complete the steps in this module. Talk to your Marketing Cloud administrator to get that permission enabled. /Vous souhaitez suivre ces étapes dans votre compte Marketing Cloud? Vous avez besoin de l’autorisation «Administrer» pour les packages installés pour effectuer les étapes de ce module. Contactez votre administrateur Marketing Cloud pour activer cette autorisation.

Create a Package /Créer un package

The first step to setting up your developer environment is to create an installed package in your Marketing Cloud account. A package is a container made up of components that create and manage custom functionality. In other words, the components determine what the package can do.  /La première étape de la configuration de votre environnement de développeur consiste à créer un package installé dans votre compte Marketing Cloud. Un package est un conteneur composé de composants qui créent et gèrent des fonctionnalités personnalisées. En d’autres termes, les composants déterminent ce que le package peut faire.

Why create a package? You use the package to create API integrations, install custom apps, or add custom Journey Builder components for example, all of which you can share with other business units in the Marketing Cloud account. Here are a few examples of reasons to create a package: /Pourquoi créer un package? Vous utilisez le package pour créer des intégrations d’API, installer des applications personnalisées ou ajouter des composants Journey Builder personnalisés, par exemple, que vous pouvez tous partager avec d’autres unités commerciales dans le compte Marketing Cloud. Voici quelques exemples de raisons de créer un package:

ComponentPackage Creation Reason
ComposantRaison de la création du package
API IntegrationYou create an integration with a third-party application, which needs access to the Marketing Cloud REST API. To get a client ID and secret, create an installed package with an API Integration component. You can have one API integration per package.
Intégration APIVous créez une intégration avec une application tierce, qui a besoin d’accéder à l’API REST Marketing Cloud. Pour obtenir un ID client et un secret, créez un package installé avec un composant d’intégration d’API. Vous pouvez avoir une intégration d’API par package.
Marketing Cloud AppYou create an app outside of Marketing Cloud that you’d like to iFrame into Marketing Cloud. Create an installed package with a Marketing Cloud App component. You can have one Marketing Cloud App per package. If your app needs access to the Marketing Cloud API, create an API Integration component, as well.
Application Marketing CloudVous créez une application en dehors de Marketing Cloud que vous souhaitez iFrame dans Marketing Cloud. Créez un package installé avec un composant Marketing Cloud App. Vous pouvez avoir une application Marketing Cloud par package. Si votre application a besoin d’accéder à l’API Marketing Cloud, créez également un composant d’intégration d’API.
Custom Content BlockInstead of using Content Builder’s CKEditor WYSIWYG for HTML editing, you’d like to use a different WYSIWYG, such as QuillJS. Create an installed package with a Custom Content Block component.
Bloc de contenu personnaliséAu lieu d’utiliser CKEditor WYSIWYG de Content Builder pour l’édition HTML, vous souhaitez utiliser un autre WYSIWYG, tel que QuillJS. Créez un package installé avec un composant Bloc de contenu personnalisé.
Journey Builder ActivityYou need a custom activity for one of your journeys that kicks off a REST API request in a third-party application. Create an installed package with a Journey Builder Activity component. You can include multiple Journey Builder Activities per package.
Activité de Journey BuilderVous avez besoin d’une activité personnalisée pour l’un de vos parcours qui lance une demande d’API REST dans une application tierce. Créez un package installé avec un composant d’activité Journey Builder. Vous pouvez inclure plusieurs activités Journey Builder par package.
Journey Builder Entry SourceYou need a custom entry source for one of your journeys that comes via a REST API request from a third-party application. Create an installed package with a Journey Builder Entry Source component. You can have multiple Journey Builder Entry Source per package.
Source d’entrée de Journey BuilderVous avez besoin d’une source d’entrée personnalisée pour l’un de vos voyages via une demande d’API REST à partir d’une application tierce. Créez un package installé avec un composant Source d’entrée Journey Builder. Vous pouvez avoir plusieurs sources d’entrée Journey Builder par package.

For this test, we’re going to set up your development environment for an enhanced package. /Pour ce test, nous allons configurer votre environnement de développement pour un package amélioré.

  1. In Marketing Cloud, navigate to Setup. /Dans Marketing Cloud, accédez à Configuration.
  2. Under Platform Tools, expand Apps and click Installed Packages. /Sous Platform Tools, développez Apps et cliquez sur Packages installés.
  3. Click New. /Cliquez sur Nouveau.
  4. Give the package a name and description so that you can easily identify it as your first test package. /Donnez au package un nom et une description afin de pouvoir facilement l’identifier comme votre premier package de test.
  5. Select the checkbox next to Create the package with enhanced functionality (recommended). /Cochez la case en regard de Créer le package avec des fonctionnalités améliorées (recommandé).
    The New Package Details interface with the mouse clicking Save.
  6. Save the package. After the package is saved, you can view the package details. /Enregistrez le package. Une fois le package enregistré, vous pouvez afficher les détails du package.
  7. Under Components, click Add Component. /Sous Composants, cliquez sur Ajouter un composant.
  8. In this step, you select a component type. For our testing purposes, select API Integration. /Dans cette étape, vous sélectionnez un type de composant. Pour nos tests, sélectionnez Intégration API.

Integration Type /Type d’intégration

Next you choose the Integration Type: Web App, Public App, or Server-to-Server. These types of integrations use the OAuth 2.0 protocol to obtain an access token. A little about each: /Ensuite, vous choisissez le type d’intégration: application Web, application publique ou serveur à serveur. Ces types d’intégrations utilisent le protocole OAuth 2.0 pour obtenir un jeton d’accès. Aperçu de chaque type:

Integration TypeDescriptionOAuth Grant Type
Web AppWeb Apps make API requests in the context of an end user. These integrations are issued a client ID and client secret because they can maintain the confidentiality of a client secret.Authorization Code
Web AppLes applications Web effectuent des demandes d’API dans le contexte d’un utilisateur final. Ces intégrations reçoivent un ID client et un secret client car elles peuvent maintenir la confidentialité d’un secret client.Code d’autorisation
Public AppPublic Apps, such as single-page or mobile applications, make API requests in the context of an end user. These integrations are issued only a client ID because they cannot maintain the confidentiality of a client secret.Authorization Code
App publiqueLes applications publiques, telles que les applications mobiles ou à page unique, effectuent des demandes d’API dans le contexte d’un utilisateur final. Ces intégrations reçoivent uniquement un ID client car elles ne peuvent pas maintenir la confidentialité d’un secret client.Code d’autorisation
Server-ServerA server-to-server integration performs tasks on behalf of the integration, without an end-user context, user interaction, or user interface.They make API requests in the context of a service account instead of a user account. These integrations are issued a client ID and client secret to use with the Client Credentials grant type.Client Credentials
Serveur-ServeurUne intégration de serveur à serveur effectue des tâches au nom de l’intégration, sans contexte d’utilisateur final, interaction utilisateur ou interface utilisateur. Ils effectuent des demandes d’API dans le contexte d’un compte de service au lieu d’un compte d’utilisateur. Ces intégrations reçoivent un ID client et un secret client à utiliser avec le type d’autorisation Client Credentials.Informations d’identification du client

For our testing purposes, select Server-to-Server and click Next. /Pour nos tests, sélectionnez Serveur à serveur et cliquez sur Suivant.

Set Properties /Définir les propriétés

For the final step of adding a component, you need to set the properties. Enable the scope for the platform functions you are including within the integration. Will this API integration allow for updates to Contacts? Create new Emails? /Pour la dernière étape de l’ajout d’un composant, vous devez définir les propriétés. Activez le périmètre des fonctions de plate-forme que vous incluez dans l’intégration. Cette intégration API permettra-t-elle des mises à jour des contacts? Créer de nouveaux e-mails?

The API scope represents a grouping of permissions that ensure your API request can access the appropriate functions. The properties can also include redirect URIs for web and public apps. /Le périmètre de l’API représente un regroupement d’autorisations qui garantit que votre demande d’API peut accéder aux fonctions appropriées. Les propriétés peuvent également inclure des URI de redirection pour les applications Web et publiques.

For our testing purposes, ensure that Write access is enabled for both Audiences and List and Subscribers under Contacts. /Pour les tests, assurez-vous que l’accès en écriture est activé pour le public et la liste et les abonnés sous Contacts.

The interface to edit the scope with Write access enabled for Audiences and List and Subscribers under Contacts.

Click Save to finish your component, and give yourself a pat on the back. /Cliquez sur Enregistrer pour terminer votre composant et donnez-vous une tape dans le dos.

Note /Remarque

Do you want to change the scope after you’ve saved? No problem. Click Edit and adjust the scope as needed. Check out REST API Permission IDs and Scopes on Salesforce Developers to understand what scopes are required for each route. /Voulez-vous modifier le scope après avoir enregistré? Aucun problème. Cliquez sur Modifier et ajustez le scope selon vos besoins. Consultez les ID d’autorisation et les étendues de l’API REST sur les développeurs Salesforce pour comprendre les étendues requises pour chaque route.

Get Credentials /Obtenez des informations d’identification

Now that your package is created and your component is added, you need to identify the authentication credentials that you’ll use for your integration. Easy! When you create an API integration in Installed Packages, the Marketing Cloud authorization server generates a client ID and client secret. /Maintenant que votre package est créé et que votre composant est ajouté, vous devez identifier les informations d’authentification que vous utiliserez pour votre intégration. Facile! Lorsque vous créez une intégration d’API dans des packages installés, le serveur d’autorisation Marketing Cloud génère un ID client et un secret client.

Check out the component for the installed package you just created. You can locate the client ID and client secret, if applicable, under the component details. /Découvrez le composant du package installé que vous venez de créer. Vous pouvez localiser l’ID client et le secret client, le cas échéant, sous les détails du composant.

The Installed Package details page with Client ID and Client Secret highlighted under the component details.

Note /Remarque

Wondering why we blurred out the Client ID and Client Secret in the image above? You should always store your client ID and secret securely. Never expose this information on the client side via JavaScript or store it in a mobile application. /Vous vous demandez pourquoi nous avons brouillé l’ID client et le secret client dans l’image ci-dessus? Vous devez toujours stocker votre ID client et votre secret en toute sécurité. N’exposez jamais ces informations côté client via JavaScript et ne les stockez pas dans une application mobile.

Access Tokens for Server-to-Server Integrations /Jetons d’accès pour les intégrations de serveur à serveur

In the client credentials flow, your client application uses this client ID and client secret to request an access token from the Marketing Cloud authorization server. /Dans le flux d’informations d’identification client, votre application cliente utilise cet ID client et ce secret client pour demander un jeton d’accès au serveur d’autorisation Marketing Cloud.

The access token gives your application access to Marketing Cloud’s REST and SOAP services. (The client credentials grant type doesn’t have refresh tokens.) / Le jeton d’accès permet à votre application d’accéder aux services REST et SOAP de Marketing Cloud. (Le type d’octroi des informations d’identification client n’a pas de jetons d’actualisation.)

Here’s how it works. /Voici comment ça fonctionne.

  1. Your application requests an access token by providing the client ID and secret that was generated for the package you created in Marketing Cloud. /Votre application demande un jeton d’accès en fournissant l’ID client et le secret qui ont été générés pour le package que vous avez créé dans Marketing Cloud.
  2. The Marketing Cloud authorization server returns an access token for your application to extract. /Le serveur d’autorisation Marketing Cloud renvoie un jeton d’accès à extraire pour votre application.
  3. Your application uses the access token to access Marketing Cloud resources and the REST or SOAP base URLs returned as part of the token response. /Votre application utilise le jeton d’accès pour accéder aux ressources Marketing Cloud et aux URL de base REST ou SOAP renvoyées dans le cadre de la réponse du jeton.

So how does your application request the access token for the server-to-server integration we’re exploring in this unit? /Alors, comment votre application demande-t-elle le jeton d’accès pour l’intégration de serveur à serveur que nous explorons dans cette unité?

Construct a static endpoint for your request by appending v2/token to the Authorization Base URI provided to you when you created the API integration in Installed Packages./Construisez un point de terminaison statique pour votre demande en ajoutant v2 / token à l’URI de base d’autorisation qui vous a été fourni lorsque vous avez créé l’intégration d’API dans les packages installés.

Request an access token by providing the client ID and secret that you received when you created the API integration in Installed Packages. /Demandez un jeton d’accès en fournissant l’ID client et le secret que vous avez reçus lorsque vous avez créé l’intégration d’API dans les packages installés.

When the access token expires, your application must request a new access token using the same v2/token route as before. The lifetime of an access token is 20 minutes. Here’s an example request: /Lorsque le jeton d’accès expire, votre application doit demander un nouveau jeton d’accès en utilisant la même route v2 / token qu’avant. La durée de vie d’un jeton d’accès est de 20 minutes. Voici un exemple de demande:

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": "list_and_subscribers_write audiences_write",
"account_id": "12345"
}

Note /Remarque

Just a reminder that in this example, the scope reflects the enabled permissions for the API request and the account ID is the MID for the account. /Juste un rappel que dans cet exemple, le périmètre reflète les autorisations activées pour la demande d’API et l’ID de compte est le MID du compte.

Marketing Cloud then returns an access token. Your application must extract the access token and store it safely. Here’s an example response: /Marketing Cloud renvoie ensuite un jeton d’accès. Votre application doit extraire le jeton d’accès et le stocker en toute sécurité. Voici un exemple de réponse:

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": "list_and_subscribers_write audiences_write"
}

Ready to give this a try? In the next unit, we walk through a simple Marketing Cloud project to validate your setup. /Prêt à essayer? Dans l’unité suivante, nous parcourons un simple projet Marketing Cloud pour valider votre configuration.

Resources /Ressources

Leave a Reply

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