Shopify with custom digital licensing - shopify

I am looking to build an online storefront that will contain digital software which requires licenses to activate.
I'm curious if there's some sort of process after purchase/checkout in Shopify (perhaps through an ability to tie into our company's internal API to retrieve a license and assign it to a product id), then present this to the user through email or on Shopify's checkout/download link directly?

That is indeed a very common pattern in Shopify. When a customer purchases a product, you can hook up some scripting code to inspect the order. When you find a case of needing to issue a license, the script can ask your system (via an API) for a license and send it to the customer however you want (via email for example). There are many ways to skin this cat.

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.

BigCommerce Requirements to "Join the Technology Partner Program"

I want to write an app for BigCommerce.
On the BigCommerce developer website, it says
"Before you begin, you’ll need a sandbox store. BigCommerce offers app developers free sandbox stores through its Technology Partner Program. To get your sandbox store, apply to become a BigCommerce Technology Partner. To be approved as a partner, you will need:
A website.
The ability to support users of your app."
I have written code to modify themes using trial stores in the past without being a partner. (That is not what I am trying to do here, I did that in the past. I am trying to write an app, ANY app. I made the statement about modifying themes with a trial store to emphasize the fact that I know that I can do that and I am assuming that the sandbox store has other capabilities like the ability to access the control panel code.) As far as I can see, an app will need to integrate with the control panel code that I cannot see from just having a store. So, I am assuming that the sandbox store issued when approved as a partner will have this capability.
I sent an email to BigCommerce asking about the approval requirements and their reply was this.
“you must prove that you are an application developer. This consists of a website where you showcase the functionality and current companies that are possibly using your app.
If you have issue with the requirement to be approved as a partner you will need to speak with the team that does the approvals. Partnersupport#bigcommerce.com”
This reply came from appstore#bigcommerce.com. Why wasn't my email forwarded to Partnersupport#bigcommerce.com to begin with so I could get a more comprehensive answer? I did forward it to them and I am still waiting for an answer.
I am confused about this requirement.
I want to write a BigCommerce app. Are they saying that I cannot write a BigCommerce app unless I have written a BigCommerce app before? Are they saying that I have to have written other apps in general? If I write a great app, why would it matter if it is my first?
After I write the app, I can set up a webpage for it and submit it for approval.
How can I "showcase the functionality and current companies that are possibly using your(my) app" when it is an app specifically written for BigCommerce?
I cannot write the app unless I understand how to integrate it with BigCommerce.
As far as I can see, I cannot understand how to integrate it with BigCommerce unless I am a partner.
Am I missing something here?
Is there some other way to approach this?
Sr Marketplace Mgr for BigCommerce here. I think there are a few items of clarification I can offer:
You do not have to have an existing BigCommerce app to be approved for a partnership. You do however need some evidence of your existing work. If you don't have a portfolio, website, or other examples of your development work, it's difficult for our Partners team to determine if you're a qualified developer.
Partner apps will not have access to modify the BC control panel or core code. Apps must use our public APIs to work with a BC user's data or settings. Any settings that are in the CP but not in our APIs can't be modified directly via an app.
Any storefront changes - such as an edit to a BC theme to display weight in two different units - would have to be done using HTML/CSS/JS in the theme itself. We don't have an API for programmatically changing a storefront theme at this time.
If any of your questions for BigCommerce involve your app or app development, you'll need to direct them to my team at appstore#bigcommerce.com. Directing questions regarding your app to partnersupport#bigcommerce.com will be forwarded to my team. That channel is primarily for questions around the Partners program in general, and won't be able to provide detailed support on the app developer program.
Hopefully this clears up some of your confusion, please reach out to me at appstore#bigcommerce.com and I'll be happy to respond myself if you need more info.
Cheers - John

How to implement a custom solution on Shopify?

Customers will purchase electronic docs through the cart, and once the purchase is complete, I need to code a solution to customize the docs, and email the output to the customer. I can have Shopify sending all the pertinent information in the order to my email, but need a server or something to "catch" that, decipher the information I need, customize my docs, and then deliver (via email) back to the customer.
Just looking for guidance on where I can learn more about building out this type of solution. Recommended applications, software, etc?

Easy script to sell and generate unique passwords to a protected area?

Here is what I'm trying to accomplish:
Three different products-- each one consists of online content, housed within a unique folder.
The customer purchases one of the three products, and receives a username/password (or it could be some sort of dynamic link that expires) for that product.
I am not a programmer, but I know enough to get myself in trouble. I thought I could find a simple script where I would just have to change a couple of parameters and be good to go. Surely this has been done before, right?
I need something that will somehow send the info to a payment processor (PayPal is preferable, but Google Checkout could be an option too), generate a unique password or code and email it to the buyer, and of course communicate to the folder where the product lives so that the password/code will work.
Am I crazy? Is this something that I need advanced development skills to pull off? I have been looking at open-source shopping carts to see if one of them has this functionality built in, but haven't been able to find anything.
There is a PayPal script that is supposed to do this, but I have tried working with it before and it is a real pain...I'm not even sure ultimately that it will work the way I want it too.
Any suggestions are most welcome!
From your description it looks like you are trying to sell digital content.
Both Google Checkout and Paypal have frameworks in place that allow you to securely sell and deliver digital goods.
Please have a look at the doc below for Google Checkout Digital Delivery:
http://code.google.com/apis/checkout/developer/Google_Checkout_Digital_Delivery.html

Looking for shopping cart ONLY app or hosted service recommendation

I have been tasked with selling made-to-order products online. We have a web-based product configurator and order processing system set up that produces prices, interfaces with our inventory system, etc.
I've reviewed Magento and Ubercart and they appear to do too much; the management perceives integrating something like that as an unnecessary abstraction from what we already have going. In addition, our pricing structure is arranged in such a way that it would be an overwhelming task for me to extend the pricing system in a feature-rich ecommerce platform.
I need to be able to send an arbitrarily generated product description and price to a cart and then have it handle the sale checkout and secure payment gateway headaches.
Is there anything out there that allows that?
I ended up going with a fairly-basic Drupal site and rolled my own very-basic cart module.