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


Adobe Campaign Standard


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