Loading
시스템 관리자에 대한 피싱 방지 MFA 및 전 직원사용자 MFA 적용 안내 더 많이 읽기
보험
InsQuoteService:createUpdateQuoteFromExternal

InsQuoteService:createUpdateQuoteFromExternal

외부 시스템에서 인바운드 API 호출을 통해 견적서를 만들거나 기존 견적서를 새 정보로 업데이트합니다.

클래스:InsQuoteService

방법: createUpdateQuoteFromExternal

작동 방법

  1. JSON 개체를 수신합니다.

  2. sourceSystemIdentifier을 사용하여 기존 견적서를 만들 것인지 업데이트할 것인지 결정합니다.

  3. 표준이라는 가격 목록인 PricebookId을 사용합니다.

  4. 서비스가 지정된 sourceSystemIdentifier가 있는 견적서를 찾으면 다음과 같이 견적서 개체를 업데이트합니다.

    1. quoteLines에 정의된 루트 제품을 사용하여 루트 견적서 행 항목을 추가, 업데이트 또는 삭제합니다. 서비스는 sourceSystemIdentifier을 사용하여 루트를 식별합니다.

      견적서에 없는 quoteLines의 레코드를 추가합니다. 견적서에 있는 quoteLines의 레코드를 업데이트합니다. quoteLines가 아닌 Quote에 있는 quoteLines의 레코드를 삭제합니다.

    2. 각 루트에 대해 서비스는 보장 범위, 보험 항목 및 childLines에 정의된 당사자를 사용하여 루트 보장 범위, 보험 항목 및 당사자를 추가, 업데이트 또는 삭제합니다. 서비스는 업데이트할 회선을 식별하기 위해 sourceSystemIdentifier을 사용합니다.

      견적서에 없는 childLines의 레코드를 추가합니다. 견적서에 있는 childLines의 레코드를 업데이트합니다. 견적서에 있지만 childLines에 없는 childLines의 레코드를 삭제합니다.

    3. 각 근본 보장, 보험 항목 및 당사자에 대해 서비스는 보장, 보험 항목 및 childLines 당사자를 사용하여 각 보장, 보험 항목 및 당사자를 추가, 업데이트 또는 삭제합니다. 서비스는 업데이트할 회선을 식별하기 위해 sourceSystemIdentifier를 사용합니다.

      견적서에 없는 childLines의 레코드를 추가합니다. 견적서에 있는 childLines의 레코드를 업데이트합니다. 견적서에 있지만 childLines에 없는 childLines의 레코드를 삭제합니다.

    4. 기본 보험 항목의 QuoteLineItem 및 자녀 보험 당사자 QuoteLineItem 기록은 다대다 관계가 있습니다. 이러한 관계는 Quote Item Relationship(QuoteItemRelationship__c) 개체에 저장됩니다. 보험 항목 QuoteLineItem에 여러 보험 당사자 QuoteLineItem 레코드와의 관계가 있는 경우 서비스는 PrimaryChildLineItemId__c 필드를 사용하여 해당 관계 중 누가 기본 관계인지 결정합니다.

      예를 들어, Joan Smith와 John Smith는 모두 Lexus 250의 운전자이며, Joan Smith는 기본 운전자로 설정됩니다. Lexus 250 QuoteLineItem에는 Joan Smith의 QuoteLineItem를 가리키는 PrimaryChildLineItemId__c가 있습니다.

    5. 두 보험 항목에 동일한 자녀 보험 당사자가 있는 경우 각 보험 항목에는 자녀 보험 당사자에 대한 각각의 childLines에 항목이 있어야 합니다. 두 항목 모두 동일한 sourceSystemIdentifier이어야 합니다.

      예를 들어, Lexus 250과 Honda Odyssey 모두 Bob Jones가 운전자입니다. Lexus 250에는 Bob Jones와 sourceSystemIdentifier가 childLines에서 BobJones 역할을 합니다. Honda Odyssey는 childLines에서 BobJones의 sourceSystemIdentifier와 함께 Bob Jones를 가지고 있습니다.

    6. childLines의 ParentItemId__c 및 ParentItemId2__c는 루트의 Id를 가리킵니다.

    7. 자녀 보장 보험의 SubParentItemId__c는 기본 보험 항목을 가리킵니다.

  5. 서비스에서 지정된 sourceSystemIdentifier의 견적서를 찾을 수 없는 경우 다음과 같이 행 항목을 포함하는 견적서 개체를 만듭니다.

    1. quoteLines에 정의된 루트 제품을 사용하여 루트 견적서 행 항목을 만듭니다.

    2. 각 루트에 대해 보장 범위, 보험 항목 및 childLines에 정의된 당사자를 사용하여 루트 보장 범위, 보험 항목 및 당사자를 만듭니다.

    3. 각 근본 보장 범위, 보험 항목 및 당사자에 대해 보장 범위, 보험 항목 및 childLines에 정의된 당사자를 사용하여 보장 범위, 보험 항목 및 당사자를 만듭니다.

    4. 기본 보험 항목의 QuoteLineItem 및 자녀 보험 당사자 QuoteLineItem 기록은 다대다 관계가 있습니다. 이러한 관계는 Quote Item Relationship(QuoteItemRelationship__c) 개체에 저장됩니다. 보험 항목 QuoteLineItem에 여러 보험 당사자 QuoteLineItem 레코드와의 관계가 있는 경우 서비스에서 PrimaryChildLineItemId__c 필드를 사용하여 해당 관계 중 누가 기본 관계인지 확인합니다.

      예를 들어, Joan Smith와 John Smith는 모두 Lexus 250의 운전자이며, Joan Smith는 기본 운전자로 설정됩니다. Lexus 250 QuoteLineItem에는 Joan Smith의 QuoteLineItem를 가리키는 PrimaryChildLineItemId__c가 있습니다.

    5. 두 보험 항목이 동일한 자녀 보험 당사자가 있는 경우 각 보험 항목은 자녀 보험 당사자의 각각의 childLines에 등록해야 합니다. 두 항목 모두 동일한 sourceSystemIdentifier이어야 합니다.

      예를 들어, Lexus 250과 Honda Odyssey 모두 Bob Jones가 운전자입니다. Lexus 250에는 Bob Jones가 있고 sourceSystemIdentifier는 BobJones가 childLine입니다. Honda Odyssey는 Bob Jones와 sourceSystemIdentifier의 childLines로 BobJones를 가지고 있습니다.

    6. childLines의 ParentItemId__c 및 ParentItemId2__c은 루트의 Id를 가리킵니다.

    7. 자녀 보장 범위의 SubParentItemId__c는 기본 보험 항목을 가리킵니다.

  6. 출력 JSON에서 발생한 오류 목록과 Quote.Id을 반환합니다.

