2017-11-10 4 views
0

Die externe ID ist im item.update Webhook nicht enthalten. The documentation sagt, wir sollten enthalten sein:Fehlende externe_ID in item.update Web Hook-Ereignis

item.update: Wenn ein Artikel aktualisiert wird. Stellt Parameter "item_id", "item_revision_id" und "external_id" bereit.

Die Parameter, die wir (über requestbin) sehen Sie sind:

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

Was müssen wir EXTERNAL_ID, die in der Webhook Veranstaltung zu tun haben? Oder irre ich die Dokumentation?

Antwort

1

Podio Dokumentation ist up-to-date und external_id Parameter für item.create und item.update Haken gesendet wird. Um es gesendet zu haben, muss Artikel es haben :)

Also, wenn Sie nur Artikel aus Podio Web erstellen, wird dieses Element keine external_id haben. Aber wenn Sie Artikel über API erstellen und external_id angeben, wird es dort sein. Hier ist voll Beispiel in Rubin:

attr = {:fields => { :title => 'Created with external ID'}, 
     :external_id => 'exernal_id_for_demo' } 
item = Podio::Item.create(app_id, attr) 

Dann Webhook item.create sein wird:

item_id: 720040614 
item_revision_id: 0 
type: item.create 
hook_id: 7243151 
external_id: exernal_id_for_demo 
0

Ich glaube nicht Podio bieten external_id mit den Hook-Daten. Was Sie tun sollten, ist einen weiteren Aufruf 'Get item revision difference' mit item_revision_id als revision_to_id zu tun. Dadurch erhalten Sie die aktuellen Revisionsdetails. Und Sie können die externe_ID und Feld_ID in dieser Antwort finden.

+0

Danke - ich denke, die Dokumentation ist out-of-date. –

0

Anstatt die externe_ID zu empfangen, können wir einen Hook registrieren, der nur für ein bestimmtes Feld ausgelöst werden soll. Auf diese Weise kann die ausgelöste URL codieren, welche externe_id beteiligt war.

Das Problem ist, dass Sie dies nicht über die Management-Schnittstelle tun können, aber Sie können von der API. wenn wir ein Feld mit einer ID von 123 hatten ... Zum Beispiel mit HTTPie,

http POST https://api.podio.com/hook/app_field/123/ \ 
    url=http://your.endpont/123 
    type=item.update 
    'Authorization: OAuth2 token-here' 

..., die den hook_id zurückzugibt, und Sie würden die Haken wie gewohnt validieren.

Via: https://stackoverflow.com/a/39782472/154248