31 March 2025
B2BCustomersGraphQL
You can now move a Business Unit to a new company, providing greater flexibility for your organizational needs. With this enhancement, you can do the following:
- Convert a company into a sub-division of another company
- Convert a sub-division into a sub-division of another company
- Convert a sub-division into a new company
This functionality is available in public beta. Previously, Business Units could be moved only to another parent in the same company.
This feature is only available as part of Composable Commerce for B2B and will be subject to additional terms and pricing. To get access to Composable Commerce for B2B, contact the Composable Commerce support team.
Changes:
- [API] Added the Set Unit Type update action to the Business Units API.
- [API] Added the BusinessUnitTopLevelUnitSet and BusinessUnitTypeSet Messages.
- [GraphQL API] Added the following types to the GraphQL schema:
SetBusinessUnitUnitType
,BusinessUnitTopLevelUnitSet
,BusinessUnitTypeSet
. - [GraphQL API] Added
setUnitType
input field to theBusinessUnitUpdateAction
type.
The following changes were introduced in terms of GraphQL SDL:
extend input BusinessUnitUpdateAction {
"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"
setUnitType: SetBusinessUnitUnitType
}
"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"
input SetBusinessUnitUnitType {
unitType: BusinessUnitType!
parentUnit: ResourceIdentifierInput
}
"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"
type BusinessUnitTopLevelUnitSet implements MessagePayload {
oldTopLevelUnit: BusinessUnit!
topLevelUnit: BusinessUnit!
oldTopLevelUnitRef: KeyReference
topLevelUnitRef: KeyReference
type: String!
}
"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"
type BusinessUnitTypeSet implements MessagePayload {
oldUnitType: BusinessUnitType!
unitType: BusinessUnitType!
parentUnit: BusinessUnit
oldParentUnit: BusinessUnit
parentUnitRef: KeyReference
oldParentUnitRef: KeyReference
type: String!
}