Вы находитесь здесь:
InsCommissionService:calculate
Используйте эту службу для расчета комиссии для производителя.
Метод: calculate
Описание
Данная служба использует сведения о производителе, страховом продукте и заказываемом событии для расчета комиссии для производителя.
Принцип работы
Для расчета комиссии данная услуга:
-
Принимает вводные данные
productionCode,producerId,productId,commissionableEvent,contextиeffectiveDateдля поиска подходящихCommissionScheduleдля использования в вычислении. -
Рассчитывает комиссию на основе расписания комиссии.
-
Оценивает комиссию, чтобы определить, является ли она возвратом платежа (возвращенная стоимость комиссии).
-
Если комиссионная стоимость является отрицательной, служба рассматривает комиссию как обратный платеж.
-
Если комиссия не является возвратом платежа, служба сравнивает вычисленную сумму комиссии с минимальными и максимальными суммами комиссии. Если вычисленная стоимость слишком низкая или слишком высокая, служба возвращает минимальную или максимальную стоимость вместо вычисленной стоимости.
-
-
Возвращает сумму комиссии, код расписания комиссии, используемого для ее расчета, а также минимальную и максимальную суммы, применяемые к этой комиссии.
Вводные данные
Ввод |
Описание |
|---|---|
|
Дополнительно. Имя производственного кода, а не код производителя обработки. |
|
Дополнительно. Код производителя обработки. |
|
Обязательно. Код продукта, за который оплачивается комиссия. |
|
Событие или транзакция, запускающая расчет комиссии (например, «Смета», «Проданный полис» или «Изменено/Подтверждено»). |
|
Дополнительно. Дата вступления в силу комиссионной оплаты. При нулевом значении служба использует сегодняшнюю дату. |
|
Обязательно. Имя поля и пары значений для записи, на основе которой рассчитывается комиссия. Вы должны:
Формат без поля поиска:
Формат с полем поиска:
При форматировании ввода с полем поиска можно указать не более двух уровней полей. |
|
Сумма, на которой основан расчет комиссии. |
JSON ввода
Ниже указан способ форматирования JSON ввода.
{
"productionCode": ProductionCode.Name,
"producerId": Producer.Id,
"product2Id": Product2.Id,
"commissionableEvent": event type,
"commissionableAmount": amount of the transaction,
"context": {
"objectId": ID of applicable object used,
"objectAPI.fieldAPI" : value
}
}Данный образец вычисляет комиссию для утверждения.
{
"productionCode":AX001,
"producerId":ay001jh002,
"product2Id":az011jh022,
"commissionableEvent":"Endorsement",
"commissionableAmount":500,
"context":{
"Quote.vlocity_ins__TotalPremiumforTerm__c":100,
"QuoteLineItem.vlocity_ins__GroupClassId__r.vlocity_ins__ClassCode__c":"Managers",
"QuoteLineItem.vlocity_ins__FeeAmount__c":5,
"objectId":ax003jh001
}
}Вывод JSON
Ниже указан формат вывода JSON.
{
"commissionAmount": amount,
"commissionScheduleId": ID of the commission schedule used,
"minCommissionAmount": CommissionScheduleAssignment.MinCommissionAmount,
"maxCommissionAmount": CommissionScheduleAssignment.MaxCommissionAmount
}Ниже указан образец вывода, отображающий вычисленную сумму ($167) в диапазоне, определенном минимальным и максимальным значениями ($100-$500).
{
"commissionAmount":167,
"commissionScheduleId":"ab001od002",
"minCommissionAmount":100,
"maxCommissionAmount":500
}