In this lesson, you will set up a project in the Adobe Developer Console and download Postman collections so you can start using Platform APIs.
In order to complete the API exercises in this tutorial, download the Postman app for your operating system. While not required in order to use Experience Platform APIs, Postman makes API workflows easier, and Adobe Experience Platform provides dozens of Postman collections to help you execute API calls and learn how they operate. The rest of this tutorial assumes some working knowledge of Postman. For assistance, please reference the Postman documentation.
Platform is built API-first. While interface options also exist for all major tasks, you might want to use the Platform API at some point. For example to ingest data, move items around between sandboxes, automate routine tasks or to use new Platform features before the user interface has been built.
Data Architects and Data Engineers may need to use Platform API outside of this tutorial.
In the Configure Permissions lesson, you set up all the access controls required to complete this lesson.
Adobe Developer Console is the developer destination to access Adobe APIs & SDKs, listen to near real-time Events, run functions on Runtime, or build plugins or App Builder apps. You will use it to access the Experience Platform API. For more details, see the Adobe Developer Console documentation
Create a folder on your local machine named Luma Tutorial Assets
for files used in the tutorial.
Open the Adobe Developer Console
Log in and confirm that you are in the correct Org
Select Create New Project in Quick Start menu.
In the newly created project, select the Add to Project button and then select API
Filter the list by selecting Adobe Experience Platform
In list of available APIs, select Experience Platform API and select Next.
For authentication from external systems like Postman, we require a public/private key pair. To generate a new key pair, select Option 1 and press the Generate keypair button
Once the keys are ready, you may be prompted to download the keys onto your local machine. Save the keys packaged in config.zip
to the folder Luma Tutorial Assets
. We will need them in the next exercise.
After the key is generated, the public key will automatically be added to your project as shown in the screenshot. Select the Next button.
Select the Luma Tutorial Platform
product profile and select the Save Configured API button
Now your Developer Console project has been created!
In the Try it out section of the page, select Download for Postman and then select Service Account (JWT) to download the Postman environment json file. Save the service.postman_environment.json
in your Luma Tutorial Assets
folder.
System Administrators of your organization can see the project as an “API Credential” in the product profile in the Admin Console
You might have noticed that the project was assigned a number, for example, “Project 12”:
Select the project number in the breadcrumb
Select the Edit Project button
Change the Project Title to Luma Tutorial API Project
(add your name to the end, if multiple people from your company are taking this tutorial)
Select the Save button
The Postman interface is regularly updated. The screenshots in this tutorial were taken with Postman v9.0.5 for Mac, but interface options may have changed.
Download and install Postman
Open Postman and import the downloaded json environment file, service.postman_environment.json
In Postman, select your environment in the dropdown
Select the eye icon to view the environment variables:
Since the exported name of the environment from Developer Console is randomly generated, give it a more descriptive name so you don’t confuse environments later on when you start working on your real Platform implementation:
With the environment variables screen still open, select Edit on the top-right
Update the Environment Name to Luma Tutorial
Leave Manage Environments modal open in edit mode, as we will be editing it further in the next step
Now it’s time to add the PRIVATE_KEY value to the Postman environment
Extract the downloaded config.zip
file which was generated in the previous exercise while creating the Developer Console Project. This zip contains two files:
private.key
certificate_pub.crt
Open the private.key
file in a text editor and copy the contents.
In Postman, on the Manage Environments > Edit modal which is still open from the last exercise, paste copied values in front of PRIVATE_KEY in the Initial Value and Current Value columns.
Select Save
Adobe provides a rich set of Postman collections to help you explore Experience Platform’s API. These collections are in the Adobe Experience Platform Postman Samples GitHub repo. You should bookmark this repo as you will use this numerous times throughout this tutorial and later as you implement Experience Platform for your own company.
The first collection works with the Adobe Identity Management Service (IMS) APIs. It is a convenient way to populate the JWT_TOKEN and ACCESS_TOKEN from within Postman intended for non-production use cases such as completing this tutorial in your sandbox. Alternatively, the JWT Token can be generated within the Adobe Developer Console. However, since it expires regularly, using this collection allows you to refresh it without needing to revisit the Adobe Developer Console again while completing this tutorial.
As noted in the Adobe Identity Management Service APIs README, the denoted generation methods are suitable for non-production use. Local Signing loads a JavaScript library from a 3rd-party host, and Remote signing sends the private key to an Adobe owned and operated web service. While Adobe does not store this private key, production keys should never be shared with anyone.
To generate the tokens:
Download the Developer Console Access Token Generation collection to your Luma Tutorial Assets
folder
Import the collection into Postman
Select the request IMS: JWT Generate + Auth via User Token and select Send
The JWT_TOKEN and ACCESS_TOKEN auto-populate in the environment variables of Postman.
The SANDBOX_NAME
and TENANT_ID
and CONTAINER_ID
variables are not included in the Adobe Developer Console export, so we add them manually:
In Postman, open the Environment Variables
Select the Edit link to the right of the environment name
In the Add new variable field, enter SANDBOX_NAME
Into both value fields, enter luma-tutorial
, the name we gave to our sandbox in the previous lesson. If you used a different name for your sandbox, for example, luma-tutorial-ignatiusjreilly, make sure to use that value.
In the Add new variable field, enter TENANT_ID
Switch to your web browser and look up your company’s tenant id by going to Experience Platform’s interface and extracting the portion of the URL after the @ sign. For example, my tenant id is techmarketingdemos
but yours is different:
Copy this value and return to the Postman Manage Environments screen
Paste your tenant id into both value fields
In the Add new variable field, enter CONTAINER_ID
Enter global
into both value fields
CONTAINER_ID
is a field whose value we change several times during the tutorial. When global
is used, the API interacts with Adobe-provided elements in your Platform account. When tenant
is used, the API interacts with your own custom elements.
Select Save
Now let’s make a Platform API call to confirm that we’ve configured everything correctly.
Open the Experience Platform Postman collections in GitHub. There are many collections on this page, for various Platform APIs. I strongly recommend bookmarking it.
Now, let’s make our first API call:
Luma Tutorial Assets
folderapplication/vnd.adobe.xed-id+json
. The Schema Registry APIs require one of these specified Accept header values which provide different formats in the response.Hopefully you got a successful 200 OK
response containing a list of the available standard XDM classes in your sandbox, as pictured below.
If your call was not successful, take a moment to debug using the error response details of the API call and review the steps above. If you get stuck, please request help in the Community Forum or use the link in the right side of this page to “Log an issue”.
With your Platform permissions, sandbox, and Postman set up, you are ready to model data in schemas!