【问题标题】:Create web hook to connect salesforce to google campaign创建网络挂钩以将 Salesforce 连接到 Google 广告系列
【发布时间】:2021-06-02 04:35:49
【问题描述】:

我正在尝试创建一个网络挂钩侦听器,以便在通过谷歌广告填写表单时创建新的潜在客户。 Google 可以选择使用网络挂钩连接到 CRM。

https://imgur.com/a/CCxZxJj

我在这里学习了本教程:https://www.greytrix.com/blogs/salesforce/2018/06/04/creating-an-webservice-in-salesforce-and-using-rest-api-to-externally-access-it/

并创建了一个 RestResource 类

@RestResource(urlMapping='/Lead/*')
global with sharing class MyRestResource {
  
  @HttpPost
    global static String doPost(List<Map<String,String>>user_column_data) {
        Map<String, String> user_data = new Map<String,String>();
        
        for( Map<String,String> field_data : user_column_data){
        user_data.put( field_data.get('column_id'), field_data.get('string_value') );
        }
        
        Lead lead = new Lead();
        lead.Status = 'New';
        lead.Company = user_data.get('COMPANY_NAME');
        lead.Phone = user_data.get('PHONE_NUMBER');
        lead.Email = user_data.get('EMAIL');
        try{
            insert lead;
        }
            catch (exception e){
                System.debug('Failure');
            }
        return lead.Id;
        
    }
}

我创建了一个 salesforce 站点,并授予它访问上述类和主要对象的权限。

https://imgur.com/a/FQl8P3K

Google Ad 还允许我发送测试记录,因此它发送了这些数据

{
  "lead_id": "TeSter-123-ABCDEFGHIJKLMNOPQRSTUVWXYZ-abcdefghijklmnopqrstuvwxyz-0123456789-AaBbCcDdEeFfGgHhIiJjKkLl",
  "user_column_data": [
    {
      "column_name": "First Name",
      "string_value": "FirstName",
      "column_id": "FIRST_NAME"
    },
    {
      "column_name": "Last Name",
      "string_value": "LastName",
      "column_id": "LAST_NAME"
    },
    {
      "column_name": "User Phone",
      "string_value": "+16505550123",
      "column_id": "PHONE_NUMBER"
    },
    {
      "column_name": "User Email",
      "string_value": "test@example.com",
      "column_id": "EMAIL"
    },
    {
      "column_name": "City",
      "string_value": "Mountain View",
      "column_id": "CITY"
    },
    {
      "column_name": "Region",
      "string_value": "California",
      "column_id": "REGION"
    },
    {
      "column_name": "Company Name",
      "string_value": "CompanyName",
      "column_id": "COMPANY_NAME"
    }
  ],
  "api_version": "1.0",
  "form_id": 15016502442,
  "campaign_id": 12582701989,
  "google_key": "test",
  "is_test": true,
  "gcl_id": "TeSter-123-ABCDEFGHIJKLMNOPQRSTUVWXYZ-abcdefghijklmnopqrstuvwxyz-0123456789-AaBbCcDdEeFfGgHhIiJjKkLl",
  "adgroup_id": 20000000000,
  "creative_id": 30000000000
}

检查沙盒环境时,此数据不存在。

任何帮助将不胜感激!

【问题讨论】:

    标签: rest salesforce webhooks apex


    【解决方案1】:

    姓氏是潜在客户的必填字段,在您的代码中,我找不到您填充姓氏的行。这可能是个问题。

    此外,您可以在 Salesforce 中为访客站点用户设置调试日志,以查看是否有任何异常。

    【讨论】:

    • 我为 apex 类设置了调试日志并添加了姓氏。如果我发送了测试数据并且日志上没有显示任何内容,那么这是否意味着数据没有发送到我的沙箱?
    • @chrisHG 没错,如果没有生成日志,那么 Google Ad 的请求可能无法到达 Salesforce。要进一步调试它,您可以尝试从 Postman 发送一个虚拟请求。
    猜你喜欢
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2018-08-30
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多