Vous êtes ici :
InsEnrollmentService:getRatedProducts
Utilisez le service pour renvoyer une liste de produits éligibles pour un participant donné et ses personnes à charge. Les prix de tranche tarifaire de chaque produit sont affichés lorsque le type de tarif du plan est Composite.
Vous recherchez le service qui renvoie un groupe de produits évalués non associés à l'inscription ? Tu es au mauvais endroit.
You want InsProductService:getRatedProducts.
Fonctionnement
-
Ce service prend la
userIdou l'contactIDet lecontractIddu participant connecté au système, ainsi que la date du jour. -
Le service récupère les informations sur le participant et les personnes dépendantes (le cas échéant). Il trouve également un contrat valide pour la date du jour, c'est-à-dire que la date du jour est comprise entre la date de début de l'inscription et la date de fin de l'inscription.
-
En fonction des informations du participant et du contrat, le service reçoit la liste de tous les produits auxquels le participant et les personnes dépendantes peuvent s'inscrire.
-
Le service utilise l'option de filtrage pour filtrer davantage la liste des produits disponibles.
-
Le service calcule le prix de chaque produit. Le processus de tarification est basé sur le paramètre de type de tarification au niveau du plan ou sur la procédure d'intégration définie au niveau du produit.
-
Si le type de tarification est défini sur
Composite, la tranche tarifaire. informations sont utilisées pour analyser les données dePricingLogData__cau niveau de la ligne de contrat. -
Si le type de tarification est défini sur
Age, le prix est calculé à partir de la procédure de calcul liée au produit. Ce service prend en charge toutes les options distantes prises en charge dansInsProductService.getRatedProducts. Pour en savoir plus, lisez InsProductService:getRatedProducts.
-
Options distantes
Option |
Description |
|---|---|
|
Valeur par défaut de la date du jour. Service extrait les produits avec un |
|
Utilisez le nom d'API avec deux points suivis d'une valeur ou d'une variable. Par exemple, dans un OmniScript, une variable peut être le nom d'un élément, par exemple une liste de sélection d'entrée. Séparez les paramètres de filtrage multiples par des virgules. Les filtres peuvent inclure n'importe quel champ de l'objet |
|
Par défaut Dans le JSON de sortie, avec le groupe de produits, cela ajoute l'objet |
|
Seules les clés d'entrée utilisées par la procédure de calcul ont une valeur dans les résultats. |
|
Par défaut Inclut les résultats complets de la procédure de calcul dans la clé de |
|
Par défaut Optimise les appels de tarification en regroupant les appels de procédure de tarification par produits en utilisant la même procédure de tarification. Il passe un appel de tarification avec un groupe d'objets d'entrée. Ceci est utile pour extraire une grande liste de produits. Plusieurs appels d'évaluation peuvent atteindre les limites en SQL. L'architecture de la procédure de tarification est optimisée pour gérer un ensemble d'objets d'entrée et minimiser le nombre de requêtes SQL nécessaires. Les procédures de calcul avec des étapes d'agrégation ne sont pas prises en charge. |
|
“ProductClassName1,ProductClassName2” Liste de noms de classe de produit séparés par une virgule. Limite la liste des produits à ces classes de produits. |
|
Utilisé en tant que commutateur dans la tarification IP. |
JSON d'entrée
Le service prend le JSON d'entrée suivant si le censusId est utilisé en tant qu'entrée (des exemples d'ID sont affichés) :
{"userId": "xxxx",
"contactId": "xxxx",
"contractId": "xxx"}Le service récupère les userInputs de l'objet Membre du recensement, plus précisément du champ member.AttributeSelectedValue__c. Ces attributs doivent correspondre aux entrées attendues du produit.
Alternativement, vous pouvez définir vos propres userInputs de la manière suivante :
"additionalInputs":
{
"stage": "Quote"
},
{"userId": "xxxx",
"contactId": "xxxx",
"contractId": "xxx",
"userInputs":
[
{"vBirthdate": "1969-09-20",
"FamilyTier": "Employee Only"}
]
} JSON de sortie
Le service renvoie une série de produits évalués en utilisant le modèle de structure JSON Produit. Cela inclut toutes les spécifications de couverture enfant incluses sous childProducts (le cas échéant). Il inclut également les données de prix de toutes les tranches tarifaires de chaque produit.
Dans cet exemple, les options contractées de l'inscrit renvoient trois produits et leur prix par palier de tranche tarifaire (voir le nœud RateBandTierPriceData). Ici, le type d'évaluation est défini sur Composite.
{
"totalSize":3,
"records":[
{
"displaySequence":-1,
"CalculatedPriceData":{
"Family":900.5,
"Self + Child":555.5,
"Self + Spouse":590,
"Self":245
},
"Id":"01tf4000002ApR0AAK",
"Name":"Bronze PPO 5000 (HSA)",
"Family":"Commercial",
"ProductCode":"SG-PPO-5000-HSA",
"LineOfBusiness__c":"Group Health",
"MarketSegment__c":"Small Group",
"Type__c":"Medical",
"SubType__c":"HDHP",
"IsRecommended__c":false,
"Tier__c":"Bronze",
"ImageId__c":"01tf4000002ApR0AAK",
"PricingSource__c":"GrandTotal",
"RecordTypeName__c":"Product",
"IsConfigurable__c":false,
"productId":"01tf4000002ApR0AAK",
"Price":"",
"ImageId":"/sfc/servlet.shepherd/version/renditionDownload?rendition=ORIGINAL_Png&versionId=068f4000002yjYiAAI",
"planId":"a0sf4000001u0CmAAI",
"planRateType":"Composite",
"RateBandTierPriceData":{
"Self":{
"Price":245,
"Sequence":"1",
"Label":"Employee"
},
"Self + Spouse":{
"Price":590,
"Sequence":"2",
"Label":"Employee + Spouse"
},
"Self + Child":{
"Price":555.5,
"Sequence":"3",
"Label":"Employee + Child"
},
"Family":{
"Price":900.5,
"Sequence":"5",
"Label":"Family"
}
},
"childProducts":{
...
},
"attributeCategories":{
...
} {
"displaySequence":-1,
"CalculatedPriceData":{
"Family":1100.5,
"Self + Child":755.5,
"Self + Spouse":790,
"Self":445
},
"Id":"01tf4000002ApR8AAK",
"Name":"Gold PPO 35",
"Family":"Commercial",
"ProductCode":"SG-PPO-35",
"LineOfBusiness__c":"Group Health",
"MarketSegment__c":"Small Group",
"Type__c":"Medical",
"SubType__c":"PPO",
"IsRecommended__c":false,
"Tier__c":"Gold",
"ImageId__c":"01tf4000002ApR8AAK",
"PricingSource__c":"GrandTotal",
"RecordTypeName__c":"Product",
"IsConfigurable__c":true,
"PricingFormula__c":"Premium",
"productId":"01tf4000002ApR8AAK",
"ImageId":"/sfc/servlet.shepherd/version/renditionDownload?rendition=ORIGINAL_Png&versionId=068f4000002yjYjAAI",
"planId":"a0sf4000001u0ClAAI",
"planRateType":"Composite",
"RateBandTierPriceData":{
"Self":{
"Price":445,
"Sequence":"1",
"Label":"Employee"
},
"Self + Spouse":{
"Price":790,
"Sequence":"2",
"Label":"Employee + Spouse"
},
"Self + Child":{
"Price":755.5,
"Sequence":"3",
"Label":"Employee + Child"
},
"Family":{
"Price":1100.5,
"Sequence":"5",
"Label":"Family"
}
},
"childProducts":{
...
},
"attributeCategories":{
...
}
},
{
"displaySequence":-1,
"CalculatedPriceData":{
"Family":1000.5,
"Self + Child":655.5,
"Self + Spouse":690,
"Self":345
},
"Id":"01tf4000002ApQXAA0",
"Name":"Silver HMO 500",
"Family":"Commercial",
"ProductCode":"SG-HMO-500",
"LineOfBusiness__c":"Group Health",
"MarketSegment__c":"Small Group",
"Type__c":"Medical",
"SubType__c":"HMO",
"IsRecommended__c":false,
"Tier__c":"Silver",
"ImageId__c":"01tf4000002ApQXAA0",
"PricingSource__c":"GrandTotal",
"RecordTypeName__c":"Product",
"IsConfigurable__c":false,
"productId":"01tf4000002ApQXAA0",
"Price":"",
"ImageId":"/sfc/servlet.shepherd/version/renditionDownload?rendition=ORIGINAL_Png&versionId=068f4000002yjYkAAI",
"planId":"a0sf4000001u0CkAAI",
"planRateType":"Composite",
"RateBandTierPriceData":{
"Self":{
"Price":345,
"Sequence":"1",
"Label":"Employee"
},
"Self + Spouse":{
"Price":690,
"Sequence":"2",
"Label":"Employee + Spouse"
},
"Self + Child":{
"Price":655.5,
"Sequence":"3",
"Label":"Employee + Child"
},
"Family":{
"Price":1000.5,
"Sequence":"5",
"Label":"Family"
}
},
"attributeCategories":{
...
}
]
}