Most of the shops we want to work with this month sell on Shopify. Until last week, connecting them had a problem we need to be honest about. The method Sinan used to connect to a Shopify store only worked for stores that belong to our own Shopify developer account. When one of our shops tried to connect their store, Shopify refused, and no merchant's store could connect.
On October 15 we shipped a different way to connect. On October 16 we fixed two mistakes we had made in it. This post covers what changed, what you do now, and what went wrong.
What you do now
- In the app, open More, then Connectors, and choose Shopify. Enter your shop's address and the Client ID and secret from your Shopify app. These fields are under Advanced, which opens by itself when a key is missing.
- Tap Connect. Sinan sends you to Shopify's own screen for your store, where you approve the connection in Shopify.
- Shopify sends you back to the app. Connectors opens by itself and tells you once whether the connection worked, or why it didn't.
That's all you do. Before, you also had to enter a separate key for orders and stock. When you connect this way, that key is optional.
What happens after you approve
When you approve on Shopify's screen, Shopify gives Sinan a permanent access token for your store. We store it encrypted. Sinan uses it to read your orders and stock, and to make the store changes you approve. That last part hasn't changed: any change Sinan proposes in your store still waits for your tap.
We also check every step of the connection. Sinan only accepts a reply that really comes from Shopify and belongs to the connection you started, for your business and your store. Each connection link works once and expires after ten minutes. If any check fails, nothing is saved.
We kept the old connection method for our own stores, where it still works. Your store connects only through the new one.
What we got wrong, and fixed the next day
On October 16, one of our shops connected their store this way, and the install worked. Then two things went wrong, both our mistakes.
First, reading orders failed. When Sinan used the saved token, it sent it still encrypted, and Shopify refused it. Our tests had missed this because the test setup doesn't encrypt anything. We fixed it the same day, and the token the shop had already saved started working without a reconnect.
Second, Settings said "Not connected" even though the orders were loading. One part of Sinan that reads your business left out the new token. Because of that, Settings showed the wrong state, and push notifications for new orders didn't go out for that store. We fixed that too, again with no reconnect needed.
We added a check to our tests for each mistake. Both would now fail the tests before a change could ship.
We now see every connection attempt
When that shop's first two attempts failed on October 14, we found nothing about them on our side. We only knew because we were told. Now every connect, disconnect and failed attempt, on Shopify and on all the other store and tool connections, is recorded. Each record says who tried, which system it was, how it ended, and the sentence you saw on screen. It never includes the keys or secrets you typed.
Our team reviews the failed attempts from the last seven days. If your connection fails, we'll know even if you don't write to us. You can still write to us anytime from Your named contact under More.
What this means for you
If you sell on Shopify, you can now connect your own store in a few taps. Sinan can then answer your customers with your real orders and stock, and still asks you before it changes anything in your store. The new method has only been used on real stores since October 16, so if something looks wrong when you connect, tell us. We'd rather hear about it on day one.