我尝试使用API v3.0从mailchimp数据库中清理旧产品。
Mailchimp的电子商务documentation解释了如何使用以下方式删除单个产品:
DELETE /ecommerce/stores/{store_id}/products/{product_id}
有没有办法一次删除所有产品?我无法手动执行此操作,因为我要删除数千条记录。
答案 0 :(得分:1)
我无法一次找到删除所有产品的方法,所以我编写了一个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