缺少item.update web hook事件中的external_id

时间:2017-11-10 12:27:49

标签: webhooks podio

我们没有看到item.update webhook中包含的外部ID。 The documentation说我们应该被收录:

  

item.update:更新项目时。提供参数" item_id"," item_revision_id"和" external_id"。

我们看到的参数(通过requestbin)是:

item_id: 12345
hook_id: 9875
type: item.update
item_revision_id: 2

我们需要做些什么才能将external_id包含在webhook事件中?或者我误读了文档?

3 个答案:

答案 0 :(得分:2)

Podio文档是最新的,并为external_iditem.create个钩子发送item.update参数。为了发送它,项目需要它:)

因此,如果您只是从Podio网站创建项目,该项目将不会有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

答案 1 :(得分:0)

我不认为Podio为external_id提供了钩子数据。您应该做的是使用item_revision_id作为revision_to_id再次调用“Get item revision difference”。这将为您提供当前的修订详细信息。您可以在此响应中找到external_id和field_id。

答案 2 :(得分:0)

我们可以注册一个仅针对特定字段触发的钩子,而不是接收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'

...返回hook_id,你像往常一样验证钩子。

通过:https://stackoverflow.com/a/39782472/154248

相关问题