U bent hier:
InsProductJSONService:updateUserValues
Gebruik deze service om de userValues van opgegeven kenmerken in een product-JSON bij te werken op basis van wijzigingen die een gebruiker heeft aangebracht. U kunt deze service ook gebruiken om bij te werken waar het JSON-knooppunt zich in de hiërarchie bevindt.
Methode: updateUserValues
De manier waarop het werkt...
-
Gebruikt de
inputKeyenattributeValuesom het knooppunt te vinden in de invoer-JSON met de kenmerken die moeten worden bijgewerkt. -
Als
productCodeen/ofattributeCodezijn ingesteld, filtert de service de JSON om overeen te komen. -
Valideert de nieuwe kenmerkwaarde op basis van mogelijke kenmerkwaarden, indien van
validate = true. -
Retourneert het product-JSON met de bijgewerkte kenmerken.
Externe opties
Optie |
Beschrijving |
|---|---|
|
De sleutel die deze service gebruikt om het onderdeel van het product-JSON te vinden waarmee moet worden gewerkt. De standaardwaarde is |
|
Zoekt kenmerken die rechtstreeks aan deze |
|
Zoekt het kenmerk dat door deze |
|
Waar/onwaar Werkt met een gedeeltelijke waarde die is opgegeven voor atttributeCode om een kenmerk te vinden. Standaard = |
|
Zoekt de kenmerken die zijn gekoppeld aan het product (en de onderliggende producten) die deze |
|
Waar/onwaar Valideert nieuwe kenmerkwaarden op basis van alle toegestane waarden voor een bepaald kenmerk voordat de JSON wordt bijgewerkt. Standaard = |
Invoer-JSON
Deze service gebruikt een typische product-JSON die wordt geïdentificeerd met behulp van de inputKey en attributeValues in de vorm van een kaart van de attributeCode en de nieuwe userValues.
Zie Product-JSON-structuurmodel voor informatie over de manier waarop product-JSON's zijn gestructureerd.
In het onderstaande voorbeeld is de waarde van de kenmerken van liveCoverageAmt $250.000. En in "attributeValues" moet dit worden gewijzigd in $500.000.
{
"inputKey": {
"totalSize": 1,
"records": [
{
"Name": "Product1",
"ProductCode": "Product1",
"attributeCategories": {
"totalSize": 1,
"records": [
{
"displaySequence": 449,
"id": "a0O6A000001XFIPUA4",
"Name": "Life Terms",
"Code__c": "LIFETERMS",
"productAttributes": {
"totalSize": 1,
"records": [
{
"code": "lifeCoverageAmt",
"dataType": "text",
"inputType": "dropdown",
"multiselect": false,
"required": false,
"readonly": false,
"disabled": false,
"filterable": true,
"attributeId": "a0P6A0000032HllUAE",
"label": "Coverage Amount",
"displaySequence": 1,
"hasRules": false,
"hidden": false,
"values": [
{
"id": "0",
"label": "$250,000",
"readonly": false,
"disabled": false,
"value": "250000"
},
{
"id": "1",
"label": "$500,000",
"readonly": false,
"disabled": false,
"value": "500000"
},
{
"id": "2",
"label": "$1,000,000",
"readonly": false,
"disabled": false,
"value": "1000000"
}
],
"userValues": "250000",
"parentProductId": "a2mf4000000kYR7AAM",
"parentProductCode": "InsLife",
"originalAttributeIndex": 0,
"originalCategoryIndex": 1,
"originalProductIndex": 1,
"pathFromChild": "attributeCategories.records[1].productAttributes.records[0]",
"pathFromRoot": "\"pathFromRoot\": \"childProducts.records[1].attributeCategories.records[1].productAttributes.records[0]\""
}
]
}
}
]
}
}
]
},
"attributeValues": {
"lifeCoverageAmt": "500000"
}
}
Uitvoer-JSON
De service retourneert een bijgewerkt product-JSON met de nieuwe kenmerkwaarden onder de result en informatie over de oorspronkelijke kenmerkwaarde.
In het volgende voorbeeld is de waarde voor het kenmerk liveCoverageAmt gewijzigd van € 250.000 in € 500.000.
{
"records": [
{
"attributeCategories": {
"records": [
{
"productAttributes": {
"records": [
{
"pathFromRoot": "\"pathFromRoot\": \"childProducts.records[1].attributeCategories.records[1].productAttributes.records[0]\"",
"pathFromChild": "attributeCategories.records[1].productAttributes.records[0]",
"originalProductIndex": 1,
"originalCategoryIndex": 1,
"originalAttributeIndex": 0,
"parentProductCode": "InsLife",
"parentProductId": "a2mf4000000kYR7AAM",
"userValues": "500000",
"values": [
{
"value": "250000",
"disabled": false,
"readonly": false,
"label": "$250,000",
"id": "0"
},
{
"value": "500000",
"disabled": false,
"readonly": false,
"label": "$500,000",
"id": "1"
},
{
"value": "1000000",
"disabled": false,
"readonly": false,
"label": "$1,000,000",
"id": "2"
}
],
"hidden": false,
"hasRules": false,
"displaySequence": 1,
"label": "Coverage Amount",
"attributeId": "a0P6A0000032HllUAE",
"filterable": true,
"disabled": false,
"readonly": false,
"required": false,
"multiselect": false,
"inputType": "dropdown",
"dataType": "text",
"code": "lifeCoverageAmt"
}
],
"totalSize": 1
},
"Code__c": "LIFETERMS",
"Name": "Life Terms",
"id": "a0O6A000001XFIPUA4",
"displaySequence": 449
}
],
"totalSize": 1
},
"ProductCode": "Product1",
"Name": "Product1",
"displaySequence": -1
}
],
"totalSize": 1
}
