Campaign Standard - ACS API development question on creation/updation of profiles
This article describes how to implement Adobe Campaign Standard API to create/update profiles using the method described in the this documentation.
Description description
Environment
Adobe Campaign Standard
Issue/Symptoms
The following question arises regarding the implementation of ACS API to create/update profiles using the method described in this documentation:
There is a simpler way explained below (for reference, an attribute cusId
has been defined as the key on the profile table):
Option 1: When we PATCH using https://*.adobe.*/instanceURL/campaign/profileAndServicesExt/profile and include an existing cusCustomerId,
the profile will be updated.
Option 2: Similarly, when we PATCH using https://*.adobe.*/instanceURLcampaign/profileAndServicesExt/profile/@xxxxxxxxxxxxxxx the profile will also be updated.
In Option 2, you won’t need to use the cusId
, but you’ll need the profile Pkey.
However, as cusId
will always be populated, you will observe that you can always use this field.
Option 1 would be the preferred way as this makes the logic much simpler.
Question: Since option 1 is not documented, please confirm if option 1 is supported?
Resolution resolution
Since cusId
is a business key in profile, this field can be used to retrieve the entity. And indeed, the PATCH will also work. But the following limitations should be communicated:
- By using the
cusId
field as a key, the field cannot be modified using a PATCH. - DO NOT build URLs for collections.
Thus, using the cusId
field will work for top-level profile resources (/rest/.../profile/< cusId >)
, but if you want to get the subscriptions of a profile, you must go through the REST API:
- GET
/rest/.../profile/<cusId>
- GET
/href/of/the/subscription/collection/returned/by/the/previous/call