Importing existing customers and subscriptions into Stigg in bulk
Motivation
In case you integrate with Stigg while having existing customer base, you might want to import your existing customers into Stigg.
We prepared a CLI tool that manage the import process:
- It reads the list of customers to import from a JSON file.
- It's idempotent - feel safe to re-run it.
Usage
Prerequisites
- NodeJS must be installed
Preparing the input JSON file
Create a file input.json
that contains all the customers that should be imported into Stigg.
The file should be in the following schema:
{
"customers": [
{
"customerId": "lorem-ipsum",
"email": "[email protected]", // optional
"name": "Lorem ipsum", // optional
"billingId": "cus_MvdQq1bVD1BQHe", // optional - if the customer exists in a billing solution that's integrated with Stigg (for example: Stripe)
"subscription": {
"planId": "plan-local-env-p-1",
"billingPeriod": "MONTHLY", // optional - requried for paid plan
"unitQuantity": 5, // optional - required for per-unit paid plan
"startDate": "2022-01-01T00:00:00.000Z" // optional - used for backdating
},
"featuresUsage": { // optional - set usage for features
"feature-seats": 9 // key is feature id, value is the current usage
},
"metadata": { // optional - set metadata for the customer
"isTest": "true"
}
}
// ...
]
}
Initiating the bulk import process
Obtain a Server API key from the Stigg Console.
Export it as environment variable:
export STIGG_SERVER_API_KEY='<SERVER-API-KEY>'
Initiate the bulk import process:
npx @stigg/bulk-import --input-file input.json
During the import process there will be a progress bar.
When the import process is complete a summary will be displayed.
Updated 3 months ago