Partially Update Configuration Objects

patch

/pdc/config

Updates a subset of attributes in the configuration object you specify.

You must pass the type query parameter set to the type of configuration object to update. The request payload must include the attributes you want to update and one of the following attributes:

  • name: The configuration object's name.
  • internalId: The unique ID (UUID) internally generated by Pricing Design Center when the pricing configuration was committed. You must include this attribute to update the name of the configuration object.

Request

Query Parameters
  • The configuration object's type.

    Valid pricing configuration objects: ZONE_RESULT_CONFIGURATION, VALUE_MAP, STANDARD_ZONE_MODEL, GEO_ZONE_MODEL, BALANCE_ELEMENT, RUM_CONFIGURATION, HOLIDAY_CALENDAR, ATTRIBUTE_SPEC_MAP, BUSINESS_PROFILE, ITEM_TYPE_SELECTOR, CUSTOM_ANALYZER_RULE, POLICY_SPECIFICATION, DYNAMIC_QUOTA_SELECTOR, POLICY_LABEL, DELIVERABLE, PSCTEMPLATE, TAX_CODE, TAX_EXEMPTION_CODE, or PRICE_TAG_CONFIG.

Supported Media Types
Request Body - application/json ()
Root Schema : schema
Type: object
Show Source
Nested Schema : attributeSpecMaps
Type: array
Show Source
Nested Schema : balanceElements
Type: array
Show Source
Nested Schema : businessProfiles
Type: array
Show Source
Nested Schema : customAnalyzerRules
Type: array
Show Source
Nested Schema : deliverables
Type: array
Show Source
Nested Schema : dynamicQuotaSelectors
Type: array
Show Source
Nested Schema : geoZoneModel
Type: array
Show Source
Nested Schema : holidayCalendar
Type: array
Show Source
Nested Schema : itemTypeSelectors
Type: array
Show Source
Nested Schema : policyLabels
Type: array
Show Source
Nested Schema : policySpecifications
Type: array
Show Source
Nested Schema : priceTagConfigs
Type: array
Show Source
Nested Schema : productSpecCharacteristicTemplates
Type: array
Show Source
Nested Schema : rumConfigurations
Type: array
Show Source
Nested Schema : standardZoneModel
Type: array
Show Source
Nested Schema : taxCodes
Type: array
Show Source
Nested Schema : taxExemptionCodes
Type: array
Show Source
Nested Schema : valueMap
Type: array
Show Source
Nested Schema : zoneResultConfiguration
Type: array
Show Source
Nested Schema : AttributeSpecMapJXB
Type: object
Show Source
Nested Schema : eventRUMSpec
Type: array
Show Source
Nested Schema : EventRUMSpecJXB
Type: object
Show Source
Nested Schema : rumSpec
Type: array
Show Source
Nested Schema : RUMSpecJXB
Type: object
Show Source
Nested Schema : ARumExpressionJXB
Type: object
Show Source
Nested Schema : BinaryRUMExpressionJXB
Type: object
Show Source
Nested Schema : EventFieldExpressionJXB
Type: object
Show Source
Nested Schema : NumericRumExpressionJXB
Type: object
Show Source
Nested Schema : BalanceElementJXB
Type: object
Show Source
Nested Schema : roundingRules
Type: array
Show Source
Nested Schema : RoundingRuleJXB
Type: object
Show Source
Nested Schema : BusinessProfileJXB
Type: object
Show Source
Nested Schema : businessProfileItems
Type: array
Show Source
Nested Schema : businessProfileRules
Type: array
Show Source
Nested Schema : BusinessProfileItemJXB
Type: object
Show Source
Nested Schema : BusinessProfileRuleJXB
Type: object
Show Source
Nested Schema : CustomAnalyzerRuleJXB
Type: object
Show Source
Nested Schema : CustomRuleExpressionJXB
Type: object
Show Source
Nested Schema : customRuleScopes
Type: array
Show Source
Nested Schema : ComplexCRExpressionJXB
Type: object
Show Source
Nested Schema : DynamicFieldCRExpressionJXB
Type: object
Show Source
Nested Schema : FieldToFieldCRExpressionJXB
Type: object
Show Source
Nested Schema : FieldToValueCRExpressionJXB
Type: object
Show Source
Nested Schema : FieldIdentifierJXB
Type: object
Show Source
Nested Schema : FieldSelectorJXB
Type: object
Show Source
Nested Schema : CustomRuleScopeJXB
Type: object
Show Source
Nested Schema : DeliverableJXB
Type: object
Show Source
Nested Schema : EntitlementJXB
Type: object
Show Source
Nested Schema : RevenueBasisItemJXB
Type: object
Show Source
Nested Schema : DynamicQuotaSelectorJXB
Type: object
Show Source
Nested Schema : validityPeriod
Type: array
Show Source
Nested Schema : ValidityPeriodJXB
Type: object
Show Source
Nested Schema : RuleJXB
Type: object
Show Source
Nested Schema : rule
Type: array
Show Source
Nested Schema : configuration
Type: array
Show Source
Nested Schema : dynamicQuotaComplexExpression
Type: array
Show Source
Nested Schema : dynamicQuotaFieldToValueExpression
Type: array
Show Source
Nested Schema : requestedUnits
Type: array
Show Source
Nested Schema : ConfigurationJXB
Type: object
Show Source
Nested Schema : DynamicQuotaComplexExpressionJXB
Type: object
Show Source
Nested Schema : DynamicQuotaBinaryExpressionJXB
Type: object
Show Source
Nested Schema : DynamicQuotaBinaryOperandExpressionJXB
Type: object
Show Source
Nested Schema : DynamicQuotaBalanceExpressionJXB
Type: object
Show Source
Nested Schema : DynamicQuotaNumberExpressionJXB
Type: object
Show Source
Nested Schema : DynamicQuotaFieldToValueExpressionJXB
Type: object
Show Source
Nested Schema : RequestedUnitJXB
Type: object
Show Source
Nested Schema : GeoZoneModelJXB
Type: object
Show Source
Nested Schema : zoneItem
Type: array
Show Source
Nested Schema : GeoLinkItemJXB
Type: object
Show Source
Nested Schema : GeoDistanceItemJXB
Type: object
Show Source
Nested Schema : RoutingZoneResultJXB
Type: object
Show Source
Nested Schema : ZoneResultJXB
Type: object
Show Source
Nested Schema : HolidayCalendarJXB
Type: object
Show Source
Nested Schema : holiday
Type: array
Show Source
Nested Schema : MoyDomHolidayJXB
Type: object
Show Source
Nested Schema : ItemTypeSelectorJXB
Type: object
Show Source
Nested Schema : itemSpec
Type: array
Show Source
Nested Schema : rule
Type: array
Show Source
Nested Schema : ItemSpecJXB
Type: object
Show Source
Nested Schema : ItemTypeSelectorRuleJXB
Type: object
Show Source
Nested Schema : customExpression
Type: array
Show Source
Nested Schema : expression
Type: array
Show Source
Nested Schema : ItemTypeSelectorCustomExpressionJXB
Type: object
Show Source
Nested Schema : ItemTypeSelectorValueExpressionJXB
Type: object
Show Source
Nested Schema : PolicyLabelJXB
Type: object
Show Source
Nested Schema : subLabels
Type: array
Show Source
Nested Schema : PolicySubLabelJXB
Type: object
Show Source
Nested Schema : PolicySpecificationJXB
Type: object
Show Source
Nested Schema : counterPolicies
Type: array
Show Source
Nested Schema : CounterPolicyJXB
Type: object
Show Source
Nested Schema : CounterRanges
Type: array
Show Source
Nested Schema : CounterRangeJXB
Type: object
Show Source
Nested Schema : PriceTagConfigJXB
Type: object
Show Source
Nested Schema : tags
Type: array
Show Source
Nested Schema : TagJXB
Type: object
Show Source
Nested Schema : permittedNames
Type: array
Show Source
Nested Schema : PermittedNameJXB
Type: object
Show Source
Nested Schema : ProductSpecCharacteristicTemplateJXB
Type: object
Show Source
Nested Schema : productSpecCharacteristics
Type: array
Show Source
Nested Schema : ProductSpecCharacteristicJXB
Type: object
Key-value pair for defining special characteristics in a product.
Show Source
Nested Schema : product spec char values
Type: array
Title: product spec char values
List of special characteristics added for a given name.
Show Source
Nested Schema : RumConfigurationJXB
Type: object
Show Source
Nested Schema : StandardZoneModelJXB
Type: object
Show Source
Nested Schema : zoneItem
Type: array
Show Source
Nested Schema : StandardZoneItemJXB
Type: object
Show Source
Nested Schema : TaxCodeJXB
Type: object
Show Source
Nested Schema : taxCodeValidityPeriods
Type: array
Show Source
Nested Schema : TaxCodeValidityPeriodJXB
Type: object
Show Source
Nested Schema : taxCodeMaps
Type: array
Show Source
Nested Schema : TaxCodeMapJXB
Type: object
Show Source
Nested Schema : taxJurisdictions
Type: array
Show Source
Nested Schema : TaxExemptionCodeJXB
Type: object
Show Source
Nested Schema : taxExemptionCodeMaps
Type: array
Show Source
Nested Schema : TaxExemptionCodeMapJXB
Type: object
Show Source
Nested Schema : ValueMapJXB
Type: object
Show Source
Nested Schema : validityPeriod
Type: array
Show Source
Nested Schema : ValueMapValidityPeriodJXB
Type: object
Show Source
Nested Schema : valueMapKey
Type: array
Show Source
Nested Schema : valueMapValue
Type: array
Show Source
Nested Schema : ValueMapKeyJXB
Type: object
Show Source
Nested Schema : valueMapKey
Type: array
Show Source
Nested Schema : valueMapValue
Type: array
Show Source
Nested Schema : ZoneResultConfigurationJXB
Type: object
Show Source
Back to Top

