Customers

Add customers, segment them, and record their activity.

goomzo.customers, goomzo.segments and goomzo.activity keep Goomzo in step with your own system. See Customers.

Add or update customers

const { items } = await goomzo.customers.create({
  ifExists: 'update',
  customers: [
    {
      name: 'Amina Juma',
      phone: '+255712345678',
      attributes: { plan: 'gold' },
      segments: [{ name: 'Shoppers' }],
      activities: [{ key: 'purchased', value: 'Shoes' }],
    },
  ],
})

items[0].result // "created", "updated" or "unchanged"

Record customer activity

await goomzo.activity.record({
  phone: '+255712345678',
  activities: [
    { key: 'purchased', value: 'Shoes' },
    { key: 'spent', value: 45000 },
  ],
})

Segments

for await (const customer of goomzo.segments.customers.list('seg_4hq2v9n1c8x0t6pk')) {
  console.log(customer.name)
}

await goomzo.segments.customers.add('seg_4hq2v9n1c8x0t6pk', ['cus_4hq2v9n1c8x0t6pk'])

Other methods

MethodDoes
customers.list(query)Lists customers, a page at a time.
customers.get(id)Gets one.
customers.update(id, body)Changes one.
customers.delete(id)Deletes one.
customers.segments.set(id, names)Sets the segments a customer is in.
customers.activity.list(id)Lists a customer's activity.
segments.create(body)Adds a segment, by hand or by rules.
segments.customers.remove(id, ids)Takes customers out of a segment.

Next steps

Last updated