Introducing a new Node library for accessing the Shopify Admin API

Liam
Shopify Staff
Shopify Staff
690 19 268

Hi App Developer Community,


The new Shopify Admin API library for Node is here! This library makes interacting with the Admin API easy and works with any backend framework (Koa, Express, etc). 

This new library includes all the key features we believe developers are looking for when building a Shopify app, including:

  •   JWT Based Authentication
  •   REST / GraphQL Clients
  •   GraphQL Proxy 
  •   Cursor Based Pagination
  •   Webhooks subscription helpers and HMAC validation 

The existing `koa-shopify-auth` package has also been updated to use this new library [migration guide here], as well as our Node & React tutorial and the Shopify App CLI. For some more examples of its usage, please visit the Getting started guide in the GitHub repository.

The future of Shopify Admin API libraries

Shopify is actively updating all our Admin API libraries in 2021 and this new Node library is the first to be released. Our goal is to create a suite of open-source libraries consistent in functionality across a variety of languages and Shopify’s app best practices. We also have future plans to build enhanced experiences on shopify.dev based on these libraries (tutorials with code samples and requests in API references in your language preference).

We want your input to make the libraries as useful as possible, to enable the developer community to get their apps on the Shopify App Store as soon as possible.

Have some feedback? Reply to this post and let us know!

Liam | Developer Advocate @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

Replies 23 (23)
luistmartins
Shopify Partner
16 0 1

@dylanpierce 

Thanks so much for taking the time to go through this Dylan.
I've figured out since that I could use the access token given out by the auth callback, so it all makes a bit more sense to me now. It was my lack of understanding of all involved parts that lead to my confusion, so again thank you for adding this information here.

dylanpierce
Shopify Partner
167 3 75

@luistmartins 

No problem!

That's right, and it is a bit confusing with essentially 2 parts of authentication:

1. Access Tokens (server side stored and used) - distributed to your app during the OAuth callback when the merchant accepts your auth scopes (the /api/auth/callback.js example in next-js-shopify-toolbox)

2. Session Tokens (browser side, JWT, generated by AppBridge) - distributed by Shopify's AppBridge, which requires the shopOrigin (aka shop name) and you pass to **your** API using axios. Behind the API on the server, it's up to you to find the corresponding Access Token given the shop's name from the Session Token.

Good luck!

Founder of Verdict - Anti-Fraud Apps for Shopify
  • Real ID - Verify your customer's real IDs easily & securely
  • Blockade - Easily block countries, IP addresses, VPNs
umerhamza
New Member
1 0 0

Hi, I hope you are doing well.

I am recently starting work on Simple Public Shopify App (It's literally for learning) with node and react. I have confused about the stack. Shopify is providing the Next JS for Frontend Development and KOA for Backend Development.

According to docs of next js. we can write our own API in the next js. Then Why We use KOA?

EugeneKim
Shopify Partner
60 3 20

It looks like the the library is largely written in Typescript. It would be great to have the actual REST Admin API objects written as types as well from the Shopify team and not a 3rd party so that we can have types we can rely on.

Is something like this on the roadmap for this or another library?

Thank you