Loading
Страхование
InsPolicyService:createUpdatePolicy

InsPolicyService:createUpdatePolicy

Используйте эту службу для создания нового страхового полиса или обновления существующего полиса новыми сведениями.

Эту службу можно использовать с Salesforce Financial Services Cloud для дополнительной поддержки создания графика платежей.

Класс: InsPolicyService

Метод: createUpdatePolicy

Как это работает

  1. Служба ищет вводные данные JSON для inputKey. Узел inputKey содержит сведения, необходимые службе для создания или обновления политики. Информация, необходимая для данной услуги, включает:

    • accountId

    • term

    • productConfigurationDetail записи

    • Записи insuredItems (дополнительно)

    • endDate

    • effectiveDate

  2. Создает объект «Политика (актив)».

  3. При наличии текущего расписания оплаты полиса служба возвращает сообщение об ошибке.

  4. При первоначальной оплате будет создана InsurancePolicyTransaction. В дополнение к созданию транзакции, данные разбивки транзакций заполняются в объект сведений о транзакции. Этот объект сохраняет данные о том, сколько каждый актив, участник или покрытие вносит в общую сумму транзакций в виде вознаграждения, налога и платежей. Отображаются только активы, участники и покрытия с как минимум одним значением больше нуля для вознаграждения, налога или платежей. Необходимо добавить объект сведений о транзакции в связанный список для транзакций.

  5. При сохранении расписания оплаты записи будут связаны с Исходным кодом полиса.

  6. Если узлы taxesAndfees, taxAmount и/или feeAmount присутствуют в JSON ввода, создаются записи налога и/или платежа.

  7. Возвращает код политики в выводе JSON, если служба не передана assetId.

    Если службе передается assetId во вводе JSON, она обновляет актив, указанный assetId.

  8. If calculateCommission=true: служба вызывает InsurancePolicyService.calculateAndSaveCommission, которая подготавливает вводные данные для служб InsCommissionService.calculate и InsCommissionService.saveCommissions. После обработки ввода службой вычисления служба сохранения сохраняет вычисленное значение в TotalCommissionAmount.

    • Служба вызывает InsurancePolicyService.calculateAndSaveCommission, которая подготавливает вводные данные для служб InsCommissionService.calculate и InsCommissionService.saveCommissions.

    • Тип комиссии (например, комиссия или бонус) передается службе InsCommissionService.saveCommissions как commissionType.

    • Статус комиссии (например, «Отменено» или «Оплачено») передается службе InsCommissionService.saveCommissions как commissionStatus.

    После обработки ввода службой вычисления служба сохранения сохраняет вычисленное значение в TotalCommissionAmount.

Примечание
Примечание endDate и effectiveDate определяют продолжительность полиса. Продолжительность первой версии политики может составлять менее 365 дней или менее 366 дней в високосном году. См. Рекомендации и ограничения для страховых полисов.

Налоги и сборы

Ниже указано, как работает данная служба при использовании налогов и сборов:

  • Если поле taxesAndFees указано в записи JSON, соответствующая запись AssetPricingAdjustment__c сохраняется для каждого элемента в списке taxesAndFees.

  • Если поле taxAmount указано в записи JSON, поле TaxAmount__c устанавливается на значение поля taxAmount в созданном AssetItem.

  • Если поле feeAmount указано в записи JSON, поле FeeAmount__c устанавливается на значение поля feeAmount в AssetItem.

Удаленные параметры

Параметр

Описание

assetId

Дополнительно.

Код существующей политики, обновляемой этой службой на основе новой или обновленной информации. Используется, когда службе нужно обновить существующую политику.

createContactForParticipants

Дополнительно.

true или false

По умолчанию — true.

Если false, служба не создает записи контактов.

createInsuredItemsRelationships

true или false

Если этот параметр установлен на true, можно указать список взаимосвязей instanceKey > parentInstanceKey между застрахованными элементами.

Этот параметр поддерживает взаимосвязи «родитель > ребенок и родитель > ребенок > застрахованный элемент внука».

createTransaction

Дополнительно.

true или false

По умолчанию — false.

При true служба создает транзакцию, используемую службами расписания доходов.

Служба также заполняет данные разбивки транзакций в объекте сведений о транзакции. Она отображает данные о том, сколько каждый актив, участник и покрытие вносят в общую сумму транзакций в виде вознаграждения, налога и платежей. Отображаются только активы, участники и покрытия, имеющие как минимум одно ненулевое значение для сумм вознаграждения, налога и платежа. Объект сведений о транзакции должен быть добавлен в связанный список транзакций.

coolingOffPeriod

Дополнительно

Количество дней, в течение которых можно задержать первую запись графика оплаты.

С периодом охлаждения дата первого расписания оплаты полиса рассчитывается как дата вступления в силу + количество дней.

Например, существует месячная частота оплаты, где датой вступления в силу является 5 января, а первой датой расписания оплаты - 5 января. Если мы применяем период охлаждения 14 дней, первая запись расписания оплаты меняется с 5 января на 19 января. Оставшиеся даты расписания оплаты не меняются.

