Shopify API: How do I get API schema changes? - api

We have a custom integration that uses Shopify API. Changes to the schema breaks the integration. Today we have found The field Source has been removed and 3 fields have been added in its place: source_identifier , source_name and source_url. (orders api)
Is there a way to get information on coming changes, so we can be pro-active, rather than waiting for our integration to break in production and look for the changes while our fulfillment service waits?

Better late than never ;) I suggest you checkout the API Accouncements topic in the Shopify forum, as that is where all important API changes are posted:
https://ecommerce.shopify.com/c/api-announcements
Note: You can subscribe to the topic, so whenever something new is posted you'll automatically get an email notification.

Related

How would I go about developing a program that automatically sends an email with the tracking number to a customer using EasyPost API?

I'm a fairly new web developer and I have an ecommerce website that integrates EasyPost to create and print shipping labels.
EasyPost has an API. Also, in each shipping label, I see a JavaScript object (I think) that displays buyer_address... "email": "example#gmail.com",, which tells me that the email information is there.
My question is somewhat general in scope: What steps would I need to take to go about creating this automation? The website is built in Webflow, so I don't really have a "codebase" or "repository" to store whatever code is needed to build the automation.
Since the buyer email is making it into EasyPost with integrations already in place, I feel that I could create a simple program that emails the tracking number to the buyer email every time a label is generated, or perhaps when package is shipped, without the program needing to interact with Webflow or other integrations.
I attempted using Zapier, as well as Make.com. Neither worked, and OrderDesk doesn't have a way to send tracking number emails.
It looks like Webflow has some kind of support for Webhooks (https://webflow.com/feature/create-webhooks-from-project-settings). EasyPost offers webhooks for free as an add-on service. Basically, with webhooks, EasyPost would send tracking events to Webflow proactively, but Webflow (or you) would need to manage the logic for what to do with those tracking events after they are delivered.
EasyPost Webhook Guide
I'm unaware of any off the shelf products that could do this for you without writing any code. We have a guide that details how you might accomplish this with Ruby (you could then follow this as an example for any other language): https://www.easypost.com/email-tracking-tutorial
A few suggestions:
Integrate something into Webflow if possible (I'm unfamiliar with the platform so couldn't say).
Build a simple script that runs on a schedule (cronjob) that retrieves your trackers from EasyPost and sends an email to customers if they have not yet received one. To your point, this approach wouldn't require interacting with Webflow at all and could be done with some local code running on a server and just your EasyPost API key.
I've created a simple UI for EasyPost: https://github.com/Justintime50/easypost-tools-ui, it could be interesting to add this particular use-case as a feature to that project. If you're interested, feel free to open an issue on GitHub for the repo listed here and I'd consider it.
You'd use easypost's API webhooks, to detect when shipment tracking information is provided, or package information is updated.
https://www.easypost.com/docs/api#trackers
It looks like it has a lot of states, so you can keep the client updated regarding the package status from the moment the tracking # is assigned;
EZ1000000001 pre_transit
EZ2000000002 in_transit
EZ3000000003 out_for_delivery
EZ4000000004 delivered
EZ5000000005 return_to_sender
EZ6000000006 failure
EZ7000000007 unknown
You can install webhooks from these docs.
To send the email, you can use an automation service e.g. Make to capture those webhook events, and then compose and send an email to that customer. I like MailJet for that purpose, because it has excellent template support and you can send from your own company domain. But there are many email-sending options.
A bigger challenge, maybe, is getting the email address to send to. I didn't spot it glancing through the Trackers or Shipments data structures, and I am primarily seeing physical address info.
If EasyPost is not tracking the customer's email with the shipment, you may have some challenge in that you'd need to capture the client info through Webflow's order webhooks, and then associate that with EasyPost's shipmentid, and store those in a reference table.
Many automation services offer database-like functionality for this purpose, or you could use e.g. google sheets ( columns webflow OrderID, easypost ShipmentID, customer Email ) or airtable for that purpose.
But you'd have to look into the Easypost integration as well, and you may need to make that integration manual so that you can acquire all 3 of those pieces of information at the same point in your business data flow.

Shopify app for altering the default checkout procedure

I need to create a solution for altering the checkout process.
Better said, I need to add some functionality to it with a remote app (I am not sure if this is the right way to do it).
Mainly, what is needed represents a process that calls an external API, using a private API key from a delivery company, that registers a pick-up from the buyers house and sends the product to our headquarters.The process should be started when the user completes the entire checkout system from shopify, after payment.
After that, some AWB should be returned to the users checkout page, or some response regarding the creation of the pick up.
My question is, let's say, using some language like javascript with node and Koa or express, how one can achieve that? I can't find any tutorials or something that would help me do this.

Shopify subscription but doesn't start until second billing cycle

I would like to set up a Shopify subscription model that starts with 1 main product but allow for recurring subscription of "refills" for the product. However the "refills" would should only start on the second month as the main product includes the first set.
Is there a subscription app that allows for this functionality?
That is completely supported by the Shopify Subscription API. If you try the various Apps that support Subscriptions, and they do not provide for this functionality, make a support request. You'd be surprised how easy it can be to get them to add basic stuff. Otherwise, roll your own App and you can make a plan that has this functionality without too much fuss.

Integrate Podio to send a notification to a HipChat room when a new item is created in an app

I would like to understand how I can send a notification to HipChat when a new record / item is inserted into a Podio app.
I can see that if I pay more money that additional options are made available via the workflows Podio provides utilising Globiflow, but with a large number of users this isn't possible for us.
I have then looked into the Hooks that a Podio app provides, but because this is auto-validated I don't see how I can use this with HipChat.
Does anyone have any experience of this and integrating Podio with HipChat to post a new notification into a HipChat room?
I have used the free trial at Zapier, and got it working, but would ideally like to avoid yet another solution.
Podio doesn't provide direct integration with HipChat, so you will have to use something else as communication layer between Podio and HipChat. It could be your own service that will receive webhooks from Podio and post messages to HipChat. Or it could be some other solution that will do something very similar.
From what I've seen so far, Zapier looks like it'll do what I need. Shame I have to pay though for one 'simple' connector task.

Spree API Endpoints and Checkout Workflow

We wanted to create a Spree app where the entire front-end is a single-page app.
What is the recommended approach for this?
As part of the same, we were exploring the Spree API endpoints required to be used from the front-end.
Are there any references or guides we can follow, particularly on the implementation of the checkout process?
We couldn't find any API documentation on creation of shipping address and billing address during the checkout process.
We tried sending a POST request to the addresses API controller, but there were only the show and update methods there
We tried a PUT request on the orders API controller by passing parameters such as orders['bill_address_attributes']['...'], orders['bill_address']['...'], but we received status 422.
We also tried a POST request at /checkout/update/address, but we got route not found error.
We have not been able to find a method to create shipping and billing addresses in the 'address' phase of the checkout flow.
Are there further references where we can find details on this?
Any pointers to documentation or source code regarding the above would be of great help.
The checkout workflow is a little tricky, but going through each step of the checkout process defined here will work.
But, I'm sure you've looked at that and it isn't so easy to follow, but not to fear, Spree has a walkthrough online that will make it easier to soak up:
https://github.com/radar/spree_api_examples/blob/master/examples/checkout/walkthrough.rb