将销售线索传递到Salesforce APEX类

将销售线索传递到Salesforce APEX类,salesforce,apex-code,Salesforce,Apex Code,我试图在Salesforce中创建一个发送SMS的APEX类。这是从引导触发器调用的 我想向方法中传递一个“Lead”,但得到以下错误 “不支持的参数类型SOBJECT:Lead” 我的声明是这样的 global class SMS_Services { @future (callout=true) public static void SendTestDriveReminder(Lead l){ } } 这是因为您已将该方法注释为@future方法只能接受

我试图在Salesforce中创建一个发送SMS的APEX类。这是从引导触发器调用的

我想向方法中传递一个“Lead”,但得到以下错误

“不支持的参数类型SOBJECT:Lead”

我的声明是这样的

global   class SMS_Services {

    @future (callout=true)  
    public static void SendTestDriveReminder(Lead l){

    }
}

这是因为您已将该方法注释为@future方法只能接受基元参数。因此,您需要将参数类型更改为Id,例如:

@future (callout=true)  
public static void SendTestDriveReminder(Set<Id> leadIds)
@future(callout=true)
公共静态无效SendTestDriveReminder(设置LeadID)
需要注意的重要一点是,我建议您将参数从单个记录更改为一组Id,这是因为您应该扩展触发器

trigger LeadTriggerExample on Lead (after insert, after update) {
    Set<Id> leadIds = new Set<Id>();
    for(Lead l : Trigger.new) {
        if(/*Certain Criteria is met*/) {
            leadIds.add(l.Id);
        }
    }
    SMS_Services.SendTestDriveReminder(leadIds);
}
触发线索触发线索示例(插入后、更新后){
Set leadIds=新集合();
用于(导联l:触发器。新){
如果(/*符合某些标准*/){
铅标识。添加(l.Id);
}
}
短信服务。发送测试驱动提醒(LeadID);
}
你每天只能得到少量的未来方法,你需要谨慎地使用它们