Regenerate Affected Response API
As part of the regeneration of records, a cachedAPIChangeEntryId query parameter regenerates the cache data for the change entry Id passed in the input.
Ensure you run generateAction before you run regenerateAction.
The Regenerate Affected Response API:
-
Checks if the Id is valid and the corresponding cachedAPIChangeEntryId record is unprocessed.
-
Gets the cachedAPIchange Id and checks if the dependent change entry is processed. If not, then the API throws an error to indicate that the dependent records are not processed.
-
If regeneration is successful, the API marks the cachedAPIChangeEntryId record as processed.
This is the predefined sequence for specific types of records to regenerate:
Sequence for the itemType | Priority |
---|---|
dataProfileResultItem | 1 |
ruleSetCombinationResultItem | 2 |
contextDimensionsResultItem | 3 |
contextCombinationsResultItem | 4 |
catalogCtxEligibilityResult | 5 |
offerItem | 6 |
hierarchyResult | 8 |
priceResult | 9 |
itemDetails | 10 |
bundleWrapper | 11 |
promotionWrapper | 11 |
item | 12 |
orderConfiguration | 13 |
For example, if you execute changeEntryId for bundle wrapper with sequence 11, but there is an unprocessed ChangeEntryId in the cachedAPIChange entry table for itemDetails with sequence 10 for the same offer, then an error occurs for violating the dependency check. You can obtain the ChangeEntryId required as a query parameter in the API from the Affected Cache API records.regenerateAction.bundleWrapper.params.ChangeEntryId node.
RegenerateAction nodes with the same sequence can be executed in parallel.
For example: POST /v3/admin/catalogs/{value}/offers/{value}/{APIname}?ChangeEntryId={value}
Parameter | Example | Optional/Required | Description |
---|---|---|---|
ChangeEntryId | a525g000000CjVbAAK | Required | CachedAPIChangeEntry Id that verifies the dependency check and tracks the generation or regeneration of the API. Contains the Id of the CachedAPIChange Entry object to process. |
An action node contains the request format in the REST Node. These are the action node fields:
Action Node Fields | Description |
---|---|
requestBody | Indicates if there are any request bodies to provide in the respective API. |
params | Indicates if there are any query parameters to provide in the respective API. |
link | Specifies the API URI to invoke the service. |
method | Indicates if the respective API is a GET or POST request. |
To invoke this action node, see Bundle Wrapper APIBundle Wrapper API.
To invoke this action node, see Offers Item APIOffers Item API.
To invoke this action node, see Hierarchy APIHierarchy API.
To invoke this action node, see Prices APIPrices API.
To invoke this action node, see getOffers APIGet Offers by Catalog API.
To invoke this action node, see getOffersDetails APIGet Offer Details API.
To invoke this action node, see Invalidate Affected Response APIInvalidate Affected Response API.
To invoke this action node and execute the APIs listed in apiNames in the generateAction node for the list of catalogCodes, see the list of Populate Cache APIsPopulate Cache APIs.
Each regenerateActionNode retrieved from the GET Affected Cache API contains a cachedAPIChangeEntryId that can pass and execute in parallel if the dependent entry is processed.
For example, if there are 100 Regenerate Action nodes from the Get Affected Cache API (REGEN_ACTION1, REGEN_ACTION 2.....REGEN_ACTION100) and each action node contains a cachedAPIChangeEntryId, such as REGEN_ACTION1.CACE1, then you can run parallel threads of regenerateAction nodes and execute corresponding APIs.
Header | Description |
---|---|
Content-Type | application/json |
Code | Description |
---|---|
200 | OK |
500 | Internal Server Error |