【问题标题】:Zapier Rest Hook SubscriptionZapier Rest Hook 订阅
【发布时间】:2018-07-26 10:06:50
【问题描述】:

我无法让我的 zapier REST Hook 订阅正常工作。身份验证设置正在运行。

我从 zapier 收到带有“target_url,event”数据的 POST 订阅。一旦我出于某种原因将任何数据发布到“target_url”,就会调用取消订阅 url,从而禁用“target_url”。因此,每次尝试 POST 或 GET 到“target_url”时都会回复“请退订我!”。任何帮助将不胜感激

Zapier 订阅帖子回复

{
    "subscription_url": "https://hooks.zapier.com/hooks/standard/2954661/d9bd6b7a323747628ee4cb6102a15056/",
    "target_url": "https://hooks.zapier.com/hooks/standard/2954661/d9bd6b7a323747628ee4cb6102a15056/",
    "event": "get_contact"
}

Zapier 帖子标题响应

{
    "host": "messagebot.ngrok.io",
    "x-hook-test": "true",
    "accept-encoding": "gzip, deflate",
    "content-length": "228",
    "accept": "application/json",
    "user-agent": "Zapier",
    "content-type": "application/json; charset=utf-8",
    "authorization": "Basic NTcyOGUxOTU1OTUzZmEzMmUwNTliMGNmOg==",
    "x-newrelic-id": "VgMAVF9bGwIHVVRQBwMA",
    "x-newrelic-transaction": "PxRRUVQBDQNRXFEHAwJWXwEBFB8EBw8RVU4aBAgKVgcDBAFRVFUAA11TB0NKQQsLAVZXV1ZUFTs=",
    "x-forwarded-for": "35.168.226.6"
}

将数据发布到 Zapier target_url

[{ "first_name": "Jim", "last_name": "Bozack", "tag_1": "DTW010517A", "event": "get_contact", "email": "testing@fakeemail.come" }]

来自 Zapier target_url 的响应

{ "status": "success", "attempt": "5a85c059-19c0-4129-a44f-79be9f8ea270", "id": "10593f34-d7a2-4cdd-b805-6da0d8ace9eb", "request_id": "5a85c059-19c0-4129-a44f-79be9f8ea270" }

在来自“target_url”的响应之后,取消订阅被调用。

【问题讨论】:

  • 您能否提供收到的 POST 示例,包括 target_url 值和确切响应?
  • 我添加了收到的 POST 数据以及标题信息。如果我向 target_url 发送任何 POST 或 GET,Zapier 将响应成功消息。但同时会调用“取消订阅”,然后杀死 target_url。
  • 是的,当我们关闭 Zap 调用的取消订阅事件时,这是 Zapier 的默认行为。当我们再次打开 Zap 时,zapier 会调用一个订阅事件。在测试过程中,Zapier 调用 subscribe 事件,然后调用 unsubscribe 事件停止 webhook 传递。所以结果 webhook 仅在 Zap 为 ON 时启用。

标签: rest webhooks zapier


【解决方案1】:

希望这对某人有所帮助。我在这方面花了很长时间。

当您进行测试时,您的 Zap 将自动进入“关闭”模式。据我了解,任何“关闭”的 Zap 都会自动“删除/取消订阅”订阅。但是,当您将 Zap 设置为“开启”时,POST 订阅将再次触发,并带有可用的“target_url”。

【讨论】:

    【解决方案2】:

    Zapier documentation 看来,您应该返回 201 以确认收到订阅。这可能需要确认在远程服务器上的注册。

    你可以这样做:

    http_response_code(201)
    

    我意识到这是假设您正在使用 PHP,但您的开发环境未指定。这适用吗?

    【讨论】:

    • 我通过添加“事件”得到相同的结果事件。从文档看来,“事件”示例来自 Zapier 发送到我的应用程序。我还更新并添加了更多信息。
    • 感谢您的帮助,但最终我的 zap 已关闭。
    猜你喜欢
    • 2020-01-03
    • 2015-12-10
    • 1970-01-01
    • 2020-01-07
    • 2021-02-01
    • 2019-06-19
    • 1970-01-01
    • 2021-02-01
    • 2012-05-11
    相关资源
    最近更新 更多