为什么我的 Zapier 集成动态字段不起作用?

Why doesn't my Zapier Integration Dynamic Field work?

我构建了一个简单的 zapier 集成并且运行良好。但是,我正在添加动态字段。当我测试 zap 时,这一切似乎再次完美运行。我的动态表单域如我所料出现。

问题是将那些动态表单的值发送到我的 API。我正在使用 zapier 控制台,当我配置 API 请求时,我使用的是以下内容:

其中 body['custom_fields'] 应该发送我所有的动态字段甚至所有字段。但是当它命中我的 API custom_fields 参数时是空白的。

const options = {
  url: 'https://example_url/endpoint',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': `Bearer ${bundle.authData.auth_token}`
  },
  body: {
    'email': bundle.inputData.email,
    'custom_fields': bundle.inputData

    /**
      I've tried the following with no luck:

     'custom_fields': bundle.inputData.fields
     'custom_fields': bundle.inputData.undefined
     'custom_fields': bundle.inputData
    */
  }
}

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = response.json;

    // You can do any parsing you need for results here before returning them

    return results;
  });

好吧,几天后,这是最简单的答案。

显然不能通过参数发送对象。

所以不用

'custom_fields': bundle.inputData

我只是将整个对象添加到参数中,它会处理所有键和值

params: bundle.inputData

这里是全文

const options = {
  url: 'https://apiendpoint.com',
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${bundle.authData.auth_token}`
  },
  params: bundle.inputData,

}

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = response.json;

    // You can do any parsing you need for results here before returning them

    return results;
  });

您可以像文档中解释的那样使用扩展运算符 ...bundle.inputData

https://platform.zapier.com/docs/input-designer#how-to-include-dynamic-fields-in-api-calls

const options = {
  url: 'https://example_url/endpoint',
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': `Bearer ${bundle.authData.auth_token}`
  },
  body: { ...bundle.inputData }
}

您甚至可以像这样命名您的请求数据:

  body: {
    request: { ...bundle.inputData }
  }

注意:扩展运算符在 Zapier 代码编辑器中引发语法错误,但它有效。