입력

입력

설명

quote

견적서 생성을 위한 모든 정보를 포함합니다. 키-값 쌍에 대한 자세한 내용은 JSON 노드 설명을 참조하십시오.

JSON 노드 설명

quote

레코드 목록입니다. 서비스는 지정된 시간에 하나의 견적서만 처리합니다.

견적서 노드

opportunityId

(필수)

기회의 ID입니다.

sourceSystemIdentifier

(필수)

업데이트할 견적서를 식별하는 Salesforce 외부 시스템의 고유 레코드 식별자입니다.

type

견적서 레코드 유형의 API 이름입니다.

additionalFields

채울 다른 QuoteLineItem 필드의 키-값 쌍입니다.

quoteLines

루트 제품의 목록입니다.

quoteLines 노드

sourceSystemIdentifier

(필수)

Salesforce 외부 시스템의 고유 레코드 식별자를 사용하여 Salesforce에서 추가, 업데이트 또는 삭제할 QuoteLineItems를 식별합니다.

instanceKey

루트 제품의 ItemName__c에 있는 인스턴스 키입니다.

productCode

(필수)

루트 제품 코드입니다.

lineRecordType

(필수)

제품 또는 사양 레코드 유형입니다.

attributeCategories

선택된 제품 특성입니다.

additionalFields

채울 다른 QuoteLineItem 필드의 키-값 쌍입니다.

childLines

루트 제품 보장, 보험료, 보험 당사자

childLines 노드

sourceSystemIdentifier

(필수)

Salesforce 외부 시스템의 고유 레코드 식별자를 사용하여 Salesforce에서 추가, 업데이트 또는 삭제할 루트 보장, 보험료, 보험 당사자를 식별합니다.

instanceKey

동일한 사양의 여러 인스턴스를 식별합니다.

보험 항목 및 보험 당사자의 ItemName__c의 인스턴스 키입니다.

productCode

(필수)

루트 보장, 보험 항목, 보험 당사자의 제품 코드입니다.

lineRecordType

(필수)

제품 또는 사양 레코드 유형입니다.

attributeCategories

선택된 제품 특성입니다.

additionalFields

채울 다른 QuoteLineItem 필드의 키-값 쌍입니다.

childLines

하위 보장, 보험료, 보험 당사자

childLines 노드

sourceSystemIdentifier

(필수)

