我有一个用例,我需要缩短我的 URL 并通过 SMS 发送它。我有一个 HTML 页面,它在调用时会更新我的客户的详细信息。它基本上为该特定潜在客户更新 Sales Cloud 中对象的属性。当用户点击我们在 SMS 中提供的链接时,HTML 页面打开并且该用户的信息被验证(之前设置为未验证的属性现在设置为已验证)。
问题 在我的情况下,生成的 bitly 链接本身会被命中(可能是当它被发送到 bitly 服务器以缩短链接时)并且即使用户没有点击该链接,用户的信息也会得到验证。
这是我的代码:
%%[
var @leadId, @shortenUrl, @bitlyUrl, @link
Set @contacts = RetrieveSalesforceObjects("Lead", "Id,FirstName,LastName", "Combined_Mobile__c", "=",
6569698800)
if rowcount(@contacts) != 0 then
Set @row = Row(@contacts, 1)
Set @firstName = FIELD(@row, "FirstName")
Set @lastName = FIELD(@row, "LastName")
Set @leadId = FIELD(@row, "Id")
endif
Set @encodedId = Base64Encode(@leadId)
set @urlLink =Concat('<url>','?leadID=',@encodedId)
set @bitlyUrl = 'https://api-ssl.bitly.com/v3/shorten?access_token=b6a8bcb7b8299121a6588dc619a71f23d0cd1211&format=txt&longUrl='
set @verifyUrl = Concat(@bitlyUrl,@urlLink,"&format=txt")
]%%
HTML 页面有这段代码:
%%[
set @encodedId = RequestParameter("leadID")
set @leadId = Base64Decode(@encodedId,'UTF-8', 1)
set @contacts= RetrieveSalesforceObjects("Lead", "Lead_Type__c,FirstName", "Id", "=",@leadId)
if rowcount(@contacts) != 0 then
Set @row = Row(@contacts, 1)
Set @firstName = FIELD(@row, "FirstName")
set @result = UpdateSingleSalesforceObject("Lead",@leadId,"Contact_Verified__c","Verified")
endif
]%%
<!DOCTYPE html>
<html>
<!--HTML header and body code-->
</html>
有什么建议么?