Campaign: registerDevice additional parameters missing from appSubscriptionRcp

In Adobe Campaign Classic v8 FFDA, a common customization is to add extra subscription attributes and populate them through the mobile registerDevice API. This can fail if the extension of nms:appSubscriptionRcp relies on autoStg=“true” in a schema family that already has an out-of-the-box staging schema. In that case, the additional parameters may not be stored correctly, and in some situations the staging schema can be regenerated into a non-working state.

Description description

A custom implementation adds new fields to nms:appSubscriptionRcp and passes values through the mobile registerDevice call by using additionalParameters.

Symptoms can include:

  • The registerDevice request contains the additional parameters, but the values are not persisted.
  • Inserts or updates against the staging table do not include the expected custom columns.
  • After enabling autoStg=“true” in the appSubscriptionRcp extension and updating the database structure, device registration starts failing.
  • Errors similar to the following may appear:

XSV-350023 Unable to save document of type ‘nms:appSubscriptionRcpStg’
QUE-370007 Unable to find key values for element ‘Subscriber application (Staging)’
Element ‘mobileApp’ unknown

Resolution resolution

Cause

autoStg=“true” is not a general-purpose mechanism for extending out-of-the-box schemas that already use an existing staging schema.

It works for supported use cases where a custom schema and its staging model are authored from scratch. It is not the correct approach for extending nms:appSubscriptionRcp, because that schema already depends on the out-of-the-box staging schema nms:appSubscriptionRcpStg. Enabling autoStg=“true” in this case can trigger automatic regeneration of the staging schema in a way that does not preserve the expected out-of-the-box structure, links, and keys.

Resolution

Use the following approach:

Do not enable autoStg=“true” on the appSubscriptionRcp extension when working with the out-of-the-box subscription schema in ACC v8 FFDA.
Extend both schemas explicitly:

  • the main subscription schema
  • the staging schema used for device registration persistence

Map the subscription parameters to fields that exist in the staging path used by registerDevice.
Validate the end-to-end flow by confirming that:

  • the request payload contains additionalParameters
  • the staging schema includes the expected custom fields
  • the values are persisted after device registration

If autoStg=“true” was already applied:

Remove autoStg=“true” from the appSubscriptionRcp extension.
Revert nms:appSubscriptionRcpStg to its out-of-the-box definition.
Reapply the required custom fields through an explicit extension of the staging schema instead of using auto-generation.
Reload caches and restart the relevant services if needed so the corrected schema definition is picked up consistently.
Re-test registerDevice.

recommendation-more-help
experience-cloud-kcs-help-kbarticles