Netzo Logo

chartmogul

ChartMogul is a subscription analytics platform to measure, and grow subscription businesses.

Usage

import { chartmogul } from 'netzo/apis/chartmogul.ts'

const api = chartmogul({
  apiKey: Deno.env.get('CHARTMOGUL_API_KEY')
})

Configuration

The chartmogul factory function expects an object with the following, and returns an object with an API client api.

ParamTypeDefaultDescription
apiKeystringDeno.env.get('CHARTMOGUL_API_KEY')the api key to use for authentication
Refer to the API documentation to get the required information.

Examples

The following examples assume you have created an api client instance.

Find customers

Find all records that match the query.

const query: QueryCustomers = {}
const result = await api.customers.get<Customers>(query)
const resultData = result.entries

Get customer

Get a customer by id.

const resultData = await api.customers[CUSTOMER_UUID].get<Customer>()

Add customer

Add a new customer.

const data: DataAddCustomer = { data_source_uuid: DATA_SOURCE_UUID, external_id: EXTERNAL_ID, email: '[email protected]'; }
const resultData = await api.customers.post<AddOrUpdateCustomerResult>(data)

Update customer

Update a customer by id.

const data: DataUpdateCustomer = { email: '[email protected]' }
const resultData = await api.customers[CUSTOMER_UUID].patch<AddOrUpdateCustomerResult>(data)

Delete customer

Delete a customer by id.

const resultData = await api.customers[CUSTOMER_UUID].delete<{}>()

Find customer subscriptions

Find all subscriptions that correspond to a specific customer by customer id.

const query: QueryCustomerSubscriptions = {}
const result = await api.import.customers[CUSTOMER_UUID].subscriptions.get<CustomerSubscriptions>(query)
const resultData = result.subscriptions

Find customer invoices

Find all invoices that correspond to a specific customer by customer id.

const query: QueryCustomerInvoices = {}
const result = await api.import.customers[CUSTOMER_UUID].invoices.get<CustomerInvoices>(query)
const resultData = result.invoices

Find invoices

Find all invoices that match the query.

const query: QueryInvoices = {}
const result = await api.invoices.get<Invoices>(query)
const resultData = result.invoices

Get invoice

Get an invoice by id.

const query: QueryInvoice = {}
const resultData = await api.invoices[INVOICE_UUID].get<Invoice>(query)

References