smartpush 1.9.3__py3-none-any.whl → 1.9.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
smartpush/email/schema.py CHANGED
@@ -1,21 +1,29 @@
1
+ import json
1
2
  import uuid
2
- import time
3
3
  from enum import unique, Enum
4
4
 
5
5
 
6
+ def generate_UUID(length=None):
7
+ _uuid = str(uuid.uuid4())
8
+ if length:
9
+ return _uuid.replace('-', '')[:length]
10
+ else:
11
+ return _uuid
12
+
13
+
6
14
  @unique
7
15
  class BlockSchema(Enum):
8
16
  Logo = {
9
- "id": "81886ba38",
10
- "universalId": "8ff4fe49-c36f-426c-9f8c-d06e1a4877c3",
11
- "universalName": "block",
17
+ "id": generate_UUID(9),
18
+ "universalId": None,
19
+ "universalName": None,
12
20
  "type": "Logo",
13
21
  "props": {
14
22
  "width": "120",
15
23
  "height": "120",
16
24
  "imgRatio": 1,
17
25
  "src": "https://cdn.smartpushedm.com/frontend/smart-push/staging/1741054956275/1758595834300_74d62ae6.png?width=120&height=120",
18
- "href": "https://lulu373.myshoplinestg.com",
26
+ "href": "https://smartpush4.myshoplinestg.com",
19
27
  "align": "center",
20
28
  "containerBackgroundColor": "transparent",
21
29
  "paddingLeft": "20px",
@@ -29,9 +37,9 @@ class BlockSchema(Enum):
29
37
  "children": []
30
38
  }
31
39
  Link = {
32
- "id": "b78bcb99a",
33
- "universalId": "c3db1401-ddae-4222-8ec3-b5dd9e6b16f3",
34
- "universalName": "block",
40
+ "id": generate_UUID(9),
41
+ "universalId": None,
42
+ "universalName": None,
35
43
  "type": "Navigation",
36
44
  "props": {
37
45
  "moduleList": [
@@ -69,9 +77,9 @@ class BlockSchema(Enum):
69
77
  "children": []
70
78
  }
71
79
  Image = {
72
- "id": "a499b9a69",
73
- "universalId": "a3d8c5f1-3384-492c-8984-81e424892357",
74
- "universalName": "img",
80
+ "id": generate_UUID(9),
81
+ "universalId": None,
82
+ "universalName": None,
75
83
  "type": "Image",
76
84
  "props": {
77
85
  "width": "600px",
@@ -89,9 +97,9 @@ class BlockSchema(Enum):
89
97
  "children": []
90
98
  }
91
99
  ImageSet = {
92
- "id": "a59b8ba3b",
93
- "universalId": "0980b7a8-188e-4afb-b829-e3d93bb78347",
94
- "universalName": "block",
100
+ "id": generate_UUID(9),
101
+ "universalId": None,
102
+ "universalName": None,
95
103
  "type": "ImageSet",
96
104
  "props": {
97
105
  "list": [
@@ -134,7 +142,9 @@ class BlockSchema(Enum):
134
142
  },
135
143
  "children": []
136
144
  }
137
- Video = {"id": "939b5b82b", "universalId": "11bdb29c-1b68-4346-b8a8-87c3fd806291", "universalName": "block",
145
+ Video = {"id": generate_UUID(9),
146
+ "universalId": None,
147
+ "universalName": None,
138
148
  "type": "Video",
139
149
  "props": {"iconColor": "#ffffff", "iconStyle": 1, "videoImageType": "auto", "videoHref": "",
140
150
  "width": "600px",
@@ -143,8 +153,9 @@ class BlockSchema(Enum):
143
153
  "containerBackgroundColor": "transparent", "paddingLeft": "10px", "paddingRight": "10px",
144
154
  "paddingTop": "10px", "paddingBottom": "10px", "paddingCondition": True
145
155
  }, "children": []}
146
- TimerCountdown = {"id": "92a88aa98", "universalId": "e5ff3684-977b-4934-8c6b-148aa76214fe",
147
- "universalName": "block",
156
+ TimerCountdown = {"id": generate_UUID(9),
157
+ "universalId": None,
158
+ "universalName": None,
148
159
  "type": "TimerCountdown",
149
160
  "props": {"gifColor": "#FA7124", "gifLoading": False, "selected": False, "day": 2, "hour": 0,
150
161
  "minute": 0, "width": "600px", "height": "156px",
@@ -159,7 +170,9 @@ class BlockSchema(Enum):
159
170
  ,
160
171
  "containerBackgroundColor": "transparent", "gifId": "246f5df56e674676add060956fac7b3f"},
161
172
  "children": []}
162
- Commodity = {"id": "8d9a48a69", "universalId": "784daa8e-a474-42d9-a514-ab6509aec569", "universalName": "block",
173
+ Commodity = {"id": generate_UUID(9),
174
+ "universalId": None,
175
+ "universalName": None,
163
176
  "type": "Commodity",
164
177
  "props": {"source": None, "limit": 6, "justifyContent": "center", "imgRatio": "3:4",
165
178
  "imgFillType": "cover", "isProductTitle": True
@@ -186,7 +199,9 @@ class BlockSchema(Enum):
186
199
  "currency": 1, "currencyFormat": True
187
200
  , "currencyDecimalPoint": 2,
188
201
  "segmentTypeConfig": 1}, "children": []}
189
- Discount = {"id": "979a29818", "universalId": "69130914-e7f9-4b3b-b5de-aef5891cb55d", "universalName": "block",
202
+ Discount = {"id": generate_UUID(9),
203
+ "universalId": None,
204
+ "universalName": None,
190
205
  "type": "Discount",
191
206
  "props": {"discountTermsFontFamily_SHOPIFY": "arial,helvetica,sans-serif,Arial, Helvetica, sans-serif",
192
207
  "discountTermsFontFamily_EC1": "arial,helvetica,sans-serif,Arial, Helvetica, sans-serif",
@@ -269,7 +284,9 @@ class BlockSchema(Enum):
269
284
  "btnText_CUSTOM": "Use discount now", "btnText_EC1": "Use discount now", "btnUrl_EC2": "",
270
285
  "btnUrl_SHOPIFY": "", "btnUrl_CUSTOM": "", "btnUrl_EC1": "", "isShowPreviewForm": False},
271
286
  "children": []}
272
- TextSet = {"id": "908928b6b", "universalId": "d857d68f-3565-4d78-8a4b-dd56e133043e", "universalName": "block",
287
+ TextSet = {"id": generate_UUID(9),
288
+ "universalId": None,
289
+ "universalName": None,
273
290
  "type": "TextSet", "props": {"list": [{
274
291
  "content": "<p style=\"font-family: arial,helvetica,sans-serif,Arial, Helvetica, sans-serif\">在此处输入文本,支持按需调整字体大小、行距、对齐方式等样式</p>",
275
292
  "paddingLeft": "10px", "paddingRight": "10px", "paddingTop": "0px",
@@ -279,7 +296,9 @@ class BlockSchema(Enum):
279
296
  "paddingRight": "10px", "paddingTop": "10px", "paddingBottom": "10px",
280
297
  "paddingCondition": True
281
298
  }, "children": []}
282
- ImageText = {"id": "a499ea949", "universalId": "41f04a27-8230-42d1-bd05-16c2444e7b37", "universalName": "block",
299
+ ImageText = {"id": generate_UUID(9),
300
+ "universalId": None,
301
+ "universalName": None,
283
302
  "type": "ImageText", "props": {"list": [{"src": "", "width": "290", "height": "150", "imgRatio": 0.51,
284
303
  "content": "<p style=\"font-family: arial,helvetica,sans-serif,Arial, Helvetica, sans-serif\">在此处输入文本,支持按需调整字体大小、行距、对齐方式等样式</p>",
285
304
  "layout": "rightText", "borderWidth": "1px",
@@ -289,7 +308,9 @@ class BlockSchema(Enum):
289
308
  "paddingRight": "10px", "paddingTop": "10px", "paddingBottom": "10px",
290
309
  "paddingCondition": True
291
310
  , "layoutItem": "rightText", "segmentTypeConfig": 1}, "children": []}
292
- Button = {"id": "bea9bb83b", "universalId": "cb3a47a7-2db5-46c3-af57-3eb134fabb98", "universalName": "block",
311
+ Button = {"id": generate_UUID(9),
312
+ "universalId": None,
313
+ "universalName": None,
293
314
  "type": "Button",
294
315
  "props": {"content": "Button", "color": "#ffffff", "fontSize": "18px", "fontWeight": 500,
295
316
  "fontFamily": "arial,helvetica,sans-serif,Arial, Helvetica, sans-serif",
@@ -300,22 +321,104 @@ class BlockSchema(Enum):
300
321
  "paddingRight": "10px", "paddingTop": "10px", "paddingBottom": "10px",
301
322
  "paddingCondition": True
302
323
  }, "children": []}
303
- Divider = {"id": "b2897b90a", "universalId": "2ebe35a0-521a-4b8a-aee0-2c035618333f", "universalName": "block",
324
+ Divider = {"id": generate_UUID(9),
325
+ "universalId": None,
326
+ "universalName": None,
304
327
  "type": "Divider",
305
328
  "props": {"borderColor": "#000000", "borderStyle": "solid", "borderWidth": "1px", "paddingLeft": "20px",
306
329
  "paddingRight": "20px", "paddingTop": "20px", "paddingBottom": "20px", "paddingCondition": True
307
330
  }, "children": []}
308
- Social = {"id": "9b8b19879", "universalId": "138ccb97-3c62-4119-9490-1a251808c5c3", "universalName": "block",
331
+ Social = {"id": generate_UUID(9),
332
+ "universalId": None,
333
+ "universalName": None,
309
334
  "type": "Social", "props": {
310
335
  "list": [{"name": "facebook-noshare", "iconSize": "36px", "src": "", "iconStyle": 1, "href": ""},
311
336
  {"name": "instagram", "iconSize": "36px", "src": "", "iconStyle": 1, "href": ""},
312
337
  {"name": "web", "iconSize": "36px", "src": "", "iconStyle": 1, "href": ""}],
313
338
  "containerBackgroundColor": "transparent", "iconStyle": 1}, "children": []}
314
- HTMLCode = {"id": "838a79a4a", "universalId": "14baf9dc-764f-43a4-8cba-e72eac5ce5d5", "universalName": "block",
339
+ HTMLCode = {"id": generate_UUID(9),
340
+ "universalId": None,
341
+ "universalName": None,
315
342
  "type": "HTMLCode", "props": {"list": [
316
343
  {"content": "使用你自定义的代码段", "paddingLeft": "0px", "paddingRight": "0px", "paddingTop": "0px",
317
344
  "paddingBottom": "0px", "borderStyle": "none", "borderColor": "#ffffff", "borderWidth": "1px"}],
318
345
  "containerBackgroundColor": "TRANSPARENT", "paddingLeft": "0px",
319
346
  "paddingRight": "0px", "paddingTop": "0px", "paddingBottom": "0px",
320
347
  "paddingCondition": True
321
- }, "children": []}
348
+ }, "children": []}
349
+ Section = {
350
+ "id": generate_UUID(9),
351
+ "universalId": None,
352
+ "universalName": None,
353
+ "type": "Section",
354
+ "props": {
355
+ "backgroundColor": "#f1e6e6",
356
+ "borderLeft": "1px none #ffffff",
357
+ "borderRight": "1px none #ffffff",
358
+ "borderTop": "1px none #ffffff",
359
+ "borderBottom": "1px none #ffffff",
360
+ "paddingTop": "0px",
361
+ "paddingBottom": "0px",
362
+ "paddingLeft": "0px",
363
+ "paddingRight": "0px",
364
+ "cols": [
365
+ 12
366
+ ]
367
+ },
368
+ "children": [
369
+ {
370
+ "id": "8cab9aa48",
371
+ "type": "Column",
372
+ "props": {},
373
+ "children": [
374
+ {
375
+ "id": "a398fa9db",
376
+ "universalId": "3a8b79e8-b400-43d4-8d4c-c70969284a24",
377
+ "universalName": "Auto-Logo-2025-11-14 00:33:28",
378
+ "type": "Logo",
379
+ "props": {
380
+ "width": "120",
381
+ "height": "120",
382
+ "imgRatio": 1,
383
+ "src": "https://cdn.smartpushedm.com/frontend/smart-push/staging/1741054956275/1758595834300_74d62ae6.png?width=120&height=120",
384
+ "href": "https://smartpush4.myshoplinestg.com",
385
+ "align": "center",
386
+ "containerBackgroundColor": "transparent",
387
+ "paddingLeft": "20px",
388
+ "paddingRight": "20px",
389
+ "paddingTop": "20px",
390
+ "paddingBottom": "20px",
391
+ "paddingCondition": True,
392
+ "segmentTypeConfig": 1
393
+ },
394
+ "children": []
395
+ }
396
+ ]
397
+ }
398
+ ]
399
+ }
400
+
401
+
402
+ def genSection(block_list: list):
403
+ """
404
+ 根据Block生成Section结构体
405
+ :param block_list:
406
+ :return:
407
+ """
408
+ section = BlockSchema.Section
409
+ if section.value['children'][0]['type'] == 'Column':
410
+ section.value['children'][0]['children'] = block_list
411
+ return section
412
+
413
+
414
+ def genAllBlockSchema():
415
+ """
416
+ 获取所有的BlockSchema
417
+ :return:
418
+ """
419
+ temp_list = [i.value for i in BlockSchema if i != BlockSchema.Section]
420
+ return temp_list
421
+
422
+
423
+ if __name__ == '__main__':
424
+ print(json.dumps(genAllBlockSchema()))
@@ -1,8 +1,9 @@
1
1
  import json
2
-
2
+ import time
3
3
  from smartpush.base.request_base import RequestBase
4
4
  from smartpush.base.url_enum import *
5
5
  from smartpush.email.schema import *
6
+ from smartpush.utils import ListDictUtils
6
7
 
7
8
 
8
9
  def gen_universal_request_param(universalId, schema, **kwargs):
@@ -38,14 +39,14 @@ class UniversalContent(RequestBase):
38
39
  return result
39
40
 
40
41
  # 查询universal
41
- def query_universal(self, universa_name='', blockType_list=None):
42
+ def query_universal(self, universa_name='', blockType_list=[]):
42
43
  """
43
44
  查询素材
44
45
  :param blockType_list:
45
46
  :param universa_name:
46
47
  :return:
47
48
  """
48
- requestParam = {'universa_name': universa_name}
49
+ requestParam = {'universalName': universa_name}
49
50
  if blockType_list and type(blockType_list) == list:
50
51
  requestParam.update(blockType=blockType_list)
51
52
  result = self.request(method=URL.queryUniversalContent.method, path=URL.queryUniversalContent.url,
@@ -77,13 +78,13 @@ class UniversalContent(RequestBase):
77
78
  return result
78
79
 
79
80
  # 删除universal
80
- def delete_universal(self, universa_id):
81
+ def delete_universal(self, universalId):
81
82
  """
82
83
  删除素材
83
84
  :param universa_id:
84
85
  :return:
85
86
  """
86
- requestParam = {'universalId': universa_id}
87
+ requestParam = {'universalId': universalId}
87
88
  result = self.request(method=URL.deleteUniversalContent.method, path=URL.deleteUniversalContent.url,
88
89
  params=requestParam)
89
90
  return result
@@ -101,13 +102,37 @@ class UniversalContent(RequestBase):
101
102
  data=requestParam)
102
103
  return result
103
104
 
105
+ def assert_block_in_the_section(self, section_universa_name, block_universa_id=None, block_universa_name=None,
106
+ _id=None, ):
107
+ """
108
+ 判断收藏的block是否在该section中
109
+ :param section_universa_name:
110
+ :param _id:
111
+ :param block_universa_id:
112
+ :param block_universa_name:
113
+ :return:
114
+ """
115
+ result = self.query_universal(universa_name=section_universa_name)
116
+ schema = {}
117
+ section = None
118
+ if result:
119
+ section = result['resultData']['datas'][0]
120
+ schema = json.loads(section['schema'])
121
+ if section['blockType'] == 'Section':
122
+ try:
123
+ if block_universa_id:
124
+ assert ListDictUtils.all_in_list(block_universa_id, [ss['universalId'] for ss in schema['children'][0]['children']])
125
+ elif block_universa_name:
126
+ assert ListDictUtils.all_in_list(block_universa_name, [ss['universalName'] for ss in schema['children'][0]['children']])
127
+ elif _id:
128
+ assert ListDictUtils.all_in_list(_id, [ss['id'] for ss in schema['children'][0]['children']])
129
+ print("------收藏的block在该section中,断言成功------")
130
+ except:
131
+ raise
132
+
133
+
134
+
104
135
 
105
- def generate_UUID(length=None):
106
- _uuid = str(uuid.uuid4())
107
- if length:
108
- return _uuid[:length]
109
- else:
110
- return _uuid
111
136
 
112
137
 
113
138
  def get_time():
@@ -127,4 +152,14 @@ def get_universal_schema(schema, _id, universalId, universalName):
127
152
 
128
153
 
129
154
  if __name__ == '__main__':
130
- print(gen_universal_request_param(generate_UUID(), BlockSchema.Social, ))
155
+ # _list = [get_universal_schema(BlockSchema.Logo, _id=generate_UUID(9), universalId=generate_UUID(),
156
+ # universalName=gen_universal_name(BlockSchema.Logo))]
157
+ # print(json.dumps(get_universal_schema(genSection(_list), _id=generate_UUID(9), universalId=generate_UUID(),
158
+ # universalName=gen_universal_name(BlockSchema.Section))))
159
+
160
+ head = {
161
+ "cookie": "osudb_appid=SMARTPUSH;osudb_oar=#01#SID0000141BOhqtUqYGMjRho2SIPBeE5o1HNWFHo9q+qttt/jMLf+gRshde7x0NZUgAST4PB4CfSuAa450BCuCZf6pwolP1vXs/cF+6e/snBhESLvofXaxDaIFN9swZq4Np2xBc4uw6R4V58uWjrwg+s8XTLVv;osudb_subappid=1;osudb_uid=4213785247;ecom_http_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NjU1OTg0NzQsImp0aSI6ImU0YzAyZjcxLWQ4NDktNDZlYS1iNzNmLTY1YjU0YTc3MTJjZCIsInVzZXJJbmZvIjp7ImlkIjowLCJ1c2VySWQiOiI0MjEzNzg1MjQ3IiwidXNlcm5hbWUiOiIiLCJlbWFpbCI6ImZlbGl4LnNoYW9Ac2hvcGxpbmVhcHAuY29tIiwidXNlclJvbGUiOiJvd25lciIsInBsYXRmb3JtVHlwZSI6Nywic3ViUGxhdGZvcm0iOjEsInBob25lIjoiIiwibGFuZ3VhZ2UiOiJ6aC1oYW5zLWNuIiwiYXV0aFR5cGUiOiIiLCJhdHRyaWJ1dGVzIjp7ImNvdW50cnlDb2RlIjoiQ04iLCJjdXJyZW5jeSI6IkpQWSIsImN1cnJlbmN5U3ltYm9sIjoiSlDCpSIsImRvbWFpbiI6InNtYXJ0cHVzaDQubXlzaG9wbGluZXN0Zy5jb20iLCJsYW5ndWFnZSI6ImVuIiwibWVyY2hhbnRFbWFpbCI6ImZlbGl4LnNoYW9Ac2hvcGxpbmUuY29tIiwibWVyY2hhbnROYW1lIjoiU21hcnRQdXNoNF9lYzJf6Ieq5Yqo5YyW5bqX6ZO6IiwicGhvbmUiOiIiLCJzY29wZUNoYW5nZWQiOmZhbHNlLCJzdGFmZkxhbmd1YWdlIjoiemgtaGFucy1jbiIsInN0YXR1cyI6MCwidGltZXpvbmUiOiJBc2lhL01hY2FvIn0sInN0b3JlSWQiOiIxNjQ0Mzk1OTIwNDQ0IiwiaGFuZGxlIjoic21hcnRwdXNoNCIsImVudiI6IkNOIiwic3RlIjoiIiwidmVyaWZ5IjoiIn0sImxvZ2luVGltZSI6MTc2MzAwNjQ3NDQzNywic2NvcGUiOlsiZW1haWwtbWFya2V0IiwiY29va2llIiwic2wtZWNvbS1lbWFpbC1tYXJrZXQtbmV3LXRlc3QiLCJlbWFpbC1tYXJrZXQtbmV3LWRldi1mcyIsImFwaS11Yy1lYzIiLCJhcGktc3UtZWMyIiwiYXBpLWVtLWVjMiIsImZsb3ctcGx1Z2luIiwiYXBpLXNwLW1hcmtldC1lYzIiXSwiY2xpZW50X2lkIjoiZW1haWwtbWFya2V0In0.erTiG4r364sutySNgx8X1rmrAjFsyfoe3UIUZ6J9e-o;",
162
+ "Content-Type": "application/json", "accept-language": "zh-CN"}
163
+
164
+ UniversalContent(headers=head, host='https://test.smartpushedm.com/bff/api-sp-market-ec2') \
165
+ .assert_block_in_the_section('Section23452345234', block_universa_name=['5555345243'])
@@ -54,3 +54,19 @@ def json_to_dict(json_data=None):
54
54
  with open("/Users/SL/project/python/smartpush_autotest/smartpush/test.json", "r", encoding="utf-8") as file:
55
55
  json_result = json.load(file)
56
56
  return json_result
57
+
58
+ def all_in_list(list_a, list_b):
59
+
60
+ """
61
+ 判断元素是否都在list_b中
62
+ :param list_a:
63
+ :param list_b:
64
+ :return:
65
+ """
66
+ if isinstance(list_a, str):
67
+ print(f"字符串【{list_a}】在 {list_b}")
68
+ return list_a in list_b
69
+ else:
70
+ # 支持列表、元组、集合等可迭代类型
71
+ print(f"对象【{list_a}】在 {list_b}")
72
+ return set(list_a).issubset(set(list_b))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: smartpush
3
- Version: 1.9.3
3
+ Version: 1.9.5
4
4
  Summary: 用于smartpush自动化测试工具包
5
5
  Author: lulu、felix、long
6
6
 
@@ -1,6 +1,5 @@
1
1
  smartpush/__init__.py,sha256=XJrl1vhGATHSeSVqKmPXxYqxyseriUpvY5tLIXir3EE,24
2
2
  smartpush/get_jira_info.py,sha256=s3hPwC6KePS5BtqNS9o15eCh7Nx2gn16bn6tfYK0iQI,18112
3
- smartpush/test.py,sha256=vZEmwXf5AecHv62Il-9rTg52Hh6hORjoLJMhs2jBuAY,98729
4
3
  smartpush/account/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
4
  smartpush/account/operate_account.py,sha256=nzJLLAEwNElavZeWVqnA_MSGTBzQrSrknmezYBwtvWs,1525
6
5
  smartpush/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -10,8 +9,8 @@ smartpush/base/url_enum.py,sha256=GC8lXuXflKFl3xbeOIzS3vgE7BF2Zo5H9pn6okgHPyQ,16
10
9
  smartpush/crowd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
10
  smartpush/crowd/crowd.py,sha256=8z5FIWCiTeSUQJGWbLLjS_2AsPbVOsW0GrSZKnYtgng,20985
12
11
  smartpush/email/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- smartpush/email/schema.py,sha256=hWFAuYFM2O55Wfds8xm750cXDr5gr2QnIawma2FIfyE,20925
14
- smartpush/email/universal_content.py,sha256=GXaCEutCee3GoVCVzLznuGxSXU7-MI1QMj7SRstfXyU,4323
12
+ smartpush/email/schema.py,sha256=Gf9tYNP9UjkbXpPbh_uAcAx7QZ5RNs-E7GPVp1BU9d8,23478
13
+ smartpush/email/universal_content.py,sha256=MPGrquHFpxFaX6g8LNfwNxaQvJkvhsbzPU20IJfHRB0,7676
15
14
  smartpush/export/__init__.py,sha256=D9GbWcmwnetEndFDty5XbVienFK1WjqV2yYcQp3CM84,99
16
15
  smartpush/export/basic/ExcelExportChecker.py,sha256=YqWmDGSFadQdK2vNJ070Qvad9ZtqEwiQyPkOemlACfs,21508
17
16
  smartpush/export/basic/GetOssUrl.py,sha256=zxNZj6x7Ph9N3P5k82pLpBFjZxKrDfbgqS2fTYyhvso,8467
@@ -28,11 +27,11 @@ smartpush/form/form_before.py,sha256=CCvAC_2yWPlnQGtjEA8LPLy9853Nq3nNjcL2GewFWIs
28
27
  smartpush/form/form_client_operation.py,sha256=gg-5uHXCyMa_ypBSYPYFVxXdwZdYBJsNtUCqayknMBw,303
29
28
  smartpush/utils/DataTypeUtils.py,sha256=BC7ioztO3vAfKd1EOoNvXdVuXYY8qjNskV1DP7LhW-M,1082
30
29
  smartpush/utils/EmailUtlis.py,sha256=DAHd73bJ8hiJCLEXtD0xcwxPD7SOPSmBB7Jvlf6gN6s,11201
31
- smartpush/utils/ListDictUtils.py,sha256=62GDkG5VrWoxahIDTnzAHr6zz8r5ebrRmnjU3YZaIp0,2385
30
+ smartpush/utils/ListDictUtils.py,sha256=LEQG9J9q7st5GHbM8rpDz5mlPbSWU8fOQMPcIKEAmXg,2812
32
31
  smartpush/utils/StringUtils.py,sha256=n8mo9k0JQN63MReImgv-66JxmmymOGknR8pH2fkQrAo,4139
33
32
  smartpush/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
33
  smartpush/utils/form_utils.py,sha256=ld-g_Dm_ZlnagQt7imYfUc87bcBRVlTctywuLtzmjXQ,849
35
- smartpush-1.9.3.dist-info/METADATA,sha256=UAkro4F6tb5EcuxUwFJmdCZbdxWHG6JuXRCJBuPwJcE,131
36
- smartpush-1.9.3.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
37
- smartpush-1.9.3.dist-info/top_level.txt,sha256=5_CXqu08EfbPaKLjuSAOAqCmGU6shiatwDU_ViBGCmg,10
38
- smartpush-1.9.3.dist-info/RECORD,,
34
+ smartpush-1.9.5.dist-info/METADATA,sha256=xJ4SYQzXuTsLr1FXC8NS-A_FgsER1PRafbxdz5tUU5I,131
35
+ smartpush-1.9.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
36
+ smartpush-1.9.5.dist-info/top_level.txt,sha256=5_CXqu08EfbPaKLjuSAOAqCmGU6shiatwDU_ViBGCmg,10
37
+ smartpush-1.9.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.38.4)
2
+ Generator: bdist_wheel (0.45.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
smartpush/test.py DELETED
@@ -1,332 +0,0 @@
1
- # -*- codeing = utf-8 -*-
2
- # @Time :2025/2/20 00:27
3
- # @Author :luzebin
4
- import json
5
- import re
6
- import time
7
-
8
- import pandas as pd
9
-
10
- from smartpush.export.basic import ExcelExportChecker
11
- from smartpush.export.basic.ReadExcel import read_excel_from_oss
12
- from smartpush.export.basic.ReadExcel import read_excel_and_write_to_dict
13
- from smartpush.export.basic.GetOssUrl import get_oss_address_with_retry
14
- from smartpush.utils.DataTypeUtils import DataTypeUtils
15
- from smartpush.flow import MockFlow
16
- from smartpush.utils import EmailUtlis, ListDictUtils
17
- from smartpush.flow import history_flow
18
- import pytz, datetime
19
-
20
- if __name__ == '__main__':
21
- print(ListDictUtils.json_to_dict())
22
-
23
- # host_domain = "https://test.smartpushedm.com/bff/api-em-ec2"
24
- # cookies = "osudb_lang=; osudb_subappid=1; osudb_uid=4213785247; osudb_oar=#01#SID0000133BDI0JJdCm/8VtGs+ttpCWehlzM5H6rOXScd1lSHauTiExoxzChsxmc0LwuODiUyBoGKSAMKCjYiDJ9RFLKAlCwKT8j53hHd2cyvI03Zbv3h5B8xZun+4S7CRWGyjf299jmRlGiL37cB78W3ErD/k; osudb_appid=SMARTPUSH; a_lang=zh-hans-cn; ecom_http_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTYzNDgzNjUsImp0aSI6ImU3NzFiNTk4LTUwNmItNGFlYi1iNDg3LWJiMmY0YjhmYzMyMiIsInVzZXJJbmZvIjp7ImlkIjowLCJ1c2VySWQiOiI0MjEzNzg1MjQ3IiwidXNlcm5hbWUiOiIiLCJlbWFpbCI6ImZlbGl4LnNoYW9Ac2hvcGxpbmVhcHAuY29tIiwidXNlclJvbGUiOiJvd25lciIsInBsYXRmb3JtVHlwZSI6Nywic3ViUGxhdGZvcm0iOjEsInBob25lIjoiIiwibGFuZ3VhZ2UiOiJ6aC1oYW5zLWNuIiwiYXV0aFR5cGUiOiIiLCJhdHRyaWJ1dGVzIjp7ImNvdW50cnlDb2RlIjoiQ04iLCJjdXJyZW5jeSI6IkpQWSIsImN1cnJlbmN5U3ltYm9sIjoiSlDCpSIsImRvbWFpbiI6InNtYXJ0cHVzaDQubXlzaG9wbGluZXN0Zy5jb20iLCJsYW5ndWFnZSI6ImVuIiwibWVyY2hhbnRFbWFpbCI6ImZlbGl4LnNoYW9Ac2hvcGxpbmUuY29tIiwibWVyY2hhbnROYW1lIjoiU21hcnRQdXNoNF9lYzJf6Ieq5Yqo5YyW5bqX6ZO6IiwicGhvbmUiOiIiLCJzY29wZUNoYW5nZWQiOmZhbHNlLCJzdGFmZkxhbmd1YWdlIjoiemgtaGFucy1jbiIsInN0YXR1cyI6MCwidGltZXpvbmUiOiJBc2lhL01hY2FvIn0sInN0b3JlSWQiOiIxNjQ0Mzk1OTIwNDQ0IiwiaGFuZGxlIjoic21hcnRwdXNoNCIsImVudiI6IkNOIiwic3RlIjoiIiwidmVyaWZ5IjoiIn0sImxvZ2luVGltZSI6MTc1Mzc1NjM2NTE4OCwic2NvcGUiOlsiZW1haWwtbWFya2V0IiwiY29va2llIiwic2wtZWNvbS1lbWFpbC1tYXJrZXQtbmV3LXRlc3QiLCJlbWFpbC1tYXJrZXQtbmV3LWRldi1mcyIsImFwaS11Yy1lYzIiLCJhcGktc3UtZWMyIiwiYXBpLWVtLWVjMiIsImZsb3ctcGx1Z2luIiwiYXBpLXNwLW1hcmtldC1lYzIiXSwiY2xpZW50X2lkIjoiZW1haWwtbWFya2V0In0.uUZiX8tLjomaPct17Xx-TPvHtvaRp-XiX4df_db5y4c; JSESSIONID=E6906DB4A5B97B7EB5114240763D84A0"
25
- #
26
- # expected_oss = "https://cdn.smartpushedm.com/material_ec2/2025-05-29/5657e9a34727461b8a23969f291b7d69/2025-05-28%2018%3A02%20%E6%A0%A1%E9%AA%8C%E7%BE%A4%E7%BB%84_2025-05-29.xlsx"
27
- # requestHeader = {
28
- # "cookie": cookies,
29
- # "Content-Type": "application/json",
30
- # "accept-language": "zh-CN"
31
- # }
32
- # requestParam = {
33
- # "page": 1,
34
- # "pageSize": 10,
35
- # "type": "EXPORT",
36
- # "status": None,
37
- # "startTime": None,
38
- # "endTime": None
39
- # }
40
- #
41
- # # flow_id = "FLOW6966717528141252274"
42
- # # vars = {
43
- # # "go_flow_host": "http://sp-go-flow-test.inshopline.com",
44
- # # "em_host": host_domain,
45
- # # "cookies": cookies,
46
- # # "felix_flowid1": flow_id,
47
- # # "create_meteleadads_pulsar": {}
48
- # # }
49
- # # # init_flow_params = {'id': '${fe_flow_id}', 'version': '${historyVersion}', 'triggerId': 'c1001', 'templateId': '',
50
- # # # 'showData': False, 'flowChange': True, 'nodes': [{'type': 'trigger', 'data': {
51
- # # # 'trigger': {'trigger': 'c1001', 'group': '', 'suggestionGroupId': '', 'triggerStock': False,
52
- # # # 'completedCount': 0, 'skippedCount': 0}, 'completedCount': 0, 'skippedCount': 0},
53
- # # # 'id': '8978d673-3485-47dd-849c-e08a6e181d7c'},
54
- # # # {'type': 'sendSms', 'data': {
55
- # # # 'sendSms': {'id': 304196,
56
- # # # 'activityTemplateId': 304196,
57
- # # # 'activityName': 'flowActivity_FkY0zS',
58
- # # # 'merchantId': '1644395920444',
59
- # # # 'merchantName': 'SmartPush4_ec2_自动化店铺',
60
- # # # 'brandName': 'SmartPush4_ec2_自动化店铺 AutoTestName',
61
- # # # 'currency': 'JP¥',
62
- # # # 'activityType': 'NORMAL',
63
- # # # 'activityStatus': 'DRAFT',
64
- # # # 'createTime': 1723545075926,
65
- # # # 'updateTime': 1723545191007,
66
- # # # 'createDate': '2024-08-13 18:31:15',
67
- # # # 'updateDate': '2024-08-13 18:33:11',
68
- # # # 'pickContactPacks': [],
69
- # # # 'excludeContactPacks': [],
70
- # # # 'customerGroupIds': [],
71
- # # # 'excludeCustomerGroupIds': [],
72
- # # # 'pickContactInfos': [],
73
- # # # 'excludeContactInfos': [],
74
- # # # 'customerGroupInfos': [],
75
- # # # 'excludeCustomerGroupInfos': [],
76
- # # # 'sender': 'SmartPush4_ec2_自动化店铺 AutoTestName',
77
- # # # 'originTemplate': 33,
78
- # # # 'currentJsonSchema': '{"extend":{"version":"1.0.0"},"children":[{"children":[{"children":[],"id":"98d909a48","type":"Column","props":{}}],"id":"84ba788da","type":"Header","props":{"borderLeft":"1px none #ffffff","backgroundColor":"#ffffff","paddingBottom":"0px","borderRight":"1px none #ffffff","paddingRight":"0px","paddingTop":"0px","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingLeft":"0px","cols":[12]}},{"children":[{"children":[],"id":"8cab9aa48","type":"Column","props":{}}],"id":"84ba7bbda","type":"Section","props":{"borderLeft":"1px none #ffffff","backgroundColor":"#ffffff","paddingBottom":"0px","borderRight":"1px none #ffffff","paddingRight":"0px","paddingTop":"0px","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingLeft":"0px","cols":[12]}},{"children":[{"children":[{"children":[],"id":"b39b6a94a","type":"Subscribe","props":{"content":"<p style=\\"text-align:center;\\"><span style=\\"font-size:12px\\"><span style=\\"font-family:Arial, Helvetica, sans-serif\\">Please enter the contact address here, so that your customers can trust this email more</span></span></p>"}}],"id":"b3bcabad7","type":"Column","props":{}}],"id":"b8bbabad9","type":"Footer","props":{"borderLeft":"1px none #ffffff","backgroundColor":"#ffffff","paddingBottom":"0px","borderRight":"1px none #ffffff","paddingRight":"0px","paddingTop":"0px","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingLeft":"0px","cols":[12]}}],"id":"a4a9fba2a","type":"Stage","props":{"backgroundColor":"#EAEDF1","fullWidth":"normal-width","width":"600px"}}',
79
- # # # 'currentHtml': '自动化短信',
80
- # # # 'generatedHtml': False,
81
- # # # 'templateUrl': 'https://kmalgo.oss-ap-southeast-1.aliyuncs.com/material/2021-11-29/d4f96fc873e942a397be708c932bbbe4-自定义排版.png',
82
- # # # 'sendStrategy': 'NOW',
83
- # # # 'totalReceiver': 0,
84
- # # # 'receiverAreaInfos': [],
85
- # # # 'utmConfigEnable': False,
86
- # # # 'language': 'en',
87
- # # # 'languageName': '英语',
88
- # # # 'timezone': 'Asia/Macao',
89
- # # # 'timezoneGmt': 'GMT+08:00',
90
- # # # 'type': 'FLOW',
91
- # # # 'relId': 'FLOW6441875700060831242',
92
- # # # 'parentId': '0',
93
- # # # 'nodeId': 'd96e632c-11b6-4836-a8a0-e5af2810ddb7',
94
- # # # 'version': '14',
95
- # # # 'nodeOrder': 0,
96
- # # # 'sendType': 'SMS',
97
- # # # 'createSource': 'BUILD_ACTIVITY',
98
- # # # 'contentChange': True,
99
- # # # 'activityChange': False,
100
- # # # 'warmupPack': 0,
101
- # # # 'boosterEnabled': False,
102
- # # # 'smartSending': False,
103
- # # # 'boosterCreated': False,
104
- # # # 'gmailPromotion': False,
105
- # # # 'sendTimeType': 'FIXED',
106
- # # # 'sendTimezone': 'B_TIMEZONE',
107
- # # # 'sendTimeDelay': False,
108
- # # # 'sendOption': 1,
109
- # # # 'minSendTime': '2024-08-13 18:31:15',
110
- # # # 'completedCount': 0,
111
- # # # 'skippedCount': 0},
112
- # # # 'completedCount': 0, 'skippedCount': 0},
113
- # # # 'id': 'd96e632c-11b6-4836-a8a0-e5af2810ddb7'}],
114
- # # # 'showDataStartTime': None, 'showDataEndTime': None}
115
- # # # change_flow_params = {'id': 'FLOW6441875700060831242', 'version': '35712', 'triggerId': 'c1001', 'templateId': '', 'showData': False, 'flowChange': True, 'nodes': [{'type': 'trigger', 'data': {'trigger': {'trigger': 'c1001', 'crowdCondition': {'groupRelation': '$AND', 'groupRules': [{'labelRule': {'flag': '$AND', 'conditions': [{'type': 'notPurchasedSpuMap', 'notPurchasedSpuMap': {'spuId': '16060911021053386491990343', 'title': '无库存商品-felix'}}]}}]}}}, 'id': '8978d673-3485-47dd-849c-e08a6e181d7c'}, {'type': 'sendSms', 'data': {'sendSms': {'id': 337778, 'activityTemplateId': 337778, 'activityName': 'flowActivity_FkY0zS', 'merchantId': '1644395920444', 'merchantName': 'SmartPush4_ec2_自动化店铺', 'brandName': 'SmartPush4_ec2_自动化店铺 AutoTestName', 'currency': 'JP¥', 'activityType': 'NORMAL', 'activityStatus': 'ACTIVE', 'createTime': 1752907170650, 'updateTime': 1752907174044, 'createDate': '2025-07-19 14:39:30', 'updateDate': '2025-07-19 14:39:34', 'pickContactPacks': [], 'excludeContactPacks': [], 'customerGroupIds': [], 'excludeCustomerGroupIds': [], 'pickContactInfos': [], 'excludeContactInfos': [], 'customerGroupInfos': [], 'excludeCustomerGroupInfos': [], 'sender': 'SmartPush4_ec2_自动化店铺 AutoTestName', 'originTemplate': 33, 'currentJsonSchema': '{"extend":{"version":"1.0.0"},"children":[{"children":[{"children":[],"id":"98d909a48","type":"Column","props":{}}],"id":"84ba788da","type":"Header","props":{"borderLeft":"1px none #ffffff","backgroundColor":"#ffffff","paddingBottom":"0px","borderRight":"1px none #ffffff","paddingRight":"0px","paddingTop":"0px","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingLeft":"0px","cols":[12]}},{"children":[{"children":[],"id":"8cab9aa48","type":"Column","props":{}}],"id":"84ba7bbda","type":"Section","props":{"borderLeft":"1px none #ffffff","backgroundColor":"#ffffff","paddingBottom":"0px","borderRight":"1px none #ffffff","paddingRight":"0px","paddingTop":"0px","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingLeft":"0px","cols":[12]}},{"children":[{"children":[{"children":[],"id":"b39b6a94a","type":"Subscribe","props":{"content":"<p style=\\"text-align:center;\\"><span style=\\"font-size:12px\\"><span style=\\"font-family:Arial, Helvetica, sans-serif\\">Please enter the contact address here, so that your customers can trust this email more</span></span></p>"}}],"id":"b3bcabad7","type":"Column","props":{}}],"id":"b8bbabad9","type":"Footer","props":{"borderLeft":"1px none #ffffff","backgroundColor":"#ffffff","paddingBottom":"0px","borderRight":"1px none #ffffff","paddingRight":"0px","paddingTop":"0px","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingLeft":"0px","cols":[12]}}],"id":"a4a9fba2a","type":"Stage","props":{"backgroundColor":"#EAEDF1","fullWidth":"normal-width","width":"600px"}}', 'currentHtml': '自动化短信', 'generatedHtml': False, 'templateUrl': 'https://cdn2.smartpushedm.com/material/2021-11-29/d4f96fc873e942a397be708c932bbbe4-自定义排版.png', 'sendStrategy': 'NOW', 'totalReceiver': 0, 'receiverAreaInfos': [], 'receiverAreaGroupInfos': [{'group': 'CAN_SEND', 'areas': [], 'count': 0}, {'group': 'UNAPPLY', 'areas': [], 'count': 0}, {'group': 'APPLYING', 'areas': [], 'count': 0}, {'group': 'FAIL', 'areas': [], 'count': 0}], 'utmConfigEnable': False, 'language': 'en', 'languageName': '英語', 'timezone': 'Asia/Macao', 'timezoneGmt': 'GMT+08:00', 'type': 'FLOW', 'relId': 'FLOW6441875700060831242', 'parentId': '0', 'nodeId': 'd96e632c-11b6-4836-a8a0-e5af2810ddb7', 'version': '35712', 'nodeOrder': 0, 'sendType': 'SMS', 'createSource': 'BUILD_ACTIVITY', 'contentChange': True, 'activityChange': False, 'warmupPack': 0, 'boosterEnabled': False, 'smartSending': False, 'boosterCreated': False, 'gmailPromotion': False, 'sendTimeType': 'FIXED', 'sendTimezone': 'B_TIMEZONE', 'sendTimeDelay': False, 'sendOption': 1, 'smsSendDelay': True, 'minSendTime': '2025-07-19 14:39:30', 'completedCount': 0, 'skippedCount': 0}, 'completedCount': 0, 'skippedCount': 0}, 'id': 'd96e632c-11b6-4836-a8a0-e5af2810ddb7'}], 'showDataStartTime': 1746460800000, 'showDataEndTime': 1746633599000, 'showDataTimeType': 6}
116
- # # # expected_history = {
117
- # # # "triggerType": "filter",
118
- # # # "opt": "c",
119
- # # # "moduleNext": "notPurchasedSpuMap",
120
- # # # "before": "",
121
- # # # "after": "无库存商品-felix 累计"
122
- # # # }
123
- # # #
124
- # # # result = history_flow.check_history(
125
- # # # host_domain=host_domain,
126
- # # # cookies=cookies,
127
- # # # flow_id=flow_id,
128
- # # # init_flow_params=init_flow_params,
129
- # # # change_flow_params=change_flow_params,
130
- # # # expected_history=expected_history)
131
- # # params = {'id': 'FLOW6966717528141252274', 'version': '128', 'triggerId': 'f1003', 'templateId': '',
132
- # # 'showData': False, 'flowChange': True, 'nodes': [{'type': 'trigger', 'data': {
133
- # # 'trigger': {'trigger': 'f1003', 'completedCount': 10, 'condition': {'relation': '$AND', 'groups': [
134
- # # {'relation': '$AND', 'rules': [{'type': 'metaLeadAd', 'operator': 'eq',
135
- # # 'value': '{"label":"书籍8","value":"1316803929427454","key":"1316803929427454"}'}]}]}},
136
- # # 'completedCount': 10}, 'id': '049fd321-5a22-4f92-9692-a3da9507ee4b'}, {'type': 'delay', 'data': {
137
- # # 'delay': {'type': 'relative', 'relativeTime': 0, 'relativeUnit': 'MINUTES', 'designatedTime': ''},
138
- # # 'completedCount': 10, 'skippedCount': 0, 'openUserCount': 0, 'clickUserCount': 0, 'waitingCount': 0},
139
- # # 'id': '09ff19db-33a3-41d8-88e9-12e6017ddfd3'},
140
- # # {'type': 'split', 'data': {'split': {
141
- # # 'rule': {'category': 'trigger', 'type': 'metaLeadAd',
142
- # # 'operator': 'eq',
143
- # # 'value': '{"label":"书籍8","value":"1316803929427454","key":"1316803929427454"}'},
144
- # # 'completedCount': 5, 'skippedCount': 5, 'branches': {
145
- # # 'true': [{'type': 'split', 'data': {'split': {
146
- # # 'rule': {'category': 'trigger',
147
- # # 'type': 'metaLeadAd',
148
- # # 'operator': 'ne',
149
- # # 'value': '{"label":"书籍11","value":"1582229145784384","key":"1582229145784384"}'},
150
- # # 'branches': {'true': [{'type': 'sendLetter',
151
- # # 'data': {
152
- # # 'sendLetter': {
153
- # # 'id': 373090,
154
- # # 'activityTemplateId': 373090,
155
- # # 'activityName': 'flowActivity_jzxRX4',
156
- # # 'activityImage': 'http://cdn.smartpushedm.com/frontend/smart-push/staging/1644395920444/1747033369659/1747033372610_e0018f66.jpeg',
157
- # # 'emailName': '弃单flow筛选条件+拆分条件-1753238718204',
158
- # # 'merchantId': '1644395920444',
159
- # # 'merchantName': 'SmartPush4_ec2_自动化店铺',
160
- # # 'brandName': 'SmartPush4_ec2_自动化店铺 AutoTestName',
161
- # # 'currency': 'JP¥',
162
- # # 'activityType': 'NORMAL',
163
- # # 'activityStatus': 'ACTIVE',
164
- # # 'createTime': 1753238534274,
165
- # # 'updateTime': 1753238726501,
166
- # # 'createDate': '2025-07-23 10:42:14',
167
- # # 'updateDate': '2025-07-23 10:45:26',
168
- # # 'pickContactPacks': [],
169
- # # 'excludeContactPacks': [],
170
- # # 'customerGroupIds': [],
171
- # # 'excludeCustomerGroupIds': [],
172
- # # 'schemaAnalysis': '{"schema":{"Stage":["a4a9fba2a"],"Header":["84ba788da"],"Column":["98d909a48","8cab9aa48","b3bcabad7"],"TextSet":["8298cb99a"],"Section":["84ba7bbda"],"Logo":["b98abb998","8a9b4bafa"],"Footer":["b8bbabad9"],"Subscribe":["b39b6a94a"],"AutoProduct":["8e89c8878"]}}',
173
- # # 'pickContactInfos': [],
174
- # # 'excludeContactInfos': [],
175
- # # 'customerGroupInfos': [],
176
- # # 'excludeCustomerGroupInfos': [],
177
- # # 'sender': 'SmartPush4_ec2_自动化店铺 AutoTestName',
178
- # # 'senderDomain': 'DEFAULT_DOMAIN',
179
- # # 'domainType': 3,
180
- # # 'receiveAddress': 'autotest-smartpush4@smartpush.com',
181
- # # 'originTemplate': 887,
182
- # # 'collectTemplate': 0,
183
- # # 'currentJsonSchema': '{"id":"a4a9fba2a","type":"Stage","props":{"backgroundColor":"#EAEDF1","width":"600px","fullWidth":"normal-width"},"children":[{"id":"84ba788da","type":"Header","props":{"backgroundColor":"#ffffff","borderLeft":"1px none #ffffff","borderRight":"1px none #ffffff","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingTop":"0px","paddingBottom":"0px","paddingLeft":"0px","paddingRight":"0px","cols":[12]},"children":[{"id":"98d909a48","type":"Column","props":{},"children":[{"id":"8298cb99a","type":"TextSet","props":{"list":[{"borderWidth":"1px","borderStyle":"none","content":"<p style=\\"line-height: 3; text-align: right;\\"><span style=\\"color: #000000; font-size: 12px; font-family: arial, sans-serif;\\"><a style=\\"color: #000000;\\" href=\\"${viewInWebApiUrl}\\">Can\'t see the email? Please <span style=\\"color: #3598db;\\">click here</span></a></span></p>","paddingLeft":"10px","paddingRight":"10px","paddingTop":"0px","paddingBottom":"0px","borderColor":"#ffffff"}],"containerBackgroundColor":"transparent","paddingLeft":"10px","paddingRight":"10px","paddingTop":"10px","paddingBottom":"10px"},"children":[]}]}]},{"id":"84ba7bbda","type":"Section","props":{"backgroundColor":"#ffffff","borderLeft":"1px none #ffffff","borderRight":"1px none #ffffff","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingTop":"0px","paddingBottom":"0px","paddingLeft":"0px","paddingRight":"0px","cols":[12]},"children":[{"id":"8cab9aa48","type":"Column","props":{},"children":[{"id":"b98abb998","type":"Logo","props":{"width":"120","height":"120","imgRatio":1,"src":"https://cdn.smartpushedm.com/frontend/smart-push/staging/1644395920444/1705904366610_253772e1.png?width=120&height=120","href":"https://smartpush4.myshoplinestg.com","align":"center","containerBackgroundColor":"transparent","paddingLeft":"20px","paddingRight":"20px","paddingTop":"20px","paddingBottom":"20px","paddingCondition":true,"segmentTypeConfig":1},"children":[]},{"id":"8e89c8878","type":"AutoProduct","props":{"imgRatio":"auto","imgFillType":"contain","showLineRule":0,"justifyContent":"center","isProductTitle":true,"isProductActionButton":true,"OriginalPriceFontSize":"16px","OriginalPriceFontFamily":"arial,helvetica,sans-serif,Arial, Helvetica, sans-serif","OriginalPriceColor":"#000000","isOriginalPrice":true,"isSpecialOffer":true,"SpecialOfferFontSize":"20px","SpecialOfferFontFamily":"arial,helvetica,sans-serif,Arial, Helvetica, sans-serif","SpecialOfferColor":"#000000","ProductTitleColor":"#000000","shopCount":3,"layout":"TwoVertical","actionButton":2,"buttonColor":"#000000","content":"Add to cart","btnImgSrc":1,"textColor":"#ffffff","buttonFontSize":"16px","buttonFontFamily":"arial,helvetica,sans-serif,Arial, Helvetica, sans-serif","borderRadius":"0px","buttonBorderStyle":"none","borderWidth":"1px","borderColor":"#000000","containerBackgroundColor":"transparent","paddingLeft":"0px","paddingTop":"0px","paddingRight":"0px","paddingBottom":"0px","paddingAll":"10px 10px 10px 10px","paddingCondition":true,"mobileSwitch":[],"currency":1,"currencyFormat":true,"currencyDecimalPoint":2,"segmentTypeConfig":1},"children":[]},{"id":"8a9b4bafa","type":"Logo","props":{"width":"120","height":"120","imgRatio":1,"src":"https://cdn.smartpushedm.com/frontend/smart-push/staging/1644395920444/1705904366610_253772e1.png?width=120&height=120","href":"https://smartpush4.myshoplinestg.com","align":"center","containerBackgroundColor":"transparent","paddingLeft":"20px","paddingRight":"20px","paddingTop":"20px","paddingBottom":"20px","paddingCondition":true,"segmentTypeConfig":1},"children":[]}]}]},{"id":"b8bbabad9","type":"Footer","props":{"backgroundColor":"#ffffff","borderLeft":"1px none #ffffff","borderRight":"1px none #ffffff","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingTop":"0px","paddingBottom":"0px","paddingLeft":"0px","paddingRight":"0px","cols":[12]},"children":[{"id":"b3bcabad7","type":"Column","props":{},"children":[{"id":"b39b6a94a","type":"Subscribe","props":{"content":"<div class=\'sp-font-12\'><p style=\\"text-align: center; \\" data-mce-style=\\"text-align: center; \\"><em><span class=\'sp-font-12\' style=\\"font-size: 12px; color: rgb(122, 132, 153);\\" data-mce-style=\\"font-size: 12px; color: #7a8499;\\">Please add us to your email contacts list to receive exclusive recommendations!</span></em></p><p style=\\"text-align: center; \\" data-mce-style=\\"text-align: center; \\"><em><span class=\'sp-font-12\' style=\\"font-size: 12px; color: rgb(122, 132, 153);\\" data-mce-style=\\"font-size: 12px; color: #7a8499;\\">You are receiving this message from [[shopName]] because you have signed up for subscriptions to receive information about products, services, and campaigns.</span></em></p></div><div class=\\"sp-font-12\\" style=\\"color: rgb(122, 132, 153); font-family: arial, helvetica, sans-serif, Arial, Helvetica, sans-serif; font-size: 12px; text-align: center; margin-top: 12px;padding-left: 10px; padding-right: 10px; padding-bottom: 20px;\\"><div>Questions? Please <span style=color:#479EEF;text-decoration:underline>contact us</span>, we are glad to help.</div><div>If you don\'t want to receive our message, just <span style=color:#479EEF;text-decoration:underline>click here</span> to cancel the subscription.</div></div><div class=\\"sp-font-12\\" style=\\"color: rgb(122, 132, 153); font-size: 12px; text-align: center; font-style: oblique;\\">Questions? Please <a href=[[customerEmail]] style=\\"color:#479EEF;text-decoration:underline\\" rel=\\"noreferrer\\">contact us</a>, we are glad to help.</div><div class=\\"sp-font-12\\" style=\\"color: rgb(122, 132, 153); font-size: 12px; text-align: center; font-style: oblique;\\">If you don\'t want to receive our message, just <a href=[[unsubscribe.url]] target=\\"_blank\\" style=\\"color:#479EEF;text-decoration:underline\\" rel=\\"noreferrer\\">click here</a> to cancel the subscription.</div>","containerBackgroundColor":"transparent"},"children":[]}]}]}],"extend":{"version":"1.0.0","updateTime":"2025-05-12T07:02:49.652Z"}}',
184
- # # 'currentHtml': '<!doctype html>\n<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">\n <head>\n <title></title>\n <!--[if !mso]><!-->\n <meta http-equiv="X-UA-Compatible" content="IE=edge">\n <!--<![endif]-->\n <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <style type="text/css">\n #outlook a { padding:0; }\n body { margin:0;padding:0;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%; }\n table, td { border-collapse:collapse;mso-table-lspace:0pt;mso-table-rspace:0pt; }\n img { border:0;line-height:100%; outline:none;text-decoration:none;-ms-interpolation-mode:bicubic; }\n pre{margin: 0;}p{ display: block;margin:0;}\n </style>\n <!--[if mso]>\n <noscript>\n <xml>\n <o:OfficeDocumentSettings>\n <o:AllowPNG/>\n <o:PixelsPerInch>96</o:PixelsPerInch>\n </o:OfficeDocumentSettings>\n </xml>\n </noscript>\n <![endif]-->\n <!--[if lte mso 11]>\n <style type="text/css">\n .mj-outlook-group-fix { width:100% !important; }\n </style>\n <![endif]-->\n \n <!--[if !mso]><!-->\n <link href="https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700" rel="stylesheet" type="text/css">\n <style type="text/css">\n @import url(https://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700);\n </style>\n <!--<![endif]-->\n\n \n \n <style type="text/css">\n @media only screen and (min-width:480px) {\n .mj-column-per-100 { width:100% !important; max-width: 100%; }\n }\n </style>\n <style media="screen and (min-width:480px)">\n .moz-text-html .mj-column-per-100 { width:100% !important; max-width: 100%; }\n </style>\n \n \n <style type="text/css">\n \n \n </style>\n <style type="text/css">\n @import url(https://fonts.googleapis.com/css?family=Arvo:400|Bodoni+Moda:400|DM+Sans:400|Poppins:400|Hammersmith+One:400|Libre+Baskerville:400|Lexend+Giga:400|Ubuntu:400|Montserrat:400|Nunito:400|News+Cycle:400|Roboto:400|Oswald:400);@import url(https://fonts.googleapis.com/css?family=Asar:400|Bruno+Ace:400|Cantata+One:400|League+Gothic:400|Long+Cang:400|Lovers+Quarrel:400|Nanum+Gothic+Coding:400|Nanum+Myeongjo:400|Noto+Sans+Kaithi:400|Noto+Sans+Kannada:400|Noto+Sans+Math:400|Noto+Sans+Syloti+Nagri:400|Noto+Serif+JP:400|Playwrite+AT+Guides:400|Saira+Extra+Condensed:400|Tsukimi+Rounded:400|Waiting+for+the+Sunrise:400);h1,\nh2,\nh3,\nh4,\nh5 {\n font-weight: bold;\n margin-bottom: 0;\n}\np {\n margin-top: 0;\n margin-bottom: 0;\n min-height: 1em;\n}\n\nul {\n margin-bottom: 0;\n}\n\nth {\n font-weight: bold;\n}\n\na {\n text-decoration: none;\n}\n\na::-webkit-scrollbar {\n -webkit-appearance: none;\n}\n\na::-webkit-scrollbar:horizontal {\n max-height: 8px;\n}\n\na::-webkit-scrollbar-thumb {\n border-radius: 8px;\n background-color: rgba(0, 0, 0, 0.5);\n}\n\nul,\nol,\ndl {\n margin-top: 16px !important;\n}\n\npre {\n word-break: break-word;\n padding: 0;\n margin: 0;\n white-space: inherit !important;\n}\n\npre p {\n word-break: break-word;\n padding: 0;\n margin: 0;\n color: #000000;\n}\n\nspan[style*=\'color\'] a {\n color: inherit;\n}\n\n.mj-column-no-meida-100{\n width: 100% !important;\n}\n.mj-column-no-meida-50{\n width: 50% !important;\n}\n.mj-column-no-meida-33-333333333333336{\n width: 33.333333333333336% !important;\n}\n.mj-column-no-meida-25{\n width: 25% !important;\n}\n\n.white-nowrap {\n white-space: nowrap !important;\n}\n\n/* 间距 */\n.sp-m-p-0 {\n margin: 0;\n padding: 0;\n}\n\n.nps-content-span a {\n color: inherit !important;\n}.sp-font-12 {\n font-size: 12px !important;\n}\n\n.sp-font-14 {\n font-size: 14px !important;\n}\n\n.sp-font-16 {\n font-size: 16px !important;\n}\n\n.sp-font-18 {\n font-size: 18px !important;\n}\n\n.sp-font-20 {\n font-size: 20px !important;\n}\n\n.sp-font-22 {\n font-size: 22px !important;\n}\n\n.sp-font-24 {\n font-size: 24px !important;\n}\n\n.sp-font-26 {\n font-size: 26px !important;\n}\n\n.sp-font-28 {\n font-size: 28px !important;\n}\n\n.sp-font-30 {\n font-size: 30px !important;\n}\n\n.sp-font-32 {\n font-size: 32px !important;\n}\n\n.sp-font-34 {\n font-size: 34px !important;\n}\n\n.sp-font-36 {\n font-size: 36px !important;\n}\n\n.sp-font-38 {\n font-size: 38px !important;\n}\n\n.sp-font-40 {\n font-size: 40px !important;\n}\n\n.sp-font-42 {\n font-size: 42px !important;\n}\n\n.sp-font-44 {\n font-size: 44px !important;\n}\n\n.sp-font-46 {\n font-size: 46px !important;\n}\n\n.sp-font-48 {\n font-size: 48px !important;\n}\n\n.sp-font-50 {\n font-size: 50px !important;\n}\n\n.sp-font-52 {\n font-size: 52px !important;\n}\n\n.sp-font-54 {\n font-size: 54px !important;\n}\n\n.sp-font-56 {\n font-size: 56px !important;\n}\n\n.sp-font-58 {\n font-size: 58px !important;\n}\n\n.sp-font-60 {\n font-size: 60px !important;\n}\n\n.sp-image-icon {\n width: 50px;\n}\n\n@media only screen and (max-width:600px) {\n\n .sp-font-12 {\n font-size: 12px !important;\n }\n\n .sp-font-14 {\n font-size: 12px !important;\n }\n\n .sp-font-16 {\n font-size: 12px !important;\n }\n\n .sp-font-18 {\n font-size: 13px !important;\n }\n\n .sp-font-20 {\n font-size: 15px !important;\n }\n\n .sp-font-22 {\n font-size: 16px !important;\n }\n\n .sp-font-24 {\n font-size: 18px !important;\n }\n\n .sp-font-26 {\n font-size: 19px !important;\n }\n\n .sp-font-28 {\n font-size: 21px !important;\n }\n\n .sp-font-30 {\n font-size: 22px !important;\n }\n\n .sp-font-32 {\n font-size: 24px !important;\n }\n\n .sp-font-34 {\n font-size: 25px !important;\n }\n\n .sp-font-36 {\n font-size: 27px !important;\n }\n\n .sp-font-38 {\n font-size: 28px !important;\n }\n\n .sp-font-40 {\n font-size: 30px !important;\n }\n\n .sp-font-42 {\n font-size: 31px !important;\n }\n\n .sp-font-44 {\n font-size: 32px !important;\n }\n\n .sp-font-46 {\n font-size: 33px !important;\n }\n\n .sp-font-48 {\n font-size: 34px !important;\n }\n\n .sp-font-50 {\n font-size: 35px !important;\n }\n\n .sp-font-52 {\n font-size: 36px !important;\n }\n\n .sp-font-54 {\n font-size: 37px !important;\n }\n\n .sp-font-56 {\n font-size: 38px !important;\n }\n\n .sp-font-58 {\n font-size: 39px !important;\n }\n\n .sp-font-60 {\n font-size: 40px !important;\n }\n\n .sp-image-icon {\n width: 28px !important;\n }\n\n}@media only screen and (max-width:480px) {\n\n .sp-img-h-1-TwoVertical-11,\n .sp-img-h-1-TwoHorizontalColumns-11 {\n height: 170px !important;\n }\n\n .sp-img-h-1-TwoVertical-23,\n .sp-img-h-1-TwoHorizontalColumns-23 {\n height: 243px !important;\n }\n\n .sp-img-h-1-TwoVertical-34,\n .sp-img-h-1-TwoHorizontalColumns-34 {\n height: 227px !important;\n }\n\n .sp-img-h-1-TwoVertical-43,\n .sp-img-h-1-TwoHorizontalColumns-43 {\n height: 127px !important;\n }\n\n .sp-img-h-1-ThreeHorizontalColumns-11 {\n height: 109px !important;\n }\n\n .sp-img-h-1-ThreeHorizontalColumns-23 {\n height: 163px !important;\n }\n\n .sp-img-h-1-ThreeHorizontalColumns-34 {\n height: 145px !important;\n }\n\n .sp-img-h-1-ThreeHorizontalColumns-43 {\n height: 81px !important;\n }\n\n .sp-img-h-2-TwoVertical-11 {\n height: 164px !important;\n }\n\n .sp-img-h-2-TwoVertical-23 {\n height: 246px !important;\n }\n\n .sp-img-h-2-TwoVertical-34 {\n height: 218px !important;\n }\n\n .sp-img-h-2-TwoVertical-43 {\n height: 123px !important;\n }\n\n .sp-img-h-2-ThreeHorizontalColumns-11,\n .sp-img-h-2-TwoHorizontalColumns-11 {\n height: 76px !important;\n }\n\n .sp-img-h-2-ThreeHorizontalColumns-23,\n .sp-img-h-2-TwoHorizontalColumns-23 {\n height: 113px !important;\n }\n\n .sp-img-h-2-ThreeHorizontalColumns-34,\n .sp-img-h-2-TwoHorizontalColumns-34 {\n height: 101px !important;\n }\n\n .sp-img-h-2-ThreeHorizontalColumns-43,\n .sp-img-h-2-TwoHorizontalColumns-43 {\n height: 57px !important;\n }\n}@media only screen and (min-width: 320px) and (max-width: 599px) {\n .mj-w-50 {\n width: 50% !important;\n max-width: 50%;\n }\n}\n\n@media only screen and (max-width: 480px) {\n .shop-white-mobile {\n width: 100% !important;\n }\n .mj-td-force-100{\n display: inline-block;\n width: 100% !important;\n }\n\n .mj-ImageText-screen {\n width: 100% !important;\n }\n .mj-ImageText-img {\n margin: 0 auto;\n }\n\n .mj-ImageText-margin {\n margin: 0 !important;\n }\n\n .mj-ImageText-margin-zero {\n margin: 0 5px 0 0 !important;\n }\n\n .mj-ImageText-margin-one {\n margin: 0 0 0 5px !important;\n }\n .mj-column-per-50-force {\n width: 50% !important;\n max-width: 50%;\n }\n}\n\n@media only screen and (min-width: 480px) {\n .mj-imagetext-force-100{\n display: inline-block;\n width: 100% !important;\n }\n .mj-column-per-100 {\n width: 100% !important;\n max-width: 100%;\n }\n\n .mj-column-per-50 {\n width: 50% !important;\n max-width: 50%;\n }\n\n .mj-column-per-33-333333333333336 {\n width: 33.333333333333336% !important;\n max-width: 33.333333333333336%;\n }\n\n .mj-column-per-25 {\n width: 25% !important;\n max-width: 25%;\n }\n\n\n .mg-column-per-46-5 {\n width: 46.5% !important;\n max-width: 46.5%;\n }\n\n .mj-AbandonProduct-cloum-align-center {\n align-items: flex-start !important;\n }\n\n\n .mj-OrderInformation-padding-top-220 {\n padding-top: 20px !important;\n }\n\n .mj-OrderInformation-float-left {\n float: left !important;\n }\n}@media only screen and (max-width: 480px) {\n .mt-1{\n margin-top: 1px;\n }\n .mt-2{\n margin-top: 2px;\n }\n .mt-3{\n margin-top: 3px;\n }\n .mt-4{\n margin-top: 4px;\n }\n .mt-5{\n margin-top: 5px;\n }\n .mt-6{\n margin-top: 7px;\n }\n .mt-8{\n margin-top: 9px;\n }\n .mt-10{\n margin-top: 10px;\n }\n\n}\n </style>\n \n </head>\n <body style="word-spacing:normal;background-color:#EAEDF1;">\n \n \n <div\n style="background-color:#EAEDF1;"\n >\n <table className="pv-stage">\n <tbody>\n <tr>\n <td style="display:table-column;"><div style="width:1px; height:1px;"><img style="width:1px; height:1px;" width="1" src="${SP_OPEN_EMAIL_URL}" />\n </div></td>\n </tr>\n </tbody>\n </table><div mso-hide: all; position: fixed; height: 0; max-height: 0; overflow: hidden; font-size: 0; style="display:none;">${emailSubtitle}</div>\n \n <!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" bgcolor="#ffffff" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->\n \n \n <div style="background:#ffffff;background-color:#ffffff;margin:0px auto;max-width:600px;">\n \n <table\n align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#ffffff;background-color:#ffffff;width:100%;"\n >\n <tbody>\n <tr>\n <td\n style="border-bottom:1px none #ffffff;border-left:1px none #ffffff;border-right:1px none #ffffff;border-top:1px none #ffffff;direction:ltr;font-size:0px;padding:20px 0;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;text-align:center;"\n >\n <!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:598px;" ><![endif]-->\n \n <div\n class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"\n >\n \n <table\n border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%"\n >\n <tbody>\n \n <tr>\n <td\n align="left" style="font-size:0px;padding:10px 25px;padding-top:10px;padding-right:10px;padding-bottom:10px;padding-left:10px;word-break:break-word;"\n >\n \n <table\n cellpadding="0" cellspacing="0" width="100%" border="0" style="color:#000000;font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:1.5;table-layout:fixed;width:100%;border:none;"\n >\n <tr style="background-color:transparent;"><td style="vertical-align:top;" valign="top"><table style="border-collapse: collapse;width:100%; table-layout: fixed;"><tbody ><tr><td class="sp-font-16" style="text-align:left;background-color:transparent;padding-left:10px;padding-right:10px;padding-top:0px;padding-bottom:0px;font-size:16px;border-style:none;border-color:#ffffff;border-width:1px;"><pre class="mq_AS" style="white-space: inherit;word-break: break-word;"><p style="line-height: 3; text-align: right;"><span style="color: #000000; font-size: 12px; font-family: arial, sans-serif;"><a style="color: #000000;" href="${viewInWebApiUrl}">Can\'t see the email? Please <span style="color: #3598db;">click here</span></a></span></p></pre></td></tr></tbody></table></td></tr>\n </table>\n \n </td>\n </tr>\n \n </tbody>\n </table>\n \n </div>\n \n <!--[if mso | IE]></td></tr></table><![endif]-->\n </td>\n </tr>\n </tbody>\n </table>\n \n </div>\n \n \n <!--[if mso | IE]></td></tr></table><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" bgcolor="#ffffff" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->\n \n \n <div style="background:#ffffff;background-color:#ffffff;margin:0px auto;max-width:600px;">\n \n <table\n align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#ffffff;background-color:#ffffff;width:100%;"\n >\n <tbody>\n <tr>\n <td\n style="border-bottom:1px none #ffffff;border-left:1px none #ffffff;border-right:1px none #ffffff;border-top:1px none #ffffff;direction:ltr;font-size:0px;padding:20px 0;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;text-align:center;"\n >\n <!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:598px;" ><![endif]-->\n \n <div\n class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"\n >\n \n <table\n border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%"\n >\n <tbody>\n \n <tr>\n <td\n align="left" style="background:transparent;font-size:0px;padding:0;word-break:break-word;"\n >\n \n <table\n cellpadding="0" cellspacing="0" width="100%" border="0" style="color:#000000;font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:22px;table-layout:auto;width:100%;border:0;"\n >\n <tr>\n <td align="center">\n <table style="padding:0;margin:0;clear:both;">\n <tbody style="padding:0;margin:0;clear:both;">\n <tr style="padding:0;margin:0;clear:both;">\n <td style="padding:0;margin:0;clear:both;width:120;padding-bottom:20px;padding-left:20px;padding-right:20px;padding-top:20px;">\n <a href="https://smartpush4.myshoplinestg.com" style="padding:0;margin:0;clear:both;"><img src="https://sl-smartfile.oss-accelerate.aliyuncs.com/frontend/smart-push/staging/1644395920444/1705904366610_253772e1.png?width=120&height=120" style="width:120px;max-width:100%;display:block;outline:none;text-decoration:none;height:auto;font-size:0px;object-fit:cover;" width="120" /></a>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </table>\n \n </td>\n </tr>\n \n <tr>\n <td\n align="left" style="font-size:0px;padding:10px 25px;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;word-break:break-word;"\n >\n \n <table\n cellpadding="0" cellspacing="0" width="100%" border="0" style="color:#000000;font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:22px;table-layout:fixed;width:100%;border:none;"\n >\n <tbody><tr><td>${autoProduct_areaId_8e89c8878}</td></tr> <tr style="marign:0;padding:0;"><td style="marign:0;padding:0;"><div class="autoProduct-8e89c8878" sp-id="autoProduct-blockId-8e89c8878" data-reactroot=""><div class="AbandonProduct"><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:10px 10px 10px 10px;width:100%;clear:both;font-size:0;text-align:left;background-color:transparent" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed;font-size:0" class="AbandonProductRow"><tbody><tr><td class="AbandonProduct-shop-item" style="vertical-align:top;font-size:0px;margin:0;padding:0;display:inline-block;width:100.00%"><a href="javascript:;" target="_blank"><table><tbody><tr><td style="padding:0;text-align:center"><table><tbody><tr><td style="width:50%;vertical-align:top;padding:0px;margin:0px" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr style="width:100%"><td style="margin:0;padding:10px;width:100%;position:unset" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><img style="width:100%;vertical-align:top" width="270" src="https://cdn.smartpushedm.com/frontend/smart-push/product/image/1726133402921_b4b36c7e.png" alt="img1"/></td></tr></tbody></table></td></tr></tbody></table></td><td style="width:50%;vertical-align:middle;padding:0px;margin:0px" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr style="width:100%"><td style="margin:0;padding:10px 10px 10px 10px;width:100%" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;box-sizing:border-box;text-align:center" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;margin-bottom:8px;text-align:center" class=""><span class="sp-font-14" style="line-height:20px;color:#000000;font-size:14px;word-break:break-word;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif">Here is an example product name:Hot Sexy Dress Luxury Evening Dress Rose Red Feather Stitching Mini Dress Slim Party Long Sleeve Irregular Hem Skirt Women</span></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;padding-top:4px;padding-bottom:4px;text-align:center" class=""><span class="sp-font-16" style="color:#474F5E;line-height:22px;word-break:break-word;padding-right:5.5px;padding-left:5.5px">SKU</span></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><p class="sp-font-20" style="line-height:1.4;padding:0 5.5px;font-size:20px;color:#000000;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;font-weight:600;margin-bottom:10px;text-align:center;overflow-wrap:anywhere;word-wrap:break-word">USD $0.00</p><p class="sp-font-16" style="line-height:1.4;padding:0 5.5px;font-size:16px;color:#000000;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;font-weight:400;margin-bottom:10px;text-align:center;overflow-wrap:anywhere;word-wrap:break-word;text-decoration:line-through">USD $0.00</p></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><div style="margin:0 auto;box-sizing:border-box;border-radius:0px;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;color:#ffffff;background-color:#000000;min-width:60%;display:block;font-size:16px;font-weight:500;word-break:break-word;text-align:center;border-style:none" class="sp-font-16"><div style="border-top:8px solid transparent;border-bottom:8px solid transparent;line-height:1">Add to cart</div></div></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></a></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed;font-size:0" class="AbandonProductRow"><tbody><tr><td class="AbandonProduct-shop-item" style="vertical-align:top;font-size:0px;margin:0;padding:0;display:inline-block;width:100.00%"><a href="javascript:;" target="_blank"><table><tbody><tr><td style="padding:0;text-align:center"><table><tbody><tr><td style="width:50%;vertical-align:top;padding:0px;margin:0px" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr style="width:100%"><td style="margin:0;padding:10px;width:100%;position:unset" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><img style="width:100%;vertical-align:top" width="270" src="https://cdn.smartpushedm.com/frontend/smart-push/product/image/1726133402921_b4b36c7e.png" alt="img1"/></td></tr></tbody></table></td></tr></tbody></table></td><td style="width:50%;vertical-align:middle;padding:0px;margin:0px" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr style="width:100%"><td style="margin:0;padding:10px 10px 10px 10px;width:100%" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;box-sizing:border-box;text-align:center" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;margin-bottom:8px;text-align:center" class=""><span class="sp-font-14" style="line-height:20px;color:#000000;font-size:14px;word-break:break-word;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif">Here is an example product name:Hot Sexy Dress Luxury Evening Dress Rose Red Feather Stitching Mini Dress Slim Party Long Sleeve Irregular Hem Skirt Women</span></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;padding-top:4px;padding-bottom:4px;text-align:center" class=""><span class="sp-font-16" style="color:#474F5E;line-height:22px;word-break:break-word;padding-right:5.5px;padding-left:5.5px">SKU</span></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><p class="sp-font-20" style="line-height:1.4;padding:0 5.5px;font-size:20px;color:#000000;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;font-weight:600;margin-bottom:10px;text-align:center;overflow-wrap:anywhere;word-wrap:break-word">USD $0.00</p><p class="sp-font-16" style="line-height:1.4;padding:0 5.5px;font-size:16px;color:#000000;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;font-weight:400;margin-bottom:10px;text-align:center;overflow-wrap:anywhere;word-wrap:break-word;text-decoration:line-through">USD $0.00</p></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><div style="margin:0 auto;box-sizing:border-box;border-radius:0px;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;color:#ffffff;background-color:#000000;min-width:60%;display:block;font-size:16px;font-weight:500;word-break:break-word;text-align:center;border-style:none" class="sp-font-16"><div style="border-top:8px solid transparent;border-bottom:8px solid transparent;line-height:1">Add to cart</div></div></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></a></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed;font-size:0" class="AbandonProductRow"><tbody><tr><td class="AbandonProduct-shop-item" style="vertical-align:top;font-size:0px;margin:0;padding:0;display:inline-block;width:100.00%"><a href="javascript:;" target="_blank"><table><tbody><tr><td style="padding:0;text-align:center"><table><tbody><tr><td style="width:50%;vertical-align:top;padding:0px;margin:0px" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr style="width:100%"><td style="margin:0;padding:10px;width:100%;position:unset" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><img style="width:100%;vertical-align:top" width="270" src="https://cdn.smartpushedm.com/frontend/smart-push/product/image/1726133402921_b4b36c7e.png" alt="img1"/></td></tr></tbody></table></td></tr></tbody></table></td><td style="width:50%;vertical-align:middle;padding:0px;margin:0px" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr style="width:100%"><td style="margin:0;padding:10px 10px 10px 10px;width:100%" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;box-sizing:border-box;text-align:center" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;margin-bottom:8px;text-align:center" class=""><span class="sp-font-14" style="line-height:20px;color:#000000;font-size:14px;word-break:break-word;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif">Here is an example product name:Hot Sexy Dress Luxury Evening Dress Rose Red Feather Stitching Mini Dress Slim Party Long Sleeve Irregular Hem Skirt Women</span></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;padding-top:4px;padding-bottom:4px;text-align:center" class=""><span class="sp-font-16" style="color:#474F5E;line-height:22px;word-break:break-word;padding-right:5.5px;padding-left:5.5px">SKU</span></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><p class="sp-font-20" style="line-height:1.4;padding:0 5.5px;font-size:20px;color:#000000;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;font-weight:600;margin-bottom:10px;text-align:center;overflow-wrap:anywhere;word-wrap:break-word">USD $0.00</p><p class="sp-font-16" style="line-height:1.4;padding:0 5.5px;font-size:16px;color:#000000;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;font-weight:400;margin-bottom:10px;text-align:center;overflow-wrap:anywhere;word-wrap:break-word;text-decoration:line-through">USD $0.00</p></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><div style="margin:0 auto;box-sizing:border-box;border-radius:0px;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;color:#ffffff;background-color:#000000;min-width:60%;display:block;font-size:16px;font-weight:500;word-break:break-word;text-align:center;border-style:none" class="sp-font-16"><div style="border-top:8px solid transparent;border-bottom:8px solid transparent;line-height:1">Add to cart</div></div></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></a></td></tr></tbody></table></td></tr></tbody></table></div><div style="display:none"><div class="AbandonProduct" sp-id="autoProduct-dom-8e89c8878"><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:10px 10px 10px 10px;width:100%;clear:both;font-size:0;text-align:left;background-color:transparent" class="">${product_area}</td></tr></tbody></table></div><table style="margin:0;padding:0;width:100%;table-layout:fixed;font-size:0" class="AbandonProductRow" sp-id="autoProduct-dom-row-8e89c8878"><tbody><tr>${product_row}</tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td class="AbandonProduct-shop-item" style="vertical-align:top;font-size:0px;margin:0;padding:0;display:inline-block;width:100.00%" sp-id="autoProduct-dom-shop-8e89c8878"><a href="${create_cart_url}" target="_blank"><table><tbody><tr><td style="padding:0;text-align:center"><table><tbody><tr><td style="width:50%;vertical-align:top;padding:0px;margin:0px" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr style="width:100%"><td style="margin:0;padding:10px;width:100%;position:unset" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><img style="width:100%;vertical-align:top" width="270" src="${product_image}" alt="img1"/></td></tr></tbody></table></td></tr></tbody></table></td><td style="width:50%;vertical-align:middle;padding:0px;margin:0px" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr style="width:100%"><td style="margin:0;padding:10px 10px 10px 10px;width:100%" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;box-sizing:border-box;text-align:center" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;margin-bottom:8px;text-align:center" class=""><span class="sp-font-14" style="line-height:20px;color:#000000;font-size:14px;word-break:break-word;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif">${product_title}</span></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%;padding-top:4px;padding-bottom:4px;text-align:center" class=""><span class="sp-font-16" style="color:#474F5E;line-height:22px;word-break:break-word;padding-right:5.5px;padding-left:5.5px">${product_sku_title}</span></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><p class="sp-font-20" style="line-height:1.4;padding:0 5.5px;font-size:20px;color:#000000;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;font-weight:600;margin-bottom:10px;text-align:center;overflow-wrap:anywhere;word-wrap:break-word">${product_price_sale_new}</p><p class="sp-font-16" style="line-height:1.4;padding:0 5.5px;font-size:16px;color:#000000;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;font-weight:400;margin-bottom:10px;text-align:center;overflow-wrap:anywhere;word-wrap:break-word;text-decoration:line-through">${product_price_new}</p></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><div style="margin:0 auto;box-sizing:border-box;border-radius:0px;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif,arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;color:#ffffff;background-color:#000000;min-width:60%;display:block;font-size:16px;font-weight:500;word-break:break-word;text-align:center;border-style:none" class="sp-font-16"><div style="border-top:8px solid transparent;border-bottom:8px solid transparent;line-height:1">Add to cart</div></div></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></a></td></tr></tbody></table><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td class="AbandonProduct-shop-item" style="vertical-align:top;font-size:0px;margin:0;padding:0;display:inline-block;width:100.00%" sp-id="autoProduct-dom-shop-placeholder-8e89c8878"><a href="javascript:void" target="_blank"><table><tbody><tr><td style="padding:0;text-align:center"><table><tbody><tr><td style="width:50%;vertical-align:top;padding:0px;margin:0px" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr style="width:100%"><td style="margin:0;padding:0px 10px 0px 10px;width:100%;position:unset" class=""><table style="margin:0;padding:0;width:100%;table-layout:fixed" class=""><tbody><tr><td style="margin:0;padding:0;width:100%" class=""><img style="width:100%;vertical-align:top" width="270" src="https://cdn.smartpushedm.com/frontend/smart-push/develop/image/1697601230483_6157706f.png" alt="img1"/></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></a></td></tr></tbody></table></div></div></td></tr></tbody>\n </table>\n \n </td>\n </tr>\n \n <tr>\n <td\n align="left" style="background:transparent;font-size:0px;padding:0;word-break:break-word;"\n >\n \n <table\n cellpadding="0" cellspacing="0" width="100%" border="0" style="color:#000000;font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:22px;table-layout:auto;width:100%;border:0;"\n >\n <tr>\n <td align="center">\n <table style="padding:0;margin:0;clear:both;">\n <tbody style="padding:0;margin:0;clear:both;">\n <tr style="padding:0;margin:0;clear:both;">\n <td style="padding:0;margin:0;clear:both;width:120;padding-bottom:20px;padding-left:20px;padding-right:20px;padding-top:20px;">\n <a href="https://smartpush4.myshoplinestg.com" style="padding:0;margin:0;clear:both;"><img src="https://sl-smartfile.oss-accelerate.aliyuncs.com/frontend/smart-push/staging/1644395920444/1705904366610_253772e1.png?width=120&height=120" style="width:120px;max-width:100%;display:block;outline:none;text-decoration:none;height:auto;font-size:0px;object-fit:cover;" width="120" /></a>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </table>\n \n </td>\n </tr>\n \n </tbody>\n </table>\n \n </div>\n \n <!--[if mso | IE]></td></tr></table><![endif]-->\n </td>\n </tr>\n </tbody>\n </table>\n \n </div>\n \n \n <!--[if mso | IE]></td></tr></table><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" bgcolor="#ffffff" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->\n \n \n <div style="background:#ffffff;background-color:#ffffff;margin:0px auto;max-width:600px;">\n \n <table\n align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#ffffff;background-color:#ffffff;width:100%;"\n >\n <tbody>\n <tr>\n <td\n style="border-bottom:1px none #ffffff;border-left:1px none #ffffff;border-right:1px none #ffffff;border-top:1px none #ffffff;direction:ltr;font-size:0px;padding:20px 0;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;text-align:center;"\n >\n <!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:598px;" ><![endif]-->\n \n <div\n class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"\n >\n \n <table\n border="0" cellpadding="0" cellspacing="0" role="presentation" style="vertical-align:top;" width="100%"\n >\n <tbody>\n \n <tr>\n <td\n align="left" style="font-size:0px;padding:0;word-break:break-word;"\n >\n \n <table\n cellpadding="0" cellspacing="0" width="100%" border="0" style="color:#000000;font-family:Ubuntu, Helvetica, Arial, sans-serif;font-size:13px;line-height:22px;table-layout:fixed;width:100%;border:none;"\n >\n <table style="margin:0;padding:0;width:100%;table-layout:fixed" class="" sp-id="subscribe-area-b39b6a94a"><tbody><tr style="width:100%"><td style="margin:0;padding:0;width:100%;text-align:center;padding-top:20px;padding-left:20px;padding-right:20px;padding-bottom:20px;background-color:transparent;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif" class="Subscribe"><table cellPadding="0" cellSpacing="0" style="width:100%"><tbody><tr><td align="center" class="sp-font-16" valign="middle" style="padding-left:10px;padding-right:10px;padding-top:10px;text-align:left;font-size:16px"><div><div class=\'sp-font-12\'><p style="text-align: center; " data-mce-style="text-align: center; "><em><span class=\'sp-font-12\' style="font-size: 12px; color: rgb(122, 132, 153);" data-mce-style="font-size: 12px; color: #7a8499;">Please add us to your email contacts list to receive exclusive recommendations!</span></em></p><p style="text-align: center; " data-mce-style="text-align: center; "><em><span class=\'sp-font-12\' style="font-size: 12px; color: rgb(122, 132, 153);" data-mce-style="font-size: 12px; color: #7a8499;">You are receiving this message from [[shopName]] because you have signed up for subscriptions to receive information about products, services, and campaigns.</span></em></p></div><div class="sp-font-12" style="color: rgb(122, 132, 153); font-family: arial, helvetica, sans-serif, Arial, Helvetica, sans-serif; font-size: 12px; text-align: center; margin-top: 12px;padding-left: 10px; padding-right: 10px; padding-bottom: 20px;"><div>Questions? Please <span style=color:#479EEF;text-decoration:underline>contact us</span>, we are glad to help.</div><div>If you don\'t want to receive our message, just <span style=color:#479EEF;text-decoration:underline>click here</span> to cancel the subscription.</div></div><div class="sp-font-12" style="color: rgb(122, 132, 153); font-size: 12px; text-align: center; font-style: oblique;">Questions? Please <html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><a href="mailto:[[customerEmail]]" style="color:#479EEF;text-decoration:underline" rel="noreferrer">contact us</a></body></html>, we are glad to help.</div><div class="sp-font-12" style="color: rgb(122, 132, 153); font-size: 12px; text-align: center; font-style: oblique;">If you don\'t want to receive our message, just <html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><a href="[[unsubscribe.url]]" target="_blank" style="color:#479EEF;text-decoration:underline" rel="noreferrer">click here</a></body></html> to cancel the subscription.</div></div></td></tr><tr><td align="center" valign="middle" height="20" style="font-size:12px;font-family:arial,helvetica,sans-serif,Arial, Helvetica, sans-serif;padding-left:10px;padding-right:10px;padding-bottom:20px"></td></tr><div><tr style="${hide_logo}" sp-id="subscribe-dom-b39b6a94a">\n <td class=\'sp-font-16\' style="padding-left:20px;padding-right:20px;padding-top:20px;text-align:center;font-size:16px" >\n <div style="border-top: 1px solid #EEF1F6">\n <img src="https://cdn.smartpushedm.com/frontend/smart-push/product/image/1731577171577_83853d55.png" style="padding: 10px;vertical-align: middle;width: 158px;"alt="" />\n </div>\n <p style="color:#343434;font-size:12px">Providing content services for [[shopName]]</p>\n </td>\n </tr></div></tbody></table></td></tr></tbody></table>\n </table>\n \n </td>\n </tr>\n \n </tbody>\n </table>\n \n </div>\n \n <!--[if mso | IE]></td></tr></table><![endif]-->\n </td>\n </tr>\n </tbody>\n </table>\n \n </div>\n \n \n <!--[if mso | IE]></td></tr></table><![endif]-->\n \n \n </div>\n \n </body>\n</html>\n ',
185
- # # 'previewJsonSchema': '{"id":"a4a9fba2a","type":"Stage","props":{"backgroundColor":"#EAEDF1","width":"600px","fullWidth":"normal-width"},"children":[{"id":"84ba788da","type":"Header","props":{"backgroundColor":"#ffffff","borderLeft":"1px none #ffffff","borderRight":"1px none #ffffff","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingTop":"0px","paddingBottom":"0px","paddingLeft":"0px","paddingRight":"0px","cols":[12]},"children":[{"id":"98d909a48","type":"Column","props":{},"children":[{"id":"8298cb99a","type":"TextSet","props":{"list":[{"borderWidth":"1px","borderStyle":"none","content":"<p style=\\"line-height: 3; text-align: right;\\"><span style=\\"color: #000000; font-size: 12px; font-family: arial, sans-serif;\\"><a style=\\"color: #000000;\\" href=\\"${viewInWebApiUrl}\\">Can\'t see the email? Please <span style=\\"color: #3598db;\\">click here</span></a></span></p>","paddingLeft":"10px","paddingRight":"10px","paddingTop":"0px","paddingBottom":"0px","borderColor":"#ffffff"}],"containerBackgroundColor":"transparent","paddingLeft":"10px","paddingRight":"10px","paddingTop":"10px","paddingBottom":"10px"},"children":[]}]}]},{"id":"84ba7bbda","type":"Section","props":{"backgroundColor":"#ffffff","borderLeft":"1px none #ffffff","borderRight":"1px none #ffffff","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingTop":"0px","paddingBottom":"0px","paddingLeft":"0px","paddingRight":"0px","cols":[12]},"children":[{"id":"8cab9aa48","type":"Column","props":{},"children":[{"id":"b98abb998","type":"Logo","props":{"width":120,"height":120,"imgRatio":1,"src":"https://sl-smartfile.oss-accelerate.aliyuncs.com/frontend/smart-push/staging/1644395920444/1705904366610_253772e1.png?width=120&height=120","href":"https://smartpush4.myshoplinestg.com","align":"center","containerBackgroundColor":"transparent","paddingLeft":"20px","paddingRight":"20px","paddingTop":"20px","paddingBottom":"20px","paddingCondition":true,"segmentTypeConfig":1},"children":[]},{"id":"8e89c8878","type":"AutoProduct","props":{"imgRatio":"auto","imgFillType":"contain","showLineRule":0,"justifyContent":"center","isProductTitle":true,"isProductActionButton":true,"OriginalPriceFontSize":"16px","OriginalPriceFontFamily":"arial,helvetica,sans-serif,Arial, Helvetica, sans-serif","OriginalPriceColor":"#000000","isOriginalPrice":true,"isSpecialOffer":true,"SpecialOfferFontSize":"20px","SpecialOfferFontFamily":"arial,helvetica,sans-serif,Arial, Helvetica, sans-serif","SpecialOfferColor":"#000000","ProductTitleColor":"#000000","shopCount":3,"layout":"TwoVertical","actionButton":2,"buttonColor":"#000000","content":"Add to cart","btnImgSrc":1,"textColor":"#ffffff","buttonFontSize":"16px","buttonFontFamily":"arial,helvetica,sans-serif,Arial, Helvetica, sans-serif","borderRadius":"0px","buttonBorderStyle":"none","borderWidth":"1px","borderColor":"#000000","containerBackgroundColor":"transparent","paddingLeft":"0px","paddingTop":"0px","paddingRight":"0px","paddingBottom":"0px","paddingAll":"10px 10px 10px 10px","paddingCondition":true,"mobileSwitch":[],"currency":1,"currencyFormat":true,"currencyDecimalPoint":2,"segmentTypeConfig":1},"children":[]},{"id":"8a9b4bafa","type":"Logo","props":{"width":120,"height":120,"imgRatio":1,"src":"https://sl-smartfile.oss-accelerate.aliyuncs.com/frontend/smart-push/staging/1644395920444/1705904366610_253772e1.png?width=120&height=120","href":"https://smartpush4.myshoplinestg.com","align":"center","containerBackgroundColor":"transparent","paddingLeft":"20px","paddingRight":"20px","paddingTop":"20px","paddingBottom":"20px","paddingCondition":true,"segmentTypeConfig":1},"children":[]}]}]},{"id":"b8bbabad9","type":"Footer","props":{"backgroundColor":"#ffffff","borderLeft":"1px none #ffffff","borderRight":"1px none #ffffff","borderTop":"1px none #ffffff","borderBottom":"1px none #ffffff","paddingTop":"0px","paddingBottom":"0px","paddingLeft":"0px","paddingRight":"0px","cols":[12]},"children":[{"id":"b3bcabad7","type":"Column","props":{},"children":[{"id":"b39b6a94a","type":"Subscribe","props":{"content":"<div class=\'sp-font-12\'><p style=\\"text-align: center; \\" data-mce-style=\\"text-align: center; \\"><em><span class=\'sp-font-12\' style=\\"font-size: 12px; color: rgb(122, 132, 153);\\" data-mce-style=\\"font-size: 12px; color: #7a8499;\\">Please add us to your email contacts list to receive exclusive recommendations!</span></em></p><p style=\\"text-align: center; \\" data-mce-style=\\"text-align: center; \\"><em><span class=\'sp-font-12\' style=\\"font-size: 12px; color: rgb(122, 132, 153);\\" data-mce-style=\\"font-size: 12px; color: #7a8499;\\">You are receiving this message from [[shopName]] because you have signed up for subscriptions to receive information about products, services, and campaigns.</span></em></p></div><div class=\\"sp-font-12\\" style=\\"color: rgb(122, 132, 153); font-family: arial, helvetica, sans-serif, Arial, Helvetica, sans-serif; font-size: 12px; text-align: center; margin-top: 12px;padding-left: 10px; padding-right: 10px; padding-bottom: 20px;\\"><div>Questions? Please <span style=color:#479EEF;text-decoration:underline>contact us</span>, we are glad to help.</div><div>If you don\'t want to receive our message, just <span style=color:#479EEF;text-decoration:underline>click here</span> to cancel the subscription.</div></div><div class=\\"sp-font-12\\" style=\\"color: rgb(122, 132, 153); font-size: 12px; text-align: center; font-style: oblique;\\">Questions? Please <a href=[[customerEmail]] style=\\"color:#479EEF;text-decoration:underline\\" rel=\\"noreferrer\\">contact us</a>, we are glad to help.</div><div class=\\"sp-font-12\\" style=\\"color: rgb(122, 132, 153); font-size: 12px; text-align: center; font-style: oblique;\\">If you don\'t want to receive our message, just <a href=[[unsubscribe.url]] target=\\"_blank\\" style=\\"color:#479EEF;text-decoration:underline\\" rel=\\"noreferrer\\">click here</a> to cancel the subscription.</div>","containerBackgroundColor":"transparent"},"children":[]}]}]}],"extend":{"version":"1.0.0","updateTime":"2025-05-12T07:02:49.652Z"}}',
186
- # # 'generatedHtml': False,
187
- # # 'templateUrl': 'https://cdn2.smartpushedm.com/material_ec2/2024-07-08/c316faf4623d4638893a127e150377f0/v2-545b3673f3db07397babfb71755ecee0_720w.png',
188
- # # 'sendStrategy': 'NOW',
189
- # # 'totalReceiver': 0,
190
- # # 'utmConfigEnable': False,
191
- # # 'subtitle': '',
192
- # # 'language': 'en',
193
- # # 'languageName': '英语',
194
- # # 'timezone': 'Asia/Macao',
195
- # # 'timezoneGmt': 'GMT+08:00',
196
- # # 'type': 'FLOW',
197
- # # 'relId': 'FLOW6966717528141252274',
198
- # # 'parentId': '0',
199
- # # 'nodeId': '15630c25-75fa-4456-a6ee-a2bd1e3e64a1',
200
- # # 'version': '128',
201
- # # 'nodeOrder': 0,
202
- # # 'sendType': 'EMAIL',
203
- # # 'productInfos': [],
204
- # # 'blocks': [{
205
- # # 'domId': 'subscribe-dom-b39b6a94a',
206
- # # 'blockId': '',
207
- # # 'areaId': '',
208
- # # 'type': 'SP_LOGO',
209
- # # 'column': 1,
210
- # # 'fillStyle': 0,
211
- # # 'ratio': '',
212
- # # 'currencySymbolShow': 1,
213
- # # 'thousandthSep': True,
214
- # # 'decimalPoint': 2},
215
- # # {
216
- # # 'domId': 'autoProduct-dom-8e89c8878',
217
- # # 'blockId': 'autoProduct-blockId-8e89c8878',
218
- # # 'areaId': 'autoProduct_areaId_8e89c8878',
219
- # # 'type': 'AUTO_PRODUCT_AREA',
220
- # # 'column': 1,
221
- # # 'limit': 3,
222
- # # 'length': 0,
223
- # # 'fillStyle': 0,
224
- # # 'ratio': '',
225
- # # 'currencySymbolShow': 1,
226
- # # 'thousandthSep': True,
227
- # # 'decimalPoint': 2},
228
- # # {
229
- # # 'domId': 'autoProduct-dom-row-8e89c8878',
230
- # # 'blockId': 'autoProduct-blockId-8e89c8878',
231
- # # 'areaId': 'autoProduct_areaId_8e89c8878',
232
- # # 'type': 'AUTO_PRODUCT_ROW',
233
- # # 'column': 1,
234
- # # 'rowSize': 1,
235
- # # 'limit': 3,
236
- # # 'length': 0,
237
- # # 'fillStyle': 0,
238
- # # 'ratio': '',
239
- # # 'currencySymbolShow': 1,
240
- # # 'thousandthSep': True,
241
- # # 'decimalPoint': 2},
242
- # # {
243
- # # 'domId': 'autoProduct-dom-shop-8e89c8878',
244
- # # 'blockId': 'autoProduct-blockId-8e89c8878',
245
- # # 'areaId': 'autoProduct_areaId_8e89c8878',
246
- # # 'type': 'AUTO_PRODUCT',
247
- # # 'column': 1,
248
- # # 'limit': 3,
249
- # # 'length': 0,
250
- # # 'fillStyle': 0,
251
- # # 'ratio': '',
252
- # # 'sort': 1,
253
- # # 'hotspotIds': [
254
- # # 'A2E7kxsbjl',
255
- # # 'uPoKYa7G7R',
256
- # # 'Q3lULmYalt'],
257
- # # 'currencySymbolShow': 1,
258
- # # 'thousandthSep': True,
259
- # # 'decimalPoint': 2},
260
- # # {
261
- # # 'domId': 'autoProduct-dom-shop-placeholder-8e89c8878',
262
- # # 'blockId': 'autoProduct-blockId-8e89c8878',
263
- # # 'areaId': 'autoProduct_areaId_8e89c8878',
264
- # # 'type': 'EMPTY_AUTO_PRODUCT',
265
- # # 'column': 1,
266
- # # 'limit': 3,
267
- # # 'length': 0,
268
- # # 'fillStyle': 0,
269
- # # 'ratio': '',
270
- # # 'currencySymbolShow': 1,
271
- # # 'thousandthSep': True,
272
- # # 'decimalPoint': 2}],
273
- # # 'discountCodes': [],
274
- # # 'reviews': [],
275
- # # 'awards': [],
276
- # # 'selectProducts': [],
277
- # # 'createSource': 'BUILD_ACTIVITY',
278
- # # 'contentChange': True,
279
- # # 'activityChange': False,
280
- # # 'imageVersion': '1747033369659',
281
- # # 'subActivityList': [],
282
- # # 'warmupPack': 0,
283
- # # 'boosterEnabled': False,
284
- # # 'smartSending': False,
285
- # # 'boosterCreated': False,
286
- # # 'gmailPromotion': False,
287
- # # 'sendTimeType': 'FIXED',
288
- # # 'sendTimezone': 'B_TIMEZONE',
289
- # # 'sendTimeDelay': False,
290
- # # 'sendOption': 1,
291
- # # 'hasUserBlock': False,
292
- # # 'hasAutoBlock': True,
293
- # # 'hasAbandonOrderBlcok': False,
294
- # # 'hasOrderBlock': False,
295
- # # 'smsSendDelay': True,
296
- # # 'payFunctionList': [],
297
- # # 'minSendTime': '2025-07-23 10:42:14',
298
- # # 'completedCount': 5,
299
- # # 'skippedCount': 0,
300
- # # 'openRate': 0.8,
301
- # # 'clickRate': 0,
302
- # # 'orderIncome': 0,
303
- # # 'openDistinctUserRate': 1,
304
- # # 'clickDistinctUserRate': 0},
305
- # # 'completedCount': 5,
306
- # # 'skippedCount': 0,
307
- # # 'openRate': 0.8,
308
- # # 'clickRate': 0,
309
- # # 'orderIncome': 0,
310
- # # 'openDistinctUserRate': 1,
311
- # # 'clickDistinctUserRate': 0},
312
- # # 'id': '15630c25-75fa-4456-a6ee-a2bd1e3e64a1'}],
313
- # # 'false': []}}},
314
- # # 'id': '8ac1cab1-11dc-4423-922c-ca25fd96956e'}],
315
- # # 'false': []}}, 'completedCount': 5,
316
- # # 'skippedCount': 5},
317
- # # 'id': '31941d3a-910b-48fa-b302-0f3cf7790401'}],
318
- # # 'showDataStartTime': 1752681600000, 'showDataEndTime': 1753286399000, 'showDataTimeType': 1}
319
- # #
320
- # # old_flow_counts, old_flow_version = MockFlow.check_flow(
321
- # # mock_domain=vars["go_flow_host"],
322
- # # host_domain=vars["em_host"],
323
- # # cookies=vars["cookies"],
324
- # # flow_id=vars["felix_flowid1"],
325
- # # pulsar=vars["create_meteleadads_pulsar"],
326
- # # update_flow_params=params,
327
- # # split_node=["true", "true"],
328
- # # split_steps="one")
329
- # # print(old_flow_counts, old_flow_version)
330
- # oss = get_oss_address_with_retry(target_id=16808, url=host_domain, requestHeader=requestHeader,
331
- # requestParam=requestParam)
332
- # print(oss)