【问题标题】:Zapier - Invalid API ResponseZapier - 无效的 API 响应
【发布时间】:2019-01-26 12:10:39
【问题描述】:

我正在使用 Zapier 将 CRM 与 Facebook 潜在客户广告集成,我可以在 Facebook 中创建潜在客户并在 CRM 中毫无问题地创建它。

在一个成功的帖子(即成功创建潜在客户)之后,我很好奇我应该返回什么,我会想到

          return Ok();

就够了。相反,我收到一条错误消息:

- 得到一个非对象结果,期望一个来自 create() 的对象 发生了什么(您看到这个是因为您是管理员): 使用 bundle 执行 create.ZapLead.operation.perform 无效的 API 响应: - 得到一个非对象结果,期望一个来自 create () 的对象

我应该返回什么?

发帖的代码是:

perform: (z, bundle) => {
  const promise = z.request({
    url: 'https://{{bundle.authData.subdomain}}.ngrok.io/api/zapier/create/lead/' + bundle.inputData.lead_type + '/' + bundle.inputData.core_customerTypeId,
    method: 'POST',
    body: JSON.stringify({
      fields: bundle.inputData
    }),
    headers: {
      'content-type': 'application/json'
    }
  });

  // return promise.then((response) => JSON.parse(response.content));
  return promise.then((response) => {   
    if (response.status != 200) {
      throw new Error(`Unexpected status code ${response.status}`);
    }
});

有什么想法吗?

谢谢,

【问题讨论】:

    标签: zapier


    【解决方案1】:

    我想我找到了。看来如果成功我需要返回这个:

    {"Success":"Success","Attempt":null,"Id":null,"RequestId":null}

    【讨论】:

      【解决方案2】:

      David 来自 Zapier 平台团队。

      虽然您的回答在技术上是正确的,但我想添加一些有关错误的上下文以及您的解决方案为何有效。

      Zapier 期望一个 javascript 对象(基本上是任何有效且包含在 {} 中的对象)从创建函数中出来。这就是JSON.parse(response.content) 起作用的原因,它返回服务器所说的任何内容。如果不是 200,您的代码会引发错误,但如果 is 是 200,则不会返回任何内容。由于 undefined 不是 Object 类型,因此会引发您看到的错误.

      虽然{"Success":"Success","Attempt":null,"Id":null,"RequestId":null} 完全是一个有效的响应(它是一个对象!),但最终用户返回有关已创建的新潜在客户的数据更有用。这样,它可以在下游用于其他操作。

      ​如果您还有其他问题,请告诉我!


      作为旁注,我们非常愿意让错误信息更清晰;这是一个开发人员在很多方面的挣扎。

      【讨论】:

      • 感谢您的回复@xavdid。是的,自从那个答案以来,我已经对其进行了自定义,以返回一些我们用于其他 Zapier 工作流程步骤的 ID 值。附言Zapier 真的好用!!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-21
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      相关资源
      最近更新 更多