2017-05-30 148 views
1

我試圖從使用API​​ v3.0的mailchimp數據庫清理舊產品。Mailchimp - 刪除所有產品

Mailchimp的電子商務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