Повторное выполнение правил назначения интересов в Salesforce: руководство по методам Apex

“Повторное выполнение правил назначения интересов в Apex”

В Salesforce правила назначения интересов играют решающую роль в автоматическом назначении потенциальных клиентов нужным торговым представителям на основе заранее определенных критериев. Однако могут возникнуть ситуации, когда вам потребуется повторно запустить правила назначения интересов вручную или программно. В этой статье блога мы рассмотрим несколько способов добиться этого с помощью кода Apex.

Метод 1: использование класса Database.DMLOptions
Один из способов повторного запуска правил назначения интересов — использование класса Database.DMLOptions. Этот класс позволяет указать различные параметры операций DML, включая возможность переоценки правил назначения. Вот пример фрагмента кода:

Lead myLead = new Lead();
myLead.FirstName = 'John';
myLead.LastName = 'Doe';
Database.DMLOptions dmlOpts = new Database.DMLOptions();
dmlOpts.assignmentRuleHeader.useDefaultRule = true;
Database.SaveResult sr = Database.insert(myLead, dmlOpts);
if (sr.isSuccess()) {
    // Lead assignment rules re-evaluated successfully
} else {
    // Handle any errors
}

Метод 2: вызов правил назначения интересов с помощью триггера Apex
Другой метод — вызов правил назначения интересов в триггере Apex. Вы можете создать триггер для объекта «Интерес» и вручную активировать правила назначения с помощью метода Database.assignLead. Вот пример:

trigger LeadTrigger on Lead (after insert) {
    List<Database.LeadConvert> leadConverts = new List<Database.LeadConvert>();
    for (Lead lead : Trigger.new) {
        Database.LeadConvert lc = new Database.LeadConvert();
        lc.setLeadId(lead.Id);
        lc.setDoNotCreateOpportunity(true); // Customize as per your requirements
        leadConverts.add(lc);
    }
    if (!leadConverts.isEmpty()) {
        List<Database.LeadConvertResult> lcrList = Database.convertLead(leadConverts);
        // Handle the results as needed
    }
}

Метод 3. Использование REST API Salesforce
Если вы предпочитаете более программный подход, вы можете использовать REST API Salesforce для повторного запуска правил назначения потенциальных клиентов. Вы можете отправить запрос HTTP POST к конечной точке /services/data/vXX.X/sobjects/Lead/, где XX.X представляет версию API. Добавьте заголовок Sforce-Auto-Assignсо значением true, чтобы активировать правила назначения. Вот пример использования Apex:

HttpRequest req = new HttpRequest();
req.setEndpoint(URL.getSalesforceBaseUrl().toExternalForm() + '/services/data/vXX.X/sobjects/Lead/');
req.setMethod('POST');
req.setHeader('Sforce-Auto-Assign', 'true');
req.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId());
Http http = new Http();
HttpResponse res = http.send(req);
if (res.getStatusCode() == 201) {
    // Lead assignment rules re-run successfully
} else {
    // Handle any errors
}

В этой статье мы рассмотрели три различных метода повторного запуска правил назначения интересов в Salesforce с помощью Apex. Первый метод включал использование класса Database.DMLOptions, второй метод использовал триггер Apex для вызова правил назначения, а третий метод использовал REST API Salesforce. В зависимости от ваших конкретных требований и варианта использования вы можете выбрать метод, который подходит вам лучше всего.