How would I go about developing a program that automatically sends an email with the tracking number to a customer using EasyPost API? - 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.

Related

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.

Setting up email series in mailgun

I need to set up series of emails with time delays in mailgun.
I'm not sure this is possible without connecting to a CRM like ActiveCampaign, Mailchimp, etc.
If it's possible, can anyone share how it works?
Thanks in advance.
Mailgun is a transactional email service that gives you the ability to send emails from your own web applications. If you want to create a drip campaign like you mentioned, you’d have to add such logic to your web application either through a cron-like task or similar.
There is Mailjet from the same company that offers email automation (another name for drip emails). While I don’t have hands on experience with Mailjet like I do Mailgun, it should be a WYSIWYG interface like what you’re interested in.
At the end of the day it really comes down to what you’re after. Do you want to add email sending to your own applications where you design every aspect of the sending and scheduling logic, or do you want a tool available and ready to go.
Best,

Freshdesk: Automating 'score' emails

Background: I have little coding experience (not API savvy) and would preferably use an automation tool for this but hope for some guidance in the best way to complete the task. '
We need to send a 'response' (number of emails sent by an agent) score at least twice a day to agents so they can gauge their efficiency. As an alternative we can build up a dashboard to enable easy viewing of this information.
Question: How do I go about sending emails to each agents gmail account with the number of responses completed on Freshdesk that day? Can this be done with a Zapier connection to googlesheets and then forming a googlescript? Would it be easier to set up a live dashboard displaying all agents scores and if so how would you recommend doing this?
Sending emails would be tough given that most email clients (gmail, outlook, ...) have stricter rules on what lands in inbox to avoid spamming.
But you can build a dashboard in Freshdesk to show this information. The sdk has default support for most things you'd need.
Here's a blog post of a sample dashbaord app in Freshdesk: https://medium.com/freshworks-developer-blog/building-a-full-page-app-on-freshdesk-5ce17524277f

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 do you use UIWebview to make a transaction using Paypal and retrieve a receipt or transaction information.

I've seen different documentation on various forums and site on different ways of using Paypal api, here is a pretty useful link: https://cms.paypal.com/us/cgi-bin?cmd=_render-content&content_ID=developer/e_howto_api_ECOnMobileDevices&bn_r=o/, My question is a little different i do not want to use any of the Paypal libraries offered to us in my app, this is the link to libraries:https://www.x.com/developers/paypal/documentation-tools/sdk , I also do not want to gather any personal information, I want Paypal to take care of everything. So in other words I want to be able to open up a UIWebview to the Paypal's mobile site if possible (or if not the regular site will work) have to user log in with his credential or he can use the express checkout option and get back the transaction ID, or receipt what ever is available. I'm a little new to iOS and any help is appreciated.
If you don't want to use any libraries or API's, Express Checkout won't work for you.
Which does make it somewhat easier, as you can just use PayPal Website Payments Standard in a UIWebView instead.
For example; just open https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=your#email.tld&amount=1.99&currency_code=GBP
This will start a 1.99 GBP payment to email#here.tld via PayPal, and automatically use a mobile layout.
If you subsequently want to receive transaction information; set up PayPal IPN on your account and use that to receive transaction-related events. This can be handled outside your app, and thus take away precious processing power to the server.
For an overview on getting started with PayPal IPN, have a look at https://www.paypal.com/ipn/
I would strongly suggest against trying to do transactions through paypal. If you look at the App Store Review Guidelines it states that
11.2 Apps utilizing a system other than the In App Purchase API (IAP) to purchase content, functionality, or services in an app will be rejected