Loading
Identity Verification in Industries
Índice
Selecionar filtros

          Sem resultados
          Sem resultados
          Aqui estão algumas dicas de pesquisa

          Verifique a grafia das palavras-chave.
          Tente utilizar termos mais genéricos.
          Selecione menos filtros para ampliar sua pesquisa.

          Pesquisar em toda a Ajuda do Salesforce
          Create a Class-Based Interaction Launcher

          Create a Class-Based Interaction Launcher

          Create a class-based interaction launcher, which uses an Apex class to get a search request and search response.

          1. Create a global Apex class that implements, for example:
            • vlocity_ins.VlocityOpenInterface
            • OR
            • vlocity_ins.VlocityOpenInterface2
            global with sharing class GetMockupSearchRequestResults implements vlocity_ins.VlocityOpenInterface2
          2. Include two methods:
            • getSearchRequest
            • getSearchResults
            global Object invokeMethod(String methodName, Map < String, Object > inputs, Map < String, Object > output, Map < String, Object > options {
               
               Boolean success = true;
               if (methodName == 'getSearchRequest') {
                
                success = getSearchRequest(inputs, output, options);
               }
               if (methodName == 'getSearchResults') {
                
                success = getSearchResults(inputs, output, options);
               }
               return success;
              }
          3. Then construct the vlocity_ins.LookupRequest interface:
            vlocity_ins.LookupRequest request =
            
            (vlocity_ins.LookupRequest) inputs.get('lookupRequest');
            
            List<Map<String, Object>> previousSearchResults = request.previousSearchResults;
            
            Map<String, Object> additionalData = request.additionalData;
            
            List<String> searchFieldList = request.searchFieldList;
            
            searchFieldList.add('FirstName');
            
            searchFieldList.add('LastName');
            
            Map<String, Map<String, String>>labelTypeMap = request.searchFieldsLabelTypeMap;
            
            Map<String, String> newType1 = new Map<String, String> ();
            
            newType1.put('label','First Name');
            
            newType1.put('datatype','text');
            
            labelTypeMap.put('FirstName',newType1);
            
            Map<String, String> newType2 = new Map<String, String> ();
            
            newType2.put('label','Last Name');
            
            newType2.put('datatype','text');
            
            labelTypeMap.put('LastName',newType2);
            
            Map<String, Object> valueMap = request.searchValueMap;
            
            valueMap.put('FirstName',null);
            
            valueMap.put('LastName',null);
            
            System.debug(' LookupRequest is '+request);
            
            output.put('lookupRequest', request);
            
          4. Construct the vlocity_ins.LookupResult interface (see example code below).
          5. Create a Vlocity Interaction Launcher record.
          6. Pick Class Based for the entry field Record Type:
            Interaction Launcher setup details
          7. Complete any pending information.
          8. Insert the class created from step 1 (GetMockupSearchRequestResults) into the entry field Invoke Class Name.
          9. Launch the class-based interaction.

            vlocity_ins.LookupResult Interface Example Code:

            List < String > contextIds = (List < String > ) inputs.get('contextIds');
            String parentId = (String) inputs.get('parentId');
            vlocity_ins.LookupRequest request = 
             (vlocity_ins.LookupRequest) inputs.get('lookupRequest');
            String lastRecordId = request.lastRecordId; // R15 pagination support
            
            Map < String, Object > resultInfo = (Map < String, Object > ) inputs.get('resultInfo');
            Integer pageSize = 0; // R15 pagination support
            
            Integer numRecords = 30; // R15 pagination support
            
            // R15 pagination support
            
            // get ClassBasedResultsPageSize from customSetting
            
            // R15 pagination support
            
            vlocity_ins__InteractionLauncherConfiguration__c myCS = 
             vlocity_ins__InteractionLauncherConfiguration__c.getInstance('ClassBasedResultsPageSize');
            if ((myCS != null) && (myCS.vlocity_ins__IsFeatureOn__c)) {
             
             pageSize = 
              String.isNotBlank(myCS.vlocity_ins__DisplayMessage__c) ? 
              Integer.valueOf(myCS.vlocity_ins__DisplayMessage__c) : 10;
            }
            Boolean hasMore = false;
            // End R15 pagination support
            
            List < String > resultFieldList = new List < String > ();
            resultFieldList.add('RelatedParty');
            resultFieldList.add('Role');
            List < String > verificationFieldList = new List < String > ();
            verificationFieldList.add('PartyName');
            verificationFieldList.add('Address');
            List < String > optionalVerificationFieldList = new List < String > ();
            optionalVerificationFieldList.add('Role');
            optionalVerificationFieldList.add('RelatedParty');
            Map < String, Map < String, String >> resultFieldsLabelTypeMap = 
             new Map < String, Map < String, String >> ();
            Map < String, String > newType1 = new Map < String, String > ();
            newType1.put('label', 'Related Party');
            newType1.put('datatype', 'text');
            resultFieldsLabelTypeMap.put('RelatedParty', newType1);
            Map < String, String > newType2 = new Map < String, String > ();
            newType2.put('label', 'Role');
            newType2.put('datatype', 'text');
            resultFieldsLabelTypeMap.put('Role', newType2);
            Map < String, String > newType3 = new Map < String, String > ();
            newType3.put('label', 'Name');
            newType3.put('datatype', 'text');
            resultFieldsLabelTypeMap.put('PartyName', newType3);
            Map < String, String > newType4 = new Map < String, String > ();
            newType4.put('label', 'Address');
            newType4.put('datatype', 'text');
            resultFieldsLabelTypeMap.put('Address', newType4);
            Map < String, Object > verificationResult = new Map < String, Object > ();
            String uniqueRequestName = (String) resultInfo.get('uniqueRequestName');
            String drBundleName = (String) resultInfo.get('drBundleName');
            String interactionObjName = (String) resultInfo.get('interactionObjName');
            List < vlocity_ins.LookupResult > results = new List < vlocity_ins.LookupResult > ();
            if ((contextIds != null) && (contextIds.size() == 1) {
              
              Map < String, Object > resultValueMap = 
               new Map < String, Object > ();
              resultValueMap.put('RelatedParty', 'John Smith');
              resultValueMap.put('Role', 'Carrier');
              resultValueMap.put('PartyName', 'John Smith');
              resultValueMap.put('Address', '50 Fremont, San Francisco, CA');
              String recordId = 'ExternalId';
              vlocity_ins.LookupResult result = 
               new vlocity_ins.LookupResul(resultFieldsLabelTypeMap, resultFieldList, 
                resultValueMap, recordId, uniqueRequestName, request, verificationResult, 
                verificationFieldList, drBundleName, interactionObjName);
              result.setOptionalVerificationFieldList(optionalVerificationFieldList);
              // R15 optional verification fields support
              
              results.add(result);
             }
             // R15 pagination support
             
             else {
              
              for (Integer k = 0; k < numRecords; k++) {
               
               Map < String, Object > resultValueMap = new Map < String, Object > ();
               resultValueMap.put('RelatedParty', 'John Smith' + String.valueOf(k));
               resultValueMap.put('Role', 'Carrier');
               resultValueMap.put('PartyName', 'John Smith' + String.valueOf(k));
               resultValueMap.put('Address', '50 Fremont, San Francisco, CA');
               String recordId = 'ExternalId' + String.valueOf(k);
               vlocity_ins.LookupResult result = 
                new vlocity_ins.LookupResult(resultFieldsLabelTypeMap, resultFieldList, 
                 resultValueMap, recordId, uniqueRequestName, request, 
                 verificationResult, verificationFieldList, drBundleName, interactionObjName);
               result.setOptionalVerificationFieldList(optionalVerificationFieldList);
               results.add(result);
              }
             }
             if ((pageSize > 0) && (results.size() > pageSize)) {
              
              List < vlocity_ins.LookupResult > resultSubSet = 
               new List < vlocity_ins.LookupResult > ();
              // results.sort();
              
              Integer startIndex = 0;
              if (String.isNotBlank(lastRecordId)) {
               
               for (Integer i = 0; i < results.size(); i++) {
                
                if (results[i].recordId == lastRecordId) {
                 
                 startIndex = i + 1;
                }
               }
              }
              Integer j = 0;
              for (j = startIndex;
               (j < results.size()) && (j < startIndex + pageSize); j++) {
               
               resultSubset.add(results[j]);
              }
              if (j < results.size()) {
               
               hasMore = true;
              }
              output.put('lookupResults', resultSubset);
              if (hasMore) {
               
               output.put('hasMore', hasMore);
              }
              // End R15 pagination support
              
             }
             else {
              
              // Logger.db('GetExternalSearchRequestResults
              
              // LookupResult is
              
              // '+JSON.serializePretty(results));
              
              output.put('lookupResults', results);
             }
           
          Carregando
          Salesforce Help | Article