Vous êtes ici :
InsContractService:createUpdateContract
Utilisez ce service pour créer ou mettre à jour un contrat en utilisant la sortie du service InsQuoteService:getQuoteDetail.
Le même devis utilisé pour créer le contrat est également utilisé dans la mise à jour.
Le service est généralement utilisé pour ajouter des produits de remplacement à un contrat existant, pour de petits groupes.
Méthode : createUpdateContract
Fonctionnement
-
Ce service recherche la valeur
inputKeydans le JSON produit d'un devis, qui contient également la carteproductConfigurationDetail. -
Si un
contractIdest spécifié, le contrat est mis à jour en utilisant la sortie du service degetContractDetailscomme entrée. -
Si aucune
contractIdn'est spécifiée, une nouvellecontractIdest créée.
Options distantes
Options |
Description |
|---|---|
|
ID du contrat cible. |
|
Facultatif. Le nom du catalogue de prix à utiliser dans le contrat créé ou mis à jour. Si vous ne saisissez pas de valeur, le service est défini par défaut sur |
JSON d'entrée
Lors de la création d'un contrat, le JSON d'entrée est similaire à la sortie du service InsQuoteService:getQuoteDetail. Lors de la mise à jour d'un contrat existant, le JSON d'entrée reste inchangé.
Cet exemple montre un nouveau JSON d'entrée de contrat, où contractJson est la clé d'entrée et productConfigurationDetail contient le JSON de produit renvoyé via InsQuoteService:getQuoteDetail :
{
"productConfigurationDetail": {
"records": [...]
"totalSize": 1
},
"insuredItems": {
"Driver": [{
"instanceKey": "Joan Smith",
"isPrimary": false,
"isParent": false,
"LN": "Smith",
"AGE": 20,
"FN": "Joan",
"GENDER": "Female",
"FirstName": "Joan",
"LastName": "Smith"
},
{
...
}
],
"Auto": [{
"instanceKey": "2015 Lexus LX250",
"autoAntiTheft": true,
"est_annual_mileage": "1-10000",
"autoLicNum": "Lexus",
"autoModel": "LX250",
"autoYear": 2015,
"BodyClass": "Sedan/Saloon",
"VehicleType": "PASSENGER CAR",
"isPrimary": true
"isParent": false,
},
{
...
}
]
},
"quoteDetail": {
"attributes": {
"type": "Quote",
"url": "/services/data/v43.0/sobjects/Quote/0Q01I000000qeWLSAY"
},
"ins_daily4__EffectiveDate__c": "2018-07-27",
"ins_daily4__TotalSumInsured__c": 0,
"AccountId": "0011I00000QknfjQAB",
"ins_daily4__RootItemTotal__c": 0,
"Id": "0Q01I000000qeWLSAY"
},
"error": "OK"
}JSON de sortie
Lors de la création d'un contrat, contractId du nouveau contrat est renvoyé dans la sortie JSON ({"contractId": "idOfNewContract"}'), comme indiqué ci-dessous. Lors de la mise à jour d'un contrat existant, aucun JSON de sortie n'est renvoyé.
[{
'Name': 'Current Product'
}, {
'Name': 'Replacement Product',
'isReplacementProduct': true
}]