Overview of DAC to Multi-Org migration
The article features the transition from Data Access Control (DAC) to Zuora Multi-Org, highlighting the benefits and migration strategies for businesses.
Data Access Control (DAC) allows businesses to customize and control user access within Zuora Billing. A hierarchy of tags was leveraged to enforce access to a Zuora object. This hierarchy of tags has a tree structure where tags are assigned to users and objects. However, certain constraints including no API support, and having no autonomy over user access controls led to the creation of Zuora Multi-Org.
Migrating from Data Access Controls (DAC) enabled tenant to Zuora Multi-Org
There are 2 use cases where a business would want to migrate to Multi-Org from their existing DAC-enabled setup:- Businesses can leverage the existing DAC tag hierarchy to create the new Org hierarchy in Zuora Multi-Org as a 1:1 mapping.
- Businesses can create a brand new Org hierarchy in Zuora Multi-Org.
Upgrade to Zuora Multi-Org with existing DAC tag hierarchy
This section explains Use Case 1 in detail on how a business that has an existing DAC-enabled tenant can upgrade to Zuora Multi-Org using the same tag hierarchy created in DAC with a 1:1 mapping. For more information see DAC upgrade to Multi-Org.
Terms and concepts of DAC
Zuora DAC | Zuora Multi-Org |
---|---|
Root Root is referred to as the global entity by default. | Root Root is referred to as the global organization (default parent) |
Segments Children under the root level. | Org. Units Each of the children under the root is referred to as an org. unit. |
Originally there was a xxx__h field where xxx is the hierarchy API name, in the API payload. Once the customer is migrated to Multi-Org the xxx__h will no longer exist. This will be replaced by new organization-related fields including "organizationLabels" or "organizationLabel".
Existing API Payloads for DAC customers
The following APIs have xxx__h field in their response body:Method | URI | Field Path |
---|---|---|
GET | /accounts/{account-key} | basicInfo.tags |
GET | /accounts/{account-key}/summary | basicInfo.tags |
GET | /catalog/product/{product-id} | tags |
GET | catalog/products | products.tags |
Method | URI | Request body field |
---|---|---|
POST | /orders | newAccount.tagging |
PUT | /accounts/{account-key} | tagging |
PUT | /orders/{orderNumber} | newAccount.tagging |