This is a site built with Eleventy that pulls in unshipped orders from Big Cartel and formats the shipping addresses so they can be printed to a 4×6 thermal printer. It also has a page for entering an address manually for one-off prints.
Why do you need to print labels though, Robb?
Good question, definitely real person. I have stickers and I would like to send you them in exchange for money.
What do they look like?
This:
Copy the .env.example file and fill in the BIGCARTEL_USER_PASS. This should be your Big Cartel subdomain and password like this: subdomain:password.
Then see the personal projects section of the docs - you need to make a request to https://api.bigcartel.com/v1/accounts to find your account ID for BIGCARTEL_ACCOUNT_ID.
A link to the order is shown in the top right of each label but these are not printed. These link to the order in the new BigCartel UI (app.bigcartel.com/orders/ORDERID).
This would work for other services like Stripe for example - update src/_data_/unshippedorders.js to fetch orders from Stripe, then update index.njk to get the correct fields for name, address, etc.
There is also a CSV data extension added in .eleventy.js so if you wanted to export a list of orders from a service, you can do that. Add the csv file into _data, e.g. exported.csv, then you can access exported.csv in index.njk..