Response

200 Response

The configuration objects were updated successfully.

400 Response

The request is invalid.

500 Response

The system encountered an error when processing the configuration objects.
Back to Top

Examples

This example shows how to partially update a RUM configuration by submitting a PATCH request on the REST resource using cURL. For more information about cURL, see Use cURL.

curl -X PATCH 'http://hostname:port/pdc/config?type=RUM_CONFIGURATION'

where:

  • hostname is the URL for the PDC REST server.

  • port is the port for the PDC REST server.

Example of the Request Body

The following example shows the contents of the request body in JSON format.

{
   "rumConfigurations": [
      {
         "name": "OnetimeNew",
         "internalId": "9ff78162-df10-4f21-8971-588499a51d44",
         "priceListName": "Default",
         "obsolete": false,
         "unit": "NONE"
      }
   ]
}

If successful, the response code 200 is returned in the response body.

Note:

PDC PATCH API is based on and implemented as per JSON merge PATCH RFC 7396 specification. Any limitation to the standard, applies to PDC PATCH API. For example, if the PATCH payload is an array (or anything other than an object) the result will always be the PATCH.

PDC configuration objects, like balanceElements, have roundingRules, which is an array; attributeSpecMaps has the eventRUMSpec array that defines the association of events and RUMs with a service. When you include a new value in the array payload to PATCH an object from the External Product Catalog, it replaces any existing or enriched events already associated with that config object.

To retain an existing configuration, the External Product Catalog must first retrieve the object and include all required configurations, i.e., all roundingRules for balanceElements and all eventRUMSpecs for attributeSpecMaps (both existing and enriched), in the array when you republish the offer to PDC.

This behavior applies to all attributes modeled as arrays. For attributes that are not arrays, enriched values are preserved if they are not included in the payload sent from the External Product Catalog.

Back to Top