Mailchimp - 删除所有产品

时间:2017-05-30 03:07:27

标签: e-commerce mailchimp mailchimp-api-v3.0

我尝试使用API​​ v3.0从mailchimp数据库中清理旧产品。

Mailchimp的电子商务documentation解释了如何使用以下方式删除单个产品:

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

有没有办法一次删除所有产品?我无法手动执行此操作,因为我要删除数千条记录。

1 个答案:

答案 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

执行脚本