Zapier Catch(Raw)Hook JSON解析问题

时间:2019-01-25 13:01:59

标签: json zapier

我想使用Zapier和Webhooks在两个不同的CRM(Clevertap和Intercom)之间配置同步。通常,Clevertap将以下JSON发送到webhook:

{
    "targetId": 1548328164, 
    "profiles": [
        {
            "event_properties": {
                "MSG-sms": true, 
                "MSG-push": true, 
                "businessRole": "EMPLOYEE", 
                "Mobile Number": "123123123123", 
                "Name": "Artem Hovtvianisa", 
                "Title": "Mr", 
                "Last Name": "Hovtvianisa", 
                "Gender": "M", 
                "Customer type": "Business Account Holder", 
                "MSG-email": true, 
                "First Name": "Artem", 
                "Last seen IP": "111.177.74.50", 
                "tz": "GMT+0200", 
                "International customer": "yes", 
                "isBusiness": true, 
                "Email": "xxxyyy@gmail.com", 
                "Identity": 15675
            }, 
            "objectId": "e32e4de3c1e84b2d9bab3707c92cd092", 
            "all_identities": [
                "15675", 
                "xxxyyy@gmail.com"
            ], 
            "email": "xxxyyy@gmail.com", 
            "identity": "15675"
        }
    ]
}

Zapier提供了两种捕获Webhook:常规和原始。

捕获原始钩

当我使用这种类型时,可以很好地处理JSON原始数据,然后在下一步(Zapier JS代码应用程序)中,像上面的示例一样,我可以传递正确的JSON数据。

enter image description here

但是,当我使用简单的JS代码解析JSON对象并获取profile [0]数组值时,出现以下错误“ TypeError:无法读取未定义的属性'0'”

“代码”步骤中的JS代码

var result = JSON.parse(JSON.stringify(inputData));
console.log(result.profiles[0]);
return result;

enter image description here

抓钩

如果我使用常规的Catch Hook,则以某种奇怪的方式对数据进行钩子处理,如下所示:

enter image description here

JSON.parse无法识别此结构。

请告知我如何以正确的方式处理Webhook Zapier步骤以获取profile [0]数组项值?

谢谢!

1 个答案:

答案 0 :(得分:2)

Zapier Platform团队的David在这里。您在正确的轨道上!

赶上原始的钩子就是去这里的方法。您的问题是数据是以字符串形式输入的,因此您在解析之前对它进行了重新字符串化,从而使您回到了原始位置。一个更简单的版本:

int

相反,只需解析它,您就很好了!

brk