2017-05-30 15 views
1

API v3.0を使用してmailchimpデータベースから古い製品をクリーンアップしようとしています。Mailchimp - すべての製品を削除

MailchimpのEコマースdocumentationは、使用して、単一の製品を削除する方法について説明します。

DELETE /ecommerce/stores/{store_id}/products/{product_id} 

を一度にすべての製品を削除する方法はありますか?削除するレコードが何千もあるので手動ではできません。

答えて

0

私は一度にすべての製品を削除する方法を見つけることができませんでしたので、私はバッチで製品を削除するにはNodeJSスクリプトを書いた:

// delete-script.js 
const request = require('request') 

const headers = { 'Authorization': 'Basic XXX-usX' } 
const productsUri = 'https://usX.api.mailchimp.com/3.0/ecommerce/stores/XX/products' 

const erasePage = request.bind(this, { 
    uri: `${productsUri}?count=1000`, 
    method: "GET", 
    headers 
}, (err, res, body) => { 
    const products = JSON.parse(body).products 
    const length = products.length 

    if (length === 0) return 

    let resolvedDeletions = 0 

    products.forEach(({ id }) => { 
    request({ 
     uri: `${productsUri}/${id}`, 
     method: 'DELETE', 
     headers 
    }, err => { 
     if (err) return console.error(err) 

     console.log('deleted ', id) 

     if (++resolvedDeletions === length) erasePage() 
    }) 
    }) 
}) 

erasePage() 

単にnpm install requestその後、node delete-script.js

でスクリプトを実行します
関連する問題