我正在尝试在 Salesforce 中创建一个发送 SMS 的 APEX 类。这是从 Lead Trigger 调用的。
我想将“Lead”传递给该方法,但出现以下错误
“不支持的参数类型 SOBJECT:Lead”
我的声明看起来像这样。
global class SMS_Services {
@future (callout=true)
public static void SendTestDriveReminder(Lead l){
}
}
我正在尝试在 Salesforce 中创建一个发送 SMS 的 APEX 类。这是从 Lead Trigger 调用的。
我想将“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)
需要注意的重要一点是,我建议您将参数从单个记录更改为一组 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);
}
你每天只会得到少量的未来方法,你需要谨慎使用它们