Примечание
Примечание Период охлаждения должен находиться в диапазоне от 1 до 28 дней от даты начала политики.

effectiveDate

% «ГГГГ-ММ-ДД ЧЧ:ММ:СС» или %OmniScriptDataElement%

Дата начала действия политики (или обновления политики).

Если значение effectiveDate отсутствует на карте параметров, служба ищет его на карте rootAttributes. Если служба не может найти там effectiveDate, она использует текущую дату.

Если вы используете пакет Insurance Industries Extension, значение отметки времени в параметре effectiveDate игнорируется. Вместо этого, значение отметки времени вступления в силу установлено на 00:00 выбранной даты вступления в силу, а значение даты истечения срока действия установлено на 23:59 выбранной даты истечения срока действия. Отметка времени устанавливается посредством указанного часового пояса пользователя.

generatePolicyNumber

true or false

Если true, этот параметр использует UniqueIdGenerator для создания уникального номера полиса. Этот номер сохраняется как Asset.SerialNumber.

includePaymentSchedule

Дополнительно.

True, если расписание оплаты будет создано для полиса.

По умолчанию: false.

includeRevenueSchedule

Дополнительно.

true или false

Если true, этот параметр вызывает InsPolicyRevenueScheduleService: служба createRevenueSchedule для создания расписания дохода или InsPolicyRevenueScheduleService: modifyRevenueSchedule, если политика обновляется.

Если false, служба не создает расписание доходов для этой политики.

initialPaymentRule

Дополнительно.

Процент, месяцы или дни.

initialTransactionName

Дополнительно.

Имя транзакции.

По умолчанию используется значение, аналогичное значению initialPaymentTransactionType.

initialPaymentTransactionType

Дополнительно.

Тип транзакции.

Значение по умолчанию - Платеж вознаграждения.

initialPaymentValue

Обязательно, если предоставлена initialPaymentRule.

Значение «Процент» или количество месяцев или дней.

inputKey

Обязательно.

JSON, из которого эта служба извлекает необходимые сведения для создания или обновления политики.

isCreatingPolicyTerms

true или false

При установке на true служба возвращает узел policyTermIds в выводном JSON.

isFsc

Дополнительно.

True, если создаваемый полис является объектом InsurancePolicy.

По умолчанию: false.

Вы можете указать какpostDataCustomClassName, так и postDataDRBundleName.

Если вы не укажете один из этих параметров, служба по умолчанию будет postDataCustomClassName.

paymentCalculationMethod

Обязательно, если includePaymentSchedule true.

Переопределяет значение метода расчета вознаграждения полиса.

paymentFrequency

Обязательно, если includePaymentSchedule true.

Переопределяет значение PremiumFrequency Политики.

paymentStartDate

Дополнительно.

Дата первой записи графика оплаты.

Стандартная дата — это дата вступления Политики в силу.

paymentType

Обязательно, если includePaymentSchedule true.

Переопределяет значение Типа оплаты вознаграждения полиса.

postDataCustomClassName

Дополнительно.

Вы должны указать этот параметр или postDataDRBundleName.

Значение по умолчанию установлено на PostInsurancePolicy.

postDataDRBundleName

Дополнительно.

Вы должны указать этот параметр или postDataCustomClassName.

Если вы не укажете этот параметр, по умолчанию будет postDataCustomClassName.

transactionType

%OmniScriptDataElement%

Используется, если includeRevenueSchedule установлен на значение true.

Если значение не установлено, по умолчанию используется полис продажи.

calculateCommission

true или false

При установке значения «true» служба рассчитывает комиссии для корневых элементов и сохраняет общую сумму в TotalCommissionAmount.

При установке значения false (по умолчанию) служба не рассчитывает комиссии.

Примечание
Примечание

Если вы установите этот параметр на true, службе нужно как минимум одно значение кода производителя или производства: producerId , productionCodeId или productionCodeName.

commissionType

Дополнительно

Тип комиссии (например, бонус или стандартная).

commissionStatus

Дополнительно

Статус комиссии (например, «Ожидание», «Оплачено» или «Отказ»).

producerId

Дополнительно

Код поставщика обработки, то есть производителя, используемого для извлечения CommissionScheduleId и вычисления суммы комиссии.

Назначено InsurancePolicy.ProducerId.

productionCodeId

Дополнительно

Код производственного кода.

Назначено InsurancePolicy.ProductionCodeId__c.

productionCodeName

Дополнительно

Имя производственного кода, переданное в службу InsCommissionService.calculate.

Если вы не введете productionCodeId, служба использует productionCodeName для поиска productionCodeId. Если вы введете оба значения, но они не совпадут, приоритет будет отдан productionCodeId.

memberPlanIntegrationProcedure

Инициирует настраиваемую процедуру интеграции на основе конфигурации пользователя. При использовании этого параметра он передает все параметры службы настраиваемой процедуре интеграции и все коды полисов в качестве вводных данных для интеграции с объектом, например, объект страхового полиса с планом участника.

ratingDate

Дата рейтинга, использованная для определения цены ввода JSON.

