无法在测试步骤中找到有关从我的网站到zapier应用的可接受响应的信息(这是我的网站上的“操作”)

时间:2019-01-11 13:37:27

标签: zapier zapier-cli

在测试步骤中,我找不到从网站到zapier应用程序的可接受响应内容或代码状态的信息。

我在Laravel和Zapier应用程序上都有我的网站。在我的Zapier应用程序中,我有一个操作:“创建新项目”。我根据the example进行了“创建”。除测试步骤外,一切正常。我测试了以下zap:

  • Trello->“已创建新卡”触发器。测试成功。
  • 我的应用->“创建新项目”。测试失败,We had trouble sending your test through. Could not handle special, non-standard characters. Please contact support

奇怪的是,该项目已成功创建。因此,我认为问题出在我的网站对zapier的响应中:

Screenshot of problem

// creates/project.js

// My perform function:
perform: (z, bundle) => {
  const promise = z.request({
    url: `${process.env.BASE_URL}/api/folder`,
    method: 'POST',
    body: JSON.stringify({
      title: bundle.inputData.title,
    }),
    headers: {
      'content-type': 'application/json',
    }
  });

  return promise.then((response) => JSON.parse(response.content));
}
//ZapierController.php

public function addFolder(Request $request)
{
    // Made record to DB, and other, after this returned same data which in request

    return response()->json(['title' => $request['title']]);
}

预期结果-成功测试“测试此步骤”。谁能帮我吗?

1 个答案:

答案 0 :(得分:0)

Zapier Platform团队的David在这里。

我已经回答了您的支持请求,但我想在这里答复,以防其他人遇到相同的问题。

当您在cli上运行zapier logs时,根本问题就很清楚了:

== Log
Unhandled error: CheckError: Invalid API Response:
  - Got a non-object result, expected an object from create ("title")
What happened:
  Executing creates.сFolder.operation.perform with bundle
  Invalid API Response:
  - Got a non-object result, expected an object from create ("title")

您的服务器可以使用任何2xx状态代码进行答复,但是输出必须是有效的json。像{"title": "my title here"}之类的东西肯定可以工作。用户发现获取有关他们刚刚创建的项目的信息更有用,因此名称,ID等会更好。

至于为什么这会成为字符编码问题,我一无所知。不过,我们计划深入其中!