Você está aqui:
InsCensusService:convertLeadAndCreateCensus
Use esse serviço para estender o recurso de Conversão de lead do Salesforce, permitindo que os usuários incluam informações de censo de leads e mapeiem esses dados para os objetos de Censo de conta do grupo do Vlocity enquanto convertem o lead.
Método: convertLeadAndCreateCensus
Como funciona
Quando a opção convertLeadtoAccount é usada para converter um lead, o serviço converte InsuredGroupCensus__c em GroupCensus__c e InsuredGroupCensusMembers em GroupCensusMembers__c.
Esse serviço usa dois objetos:
-
InsuredGroupCensus__c – esse objeto captura o censo no estágio do lead. O censo fornece um instantâneo estatístico de membros elegíveis de um grupo (como funcionários) e seus dependentes. Esses dados de censo são usados para pontuar leads em um contexto de marketing.
Se o lead for convertido em uma conta (usando o processo de conversão de Lead em conta do Salesforce), o censo poderá então ser convertido também nos objetos do Vlocity do censo de contas e usado em classificações de cotação.
-
InsuredGroupCensusMember__c – esse objeto captura membros do censo no estágio de lead. Ele contém informações pessoais específicas sobre um membro do censo (como um funcionário) ou dependente que é usado pela seguradora para estimar os custos de saúde para o grupo.
Esse objeto é o objeto filho mestre-detalhes do objeto Censo de grupo segurado acima. Esses dados do censo só são utilizados para a estimativa dos custos de saúde depois que os dados correspondentes de
GroupCensus__ceGroupCensusMember__csão criados a partir dessas fontes (ou seja,InsuredGroupCensus__ceInsuredGroupCensusMember__c).
Assim, é assim que o serviço funciona:
-
O serviço pega o
insuredCensusIdcomo uma Entrada e o usa para recuperar o objetoInsuredGroupCensus__c. -
Se a opção remota
convertLeadToAccountfor verdadeira, ela converterá oLeadId__canexado em uma Conta; caso contrário, exigirá oaccountIdcomo entrada. -
O serviço então cria uma
GroupCensus__c, com um tipo Grupo, usando aInsuredGroupCensus__c.FieldMappers do Vlocity são usados aqui. Há dois mapas para esse serviço: um mapa para
InsuredGroupCensus__cparaGroupCensus__c; e um mapa paraInsuredGroupCensusMember__cparaGroupCensusMember__c.Se a configuração de mapeamento não estiver presente, o registro de
GroupCensus__cserá criado com base em campos específicos do objetoInsuredGroupCensus__c.O mapeamento para
InsuredGroupCensusMember__cparaGroupCensusMember__cé o seguinte:InsuredGroupCensusMember__c
GroupCensusMember__c
Nome
Nome
FirstName__c
FirstName__c
LastName__c
LastName__c
BirthDate__c
BirthDate__c
isPrimaryMember__c
isPrimaryMember__c
NumberOfDependents__c
NumberOfDependents__c
Gender__c
Gender__c
Id
MemberIdentifier__c
RelatedInsuredCensusMemberId__c
PrimaryMemberIdentifier__c
O mapeamento para
InsuredGroupCensus__cparaGroupCensus__cé o seguinte:InsuredGroupCensus__c
GroupCensus__c
Nome
Nome
EffectiveStartDate__c
EffectiveStartDate__c
EffectiveEndDate__c
EffectiveEndDate__c
CensusSource__c
CensusSource__c
AccountId de entradas ou convertido de lead
GroupId__c
CensusType__c
Grupo
RecordTypeName de InsuredGroupCensus__c para obter RecordTypeId de GroupCensus__c e então mapear esse ID como RecordTypeId em GroupCensus__c.
-
O serviço então usa o ID de
GroupCensus__c, como gerado na etapa anterior, para criar registros deGroupCensusMember__cdos registros deInsuredGroupCensusMember__cde origem. Os registros deGroupCensusMember__csão criados como filhos do registro deGroupCensus__c, conforme criado na etapa anterior.NotaO campo
RelatedInsuredGroupCensusMemberId__cdeve ser definido corretamente nos registros deInsuredGroupCensusMember__c. Isso garante que o mapeamento de dependente para principal funcione conforme esperado.Para cada dependente, este deve ser definido como o ID do registro de
InsuredGroupCensusMember__cque representa o membro principal correspondente. -
O serviço então mapeia os dependentes usando os campos acima mencionados.
Se os seguintes mapeamentos de campo personalizado não existirem, eles serão mapeados explicitamente no código:
InsuredGroupCensusMember_c |
GroupCensusMember_c |
|---|---|
Id |
MemberIdentifier__c |
IsPrimaryMember_c |
IsPrimaryMember_c |
RelatedInsuredCensusMemberId_c |
PrimaryMemberIdentifier_c |
NumberOfDependents_c |
NumberOfDependents_c |
Contribuições
Opção |
Descrição |
|---|---|
|
Obrigatório. ID do |
|
Opcional. ID da conta à qual o censo será anexado. Isso é ignorado se o valor booleano de |
Opções remotas
Opção |
Descrição |
|---|---|
|
Valor booleano. Se verdadeiro, converta o lead anexado ao |
|
String. Nome da string do tipo Registro da conta. |
JSON de entrada
Aqui está um exemplo de JSON de entrada usando accountId e insuredCensusId.
{
"ContextId": "",
"timeStamp": "2020-03-25T07:42:51.868Z",
"userId": "0056g000003cVLZAA2",
"userName": "ins-test09@vlocity.com",
"userProfile": "System Administrator",
"userTimeZone": -420,
"userCurrencyCode": "USD",
"sfdcIFrameOrigin": "https://ins-test09-dev-ed--instest09.visualforce.com",
"sfdcIFrameHost": "web",
"layout": "lightning",
"isdtp": "p1",
"id": "a236g000000NAibAAG",
"vlcPersistentComponent": {},
"accountId": "0016g00000Ir5LsAAJ",
"insuredCensusId": "a5l6g000000RYasAAG"
}JSON de saída
Aqui está um exemplo de saída JSON, com as informações de GroupCensus__c e a lista de GroupCensusMember__c com suas informações.
{
"ContextId": "",
"timeStamp": "2020-03-25T07:42:51.868Z",
"userId": "0056g000003cVLZAA2",
"userName": "ins-test09@vlocity.com",
"userProfile": "System Administrator",
"userTimeZone": -420,
"userCurrencyCode": "USD",
"sfdcIFrameOrigin": "https://ins-test09-dev-ed--instest09.visualforce.com",
"sfdcIFrameHost": "web",
"layout": "lightning",
"isdtp": "p1",
"id": "a236g000000NAibAAG",
"vlcPersistentComponent": {},
"accountId": "0016g00000Ir5LsAAJ",
"insuredCensusId": "a5l6g000000RYasAAG",
"censusMembers": [
{
"attributes": {
"type": "instest09__GroupCensusMember__c",
"url": "/services/data/v48.0/sobjects/instest09__GroupCensusMember__c/a4N6g0000013CP4EAM"
},
"Name": "Primary 1",
"instest09__CensusId__c": "a4O6g000000AuJBEA0",
"instest09__FirstName__c": "Primary",
"instest09__LastName__c": "Primary",
"instest09__Birthdate__c": "2020-03-03",
"instest09__IsPrimaryMember__c": true,
"instest09__MemberType__c": "Full Time",
"instest09__NumberOfDependents__c": 0,
"instest09__Gender__c": "Male",
"instest09__MemberIdentifier__c": "a5k6g000000T7REAA0",
"instest09__PrimaryMemberIdentifier__c": null,
"Id": "a4N6g0000013CP4EAM"
},
{
"attributes": {
"type": "instest09__GroupCensusMember__c",
"url": "/services/data/v48.0/sobjects/instest09__GroupCensusMember__c/a4N6g0000013CP5EAM"
},
"Name": "Dependent Child",
"instest09__CensusId__c": "a4O6g000000AuJBEA0",
"instest09__FirstName__c": "Child 1",
"instest09__LastName__c": "Chila 1",
"instest09__Birthdate__c": "2020-03-12",
"instest09__IsPrimaryMember__c": true,
"instest09__MemberType__c": null,
"instest09__NumberOfDependents__c": 0,
"instest09__Gender__c": "Male",
"instest09__MemberIdentifier__c": "a5k6g000000T7RTAA0",
"instest09__PrimaryMemberIdentifier__c": "a5k6g000000T7REAA0",
"Id": "a4N6g0000013CP5EAM"
},
{
"attributes": {
"type": "instest09__GroupCensusMember__c",
"url": "/services/data/v48.0/sobjects/instest09__GroupCensusMember__c/a4N6g0000013CP6EAM"
},
"Name": "Primary 2",
"instest09__CensusId__c": "a4O6g000000AuJBEA0",
"instest09__FirstName__c": "Primary 2",
"instest09__LastName__c": "Primary 2",
"instest09__Birthdate__c": "2020-03-04",
"instest09__IsPrimaryMember__c": true,
"instest09__MemberType__c": null,
"instest09__NumberOfDependents__c": 0,
"instest09__Gender__c": "Male",
"instest09__MemberIdentifier__c": "a5k6g000000T7RJAA0",
"instest09__PrimaryMemberIdentifier__c": null,
"Id": "a4N6g0000013CP6EAM"
},
{
"attributes": {
"type": "instest09__GroupCensusMember__c",
"url": "/services/data/v48.0/sobjects/instest09__GroupCensusMember__c/a4N6g0000013CP7EAM"
},
"Name": "Dependent Spouse",
"instest09__CensusId__c": "a4O6g000000AuJBEA0",
"instest09__FirstName__c": "Spouse 1",
"instest09__LastName__c": "Spouse 1",
"instest09__Birthdate__c": "2020-03-12",
"instest09__IsPrimaryMember__c": true,
"instest09__IsSpouse__c": true,
"instest09__MemberType__c": null,
"instest09__NumberOfDependents__c": 0,
"instest09__Gender__c": "Female",
"instest09__MemberIdentifier__c": "a5k6g000000T7ROAA0",
"instest09__PrimaryMemberIdentifier__c": "a5k6g000000T7REAA0",
"Id": "a4N6g0000013CP7EAM"
}
],
"censusMemberCount": 4,
"census": {
"attributes": {
"type": "instest09__GroupCensus__c",
"url": "/services/data/v48.0/sobjects/instest09__GroupCensus__c/a4O6g000000AuJBEA0"
},
"Name": "Test Insured Census",
"instest09__EffectiveStartDate__c": "2020-03-26",
"instest09__EffectiveEndDate__c": "2020-03-26",
"instest09__CensusSource__c": "External",
"instest09__GroupId__c": "0016g00000Ir5LsAAJ",
"instest09__CensusType__c": "Group",
"Id": "a4O6g000000AuJBEA0"
},
"error": "OK"
}
