2025-04-17 - LinkPath structure and examples

From Izara Wiki
Revision as of 08:01, 21 May 2026 by Olive (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Service - Search Results

requiredData normalize structure

  • component => requiredDataObjects , linkPathObjects, linkPathSteps
{
  requiredDataObjects: {
     hash_requiredDataObjectA: { //* normal requiredData
       fieldName: "fieldname if main objType or last fieldName for linkPath",
     },
     hash_requiredDataObjectB: { //* has LinkPath
       fieldName: "fieldname if main objType or last fieldName for linkPath",
       linkPathObjectId: "hash_linkPathA",
       complexFilterCombinationIds: [ //* has applyCombinations
         "xxxxx",
         "xxxxx"
       ]
     }
  },
  linkPathObjects: {
    hash_linkPathA: {
      initialObjType: {
        serviceTag: "ProductManager",
        objectType: "product"
      },
      linkSteps: [
        "hash_linkStepB_1",
        "hash_linkStepB_2"
      ]
    },
    ref_linkPathObjectC: {
       initialObjType: {
        serviceTag: "SellOfferManager",
        objectType: "sellOffer"
      },
      linkSteps: [
        "hash_linkStepC_1",
        "hash_linkStepC_2"
      ]
    }
  },
  linkPathSteps: {
    hash_linkStepB_1: {
      pathLinkType: {
         objType: {
           serviceTag: "SellOfferManager",
           objectType: "sellOffer"
         },
         relType: {
           serviceTag: "SellOfferManager",
           relationshipTag: "hasSellOffer"
         },
         direction: "from"
      },

      //------ conditions by link ------// : optional
      filterObjectId: "ref_filterMainIdA",
      aggregate: "max",
      sortFields: [
        {
          fieldName: "xxx",
          dataType: "string",
          sortOrder: 'descending',
          refFieldNameId: 'ref_fieldNameIdC'
        }
      ],
      requiredDataObjects: {
        'ref_fieldNameIdC': {
          fieldName: 'ccc',
          linkPathObjectId: 'ref_linkPathObjectC'
        }
      },
    },
    hash_linkStepB_2: {
      pathLinkType: {
         objType: {
           serviceTag: "SellOfferPlan",
           objectType: "sellOfferPlan"
         },
         relType: {
           serviceTag: "SellOfferManager",
           relationshipTag: "usesSellOfferPlan"
         },
         direction: "from"
      },
      //------ conditions by link ------//
      filterObjectId: "ref_filterMainIdA",
      aggregate: "max",
      sortFields: [
        {
          fieldName: "xxx",
          dataType: "string",
          sortOrder: 'descending',
        }
      ],
      combine: "true",
      comparison: "greaterThan",
      comparisonSortField: "upToValue",
      comparisonSortDataType: "string",
      comparisonValue: "50",
      requestProperties: {
        tag_xxxx: "value"
      },
      perParentCombinationIds: [
        {
          tag: "tag_xxxxx",
          filterMainId: "xxxxx"
        }
      ],
      applyCombinations: [
        {
          tag: "tag_xxxxx",
          filterMainId: "xxxxx"
        }
      ]
    },
    "hash_linkStepC_1": {},
    "hash_linkStepC_2": {}
  }
}


ProcessSortedResultsMessage

Case: normal filter linkPath

  • Retrieves translated system text based on prioritized languageIds.
  let sortedResultsMessage = {
    objType: {
      serviceTag: 'Translations',
      objectType: 'systemTextTranslationLink'
    },
    requiredDataObjects: {
      '7489a459c7838c5d51efb6da2acdb8d7e43d00dd': { fieldName: 'languageId' },
      cf7b192c51db1ac1738731568972368f8ecbfa39: {
        fieldName: 'translationTextId',
        linkPathObjectId: 'ecd2160aa5015d53d117e6ce9aa87b1c14d23376'
      }
    },
    searchParams: { filterObjectId: '259bbac2cd09600b8b7d6d65f142a2cba7f1b40a' },
    filterElements: {
      '1adbd230de586a1f9bf8fed56a4ef4d665502bec': {
        objType: {
          serviceTag: 'Translations',
          objectType: 'systemTextTranslationLink'
        },
        filterElement: {
          filterType: 'traversal',
          traversals: [
            {
              fields: {
                defaultSystemTextTranslationLink: true,
                systemTextNamespace: 'cartItem',
                systemTextTag: 'removeItemButton'
              }
            }
          ]
        }
      },
      d47c1be1339bcd4d1a09dc702b45f517206a3c51: {
        objType: {
          serviceTag: 'Translations',
          objectType: 'systemTextTranslationLink'
        },
        filterElement: {
          filterType: 'traversal',
          traversals: [
            {
              fields: {
                languageId: { anyValue: ['en', 'th'] },
                currentSystemTextTranslationLink: true,
                systemTextNamespace: 'cartItem',
                systemTextTag: 'removeItemButton'
              }
            }
          ]
        }
      },
      '259bbac2cd09600b8b7d6d65f142a2cba7f1b40a': {
        objType: {
          serviceTag: 'Translations',
          objectType: 'systemTextTranslationLink'
        },
        filterElement: {
          filterType: 'operation',
          operator: 'or',
          filterElementLeft: '1adbd230de586a1f9bf8fed56a4ef4d665502bec',
          filterElementRight: 'd47c1be1339bcd4d1a09dc702b45f517206a3c51'
        }
      }
    },
    linkPathObjects: {
      ecd2160aa5015d53d117e6ce9aa87b1c14d23376: {
        initialObjType: {
          serviceTag: 'Translations',
          objectType: 'systemTextTranslationLink'
        },
        linkSteps: ['0c139c44bc2b1478745176fd4289a129f04f044e']
      }
    },
    linkPathSteps: {
      '0c139c44bc2b1478745176fd4289a129f04f044e': {
        pathLinkType: {
          relType: {
            serviceTag: 'Translations',
            relationshipTag: 'isTranslationText'
          },
          objType: { serviceTag: 'Translations', objectType: 'translationText' },
          direction: 'from'
        }
      }
    },
    sortFields: [
      {
        fieldName: 'languageId',
        dataType: 'sortArray',
        sortArray: ['en', 'th'],
        sortOrder: 'ascending'
      }
    ],
    searchResultId: '259bbac2cd09600b8b7d6d65f142a2cba7f1b40a',
    searchDetailId: '10e568741714ab8d13c529e74f6ca8f37d6c977c'
  }

Case: normal filter without linkPath

  • Sort fieldName: 'weight' in ascending order
 for objectType: 'systemTextTranslationLink'.
  • Only include records where:
 - systemTextNamespace = 'Translations|translationLink|description'
 - systemTextTag = 'languageId|Translations|translationLink'
 - languageId = 'en' (English only)
  • NOTE: When filterType = 'logical',the fieldName must have at least one storage resource, such as DynamoDB.
  let englishTranslationWeightSortRequest = {
    objType: {
      objectType: 'systemTextTranslationLink',
      serviceTag: 'Translations'
    },
    requiredDataObjects: {
      '9d5c2039a33abc832c163dae3985c8028dd2a09b': { fieldName: 'weight' },
      '7489a459c7838c5d51efb6da2acdb8d7e43d00dd': { fieldName: 'languageId' }
    },
    searchParams: { filterObjectId: 'a03085b4807e751443ad9ec5e89f788fcaf03791' },
    filterElements: {
      a03085b4807e751443ad9ec5e89f788fcaf03791: {
        objType: {
          objectType: 'systemTextTranslationLink',
          serviceTag: 'Translations'
        },
        filterElement: {
          filterType: 'logical',
          comparison: 'equals',
          partitionKeyValues: {
            systemTextNamespace: { value: 'Translations|translationLink|description' },
            systemTextTag: { value: 'languageId|Translations|translationLink' }
          },
          conditionalFieldValues: [{ fieldName: 'languageId', includeValues: ['en'] }]
        }
      }
    },
    sortFields: [
      {
        fieldName: 'weight',
        dataType: 'number',
        sortOrder: 'ascending'
      }
    ],
    overWriteCache: true,
    searchResultId: 'a03085b4807e751443ad9ec5e89f788fcaf03791',
    searchDetailId: 'eeb7f7a6e1228608b029491757a274a36edd5b45',
    callingFlow: 'TranslationsTestCalcTransMaxWeightUploadTransByLang',
    callingFlowProperties: {
      parentPassBackProperties: { callingFlow: null, callingFlowProperties: {} }
    }
  }

ProcessSearchResultMessage

  • Fetch and Sort Product Sizes by Language with Fallback
objectType: productAttributeValueStandardPropertyValue represents size values such as S, M, and L.
Retrieve all size data sorted by language priority 'en', 'th'.
If a translation is missing for any language in sortArray: ['en', 'th'],
fallback to the defaultTranslationLink of that productAttribute (default language).
productAttributeValueStandardPropertyLabel with labelId = 'Id_X' represents the size label.
identifiersArray contains the identifiers of all size values linked to the productAttributeValueStandardPropertyLabel where labelId = 'Id_X'.


  let searchResultMessage = {
    objType: {
      serviceTag: 'ProductAttribute',
      objectType: 'productAttributeValueStandardPropertyValue'
    },
    requiredDataObjects: {
      f4a5b77943c5aab826297a646ec29279aabd16e2: {
        fieldName: 'languageId',
        linkPathObjectId: 'd3e4054816216e72244cd4d7259bd747b8a197c7'
      },
      '67e926e404bccd6f15ab9ce5cca320b6fd074f5d': {
        fieldName: 'translationTextId',
        linkPathObjectId: '7f69aa53b3d59f02a53ac3c5c71f9ef9a39b25bd'
      } //all sizes by languageId, where text is the identifiers of the translation objectType, which is the final link step of this requiredData
    },
    searchParams: {
      identifiersArray: [
        {
          productAttributeValueStandardPropertyValueId: 'productAttributeId_uuid_1'
        },
        {
          productAttributeValueStandardPropertyValueId: 'productAttributeId_uuid_2'
        },
        {
          productAttributeValueStandardPropertyValueId: 'productAttributeId_uuid_3'
        }
      ]
    },
    filterElements: {
      c28efb1ad3c5ebfa408eb981168bfd4ec935c97a: {
        objType: { serviceTag: 'Translations', objectType: 'translationLink' },
        filterElement: {
          filterType: 'traversal',
          traversals: [
            {
              pathLinkType: {
                relType: {
                  serviceTag: 'Translations',
                  relationshipTag: 'defaultTranslationLink'
                },
                objType: {
                  serviceTag: 'ProductAttribute',
                  objectType: 'productAttributeValueStandardPropertyValue'
                },
                direction: 'from'
              },
              fields: { textTag: 'productAttributeValue' }
            },
            {
              fields: {
                productAttributeValueStandardPropertyValueId: {
                  anyValue: [
                    'productAttributeId_uuid_1',
                    'productAttributeId_uuid_2',
                    'productAttributeId_uuid_3'
                  ]
                }
              }
            }
          ]
        }
      },
      a69869add31a7009c9c79e1b458350f07d0b5a07: {
        objType: { serviceTag: 'Translations', objectType: 'translationLink' },
        filterElement: {
          filterType: 'traversal',
          traversals: [
            {
              pathLinkType: {
                relType: {
                  serviceTag: 'Translations',
                  relationshipTag: 'currentTranslationLink'
                },
                objType: {
                  serviceTag: 'ProductAttribute',
                  objectType: 'productAttributeValueStandardPropertyValue'
                },
                direction: 'from'
              },
              fields: {
                languageId: { anyValue: ['en', 'th'] },
                textTag: 'productAttributeValue'
              }
            },
            {
              fields: {
                productAttributeValueStandardPropertyValueId: {
                  anyValue: [
                    'productAttributeId_uuid_1',
                    'productAttributeId_uuid_2',
                    'productAttributeId_uuid_3'
                  ]
                }
              }
            }
          ]
        }
      },
      '3d9149139df2b5a56db26a72032c545dd436aa8c': {
        objType: { serviceTag: 'Translations', objectType: 'translationLink' },
        filterElement: {
          filterType: 'operation',
          operator: 'or',
          filterElementLeft: 'c28efb1ad3c5ebfa408eb981168bfd4ec935c97a',
          filterElementRight: 'a69869add31a7009c9c79e1b458350f07d0b5a07'
        }
      }
    },
    linkPathObjects: {
      d3e4054816216e72244cd4d7259bd747b8a197c7: {
        initialObjType: {
          serviceTag: 'ProductAttribute',
          objectType: 'productAttributeValueStandardPropertyValue'
        },
        linkSteps: ['aade91a8b0468b3463970ebb77590f95a5149370']
      },
      '7f69aa53b3d59f02a53ac3c5c71f9ef9a39b25bd': {
        initialObjType: {
          serviceTag: 'ProductAttribute',
          objectType: 'productAttributeValueStandardPropertyValue'
        },
        linkSteps: [
          'aade91a8b0468b3463970ebb77590f95a5149370',
          '0c139c44bc2b1478745176fd4289a129f04f044e'
        ]
      }
    },
    linkPathSteps: {
      aade91a8b0468b3463970ebb77590f95a5149370: {
        pathLinkType: {
          relType: {
            serviceTag: 'Translations',
            relationshipTag: 'hasTranslationLink'
          },
          objType: { serviceTag: 'Translations', objectType: 'translationLink' },
          direction: 'from'
        },
        // Must use hasTranslationLink because it will be automatically added by inserting a filterElement with logicalType: "translateIds"
        // where identifiers come from identifiersIdArray (Process-ComplexFilter), along with a filterElement of type: "logicalOperator" and operator: "and"
        aggregate: 'min',   //if 'min' sorts languages in order 'en', 'th', //if max sorts languages in order 'th', 'en
        sortFields: [
          {
            fieldName: 'languageId',
            dataType: 'sortArray',
            sortArray: ['en', 'th'],// sorts languages according to sortArray
            sortOrder: 'ascending' // ascending 'en', 'th'
          }
        ],
        filterObjectId: '3d9149139df2b5a56db26a72032c545dd436aa8c'
      },
      '0c139c44bc2b1478745176fd4289a129f04f044e': {
        pathLinkType: {
          relType: {
            serviceTag: 'Translations',
            relationshipTag: 'isTranslationText'
          },
          objType: { serviceTag: 'Translations', objectType: 'translationText' },
          direction: 'from'
        }
      }
    },
    searchResultId: 'a76284c61b0b08b5d43be8f43446a1e72f7b532e',
    searchDetailId: '3adc5052093b6cd89cacc77744223e62dab0ba8b',
    callingFlow: 'callingFunction'
  };
  • NOTE: When the searchResultsComplete flow is completed:
-The SearchResultsTestRequiredData table will contain records equal to fieldName × identifiers.
In this example, there are 6 records.
-The SearchResultsTestSearchResultData table stores the identifiers of the subjectObjType.
In this example, there are 3 records.

example search and sort request

{
   "objType":{
      "objectType":"sellOffer",
      "serviceTag":"SellOfferManager"
   },
   "searchResultId":"8e5fecd40a27e47f89cd2743916c0044f0f69bc6",
   "searchDetailId":"3462d3248d3af9406554f1c218b63442d26ac2e5",
   "requiredDataObjects":{
      "4c8e7879d26e6fa7ab85ded25a79a541754c5a3c":{
         "fieldName":"productId",
         "linkPathObjectId":"1a8a3f9c2c3ea5eaad1f42385362de5dd11cde8a"
      },
      "c799f11507529f0fb6fa712568596d24b6507d40":{
         "fieldName":"sellOfferHandlerServiceTag",
         "linkPathObjectId":"5909f82f27bd6c1f921e95b88a65b6e4727a6532",
         "complexFilterCombinationIds":[
            "88d9c5b9ab36d8c3ebf17e8322541b9c64cae25b",
            "51509dea0a7ba2746dbd24769b8e777f1411f3ff",
            "d7a7f875254e856b4205075826631ec042b4c821",
            "b96447ae98c95858694ca5ec407750c559825930"
         ]
      }
   },
   "searchParams":{
      "filterObjectId":"8e5fecd40a27e47f89cd2743916c0044f0f69bc6"
   },
   "filterElements":{
      "8e5fecd40a27e47f89cd2743916c0044f0f69bc6":{
         "objType":{
            "objectType":"sellOffer",
            "serviceTag":"SellOfferManager"
         },
         "filterElement":{
            "filterType":"logical",
            "fieldName":"sellOfferId",
            "comparison":"equals",
            "value":"sellOfferId_001"
         }
      },
      "d92ca4f68dc0d474cfdc10a6c702a5c7224a822c":{
         "objType":{
            "serviceTag":"DeliveryMethodRAT",
            "objectType":"rateTable"
         },
         "filterElement":{
            "filterType":"logical",
            "fieldName":"rateTableId",
            "comparison":"highLow",
            "valueType":"perParentIdentifier",
            "perParentIdentifierFieldname":"sellOfferId"
         }
      },
      "cd378bc32fbc9a46929c9a9d590e7d77243a839c":{
         "objType":{
            "serviceTag":"DeliveryMethodRAT",
            "objectType":"rateTable"
         },
         "filterElement":{
            "filterType":"logical",
            "fieldName":"rateTableId",
            "comparison":"lessThanEquals",
            "value":"cccc"
         }
      },
      "0c287df25d6ff203be7cc9faa2390f6ab0df3878":{
         "objType":{
            "serviceTag":"DeliveryMethodRAT",
            "objectType":"rateTable"
         },
         "filterElement":{
            "filterType":"operation",
            "filterElementLeft":"d92ca4f68dc0d474cfdc10a6c702a5c7224a822c",
            "filterElementRight":"cd378bc32fbc9a46929c9a9d590e7d77243a839c",
            "operator":"AND"
         }
      },
      "e0b8534452e98796f144c83a221764ef32db5ab6":{
         "objType":{
            "serviceTag":"Locations",
            "objectType":"locationNode"
         },
         "filterElement":{
            "filterType":"childComplexFilter",
            "childFilterElementId":"0c287df25d6ff203be7cc9faa2390f6ab0df3878",
            "pathLinkType":{
               "relType":{
                  "serviceTag":"DeliveryMethodRAT",
                  "relationshipTag":"disabledDeliversTolocationNode"
               },
               "objType":{
                  "serviceTag":"DeliveryMethodRAT",
                  "objectType":"rateTable"
               },
               "direction":"to"
            },
            "requestProperties":{}
         }
      },
      "88d9c5b9ab36d8c3ebf17e8322541b9c64cae25b":{
         "objType":{
            "serviceTag":"SellOfferPlan",
            "objectType":"sellOfferPlan"
         },
         "filterElement":{
            "filterType":"logical",
            "fieldName":"currencyId",
            "comparison":"lessThan",
            "value":"bbbb"
         }
      },
      "51509dea0a7ba2746dbd24769b8e777f1411f3ff":{
         "objType":{
            "serviceTag":"SellOfferPlan",
            "objectType":"sellOfferPlanUserPaymentMethodLink"
         },
         "filterElement":{
            "filterType":"logical",
            "fieldName":"sellOfferPlanUserPaymentMethodLinkId",
            "comparison":"lessThan",
            "value":"bbbb"
         }
      },
      "a5491ba3deb74e523741c8cfeb845f49db444a9c":{
         "objType":{
            "serviceTag":"Locations",
            "objectType":"locationNode"
         },
         "filterElement":{
            "filterType":"logical",
            "fieldName":"locationNodeId",
            "comparison":"lessThan",
            "value":"cccc"
         }
      },
      "7820aef170ae6c3e723382d6bc81d7b12a674974":{
         "objType":{
            "serviceTag":"DeliveryMethodRAT",
            "objectType":"rateTable"
         },
         "filterElement":{
            "filterType":"logical",
            "fieldName":"rateTableId",
            "comparison":"highLow",
            "value":"aaaa"
         }
      },
      "554fc368ec36c13a93e3c71c8081951060965bb2":{
         "objType":{
            "serviceTag":"Locations",
            "objectType":"locationNode"
         },
         "filterElement":{
            "filterType":"childComplexFilter",
            "childFilterElementId":"7820aef170ae6c3e723382d6bc81d7b12a674974",
            "pathLinkType":{
               "relType":{
                  "serviceTag":"DeliveryMethodRAT",
                  "relationshipTag":"deliversToLocationNode"
               },
               "objType":{
                  "serviceTag":"DeliveryMethodRAT",
                  "objectType":"rateTable"
               },
               "direction":"to"
            },
            "requestProperties":{}
         }
      },
      "d7a7f875254e856b4205075826631ec042b4c821":{
         "objType":{
            "serviceTag":"Locations",
            "objectType":"locationNode"
         },
         "filterElement":{
            "filterType":"operation",
            "filterElementLeft":"a5491ba3deb74e523741c8cfeb845f49db444a9c",
            "filterElementRight":"554fc368ec36c13a93e3c71c8081951060965bb2",
            "operator":"OR"
         }
      },
      "b96447ae98c95858694ca5ec407750c559825930":{
         "objType":{
            "serviceTag":"SellOfferPlan",
            "objectType":"sellOfferPlanUserPaymentMethodLink"
         },
         "filterElement":{
            "filterType":"operation",
            "filterElementLeft":"5faa4000cfb72e7aa28603a7740c212f6d6db5e0",
            "filterElementRight":"a1aa8d2907f8b6f24e7b66116129838e978bcaee",
            "operator":"OR"
         }
      }
   },
   "linkPathObjects":{
      "1a8a3f9c2c3ea5eaad1f42385362de5dd11cde8a":{
         "initialObjType":{
            "objectType":"sellOffer",
            "serviceTag":"SellOfferManager"
         },
         "linkSteps":[
            "fa9a637eb09df71d939b3d914eb9ee27ae83048e",
            "d3e2d36cab6d9441db10a7c983834cf9196398b3",
            "fa9a637eb09df71d939b3d914eb9ee27ae83048e"
         ]
      },
      "2794814ec253fc93496bfcb50ea18ebfe640bf4d":{
         "initialObjType":{
            "serviceTag":"SellOfferManager",
            "objectType":"sellOffer"
         },
         "linkSteps":[
            "fa9a637eb09df71d939b3d914eb9ee27ae83048e",
            "11704ae9a828b4709300964e2e0361bad13db5c3",
            "964050f23f92b45a1ea573a573c50ae3ca2bae18"
         ]
      },
      "5909f82f27bd6c1f921e95b88a65b6e4727a6532":{
         "initialObjType":{
            "objectType":"sellOffer",
            "serviceTag":"SellOfferManager"
         },
         "linkSteps":[
            "fa9a637eb09df71d939b3d914eb9ee27ae83048e",
            "634dd9295fcb1834de0a6ed1f1ab8a9fa06c4d7f",
            "d3fc84fa4444406cef2de49baf53d38ab86cd2e0",
            "2b0537fa34ee1d259488fce12204dd549e1c98a3"
         ]
      }
   },
   "linkPathSteps":{
      "fa9a637eb09df71d939b3d914eb9ee27ae83048e":{
         "pathLinkType":{
            "relType":{
               "serviceTag":"SellOfferManager",
               "relationshipTag":"hasSellOffer"
            },
            "objType":{
               "serviceTag":"ProductManager",
               "objectType":"product"
            },
            "direction":"to"
         }
      },
      "d3e2d36cab6d9441db10a7c983834cf9196398b3":{
         "pathLinkType":{
            "relType":{
               "serviceTag":"SellOfferManager",
               "relationshipTag":"hasSellOffer"
            },
            "objType":{
               "serviceTag":"SellOfferManager",
               "objectType":"sellOffer"
            },
            "direction":"from"
         },
         "comparison":"lessThan",
         "comparisonSortField":"productId",
         "comparisonSortDataType":"string",
         "comparisonValue":"eeee"
      },
      "634dd9295fcb1834de0a6ed1f1ab8a9fa06c4d7f":{
         "pathLinkType":{
            "relType":{
               "serviceTag":"SellOfferManager",
               "relationshipTag":"hasSellOffer"
            },
            "objType":{
               "serviceTag":"SellOfferManager",
               "objectType":"sellOffer"
            },
            "direction":"from"
         },
         "aggregate":"min",
         "sortFields":[
            {
               "fieldName":"SellOfferManager_CalCombinedPricingUniqueRequestId",
               "dataType":"string",
               "sortOrder": 'descending',
               "refFieldNameId": "ref_hash_SellOfferManager_CalCombinedPricingUniqueRequestId"
            }
         ],
         "requiredDataObjects":{
            "ref_hash_SellOfferManager_CalCombinedPricingUniqueRequestId": {
               "fieldName":"SellOfferManager_CalCombinedPricingUniqueRequestId",
               "linkPathObjectId":"2794814ec253fc93496bfcb50ea18ebfe640bf4d"
            }
         }
      },
      "d3fc84fa4444406cef2de49baf53d38ab86cd2e0":{
         "pathLinkType":{
            "relType":{
               "serviceTag":"SellOfferManager",
               "relationshipTag":"hasOrderPrice"
            },
            "objType":{
               "serviceTag":"SellOfferManager",
               "objectType":"orderPrice"
            },
            "direction":"from"
         },
         "requestProperties":{
            "tag_sellOfferPlan":"bbbb",
            "tag_sellOfferPlanDeliveryMethodLink":"bbbb"
         },
         "perParentCombinationIds":[
            {
               "tag":"tag_deliverTo",
               "filterMainId":"e0b8534452e98796f144c83a221764ef32db5ab6"
            }
         ],
         "applyCombinations":[
            {
               "tag":"tag_sellOfferPlanUserPaymentMethodLink",
               "filterMainId":"51509dea0a7ba2746dbd24769b8e777f1411f3ff"
            }
         ]
      },
      "2b0537fa34ee1d259488fce12204dd549e1c98a3":{
         "pathLinkType":{
            "relType":{
               "serviceTag":"SellOfferManager",
               "relationshipTag":"hasOrderPrice"
            },
            "objType":{
               "serviceTag":"SellOfferManager",
               "objectType":"sellOffer"
            },
            "direction":"to"
         },
         "requestProperties":{
            "tag_deliverTo":"aaaa",
            "tag_sellOfferPlanDeliveryMethodLink":"bbbb"
         },
         "applyCombinations":[
            {
               "tag":"tag_sellOfferPlan",
               "filterMainId":"88d9c5b9ab36d8c3ebf17e8322541b9c64cae25b"
            },
            {
               "tag":"tag_sellOfferPlanUserPaymentMethodLink",
               "filterMainId":"51509dea0a7ba2746dbd24769b8e777f1411f3ff"
            }
         ]
      },
      "11704ae9a828b4709300964e2e0361bad13db5c3":{
         "pathLinkType":{
            "relType":{
               "serviceTag":"SellOfferManager",
               "relationshipTag":"hasSellOffer"
            },
            "objType":{
               "serviceTag":"SellOfferManager",
               "objectType":"sellOffer"
            },
            "direction":"from"
         },
         "aggregate":"average",
         "sortFields":[
            {
               "fieldName":"sellOfferHandlerServiceTag",
               "dataType":"string",
               "sortOrder": 'descending',
            }
         ],
         "combine":true
      },
      "964050f23f92b45a1ea573a573c50ae3ca2bae18":{
         "pathLinkType":{
            "relType":{
               "serviceTag":"SellOfferManager",
               "relationshipTag":"hasOrderPrice"
            },
            "objType":{
               "serviceTag":"SellOfferManager",
               "objectType":"orderPrice"
            },
            "direction":"from"
         },
         "requestProperties":{
            "tag_sellOfferPlan":"aaaa",
            "tag_sellOfferPlanDeliveryMethodLink":"bbbb"
         },
         "applyCombinations":[
            {
               "tag":"tag_deliverTo",
               "filterMainId":"d7a7f875254e856b4205075826631ec042b4c821"
            },
            {
               "tag":"tag_sellOfferPlanUserPaymentMethodLink",
               "filterMainId":"b96447ae98c95858694ca5ec407750c559825930"
            }
         ],
         "comparison":"highLow",
         "comparisonSortField":"sellOfferHandlerServiceTag",
		 "comparisonSortDataType": "string"
         "comparisonValue":"aaaa"
      }
   },
   "sortFields":[
      {
         "fieldName":"productId",
         "dataType":"string",
         "sortOrder": 'descending',
         // refFieldNameId: '2fece71f6bb34f0163610caaec63981c8dfa9de8'
      },
      {
         "fieldName":"productId",
         "dataType":"array",
         "sortOrder": 'descending',
         "sortArray":[
            "ffff",
            "eeee"
         ],
         // refFieldNameId: '2fece71f6bb34f0163610caaec63981c8dfa9de8'
      }
   ]
}