You can use this API to create attribute group for a set of attributes.

APISignature
createAttributeGroupwebService static Apttus_Config2.CPQAdminStruct.ProductAttributeResponseDO createAttributeGroup(Apttus_Config2.CPQAdminStruct.ProductAttributeRequestDO prodAttrRequestDO)



Request Parameter
NameTypeDescription
prodAttrRequestDOApttus_Config2.CPQAdminStruct.ProductAttributeRequestDOThe product attribute request data object.



Request Data Object - Apttus_Config2.CPQAdminStruct.ProductAttributeRequestDO
NameTypeDescription
ProductAttributeDOsList<Apttus_Config2.CPQAdminStruct.ProductAttributeDO>The list of product attribute data objects.
ProductAttributeGroupMemberSOsList<Apttus_Config2__ ProductAttributeGroupMember__c>The list of attributes for the product attribute group.
Data Object - Apttus_Config2.CPQAdminStruct.ProductAttributeDO
NameTypeDescription
AttributeGroupNameStringThe name of the attribute group you need to associate attributes to.
ProductAttributesToAddList <String>The API name of the attributes you want to add to the attribute group.
ProductAttributesToRemoveList <String>The API name of the attributes you want to remove from the attribute group.
ProductIdIdThe ID of the product.
Response Parameter - Apttus_Config2.CPQAdminStruct.ProductAttributeResponseDO
FieldTypeDescription
ProductAttributeGroupResponseMapList<Apttus_Config2.CPQAdminStruct.MapDO>The list of key-value pairs. The key refers to the attribute group name that you provided and the value contains the record ID.
SuccessBooleanIndicates whether the attribute group was created successfully or not.
Response Data Object - Apttus_Config2.CPQAdminStruct.MapDO
FieldTypeDescription
StringKeyThe name of the attribute group.
StringValueThe value refers record of the newly created attribute group.


Code Sample

The sample code below enables you to create an attribute group for the attribute group name and a list of API names of the attributes.


public Map<Apttus_Config2__ProductAttributeGroup__c> createAttributeGroups(String attributeGroupName, List<String> attributeList)
{
	Apttus_Config2.CPQAdminStruct.ProductAttributeDO requestAttributeDO = new Apttus_Config2.CPQAdminStruct.ProductAttributeDO();
	
	requestAttributeDO.AttributeGroupName = attributeGroupName;
	requestAttributeDO.ProductAttributesToAdd = attributeList;
	
	Apttus_Config2.CPQAdminStruct.ProductAttributeRequestDO requestDO = new Apttus_Config2.CPQAdminStruct.ProductAttributeRequestDO();
	requestDO.ProductAttributeDOs = new List<Apttus_Config2.CPQAdminStruct.ProductAttributeDO> {requestAttributeDO };

	Apttus_Config2.CPQAdminStruct.ProductAttributeResponseDO response =	 Apttus_Config2.CPQAdminWebService.createAttributeGroup(requestDO);

	List<Apttus_Config2.CPQAdminStruct.MapDO> attributeGroupDetails = response.ProductAttributeGroupResponseMap;

	List<Id> attributGroupIds = new List<Id> ();
	for (Apttus_Config2.CPQAdminStruct.MapDO attributeGroup : attributeGroupDetails) 
	{
		attributGroupIds.add(attributeGroup.Value);
	}

	return [Select Id from Apttus_Config2__ProductAttributeGroup__c Where Id IN :attributGroupIds];
}
CODE