Skip to content
On this page
netzo/apis/chartmogul

ChartMogul

ChartMogul is a subscription analytics platform, helping you to measure, understand and grow your subscription business.

  • labels: sales, analytics
  • authentication: apiKey

Usage

ts
import { chartmogul } from 'https://deno.land/x/netzo/apis/chartmogul/mod.ts'

const { api } = chartmogul({
  apiKey: Deno.env.get('CHARTMOGUL_API_KEY')
})
import { chartmogul } from 'https://deno.land/x/netzo/apis/chartmogul/mod.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 HTTP 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. Refer to the type definitions for all exported types to pass to the api client for typed responses.

Find customers

Find all records that match the query.

ts
import type { Customers, QueryCustomers } from 'netzo/apis/chartmogul/types.ts'

const query: QueryCustomers = {}
const result = await api.customers.get<Customers>(query)
const resultData = result.entries
import type { Customers, QueryCustomers } from 'netzo/apis/chartmogul/types.ts'

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

Get customer

Get a customer by id.

ts
import type { Customer } from 'netzo/apis/chartmogul/types.ts'

const resultData = await api.customers[CUSTOMER_UUID].get<Customer>()
import type { Customer } from 'netzo/apis/chartmogul/types.ts'

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

Add customer

Add a new customer.

ts
import type { AddOrUpdateCustomerResult, DataAddCustomer } from 'netzo/apis/chartmogul/types.ts'

const data: DataAddCustomer = { data_source_uuid: DATA_SOURCE_UUID, external_id: EXTERNAL_ID, email: '[email protected]'; }
const resultData = await api.customers.post<AddOrUpdateCustomerResult>(data)
import type { AddOrUpdateCustomerResult, DataAddCustomer } from 'netzo/apis/chartmogul/types.ts'

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.

ts
import type { AddOrUpdateCustomerResult, DataUpdateCustomer } from 'netzo/apis/chartmogul/types.ts'

const data: DataUpdateCustomer = { email: '[email protected]' }
const resultData = await api.customers[CUSTOMER_UUID].patch<AddOrUpdateCustomerResult>(data)
import type { AddOrUpdateCustomerResult, DataUpdateCustomer } from 'netzo/apis/chartmogul/types.ts'

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

Delete customer

Delete a customer by id.

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

Find customer subscriptions

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

ts
import type { Customersubscription, QueryCustomerSubscriptions } from 'netzo/apis/chartmogul/types.ts'

const query: QueryCustomerSubscriptions = {}
const result = await api.import.customers[CUSTOMER_UUID].subscriptions.get<CustomerSubscriptions>(query)
const resultData = result.subscriptions
import type { Customersubscription, QueryCustomerSubscriptions } from 'netzo/apis/chartmogul/types.ts'

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.

ts
import type { CustomerInvoices, QueryCustomerInvoices } from 'netzo/apis/chartmogul/types.ts'

const query: QueryCustomerInvoices = {}
const result = await api.import.customers[CUSTOMER_UUID].invoices.get<CustomerInvoices>(query)
const resultData = result.invoices
import type { CustomerInvoices, QueryCustomerInvoices } from 'netzo/apis/chartmogul/types.ts'

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.

ts
import type { Invoices, QueryInvoices } from 'netzo/apis/chartmogul/types.ts'

const query: QueryInvoices = {}
const result = await api.invoices.get<Invoices>(query)
const resultData = result.invoices
import type { Invoices, QueryInvoices } from 'netzo/apis/chartmogul/types.ts'

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

Get invoice

Get an invoice by id.

ts
import type { Invoice, QueryInvoice } from 'netzo/apis/chartmogul/types.ts'

const query: QueryInvoice = {}
const resultData = await api.invoices[INVOICE_UUID].get<Invoice>(query)
import type { Invoice, QueryInvoice } from 'netzo/apis/chartmogul/types.ts'

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

References