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