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
.
Param | Type | Default | Description |
---|---|---|---|
apiKey | string | Deno.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)