Question

How do I create an order in Shopify with the information received by email?

  • 30 October 2023
  • 7 replies
  • 72 views

Hello,

We are selling food supplements on our shopify but also on different marketplaces.

For these specific marketplaces, we receive the orders by email.

Therefore it is very time consuming to refill manually all the information in shopify to be able to have it fulfilled by our logistics.

 

My goal is therefore to create a ZAP, that can :

  • read the email orders once they are received on my specific zap email address
  • identify the correct information within the email and create automatically in shopify the new order

 

For now I do not understand what do I need to enter in the category “Action” for helping ZAP to identify by itself the data to copy from the email, in order to create the order accordingly.


This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

7 replies

Userlevel 3
Badge +2

@Cyril THIVIN  this is very simple zap.


You need these steps in place.

  1. Trigger (New Order in Email).
  2.  Parse the order (get the details from the order like - name, email, order id etc.) a simple code in python can help you with this ( you can use Chatgpt as well),  you can use formatter steps as well in place to extract data from your email.
  3. Action: Create an order in Shopify.



    If you can share a sample email of your order, I can give your more apporipriate answer

 

Hello, 

Thanks for your answer. This is precisely what I am trying to do :)

 

Please find example of an email order I receive from a marketplace.

Userlevel 3
Badge +2

@Cyril THIVIN can you share it in a pdf format

here thx

Userlevel 3
Badge +2

Thanks @Cyril THIVIN   you can start working on the zap now - and you can use this code

use the code below ( you can use a Code by Zapier step after your triger step and use Pyhon code module)

******Here is code*******

email = input_data[“email”]

# Extract order details
order_number = re.search(r"N° de commande : (\d+-A)", email).group(1)
buyer_name = re.search(r"Nom de l'acheteur : ([\w\s]+)", email).group(1)
order_date = re.search(r"Date de la commande : (\d{2}/\d{2}/\d{4})", email).group(1)
product_name = re.search(r"Nom de l'article : ([\w\s\-]+)", email).group(1)
product_condition = re.search(r"Etat de l'article : (\w+)", email).group(1)
product_price = re.search(r"Prix de l'article : ([\d,]+ €)", email).group(1)
quantity = re.search(r"Quantité : (\d+)", email).group(1)
internal_ref = re.search(r"Référence interne : (\w+)", email).group(1)

# Extract shipping details
address = re.search(r"The delivery address recorded for this order is:([\w\s\d\.,'-]+)FRANCE", email).group(1). strip()
shipping_mode = re.search(r"Delivery method chosen by the buyer: (\w+ \(\w+\))", email).group(1) ship_by_date = re.search(r"the order
must be shipped before (\d{2}/\d{2}/\d{4})", email).group(1)

# Extract order tracking link
tracking_link = re.search(r"the evolution of this order at the following address: ([\w:/.-]+)", email).group(1).strip()

# Outputs
print(order_number, buyer_name, order_date, product_name, product_condition, product_price, quantity, internal_ref, address, shipping_mode, ship_by_date, tracking_link)




 

 

Userlevel 3
Badge +2

 

Userlevel 7
Badge +11

Hi there @Cyril THIVIN! 👋

Were you able to get this solved using a Python Code action as @communitymember suggested?

Want to make sure you’re all set so do let us know if you’re still running into issues here!