Bigcommerce PHP API, get the email addresses of all newsletter subscriber, not using control panel - bigcommerce

As state in the title, I want to get the email addresses from all my newsletter subscriber. Since this is just part of what I need to code up, dumping out the info into a csv file using Bigcommerce control panel is not an option.
So far, what I had figured out is getting the addresses from ALL the customers. Is there a filter I can apply so to filter the non-subscriber out of this list? Or there are other ways to approach this problem?
Thank you in advance for any helps.

At this time, it is not possible thru the Bigcommerce API. There are no fields for the customers resource to indicate if they signed up for the newsletter or not.
Furthermore, there is no API access to any of the newsletter content at all.
Please reference https://developer.bigcommerce.com/api/stores/v2/customers
If you were not aware, Bigcommerce already integrates directly (and nicely) with MailChimp. If you are set on using your own email marketing programs, simply have Bigcommerce integrate with MailChimp to port the newsletter subscribers over, and then you can look into connecting to the MailChimp API to grab the necessary data: http://apidocs.mailchimp.com

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.

When creating custom collections via rest API ,it says collection unavailable on google ? Does anyone know how to fix this?

When creating custom collections using rest API ,The collection appears to show unavailable on google ,How to fix this ? so that it appears on Google.
Google is a Sales Channel in your store? Therefore it is up to you to tick off the box to make that collection available to Google the Sales Channel. That is the first thing you should do anyway. Go to your Admin and turn your collection on to that Sales Channel.
If you do not have access to the Admin, you will have to ask the merchant to do that for you as there are no API calls that allow you to do this, as far as I know, it may remain the domain of Plus stores only. You can check that further.

Saving additional data when checkout is completed on shopify

I'm not entirely sure how to go about this so i thought i'd ask here.
Context
I have a quiz that people take on my site and when the quiz is completed, a product is recommended based on their quiz results. A customer is now able to buy this recommended product.
What i want to do is to be able to save the quiz response to my external database with the order id as a unique id for quick retrieval later. How would i go about this in Shopify?
Question
Is there a way i can make a POST request when the checkout button is pressed on the checkout page?
Would i have to create a custom checkout to get access to that area?
Thank you
If you're attempting to save to an external database then you'll need to figure out a way to send data from your Shopify frontend to an external app or API, one that will capture the product data and add it to the DB.
To answer your first question, no, you can not hijack the functionality of the checkout button (unless you do so via Javascript).
As for your second question, I don't know what you mean by 'custom checkout' but I'd say you're probably looking in the wrong area for the solution to this.
Shopify's backend is not able to be edited by the merchant themselves and can only be accessed via its various APIs.
How I would do it if I were you is to create that external app, create an endpoint that accepts the product data / adds to the DB and write code on your Shopify front-end to send the data to that endpoint.
Keep in mind that you won't be able to easily identify the customer to whom the product is recommended to unless they are logged in.

Office JS Add-in API Compose appointment get contact

I'm searching in documentation how to get the list of contact of the Office account in the way to display it and let the user pick all phone numbers he need.
I assume is not possible during outlook appointment compose. But i would to be sure (Maybe i miss an important point in doc)
Thanks !
Currently the feature to get all contacts, you requested, is not a part of the product. We track Outlook add-in feature requests on our user-voice page. Please add your request there. Feature requests on user-voice are considered when we go through our planning process.
Meanwhile, you can achieve this by using REST API's.

when create Order and Customer via API Shopify data not show in Admin panel

I have a problem with Shopify API. I use python API for Shopify. When I create a new order via API, data exists (I check via API too) but it's not shown within Shopify admin panel.
It's pretty likely that you're interacting with two different stores if you're getting 200 OKs and seeing the Orders come back through the API and not through the admin.
It's worth checking shopify.Shop.current().domain to see if it matches up with the admin that you're interacting with. If you're still seeing issues, post the contents of your request (including headers) and it will be a lot easier to give you a hand :)