@stigg/bulk-import
v1.8.0
Published
CLI tool to bulk import customers to Stigg
Downloads
100
Maintainers
Keywords
Readme
Bulk import customers to Stigg
After creating your product catalog in Stigg, you can import your existing customers into Stigg.
This tool will 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
Prepare input json files
The CLI support import data of customers, subscriptions and feature usage into Stigg.
Import customers
Create a file customers.json
that contains all the customers.
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 an existing customer in Stripe
"paymentMethodId": "pm_1N04AHEdaKWoSZ0OgP78RflV", // required for paid customers
"updatedAt": "2022-01-01T00:00:00.000Z", // optional - indicates the last update of the customer. In case there's already existing customer that was updated after that date, it will skip import this customer
"metadata": {
// optional - set metadata for the customer
"isTest": "true",
},
},
// ...
],
}
Import subscriptions
Create a file subscriptions.json
that contains all the subscriptions.
{
"subscriptions": [
{
"customerId": "lorem-ipsum",
"planId": "plan-local-env-p-1",
"resourceId": "site-1", // optional - required for multiple subscriptions product
"billingPeriod": "MONTHLY", // optional - required for paid plan
"unitQuantity": 5, // optional - required for per-unit paid plan
"startDate": "2022-01-01T00:00:00.000Z", // optional - used for backdating
"updatedAt": "2022-01-01T00:00:00.000Z", // optional - indicates the last update of the subscription. In case there's already existing subscription that was updated after that date, it will skip import this subscription
"metadata": { // optional - set metadata for the subscription
"isTest": "true"
}
},
// ...
]
}
Import feature usage
Create a file usage.json
that contains all the features' up-to-date usage.
{
"usages": [
{
"customerId": "lorem-ipsum",
"resourceId": "site-1", // optional - required for multiple subscriptions product
"featureId": "feature-seats",
"usage": 5
}
// ...
]
}
Execute bulk import
- Obtain Server API key from https://app.stigg.io/account/settings
- Export it as environment variable:
export STIGG_SERVER_API_KEY='<SERVER-API-KEY>'
- Initiate the bulk import process (you can either import all at once or do it separately):
npx @stigg/bulk-import --customers-file customers.json --subscriptions-file subscriptions.json --usage-file usage.json
- During the import process there will be a progress bar.
- At the end of the process a summary will be displayed.