Примечание
Примечание Невозможно передать определенное время для ratingField, так как тип поля — «Дата». Таким образом, отметка времени даты рейтинга по умолчанию составляет 00:00.

term

Термин полиса, создаваемого службой.

InsPolicyService:createUpdatePolicy поддерживает только годовые условия политики.

useIsPaidFlag

Дополнительно

Если значение «истина» также установлено для includePaymentSchedule, служба создает записи взносов компонентов полиса для каждой записи графика оплаты.

Значение по умолчанию — false.

JSON ввода

Данная служба ищет значение inputKey.

В данном примере inputKey = newPolicyJSON.

"newPolicyJSON": {
  "accountId": "001f400000OSHq2AAH",
  "term": "Annual",
  "endDate": "2019-05-14T07:00:00.000Z",
  "effectiveDate": "2018-05-15T07:00:00.000Z",
  "productConfigurationDetail": {
    ...
  },
  "insuredItems": {
    ...
  },
  "additionalFields": {
    "SerialNumber": "AUTO-123",
    "Status": "InForce",
    "vlocityins2__Type__c": "AUTO",
    "vlocityins2__PaymentMethodId__c": "a2Rf40000002NrgEAE"
  },
}

JSON в inputKey содержит несколько пар ключ/значение, нужных службе для создания или обновления политики. Она также содержит продукт JSON с ценообразованием для застрахованных элементов и общим полисом.

Клавиша

Значение

accountId

Созданный код организации для актива.

additionalFields

Дополнительно.

Пары ключ/значение, включая любые поля политики (актива), не являющиеся частью службы.

endDate

Дополнительно.

Дата истечения срока действия полиса.

effectiveDate

Дата вступления политики в силу.

Если значение effectiveDate отсутствует на карте параметров, служба ищет его на карте rootAttributes. Если служба не может найти там effectiveDate, она использует текущую дату.

insuredItems

Пары ключ/значение застрахованных элементов, используемые службой для создания полиса.

modificationDate

Дата изменения политики

productConfigurationDetail

Массив записей, которые следуют модели структуры JSON продукта.

term

Термин полиса, создаваемого службой.

Записи insuredItems для данного примера содержат застрахованные элементы и значения, выбранные пользователем для каждого из них.

В данном примере inputKey = quotepolicyJSON.

"quotepolicyJson": {
  "productConfigurationDetail": {
    ...
  }
  "insuredItems": {
    "DRIVER": [{
        "GENDER": "Female",
        "FN": "Joan",
        "AGE": 20,
        "LN": "Smith",
        "instanceKey": "Joan Smith",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Male",
        "FN": "John",
        "AGE": 30,
        "LN": "Smith",
        "instanceKey": "John Smith",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Male",
        "FN": "Robert",
        "AGE": 30,
        "LN": "Henderson",
        "instanceKey": "Robert Henderson",
        "isPrimary": false
        "isParent": false
      },
      {
        "GENDER": "Female",
        "FN": "Kinsey",
        "AGE": 20,
        "LN": "Schell",
        "instanceKey": "Kinsey Schell",
        "isPrimary": false
        "isParent": false
      }
    ],
    "AUTO": [{
        "autoLicNum": "Lexus",
        "autoModel": "LX250",
        "autoYear": 2015,
        "instanceKey": "2015 Lexus LX250",
        "BodyClass": "Sedan/Saloon",
        "VehicleType": "PASSENGER CAR",
        "isPrimary": true
        "isParent": true
      },
      {
        "autoLicNum": "Honda",
        "autoModel": "Odyssey",
        "autoYear": 2006,
        "instanceKey": "2006 Honda Odyssey",
        "BodyClass": "Minivan",
        "VehicleType": "MULTIPURPOSE PASSENGER VEHICLE (MPV)",
        "isPrimary": true
        "isParent": true                                
      }
    ]
  },
  "accountId": "0011I00000QknfjQAB",
  "opportunityId": "0061I00000AV8gBQAT"
},
"quoteId": "0Q01I000000206USAQ",
"error": "OK"

Вывод JSON

Служба возвращает код политики недавно созданной политики.

{
    "policyId": "02if4000001uCZXAA2",
    "error": "OK"
}

Если параметр isCreatingPolicyTerms remote установлен на true, добавляется узел policyTermIds. Ниже указан пример узла policyTermIds:

{  
   "policyId": "02i6g000000h110AAA",
   "policyTermIds": [
    "a5X6g000001LeUUEA0",
    "a5X6g000001LeUVEA0",
    "a5X6g000001LeUWEA0",
    "a5X6g000001LeUXEA0",
    "a5X6g000001LeUYEA0",
    "a5X6g000001LeUZEA0",
    "a5X6g000001LeUaEAK",
    "a5X6g000001LeUbEAK",
    "a5X6g000001LeUcEAK",
    "a5X6g000001LeUdEAK",
    "a5X6g000001LeUeEAK",
    "a5X6g000001LeUfEAK"
  ]
}

Примеры

Служба обычно используется в схеме OmniScript Quote-to-Policy.

 
Загрузка
Salesforce Help | Article