To enable the best user experience, below are a few items to keep in mind when developing a BigCommerce Channel App.
As the specific needs of every merchant is different, the features of your app should be as modular as possible.
Consider the audience and various use cases for your application:
Merchants should have the option to opt-in or out of the various features of your application.
If an issue occurs, a merchant should have the option to disable a specific feature that may not be behaving as expected. The idea here is to allow the merchant to continue using the features that are functional while temporarily resolving an issue - instead of having to disable the application completely.
For the various features of your application, it is typically a best practice to offer both a manual ‘one time sync’ option and automated sync options (based on various sync intervals).
This will provide the merchant with more control over what is synced and when.
Example Automated Sync Intervals:
To provide merchants with a positive integration experience, we expect point of sale applications to meet or exceed the following benchmark:
This volume of requests per second may hit the rate limits of lower tier BigCommerce plans - logic should be implemented around the response headers to ensure your application does not exceed the allowable number of requests for a given storefront.
For increased performance, consider using batch operations and parallel requests when possible.
A log of all events should be kept and made accessible to the merchant utilizing the application. Logs should be broken out per service. For example, a user should be able to access all logs related to a specific feature.
Logs should be provided in a light, human-readable format and appended to the running feed of logs:
The merchant should also have the option to download verbose logs in CSV format:
These logs would provide more granular details on the event that took place and all affected products.