You can use this API to add or remove attributes from attributes groups.

APISignature
updateAttributeGroupwebService static Apttus_Config2.CPQAdminStruct.ProductAttributeResponseDO updateAttributeGroup(Apttus_Config2.CPQAdminStruct.ProductAttributeRequestDO prodAttrRequestDO)



Request Parameter
NameTypeDescription
prodAttrRequestDOApttus_Config2.CPQAdminStruct.ProductAttributeRequestDOThe product attributes 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 to be added to or removed from the attribute group.
Data Object - Apttus_Config2.CPQAdminStruct.ProductAttributeDO
NameTypeDescription
AttirbuteGroupIdIdThe ID of the attribute group.
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 attributes were added or removed successfully.
Response Data Object - Apttus_Config2.CPQAdminStruct.MapDO
FieldTypeDescription
StringKeyThe name of the attribute group.
StringValueThe value refers record of the attribute group updated.


Code Sample

The sample code below enables you to add attributes in an attribute group


public Boolean addAttributesToAttributeGroups(Id attributeGroupId, List<String> attributeList)
{
	Apttus_Config2.CPQAdminStruct.ProductAttributeDO requestAttributeDO = new Apttus_Config2.CPQAdminStruct.ProductAttributeDO();

	requestAttributeDO. AttributeGroupId = attributeGroupId;
	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.updateAttributeGroup(requestDO);

	return response.Success;
}
CODE


The sample code below enables you to remove attributes from an attribute group

public Map<Apttus_Config2__ProductAttributeGroup__c> removeAttributesFromAttributeGroups(Id attributeGroupId, List<String> attributeList)
{
	Apttus_Config2.CPQAdminStruct.ProductAttributeDO requestAttributeDO = new Apttus_Config2.CPQAdminStruct.ProductAttributeDO();

	requestAttributeDO. AttributeGroupId = attributeGroupId;
	requestAttributeDO.ProductAttributesToRemove = 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.updateAttributeGroup(requestDO);

	return response.Success;
}
CODE