Удаление вебхука ShopifyAPI

Я проверил следующие URL-адреса:

Как удалить Shopify Webhooks, сделанные через Shopify API?

Удаление веб-перехватчиков

Но ни один из них, похоже, не объясняет, как удалить их через приложение.

Например, у меня есть более 100 магазинов с устаревшими веб-перехватчиками, которые я хочу удалить для них с помощью API.

@legacyhooks = ShopifyAPI::Webhook.find(:all, :params => {:limit => 15, :created_at_max => '2013-09-02', :order => "created_at DESC" })

Что это прекрасно работает. Но как их удалить?

Я пытался:

ShopifyAPI::Webhook.destroy  ShopifyAPI::Webhook.delete  ShopifyAPI::Webhook.remove

И ни один из них, кажется, не работает.

EDIT: я пробовал: ShopifyAPI::Webhook.delete({ :id => h.id })

Где PKID h.id находится внутри цикла. Но получаю ошибку 404.

Документация по ShopifyAPI::Webhook.create и ShopifyAPI::Webhook.find есть, но дальше ничего.

Я НЕ хочу использовать CLI или запускать команду cURL для каждого (например, могут быть тысячи)

Я просто хочу сделать это автоматически в приложении, которое само его создало.


person Brad Madigan    schedule 17.10.2013    source источник


Ответы (1)


Простой. Попробуй это. Работает идеально для меня каждый раз ...

@legacyhooks = ShopifyAPI::Webhook.find(:all, :params => {:limit => 15, :created_at_max => '2013-09-02', :order => "created_at DESC" })
@legacyhooks.each {|wh| wh.destroy }

Вы можете сойти с ума, расширяя эту концепцию...

Например... одна из моих рейк-задач... это:

def remove_webhooks
  ShopifyAPI::Webhook.all.each {|wh| wh.destroy if wh.topic == 'products/update'}
end

'Достаточно?

person David Lazar    schedule 20.10.2013