Salesforce 외부 시스템의 고유 레코드 식별자를 사용하여 Salesforce에서 추가, 업데이트 또는 삭제할 하위 보장, 보험료, 보험 당사자를 식별합니다.

두 보험 항목이 동일한 자녀 보험 당사자가 있는 경우 각 보험 항목은 자녀 보험 당사자의 각각의 childLines에 등록해야 합니다. 두 항목 모두 동일한 sourceSystemIdentifier이어야 합니다. InsQuoteService:createUpdateQuote를 참조하십시오.

instanceKey

동일한 사양의 여러 인스턴스를 식별합니다.

보험 항목 및 보험 당사자의 ItemName__c의 인스턴스 키입니다.

productCode

(필수)

하위 보장, 보험 항목, 보험 당사자 제품의 제품 코드입니다.

lineRecordType

(필수)

제품 또는 사양 레코드 유형입니다.

attributeCategories

선택된 제품 특성입니다.

additionalFields

채울 다른 QuoteLineItem 필드의 키-값 쌍입니다.

입력 JSON

다음은 입력 JSON 형식입니다.

{
   "quote":{
      "records":[
         {
            "opportunityId":"Opportunity.Id",
            "sourceSystemIdentifier":"Id",
            "sourceSystem":"Name of system quote was created",
            "Name":"Quote Name",
            "type":"Quote.RecordType.DeveloperName",
            "effectiveDate":"Quote.EffectiveDate__c",
            "endDate":"Quote.EndDate__c",
            "price":Quote.StandardPremium__c,
            "term":"Quote.Term__c",
            "status":"Quote.Status",
            "additionalFields":{
               "Quote.fieldAPIName":"value"
            },
            "quoteLines":{
               "records":[
                  {
                     "sourceSystemIdentifier":"Id",
					 "lineRecordType":"Product2",
                     "instanceKey":"name",
                     "productCode":"Product2.ProductCode",
                     "productName":"Product2.Name",
                     "attributeCategories":{
                        "records":[
                           {
                              "productAttributes":{
                                 "records":[
                                    {
                                       "code":"attribute code",
                                       "userValues":"selected value"
                                    }
                                 ]
                              }
                           }
                        ]
                     },
                     "additionalFields":{
                        "QuoteLineItem.fieldAPIName":"value"
                     },
                     "childLines":{
                        "records":[
                           {
                              "sourceSystemIdentifier":"Id",
                              "lineRecordType":"Product2.RecordType.DeveloperName",
                              "productCode":"Product2.ProductCode",
                              "productName":"Product2.Name",
                              "instanceKey":"instance name",
                              "price":QuoteLineItem.UnitPrice,
                              "taxAmount":QuoteLineItem.TaxAmount__c,
                              "feeAmount":QuoteLineItem.FeeAmount__c,
                              "additionalFields":{
                                 "QuoteLineItem.fieldAPIName":"value"
                              },
                              "attributeCategories":{
                                 "records":[
                                    {
                                       "productAttributes":{
                                          "records":[
                                             {
                                                "code":"attribute code",
                                                "userValues":"selected value"
                                             }
                                          ]
                                       }
                                    }
                                 ]
                              },
                              "childLines":{
                                 "records":[
                                    {
                                       "sourceSystemIdentifier":"Id",7e54f959544f",
                                       "lineRecordType":"InsuredPartySpec",
                                       "productCode":"Product2.ProductCode",
                                       "productName":"Product2.Name",
                                       "instanceKey":"instance name",
                                       "price":QuoteLineItem.UnitPrice,
                                       "taxAmount":QuoteLineItem.TaxAmount__c,
                                       "feeAmount":QuoteLineItem.FeeAmount__c,
                                       "isPrimaryChild":true,
                                       "additionalFields":{
                                          "QuoteLineItem.fieldAPIName":"value"
                                       },
                                       "attributeCategories":{
                                          "records":[
                                             {
                                                "productAttributes":{
                                                   "records":[
                                                      {
                                                         "code":"attribute code",
                                                         "userValues":"selected value"
                                                      }
                                                   ]
                                                }
                                             }
                                          ]
                                       }
                                    }
                                 ]
                              }
                           }
                        ]
                     }
                  }
               ]
            }
         }
      ]
   }
}

다음은 입력 JSON의 예입니다.

