This developer guide provides steps to help you start using the Offer Library API. The guide then provides sample API calls for performing key operations using the decisioning engine.
➡️ Learn more on the components of Decision Management in this video
This guide requires a working understanding of the following components of Adobe Experience Platform:
This guide provides example API calls to demonstrate how to format your requests. These include paths, required headers, and properly formatted request payloads. Sample JSON returned in API responses is also provided. For information on the conventions used in documentation for sample API calls, see the section on how to read example API calls in the Experience Platform troubleshooting guide.
In order to make calls to Adobe Experience Platform APIs, you must first complete the authentication tutorial. Completing the authentication tutorial provides the values for each of the required headers in all Experience Platform API calls, as shown below:
Authorization: Bearer {ACCESS_TOKEN}
x-api-key: {API_KEY}
x-gw-ims-org-id: {IMS_ORG}
All requests that contain a payload (POST, PUT, PATCH) require an additional header:
Content-Type: application/json
A container is an isolation mechanism to keep different concerns apart. The container ID is the first path element for all repository APIs. All decisioning objects reside within a container.
An administrator can group similar principals, resources, and access permissions into profiles. This reduces the management burden and is supported by Adobe Admin Console. You must be a product administrator for Adobe Experience Platform in your organization to create profiles and assign users to them. It is sufficient to create product profiles that match certain permissions in a one-time step and then simply add users to those profiles. Profiles act as groups that have been granted permissions and every real user or technical user in that group inherits those permissions.
Given administrator privileges, you can grant or withdraw permissions to users through the Adobe Admin Console. For more information, see the Access control overview.
API format
GET /{ENDPOINT_PATH}?product={PRODUCT_CONTEXT}&property={PROPERTY}==decisioning
Parameter | Description | Example |
---|---|---|
{ENDPOINT_PATH} |
The endpoint path for repository APIs. | https://platform.adobe.io/data/core/xcore/ |
{PRODUCT_CONTEXT} |
Filters the list of containers by their association to product contexts. | acp |
{PROPERTY} |
Filters the type of container that is returned. | _instance.containerType==decisioning |
Request
curl -X GET \
'https://platform.adobe.io/data/core/xcore/?product=acp&property=_instance.containerType==decisioning' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'
Response
A successful response returns information regarding decision management containers. This includes an instanceId
attribute, the value of which is your container ID.
{
"_embedded": {
"https://ns.adobe.com/experience/xcore/container": [
{
"instanceId": "{INSTANCE_ID}",
"schemas": [
"https://ns.adobe.com/experience/xcore/container;version=0.5"
],
"productContexts": [
"acp"
],
"repo:etag": 2,
"repo:createdDate": "2020-09-16T07:54:28.319959Z",
"repo:lastModifiedDate": "2020-09-16T07:54:32.098139Z",
"repo:createdBy": "{CREATED_BY}",
"repo:lastModifiedBy": "{MODIFIED_BY}",
"repo:createdByClientId": "{CREATED_CLIENT_ID}",
"repo:lastModifiedByClientId": "{MODIFIED_CLIENT_ID}",
"_instance": {
"containerType": "decisioning",
"repo:name": "{REPO_NAME}",
"dataCenter": "{DATA_CENTER}",
"parentName": "{PARENT_NAME}",
"parentId": "{PARENT_ID}"
},
"_links": {
"self": {
"href": "/containers/{INSTANCE_ID}"
}
}
}
]
},
"_links": {
"self": {
"href": "/?product=acp&property=_instance.containerType==decisioning",
"@type": "https://ns.adobe.com/experience/xcore/hal/home"
}
}
}
This document covered the prerequisite knowledge required to make calls to the Offer Library API, including acquiring your container ID. You can now proceed to the sample calls provided in this developer guide and follow along with their instructions.
The following video is intended to support your understanding of the components of Decision Management.