2012-11-29 67 views
0

我們昨天發現,使用api創建Shopify webhook時,指定的webhook格式將被忽略。Shopify webhooks API忽略格式參數

例如:

>>> hook = shopify.Webhook() 
>>> hook.topic = 'products/update' 
>>> hook.address = '<REDACTED>' 
>>> hook.format = 'json' 
>>> hook.save() 
True 
>>> shopify.Webhook.find() 
[webhook(2302062)] 
>>> shopify.Webhook.get(2302062) 
{'format': 'xml', 'created_at': datetime.datetime(2012, 11, 29, 12, 30, 55, tzinfo=tzutc()), 'updated_at': datetime.datetime(2012, 11, 29, 12, 30, 55, tzinfo=tzutc()), 'topic': 'products/update', 'address': '<REDACTED>', 'id': 2302062} 

在上面的例子中,我們嘗試設置網絡掛接格式爲「JSON」,但網絡掛接與「XML」的格式創建

這在以前是加工。昨天是我們第一次看到這個問題。

通過Web管理界面創建的Webhooks仍然可以正確地將格式指定爲json,但是Web管理界面不顯示通過api創建的任何webhook,反之亦然。

回答

1

這是shopify_python_api中的一個錯誤,其中的格式是在類上設置的,而不是在資源屬性上設置的。我剛剛解決了這個問題,並在1.0.3版本中發佈了shopify_python_api,所以升級後問題應該消失。

+0

謝謝迪倫 - 1.0.3更新已解決了這個問題。在Shopify結束時,格式默認從json更改爲xml?我很好奇這是如何正確工作的。 對於爲什麼Web管理界面沒有顯示通過api創建的任何webhook,或者相反,您有任何評論嗎? – benburry

+1

我不確定爲什麼此前的工作原理,只是格式屬性沒有在請求中發送。 Webhooks擁有所有權,因此每個應用程序只能看到自己的webhook,並且在卸載應用程序時可以卸載它們。對於應用程序他們是一個實現細節,商家應該卸載應用程序而不是webhook。 –