Product update: We've been building
After launching Commerce.js in January, the human behaviours that drive the world of commerce have shifted in a big way.
This digital renaissance means that every company is now a software company as businesses and customers default to online transactions. These recent events have further reinforced our mission as a company — increase the access to modern, API-first tools that lower the cost of experimentation for businesses.
We’ve spent the past few months building the foundation for our headless commerce platform so we can continue to support businesses and their evolving and unique use cases. The team have been working hard to make our APIs more robust and the dashboard a powerful place to manage products and orders.
Let’s highlight a few of the improvements, fixes, and wins we’ve made over the past few months.
- Added support for using Stripe Payment Intents as a payment method
- Improved error handling when using Stripe payment gateway
- Added APIs for managing digital fulfillments on an order: list, get, revoke, enable
- Updating objects via PUT API requests are no longer idempotent, partial data updates are now allowed using this method, previously requests were idempotent
- All API endpoints now return appropriate no-cache HTTP headers
- Added CRUD endpoints for API keys
- Added API endpoints and support for webhooks and webhook delivery history
- Add unique signing key for merchants to verify authenticity of webhook delivery's signature
- Manual payments are now included in the
pending_paymentsarray of the order object
- Optimised database table indexes to improve order API performance
- Order API now includes digital package expiry date
- Order object
metadataattribute is now named
metato be in line with other objects
- Updating an order now supports defining a custom
- Orders may now be retrieved by the
- Creating or updating a product via the API now supports configuring discounts for it in the same operation
- Creating or updating a product now returns the updated product object
- Products now support a custom
metaattribute via the API
- Added support for tax exempt products
- APIs for retrieving a product, adding to cart, and generating a new cart from a product may all now use the product's SKU as an identifier
- The discount object now includes an
- Updating discounts is now supported via the API
- Discounts can now be applied to multiple products
- Added CRUD API endpoints for categories
- Creating and editing categories now allows for nullable
- Deleting a category now returns the category's ID, and clears existing product associations
- Our new headless dashboard is being rolled out to deliver an elevated admin experience
- Digital packages in an order may now have their expiry date and download counter cleared
- Webhook delivery history records now include the first 500 characters of the callback URL's response body
Other notable updates
- Released a new demo store to highlight the power and flexibility of Commerce.js
- Launched HeadlessCommerce.org to drive awareness in the headless commerce ecosystem
- Listed Commerce.js as an integration partner with Manifold
- Beta integration with Zapier
- Added Commerce.js examples to the API documentation
- Added new integration resources for React.js, Next.js, Vue.js, Nuxt.js, Three.js, Gatsby
- Improved response attribute documentation for discounts, categories, and developer log API endpoints
Without giving too much away, we’ve got some exciting updates and features in the pipeline. These include ongoing updates to the dashboard, the creation of new endpoints, and a documentation/ guides overhaul.
To get a first glance at these features and be closer to our developer community, join our community slack channel.