item.update 网络挂钩事件中缺少 external_id
Missing external_id in item.update web hook event
我们没有看到 item.update webhook 中包含外部 ID。 The documentation 说我们应该包括在内:
item.update: When an item is updated. Provides parameter "item_id", "item_revision_id" and "external_id".
我们确实看到(通过 requestbin)的参数是:
item_id: 12345
hook_id: 9875
type: item.update
item_revision_id: 2
我们需要做什么才能让 external_id 包含在 webhook 事件中?还是我误读了文档?
我不认为跑道提供 external_id 挂钩数据。你应该做的是用 item_revision_id 作为 revision_to_id 再调用 'Get item revision difference'。这将为您提供当前修订的详细信息。您可以在此回复中找到 external_id 和 field_id。
我们可以注册一个仅针对特定字段触发的挂钩,而不是接收 external_id。这样,触发的 URL 可以对涉及的 external_id 进行编码。
问题是您不能从管理界面执行此操作,但可以从 API。例如,使用 HTTPie,如果我们有一个 id 为 123 的字段...
http POST https://api.podio.com/hook/app_field/123/ \
url=http://your.endpont/123
type=item.update
'Authorization: OAuth2 token-here'
...returns 和 hook_id,您将像往常一样验证挂钩。
通过:
Podio 文档是最新的,external_id
参数已发送给 item.create
和 item.update
挂钩。为了发送它,项目需要有它:)
因此,如果您只是从跑道网络创建项目,该项目将没有任何 external_id
。但是如果你通过 API 创建项目并指定 external_id 那么它就会在那里。
这是 Ruby:
中的完整示例
attr = {:fields => { :title => 'Created with external ID'},
:external_id => 'exernal_id_for_demo' }
item = Podio::Item.create(app_id, attr)
然后 webhook item.create
将是:
item_id: 720040614
item_revision_id: 0
type: item.create
hook_id: 7243151
external_id: exernal_id_for_demo
我们没有看到 item.update webhook 中包含外部 ID。 The documentation 说我们应该包括在内:
item.update: When an item is updated. Provides parameter "item_id", "item_revision_id" and "external_id".
我们确实看到(通过 requestbin)的参数是:
item_id: 12345
hook_id: 9875
type: item.update
item_revision_id: 2
我们需要做什么才能让 external_id 包含在 webhook 事件中?还是我误读了文档?
我不认为跑道提供 external_id 挂钩数据。你应该做的是用 item_revision_id 作为 revision_to_id 再调用 'Get item revision difference'。这将为您提供当前修订的详细信息。您可以在此回复中找到 external_id 和 field_id。
我们可以注册一个仅针对特定字段触发的挂钩,而不是接收 external_id。这样,触发的 URL 可以对涉及的 external_id 进行编码。
问题是您不能从管理界面执行此操作,但可以从 API。例如,使用 HTTPie,如果我们有一个 id 为 123 的字段...
http POST https://api.podio.com/hook/app_field/123/ \
url=http://your.endpont/123
type=item.update
'Authorization: OAuth2 token-here'
...returns 和 hook_id,您将像往常一样验证挂钩。
通过:
Podio 文档是最新的,external_id
参数已发送给 item.create
和 item.update
挂钩。为了发送它,项目需要有它:)
因此,如果您只是从跑道网络创建项目,该项目将没有任何 external_id
。但是如果你通过 API 创建项目并指定 external_id 那么它就会在那里。
这是 Ruby:
attr = {:fields => { :title => 'Created with external ID'},
:external_id => 'exernal_id_for_demo' }
item = Podio::Item.create(app_id, attr)
然后 webhook item.create
将是:
item_id: 720040614
item_revision_id: 0
type: item.create
hook_id: 7243151
external_id: exernal_id_for_demo