Recommendations & limitations limitations
Permissions & security permissions
Product profiles mapping
In Campaign Standard, you were granted elevated admin role access to APIs regardless of your assigned product profile. Campaign v8 introduces a different set of product profiles, requiring mapping from Campaign Standard to Campaign v8 product profiles.
With the migration, two product profiles are added to your existing or pre-created technical accounts: Administrator and Message center (for accessing transactional APIs). Review the product profile mapping and assign the needed product profile if you do not want the Admin product profile mapped with your technical account.
Tenant ID
After migration, for any future integrations, it is recommended to use your Campaign v8 tenant ID in REST URLs, replacing your previous Campaign Standard tenant ID.
Key usage
Management of PKey values differs between Campaign Standard and Campaign v8. If you were storing PKeys with Campaign Standard, ensure your implementation dynamically forms subsequent API calls using PKeys or hrefs obtained from previous API calls.
Available APIs deprecated
For now, the REST APIs listed below are available for use:
- Profiles
- Services & subscriptions
- Custom resources
- Workflows
- Marketing history
- Organizational units
- Privacy management
Filtering
-
To use your filters in REST API payloads, you need to edit them in Campaign v8 and provide a name to use in your payloads. To do so access the filter鈥檚 additional parameters from the Parameters tab, and provide the desired name in the Filter name in REST API field.
-
The 鈥渂y鈥 prefix required to use custom filters is no longer needed. The filter name should be used as-is in your requests.
Example:
GET https://mc.adobe.io/<ORGANIZATION>/campaign/profileAndServicesExt/<resourceName>/<customFilterName>?<customFilterparam>=<customFilterValue>
Dropped database fields
Some fields from the database are being dropped during migration. When using a dropped field, REST APIs will return blank values. In the future, all dropped fields will be deprecated and removed.
POST with linked resources
When using the following request body format, with 鈥渧ehicleOwner鈥 representing the link to 鈥渘ms:recipient鈥:
{
"vehicleNumber": "20009",
"vehicleName": "Model E",
"vehicleOwner":{
"firstName":"tester 11",
"lastName":"Smith 11"
}
}
The link information is ignored. Consequently, a new record is generated under 鈥渃usVehicle鈥 containing only 鈥渧ehicleNumber鈥 and 鈥渧ehicleName鈥 values. However, the link remains null, resulting in 鈥渧ehicleOwner鈥 being set to null.
In Campaign v8, when the same request body structure is used and the 鈥渧ehicle鈥 is linked to a profile, an error occurs. This error occurs because the 鈥渇irstName鈥 property is not recognized as valid for 鈥渃usVehicle.鈥. However, a request body comprising only the attributes without the link functions without any issues.
PATCH operations
- Campaign v8 does not support PATCH with an empty request body: it returns a 204 No Content status.
- While Campaign Standard supports PATCH on elements/attributes within a schema, note that PATCH operations on location are not supported in Campaign v8. Attempting a PATCH on location will result in a 500 Internal Server Error with an error message indicating that the 鈥榸ipCode鈥 property is not valid for the 鈥榩rofile鈥 resource.
REST responses
The section below lists minor differencies between Campaign Standard and v8 REST responses.
- For single GET records, the response includes the href in the response.
- When queried with the attribute, Campaign v8 provides Count and Pagination in the reponse.
- After POST operations, values from linked resources are returned in the response.
Error codes and messages
The section below lists the differences between Campaign Standard and Campaign v8 error codes and messages.
Profile - Timezone
With Campaign Standard, timezone is displayed as part of the JSON response of profileAndServices/profile REST API calls.
With Campaign v8, timezone is only shown to user as part of profileAndServicesExt/profile REST API calls. It is not part of profileAndServices/profile REST API calls since it is being added in an extended schema.
Workflows - External Signal triggering
Campaign Standard Workflow GET API returns parameter names such as the workflow instance variables and their data types (boolean, string, etc.). This is used to create appropriately formatted JSON request body when triggering the signal via a POST API call.
Campaign v8 does not support advertising workflow instance variables, but expects developers to know what those are. As such, post-migration, parameters information in POST request body will need to be constructed without the availability of parameters information in GET API response.