breadcrumbDescription
InsProductJSONService:updateUserValues
Brug denne tjeneste til at opdatere userValues af angivne attributter i en produkt-JSON, baseret på ændringer, som en bruger har foretaget. Du kan også bruge denne tjeneste til at opdatere, hvor JSON-noden er i hierarkiet.
Metode: updateUserValues
Sådan fungerer det
-
Bruger
inputKeyogattributeValuestil at finde noden i input-JSON med de attributter, der skal opdateres. -
Hvis
productCodeog/ellerattributeCodeer angivet, filtrerer tjenesten JSON for at matche. -
Validerer den nye attributværdi op mod mulige attributværdier, hvis
validate = true. -
Returnerer produkt-JSON med de opdaterede attributter.
Fjernindstillinger
Indstilling |
Beskrivelse |
|---|---|
|
Den nøgle, denne tjeneste bruger til at finde den del af produkt-JSON, der skal arbejdes med. Standardværdien er |
|
Finder attributter, der er direkte tilknyttet dette |
|
Finder den attribut, der er angivet af denne |
|
Sandt/falsk Fungerer med en delvis værdi, der er angivet for atttributeCode for at finde en attribut. Standard = |
|
Finder de attributter, der er tilknyttet det produkt (og de underordnede produkter), der har dette |
|
Sandt/falsk Validerer nye attributværdier op mod alle tilladte værdier for en given attribut, før du opdaterer JSON. Standard = |
Input JSON
Denne tjeneste tager et typisk produkt JSON det identificerer ved hjælp af inputKey og attributeValues i form af et kort over attributeCode og den nye userValues.
Hvis du vil vide, hvordan produkt-JSON'er er struktureret, kan du se Produkt-JSON-strukturmodel.
Fra eksemplet nedenfor er attributværdien for liveCoverageAmt $250.000. Og i "attributeValues" skal den ændres til $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"
}
}
Output JSON
Tjenesten returnerer en opdateret produkt-JSON med de nye attributværdier under result og oplysninger om den oprindelige attributværdi.
I følgende eksempel blev værdien for liveCoverageAmt-attributten ændret fra $250.000 til $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
}
