nileshhanotia commited on
Commit
af3dbe5
·
verified ·
1 Parent(s): 675f5c9

Create shopify_client.py

Browse files
Files changed (1) hide show
  1. shopify_client.py +30 -0
shopify_client.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import requests
2
+ from config.settings import SHOPIFY_ACCESS_TOKEN, SHOP_NAME
3
+ from utils.logger import setup_logger
4
+ from utils.model_loader import ModelLoader
5
+
6
+ logger = setup_logger(__name__)
7
+
8
+ class ShopifyClient:
9
+ def __init__(self):
10
+ self.session = ModelLoader.create_retry_session()
11
+ self.headers = {
12
+ 'X-Shopify-Access-Token': SHOPIFY_ACCESS_TOKEN,
13
+ 'Content-Type': 'application/json'
14
+ }
15
+
16
+ if not SHOP_NAME:
17
+ raise ValueError("SHOP_NAME environment variable not set")
18
+
19
+ self.base_url = f"https://{SHOP_NAME}/admin/api/2023-10"
20
+
21
+ def fetch_data(self, endpoint):
22
+ try:
23
+ url = f"{self.base_url}/{endpoint}.json"
24
+ response = self.session.get(url, headers=self.headers)
25
+ response.raise_for_status()
26
+ return response.json()
27
+ except requests.exceptions.RequestException as e:
28
+ logger.error(f"Shopify API error: {str(e)}")
29
+ return None
30
+