Question regarding implementing ACS API to create/update profiles using the method described in the documentation: https://experienceleague.adobe.com/docs/campaign-standard/using/working-with-apis/managing-profiles/updating-profiles.html?lang=en
There is a simpler way explained below (for reference an attribute cusId
has been defined as the key on the profile table):
1) When we PATCH using https://*.adobe.*/instanceURL/campaign/profileAndServicesExt/profile and include an existing cusCustomerId
, the profile will be updated.
2) Similarly when we PATCH using https://*.adobe.*/instanceURLcampaign/profileAndServicesExt/profile/@xxxxxxxxxxxxxxx the profile will also be updated.
In this case, the customer doesn’t need to use cusId
, but they need the profile Pkey
, however as cusId
will always be populated they observed that they can always use this field.
Option one 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?
Since cusId
is a business key in profile, this field can be used to retrieve the entity.
And indeed, the PATCH will also work.
This can be used, 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 the customer wants to get the subscriptions of a profile, they must go through the REST API:
GET /rest/.../profile/cusId
GET /href/of/the/subscription/collection/returned/by/the/previous/call