Create ShipStation shipment and generate label when an order is paid/captured in Moltin
Asynchronous microservice that is triggered by moltin webhooks to create a ShipStation shipment.
Built with Micro! 🤩
Both a moltin and ShipStation account are needed for this to function.
Create a .env
at the project root with the following credentials:
MOLTIN_CLIENT_ID=
MOLTIN_CLIENT_SECRET=
MOLTIN_WEBHOOK_SECRET=
SHIPSTATION_PUBLIC_KEY=
SHIPSTATION_SECRET_KEY=
Find your MOLTIN_CLIENT_ID
and MOLTIN_CLIENT_SECRET
inside of your moltin Dashboard's API keys.
MOLTIN_WEBHOOK_SECRET
can be anything you want.
Create a key to use for SHIPSTATION_PUBLIC_KEY
and SHIPSTATION_SECRET_KEY
inside of your ShipStation Portal.
Run the following command to build the app
yarn install
Start the development server
yarn dev
The server will typically start on PORT 3000
, if not, make a note for the next step.
Start ngrok (change ngrok port below from 3000 if yarn dev deployed locally on different port above)
ngrok http 3000
Make a note of the https ngrok URL
provided.
Next head over to the moltin Webhook Settings area, add a new integration (Settings > Integrations
and click Create
).
Enter any name and description for your Integration. Moltin recommends you prefix the name with DEVELOPMENT:
for any testing.
Next, enter the ngrok URL
from above and MOLTIN_WEBHOOK_SECRET
that you saved inside .env
.
Now finally you'll want to configure what Moltin Observables will cause this webhook to be invoked. In this example we want to monitor the Order
observable and select the Paid/Captured
box.
Click Save to register your new Webhook with Moltin.
You can easily deploy this function to now.
Contact Adam Grohs @ Particular. for any questions.