Over the last month we've been rolling out a series of updates to the API. The aim has been twofold: 1) to make the API easier to use and 2) to make available to developers much more of what's available in the SendOwl control panel. Below is a summary of all the changes we've been making:
Overview/Getting started document
We've added a help document for developers to provide a high level overview all the integration points with SendOwl and how they interact. It's a great starting point for those new to creating a SendOwl integration, or for those wondering how to link the various integration points. The document can be read on our help site.
Multiple API keys and access levels
Previously accounts were limited to one API key/secret per account but we've expanded that allow multiple keys (as shown in the screenshot above). This allows you to use different keys for test/production or different integrations. It also offers better protection if a key ever gets compromised as you can just remove it and create another one without contacting support.
As part of this we also allowed the same access right to API keys as we do to users in our multiple-user accounts, so you can limit a given API key to just accessing orders for example.
sendowl.js upgrades
sendowl.js can now be used to programmatically add items to a cart and retrieve a cart count. Details can be found on the sendowl.js doc pages
We've also added a cart widget you can use on your site that will show how many items are active in the buyers cart. Full details on that on our help site
Web Hook for a payment
We've added a Web Hook for a payment. This is especially useful on subscriptions when you want to be notified of every payment. This will fire on every payment though so if you already have a new order web hook be sure to add some logic to detect that you'll receive two web hooks when a new order comes in (one for the order, one for the payment).
Products/Packages/Subscriptions API
We've added:
search end points to find a product
lookup by Shopify variant id
management of drip products
the ability to send out an update email when replacing a file
Details on the products API documentation pages
Orders API
We've released a new version (1.1) to support the new refunding method and added:
Direct download link information (not just a link to the download page)
A refund endpoint
A cancel subscription endpoint
The ability to grant/revoke order access
A reset downloads/download time endpoint
A resend order emails endpoint
Details on the orders API documentation pages
Licenses and Discounts API
We've added:
A refunded flag to the licenses check so it's quick to check if a license is against a refunded order or not
The ability to create licenses
The ability to manage discounts with multiple codes
Deletion of discounts
Other changes
And finally some other smaller changes:
Errors are now returned in the correct format (xml/json) instead of HTML
We've added more error catching code so you should get a relevant error message telling you what to correct in more situations
Documentation pages have been redesigned so they're easier to use and more in keeping with SendOwl branding