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

执行脚本