{
  "quote": {
    "records": [
      {
        "opportunityId": "0065w0000286hhNAAQ",
        "sourceSystemIdentifier": "af3c0072-9018-43df-83d3-3a5f254d5b1e",
        "sourceSystem": "Salesforce",
        "Name": "Auto Root (External)",
        "type": "LargeGroupQuote",
        "effectiveDate": "06/01/2021",
        "endDate": "12/01/2021",
        "price": 10000,
        "term": "Semi-Annual",
        "status": "Submitted",
        "quoteLines": {
          "records": [
            {
              "sourceSystemIdentifier": "49553393-120a-4777-b65a-8167c386a0fb",
              "instanceKey": "Auto Root",
              "productCode": "AUTOROOT",
              "productName": "Auto Root",
              "attributeCategories": {
                "records": [
                  {
                    "productAttributes": {
                      "records": [
                        {
                          "code": "atLimitUM",
                          "userValues": 200
                        }
                      ]
                    }
                  }
                ]
              },
              "additionalFields": {
                "instest12__AdjustmentComments__c": "test comment"
              },
              "childLines": {
                "records": [
                  {
                    "sourceSystemIdentifier": "5a8d1b04-c34c-6a48-42c8-ab08be9868e1",
                    "lineRecordType": "InsuredItemSpec",
                    "Name": "Auto",
                    "productName": "Auto",
                    "productCode": "AUTO",
                    "instanceKey": "2010 Honda Odyssey",
                    "price": 111,
                    "taxAmount": 5,
                    "feeAmount": 21,
                    "additionalFields": {
                      "instest12__AdjustmentComments__c": "test comment"
                    },
                    "attributeCategories": {
                      "records": [
                        {
                          "productAttributes": {
                            "records": [
                              {
                                "code": "autoYear",
                                "userValues": 2010
                              },
                              {
                                "code": "carValue",
                                "userValues": 55000
                              },
                              {
                                "code": "est_annual_mileage",
                                "userValues": 2000
                              },
                              {
                                "code": "autoMake",
                                "userValues": "Honda"
                              },
                              {
                                "code": "autoModel",
                                "userValues": "Odyssey"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "childLines": {
                      "records": [
                        {
                          "sourceSystemIdentifier": "6400140b-3e97-32c4-bdfd-7e54f959544f",
                          "lineRecordType": "InsuredPartySpec",
                          "Name": "Driver",
                          "productName": "Driver",
                          "productCode": "DRIVER",
                          "instanceKey": "Bob Jones",
                          "price": 112,
                          "taxAmount": 6,
                          "feeAmount": 22,
                          "isPrimaryChild": true,
                          "additionalFields": {
                            "instest12__AdjustmentComments__c": "test comment"
                          },
                          "attributeCategories": {
                            "records": [
                              {
                                "productAttributes": {
                                  "records": [
                                    {
                                      "code": "AGE",
                                      "userValues": 24
                                    },
                                    {
                                      "code": "FN",
                                      "userValues": "Bob"
                                    },
                                    {
                                      "code": "LN",
                                      "userValues": "Jones"
                                    },
                                    {
                                      "code": "GENDER",
                                      "userValues": "Male"
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        },
                        {
                          "sourceSystemIdentifier": "38c4fe27-7b85-77ce-c9e2-1f7f22889982",
                          "lineRecordType": "InsuredPartySpec",
                          "Name": "Driver",
                          "productName": "Driver",
                          "productCode": "DRIVER",
                          "instanceKey": "Joan Smith",
                          "price": 113,
                          "taxAmount": 7,
                          "feeAmount": 23,
                          "attributeCategories": {
                            "records": [
                              {
                                "productAttributes": {
                                  "records": [
                                    {
                                      "code": "AGE",
                                      "userValues": 25
                                    },
                                    {
                                      "code": "FN",
                                      "userValues": "Joan"
                                    },
                                    {
                                      "code": "LN",
                                      "userValues": "Smith"
                                    },
                                    {
                                      "code": "GENDER",
                                      "userValues": "Female"
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        },
                        {
                          "sourceSystemIdentifier": "33b74fa2-fba5-44b4-317f-021dae689a9f",
                          "lineRecordType": "CoverageSpec",
                          "Name": "Collision Deductible Waiver",
                          "productName": "Collision Deductible Waiver",
                          "productCode": "COL_WAIVER",
                          "instanceKey": "2010 Honda Odyssey_COL_WAIVER",
                          "price": 114,
                          "taxAmount": 8,
                          "feeAmount": 24
                        },
                        {
                          "sourceSystemIdentifier": "c4d5ac35-99b1-047d-cebe-05b74861463e",
                          "lineRecordType": "CoverageSpec",
                          "Name": "Uninsured/Underinsured Motorist BI",
                          "productName": "Uninsured/Underinsured Motorist BI",
                          "productCode": "UNINSURED_COVERAGE",
                          "instanceKey": "2010 Honda Odyssey_UNINSURED_COVERAGE",
                          "price": 115,
                          "taxAmount": 9,
                          "feeAmount": 25,
                          "attributeCategories": {
                            "records": [
                              {
                                "productAttributes": {
                                  "records": [
                                    {
                                      "code": "AbaThrpyOutptInst_covered_inn",
                                      "userValues": 1.3
                                    },
                                    {
                                      "code": "UNINSURED",
                                      "userValues": "No coverage"
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  {
                    "sourceSystemIdentifier": "60699eaf-956a-4381-8ef2-5a704c85517f",
                    "lineRecordType": "InsuredItemSpec",
                    "Name": "Auto",
                    "productName": "Auto",
                    "productCode": "AUTO",
                    "instanceKey": "2011 Toyota Camry",
                    "price": 116,
                    "taxAmount": 10,
                    "feeAmount": 26,
                    "attributeCategories": {
                      "records": [
                        {
                          "productAttributes": {
                            "records": [
                              {
                                "code": "autoYear",
                                "userValues": 2011
                              },
                              {
                                "code": "carValue",
                                "userValues": 55500
                              },
                              {
                                "code": "est_annual_mileage",
                                "userValues": 2200
                              },
                              {
                                "code": "autoMake",
                                "userValues": "Toyota"
                              },
                              {
                                "code": "autoModel",
                                "userValues": "Camry"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "childLines": {
                      "records": [
                        {
                          "sourceSystemIdentifier": "6400140b-3e97-32c4-bdfd-7e54f959544f",
                          "lineRecordType": "InsuredPartySpec",
                          "Name": "Driver",
                          "productName": "Driver",
                          "productCode": "DRIVER",
                          "instanceKey": "Bob Jones",
                          "price": 112,
                          "taxAmount": 6,
                          "feeAmount": 22,
                          "isPrimaryChild": true,
                          "attributeCategories": {
                            "records": [
                              {
                                "productAttributes": {
                                  "records": [
                                    {
                                      "code": "AGE",
                                      "userValues": 24
                                    },
                                    {
                                      "code": "FN",
                                      "userValues": "Bob"
                                    },
                                    {
                                      "code": "LN",
                                      "userValues": "Jones"
                                    },
                                    {
                                      "code": "GENDER",
                                      "userValues": "Male"
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        },
                        {
                          "sourceSystemIdentifier": "8c450354-2053-444c-9c9e-36a66e6f5582",
                          "lineRecordType": "CoverageSpec",
                          "Name": "Collision Deductible Waiver",
                          "productName": "Collision Deductible Waiver",
                          "productCode": "COL_WAIVER",
                          "instanceKey": "2011 Toyota Camry_COL_WAIVER",
                          "price": 117,
                          "taxAmount": 11,
                          "feeAmount": 27
                        },
                        {
                          "sourceSystemIdentifier": "7aaeee37-05ce-4926-accb-dff2ee85587f",
                          "lineRecordType": "CoverageSpec",
                          "Name": "Roadside",
                          "productName": "Roadside",
                          "productCode": "ROADSIDE_COVERAGE",
                          "instanceKey": "2011 Toyota Camry_ROADSIDE_COVERAGE",
                          "price": 118,
                          "taxAmount": 12,
                          "feeAmount": 28,
                          "attributeCategories": {
                            "records": [
                              {
                                "productAttributes": {
                                  "records": [
                                    {
                                      "code": "ROADSIDE",
                                      "userValues": 1
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        },
        "additionalFields": {
          "instest12__MonthlyPremium__c": 222
        }
      }
    ]
  }
}

출력 JSON

출력 JSON에서 생성되거나 업데이트된 견적서의 Quote.Id 및 발생한 오류 목록을 반환합니다.

다음은 출력 JSON 형식입니다.

{
   "errors":[
      "error1",
      "error2",
      "error3"
   ],
   "quoteId":"Quote.Id"
}

다음은 출력 JSON의 예입니다.

{
   "errors":[
      "Failed to create/update QuoteLineItem Honda Odyssey.Required fields are missing: [PricebookEntryId, Product2Id]; ",
      "Failed to create/update QuoteLineItem Toyota Camry.Required fields are missing: [PricebookEntryId, Product2Id]; ",
      "Failed to create/update QuoteLineItem Patty Desc.Required fields are missing: [PricebookEntryId, Product2Id]; "
   ],
   "quoteId":"0Q05w0000027aH5CAI"
}
 
로드 중
Salesforce Help | Article