Loading
Verzekering
InsProductJSONService:updateUserValues

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.

Opmerking
Opmerking Deze service kan worden gebruikt om de JSON bij te werken, maar wijzigt de productdefinitie zelf niet.

Klasse: InsProductJSONService

Methode: updateUserValues

De manier waarop het werkt...

  1. Gebruikt de inputKey en attributeValues om het knooppunt te vinden in de invoer-JSON met de kenmerken die moeten worden bijgewerkt.

  2. Als productCode en/of attributeCode zijn ingesteld, filtert de service de JSON om overeen te komen.

  3. Valideert de nieuwe kenmerkwaarde op basis van mogelijke kenmerkwaarden, indien van validate = true.

  4. Retourneert het product-JSON met de bijgewerkte kenmerken.

Externe opties

Optie

Beschrijving

inputKey

De sleutel die deze service gebruikt om het onderdeel van het product-JSON te vinden waarmee moet worden gewerkt.

De standaardwaarde is inputKey.

productCode

Zoekt kenmerken die rechtstreeks aan deze productCode zijn gekoppeld.

attributeCode

Zoekt het kenmerk dat door deze attributeCode is opgegeven.

patternMatch

Waar/onwaar

Werkt met een gedeeltelijke waarde die is opgegeven voor atttributeCode om een kenmerk te vinden.

Standaard = false

instanceKey

Zoekt de kenmerken die zijn gekoppeld aan het product (en de onderliggende producten) die deze instanceKey hebben.

validate

Waar/onwaar

Valideert nieuwe kenmerkwaarden op basis van alle toegestane waarden voor een bepaald kenmerk voordat de JSON wordt bijgewerkt.

Standaard = false

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
}
 
Wordt geladen
Salesforce Help | Article