- Start here
- Getting Started
- Development Store
- Build an app
-
App Development
-
Webhooks
- Guides by use case
- Popular APIs
-
Logistic Apps
- Reference
- Authentication
- API access scopes
- API call limit
- Response status codes
- API 3.0 reference ↗
- API 4.0 reference ↗
- EasyStore App Store ↗
App Development 🧩
This guide explains what an EasyStore App is and walks you through building one, from registering it to publishing it.
What is an EasyStore App?
An EasyStore App is similar to a mobile application installed on your smartphone. A mobile application provides additional functionality to your mobile device. In the same way, an EasyStore App provides additional functionality to an EasyStore store.
EasyStore merchants can browse the apps published in the EasyStore App Store. It is a similar concept to the Apple App Store on iOS, Google Play Store on Android and Huawei AppGallery on HarmonyOS.
After a merchant successfully installs your app into their store, you can access the store's data, such as products, orders and customers, through the API provided by EasyStore. The scope of the access depends on the permissions requested during installation.
┌──────────────────┐
│ Merchant │
└────────┬─────────┘
│ 1. Installs your app
▼
┌──────────────────┐ install to ┌──────────────────┐
│ Your App │ ───────────────────► │ Merchant Store │
└────────┬─────────┘ └────────▲─────────┘
│ │
│ 2. Reads and writes store data: │
│ products, orders, customers... │
│ │
│ ┌─────────────────┐ │
└──────────► │ EasyStore API │ ─────────┘
└─────────────────┘
How an integration works
Your app is a web service. To integrate with EasyStore, it exposes three URLs that EasyStore calls, and it calls the EasyStore API with an access token:
| Your endpoint | When EasyStore calls it | What your app does |
|---|---|---|
App URLGET |
When a merchant installs your app, and every time they open it | Verifies the request, then either starts installation (new store) or shows your app's UI (installed store) |
Redirection URLGET |
After the merchant approves the permissions your app asked for | Verifies the request, exchanges the one-time code for an access token, and saves it |
Webhook URLPOST |
When a subscribed event happens, for example app/uninstall |
Verifies the signature, then reacts to the event |
Every request EasyStore sends is signed with your app's Client secret, so your app can check it really came from EasyStore. Develop app walks through each endpoint step by step.
Before you start
- An EasyStore Partner account (free)
- A development store to install and test your app on
- A server reachable on public HTTPS. During development, a tunnelling tool can expose your local server.
- A database to store each store's
shopdomain and access token
Start building
Follow these guides in order:
Once your app is installed, Popular APIs shows what you can build with products, orders, inventory, customers and online store customisation.
FAQ
Does the app need to be reviewed and approved before I start building?
No. You can create the app, build its functionality and access the API before the review process. You only need to submit it for review if you wish to publish the app to the EasyStore App Store.
My app is only for my own clients. Does it need a review?
No. If you don't plan to publish it on the EasyStore App Store, skip the review and share the app link with the stores that need it.
Error messages
Common errors returned by the EasyStore API to apps:
| Message | Code | Reason |
|---|---|---|
| Permission denied. | permission_denied |
|
| Redeem timeout. | redeem_timeout |
The authorization code expired before it was exchanged (codes are valid for 5 minutes). Ask the merchant to install the app again, then exchange the new code straight away. Store the access token once you have it; you don't need to repeat this. |
For HTTP status codes returned by the API, see Response status codes.