diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductAccountRegisterEvent.xml b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductAccountRegisterEvent.xml
new file mode 100644
index 00000000..b1b40c01
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductAccountRegisterEvent.xml
@@ -0,0 +1,10 @@
+
+ gh_abcdefg
+ oABCD
+ 12344555555
+ event
+ open_product_account_register
+
+ 10
+
+
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductBrandAuditEvent.xml b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductBrandAuditEvent.xml
new file mode 100644
index 00000000..fe390631
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductBrandAuditEvent.xml
@@ -0,0 +1,14 @@
+
+ gh_abcdefg
+ oABCD
+ 12344555555
+ event
+ open_product_brand_audit
+
+ Xe5h1ILil12_fwfe
+ 1
+ 1
+ xxx原因
+ 11
+
+
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductCategoryAuditEvent.xml b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductCategoryAuditEvent.xml
new file mode 100644
index 00000000..879e108b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductCategoryAuditEvent.xml
@@ -0,0 +1,13 @@
+
+ gh_abcdefg
+ oABCD
+ 12344555555
+ event
+ open_product_category_audit
+
+ Xe5h1ILil12_fwfe
+ 1
+ 2
+ xxx原因
+
+
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductSPUAuditEvent.xml b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductSPUAuditEvent.xml
new file mode 100644
index 00000000..2193b449
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/OpenProduct/OpenProductSPUAuditEvent.xml
@@ -0,0 +1,13 @@
+
+ gh_abcdefg
+ oABCD
+ 12344555555
+ event
+ open_product_spu_audit
+
+ spu_123
+ 38249023
+ 3
+ xxx原因
+
+
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetBrandListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetBrandListRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetBrandListRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetBrandListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetBrandListResponse.json
new file mode 100644
index 00000000..1850740f
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetBrandListResponse.json
@@ -0,0 +1,10 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "data": [
+ {
+ "brand_id": 2101,
+ "brand_wording": "悦诗风吟"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetCategoryListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetCategoryListRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetCategoryListRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetCategoryListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetCategoryListResponse.json
new file mode 100644
index 00000000..23614bc2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetCategoryListResponse.json
@@ -0,0 +1,14 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "data": [
+ {
+ "first_cat_id": 6870,
+ "second_cat_id": 6911,
+ "third_cat_id": 6930,
+ "first_cat_name": "美妆护肤",
+ "second_cat_name": "香水彩妆",
+ "third_cat_name": "隔离霜/妆前乳"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetInfoRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetInfoRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetInfoRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetInfoResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetInfoResponse.json
new file mode 100644
index 00000000..4390bf6d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountGetInfoResponse.json
@@ -0,0 +1,7 @@
+{
+ "errcode": 0,
+ "data": {
+ "service_agent_path": "https://www.baidu.com",
+ "service_agent_phone": "020-888888"
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountUpdateInfoRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountUpdateInfoRequest.json
new file mode 100644
index 00000000..28a52c74
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountUpdateInfoRequest.json
@@ -0,0 +1,4 @@
+{
+ "service_agent_path": "https://www.web.com",
+ "service_agent_phone": "020-888888"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountUpdateInfoResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountUpdateInfoResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Account/ShopAccountUpdateInfoResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleAddRequest.json
new file mode 100644
index 00000000..91ebd5a7
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleAddRequest.json
@@ -0,0 +1,17 @@
+{
+ "out_order_id": "xxxxx",
+ "out_aftersale_id": "xxxxxx",
+ "openid": "oTVP50O53a7jgmawAmxKukNlq3XI",
+ "type": 1,
+ "create_time": "2020-12-01 00:00:00",
+ "status": 1,
+ "finish_all_aftersale": 0,
+ "path": "/pages/aftersale.html?out_aftersale_id=xxxxx",
+ "product_infos": [
+ {
+ "out_product_id": "234245",
+ "out_sku_id": "23424",
+ "product_cnt": 5
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleAddResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleAddResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleAddResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleGetRequest.json
new file mode 100644
index 00000000..4eea822f
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleGetRequest.json
@@ -0,0 +1,5 @@
+{
+ "order_id": 32434234,
+ "out_order_id": "xxxxx",
+ "openid": "oTVP50O53a7jgmawAmxKukNlq3XI"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleGetResponse.json
new file mode 100644
index 00000000..926dc1a2
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleGetResponse.json
@@ -0,0 +1,23 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "aftersale_infos": [
+ {
+ "order_id": 32434234,
+ "out_order_id": "xxxxx",
+ "out_aftersale_id": "xxxxxx",
+ "openid": "oTVP50O53a7jgmawAmxKukNlq3XI",
+ "type": 1,
+ "create_time": "2020-12-01 00:00:00",
+ "path": "/pages/order.html?out_order_id=xxxxx",
+ "status": 1,
+ "product_infos": [
+ {
+ "out_product_id": "234245",
+ "out_sku_id": "23424",
+ "product_cnt": 5
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleUpdateRequest.json
new file mode 100644
index 00000000..2ae4e6d5
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleUpdateRequest.json
@@ -0,0 +1,7 @@
+{
+ "out_order_id": "xxxxx",
+ "openid": "oTVP50O53a7jgmawAmxKukNlq3XI",
+ "out_aftersale_id": "xxxxxx",
+ "status": 1,
+ "finish_all_aftersale": 0
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleUpdateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleUpdateResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Aftersale/ShopAftersaleUpdateResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditBrandRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditBrandRequest.json
new file mode 100644
index 00000000..e177f13d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditBrandRequest.json
@@ -0,0 +1,22 @@
+{
+ "audit_req": {
+ "license": "https://img.zhls.qq.com/3/609b98f7e0ff43d59ce6d9cca636c3e0.jpg",
+ "brand_info": {
+ "brand_audit_type": 1,
+ "trademark_type": "29",
+ "brand_management_type": 2,
+ "commodity_origin_type": 2,
+ "brand_wording": "346225226351203275",
+ "sale_authorization": [ "https://img.zhls.qq.com/3/609b98f7e0ff43d59ce6d9cca636c3e0.jpg" ],
+ "trademark_registration_certificate": [ "https://img.zhls.qq.com/3/609b98f7e0ff43d59ce6d9cca636c3e0.jpg" ],
+ "trademark_change_certificate": [ "https://img.zhls.qq.com/3/609b98f7e0ff43d59ce6d9cca636c3e0.jpg" ],
+ "trademark_registrant": "https://img.zhls.qq.com/3/609b98f7e0ff43d59ce6d9cca636c3e0.jpg",
+ "trademark_registrant_nu": "1249305",
+ "trademark_authorization_period": "2020-03-25 12:05:25",
+ "trademark_registration_application": [ "https://img.zhls.qq.com/3/609b98f7e0ff43d59ce6d9cca636c3e0.jpg" ],
+ "trademark_applicant": "张三",
+ "trademark_application_time": "2020-03-25 12:05:25",
+ "imported_goods_form": [ "https://img.zhls.qq.com/3/609b98f7e0ff43d59ce6d9cca636c3e0.jpg" ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditBrandResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditBrandResponse.json
new file mode 100644
index 00000000..c75741e9
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditBrandResponse.json
@@ -0,0 +1,5 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "audit_id": "RQAAAPX1nuJsAAAAFTrfXW"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditCategoryRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditCategoryRequest.json
new file mode 100644
index 00000000..fa726494
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditCategoryRequest.json
@@ -0,0 +1,11 @@
+{
+ "audit_req": {
+ "license": "www.xxxxx.com",
+ "category_info": {
+ "level1": 7419,
+ "level2": 7439,
+ "level3": 7448,
+ "certificate": [ "www.xxx.com" ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditCategoryResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditCategoryResponse.json
new file mode 100644
index 00000000..c75741e9
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditAuditCategoryResponse.json
@@ -0,0 +1,5 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "audit_id": "RQAAAPX1nuJsAAAAFTrfXW"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditGetMiniAppCertificateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditGetMiniAppCertificateRequest.json
new file mode 100644
index 00000000..6096cbd5
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditGetMiniAppCertificateRequest.json
@@ -0,0 +1,3 @@
+{
+ "req_type": 2
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditGetMiniAppCertificateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditGetMiniAppCertificateResponse.json
new file mode 100644
index 00000000..cb49c0a5
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditGetMiniAppCertificateResponse.json
@@ -0,0 +1,25 @@
+{
+ "errcode": 0,
+ "brand_info": {
+ "brand_wording": "商标名",
+ "sale_authorization": [
+ "https://store.mp.video.tencent-cloud.com/xxxxxxxxxxxxxxxxxxxxxxxxxx"
+ ],
+ "trademark_registration_certificate": [
+ "https://store.mp.video.tencent-cloud.com/xxxxxxxxxxxxxxxxxxxxxxxxxx"
+ ]
+ },
+ "category_info_list":
+ [
+ {
+ "first_category_id": 304,
+ "first_category_name": "商家自营",
+ "second_category_id": 321,
+ "second_category_name": "食品",
+ "certificate_url":
+ [
+ "https://store.mp.video.tencent-cloud.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditResultRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditResultRequest.json
new file mode 100644
index 00000000..18febd8f
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditResultRequest.json
@@ -0,0 +1,3 @@
+{
+ "audit_id": "HIDFUSHJRIYAAAAAAAA"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditResultResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditResultResponse.json
new file mode 100644
index 00000000..d27bdf9d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Audit/ShopAuditResultResponse.json
@@ -0,0 +1,9 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "data": {
+ "status": 9,
+ "brand_id": 0,
+ "reject_reason": "请重新提交审核"
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Category/ShopCategoryGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Category/ShopCategoryGetRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Category/ShopCategoryGetRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Category/ShopCategoryGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Category/ShopCategoryGetResponse.json
new file mode 100644
index 00000000..36ddd307
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Category/ShopCategoryGetResponse.json
@@ -0,0 +1,18 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "third_cat_list": [
+ {
+ "third_cat_id": 6493,
+ "third_cat_name": "爬行垫/毯",
+ "qualification": "",
+ "qualification_type": 0,
+ "product_qualification": "《国家强制性产品认证证书》(CCC安全认证证书)",
+ "product_qualification_type": 1,
+ "first_cat_id": 6472,
+ "first_cat_name": "玩具乐器",
+ "second_cat_id": 6489,
+ "second_cat_name": "健身玩具"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryGetCompanyListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryGetCompanyListRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryGetCompanyListRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryGetCompanyListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryGetCompanyListResponse.json
new file mode 100644
index 00000000..0f65583e
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryGetCompanyListResponse.json
@@ -0,0 +1,20 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "data": {
+ "company_list": [
+ {
+ "delivery_id": "SF",
+ "delivery_name": "顺丰速运"
+ },
+ {
+ "delivery_id": "YTO",
+ "delivery_name": "圆通快速"
+ },
+ {
+ "delivery_id": "ZTO",
+ "delivery_name": "中通快速"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryReceiveRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryReceiveRequest.json
new file mode 100644
index 00000000..28d34f0c
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryReceiveRequest.json
@@ -0,0 +1,5 @@
+{
+ "order_id": 123456,
+ "out_order_id": "xxxxx",
+ "openid": "oTVP50O53a7jgmawAmxKukNlq3XI"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryReceiveResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryReceiveResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliveryReceiveResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendRequest.json
new file mode 100644
index 00000000..a4ca89a1
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendRequest.json
@@ -0,0 +1,12 @@
+{
+ "order_id": 123456,
+ "out_order_id": "xxxxx",
+ "openid": "oTVP50O53a7jgmawAmxKukNlq3XI",
+ "finish_all_delivery": 0,
+ "delivery_list": [
+ {
+ "delivery_id": "SF",
+ "waybill_id": "23424324253"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderAddRequest.json
new file mode 100644
index 00000000..f73d76b1
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderAddRequest.json
@@ -0,0 +1,46 @@
+{
+ "create_time": "2020-03-25 13:05:25",
+ "type": 0,
+ "out_order_id": "xxxxx",
+ "openid": "oTVP50O53a7jgmawAmxKukNlq3XI",
+ "path": "/pages/order.html?out_order_id=xxxxx",
+ "scene": 1177,
+ "out_user_id": "323232323",
+ "order_detail": {
+ "product_infos": [
+ {
+ "out_product_id": "12345",
+ "out_sku_id": "23456",
+ "product_cnt": 10,
+ "sale_price": 100,
+ "path": "pages/productDetail/productDetail?productId=2176180",
+ "title": "洗洁精",
+ "head_img": "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ }
+ ],
+ "pay_info": {
+ "pay_method_type": 0,
+ "prepay_id": "42526234625",
+ "prepay_time": "2020-03-25 14:04:25"
+ },
+ "price_info": {
+ "order_price": 1600,
+ "freight": 500,
+ "discounted_price": 100,
+ "additional_price": 200,
+ "additional_remarks": "税费"
+ }
+ },
+ "delivery_detail": {
+ "delivery_type": 1
+ },
+ "address_info": {
+ "receiver_name": "张三",
+ "detailed_address": "详细收货地址信息",
+ "tel_number": "收货人手机号码",
+ "country": "国家,选填",
+ "province": "省份,选填",
+ "city": "城市,选填",
+ "town": "乡镇,选填"
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderAddResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderAddResponse.json
new file mode 100644
index 00000000..f4c910e1
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderAddResponse.json
@@ -0,0 +1,11 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "data": {
+ "order_id": 32434234,
+ "out_order_id": "xxxxx",
+ "ticket": "xxxxxxx",
+ "ticket_expire_time": "2020-12-01 00:00:00",
+ "final_price": 10500
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderGetRequest.json
new file mode 100644
index 00000000..fb597c50
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderGetRequest.json
@@ -0,0 +1,5 @@
+{
+ "order_id": 123455,
+ "out_order_id": "xxxxx",
+ "openid": "oTVP50O53a7jgmawAmxKukNlq3XI"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderGetResponse.json
new file mode 100644
index 00000000..e9b37c38
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderGetResponse.json
@@ -0,0 +1,58 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "order": {
+ "order_id": 123455,
+ "out_order_id": "xxxxx",
+ "status": 20,
+ "path": "/pages/order.html?out_order_id=xxxxx",
+ "order_detail": {
+ "product_infos": [
+ {
+ "product_id": 234245,
+ "out_product_id": "12345",
+ "sku_id": 23424,
+ "out_sku_id": "23456",
+ "product_cnt": 10,
+ "sale_price": 200
+ }
+ ],
+ "pay_info":
+ {
+ "pay_method": "微信支付",
+ "prepay_id": "42526234625",
+ "prepay_time": "2020-03-25 14:04:25",
+ "transaction_id": "131456479687",
+ "pay_time": "2020-03-25 14:05:25"
+ },
+ "multi_pay_info":
+ [
+ {
+ "pay_method": "微信支付",
+ "prepay_id": "42526234625",
+ "prepay_time": "2020-03-25 14:04:25",
+ "transaction_id": "131456479687",
+ "pay_time": "2020-03-25 14:05:25"
+ }
+ ],
+ "price_info": {
+ "order_price": 1600,
+ "freight": 500,
+ "discounted_price": 1000,
+ "additional_price": 100,
+ "additional_remarks": "税费"
+ },
+ "delivery_detail":
+ {
+ "delivery_type": 1,
+ "finish_all_delivery": 1,
+ "delivery_list": [
+ {
+ "waybill_id": "SFXXXX",
+ "delivery_id": "SF"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderPayRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderPayRequest.json
new file mode 100644
index 00000000..95b47a31
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderPayRequest.json
@@ -0,0 +1,9 @@
+{
+ "order_id": 32434234,
+ "out_order_id": "xxxxx",
+ "openid": "oTVP50O53a7jgmawAmxKukNlq3XI",
+ "action_type": 1,
+ "action_remark": "xxx",
+ "transaction_id": "131456479687",
+ "pay_time": "2020-03-25 14:04:25"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderPayResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderPayResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopOrderPayResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopSceneCheckRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopSceneCheckRequest.json
new file mode 100644
index 00000000..5652c2d4
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopSceneCheckRequest.json
@@ -0,0 +1,3 @@
+{
+ "scene": 1175
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopSceneCheckResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopSceneCheckResponse.json
new file mode 100644
index 00000000..36f52f6b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Order/ShopSceneCheckResponse.json
@@ -0,0 +1,5 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "is_matched": 1
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterApplyRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterApplyRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterApplyRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterApplyResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterApplyResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterApplyResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterCheckRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterCheckRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterCheckRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterCheckResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterCheckResponse.json
new file mode 100644
index 00000000..6e7a1129
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Register/ShopRegisterCheckResponse.json
@@ -0,0 +1,11 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "data": {
+ "status": 2,
+ "access_info": {
+ "spu_audit_success": 1,
+ "pay_order_success": 0
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUAddRequest.json
new file mode 100644
index 00000000..018bac26
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUAddRequest.json
@@ -0,0 +1,42 @@
+{
+ "out_product_id": "1234566",
+ "title": "任天堂 Nintendo Switch 国行续航增强版 NS家用体感游戏机掌机 便携掌上游戏机 红蓝主机",
+ "path": "pages/productDetail/productDetail?productId=2176180",
+ "head_img": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ],
+ "qualification_pics": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ],
+ "desc_info": {
+ "desc": "xxxxx",
+ "imgs": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ]
+ },
+ "third_cat_id": 6666,
+ "brand_id": 2100000000,
+ "info_version": "xxx",
+ "skus": [
+ {
+ "out_product_id": "1234566",
+ "out_sku_id": "1024",
+ "thumb_img": "http://img10.360buyimg.com/n1/s450x450_jfs/t1/100778/17/13648/424215/5e590a40E2d68e774/e171d222a0c9b763.jpg",
+ "sale_price": 1300,
+ "market_price": 1500,
+ "stock_num": 100,
+ "sku_code": "A24525252",
+ "barcode": "13251454",
+ "sku_attrs": [
+ {
+ "attr_key": "选择颜色",
+ "attr_value": "红蓝主机"
+ },
+ {
+ "attr_key": "选择套装",
+ "attr_value": "主机+保护套"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUAddResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUAddResponse.json
new file mode 100644
index 00000000..dbe2199a
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUAddResponse.json
@@ -0,0 +1,15 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "data": {
+ "product_id": 23423523452345235,
+ "out_product_id": "1234566",
+ "create_time": "2020-03-25 12:05:25",
+ "skus": [
+ {
+ "sku_id": 123,
+ "out_sku_id": "1024"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteAuditRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteAuditRequest.json
new file mode 100644
index 00000000..d8cb1eba
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteAuditRequest.json
@@ -0,0 +1,4 @@
+{
+ "product_id": 324545,
+ "out_product_id": "51514515"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteAuditResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteAuditResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteAuditResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteRequest.json
new file mode 100644
index 00000000..d8cb1eba
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteRequest.json
@@ -0,0 +1,4 @@
+{
+ "product_id": 324545,
+ "out_product_id": "51514515"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDeleteResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDelistingRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDelistingRequest.json
new file mode 100644
index 00000000..d8cb1eba
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDelistingRequest.json
@@ -0,0 +1,4 @@
+{
+ "product_id": 324545,
+ "out_product_id": "51514515"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDelistingResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDelistingResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUDelistingResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetListRequest.json
new file mode 100644
index 00000000..7cbbc814
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetListRequest.json
@@ -0,0 +1,10 @@
+{
+ "status": 5,
+ "start_create_time": "2020-12-25 00:00:00",
+ "end_create_time": "2020-12-26 00:00:00",
+ "start_update_time": "2020-12-25 00:00:00",
+ "end_update_time": "2020-12-26 00:00:00",
+ "page": 1,
+ "page_size": 10,
+ "need_edit_spu": 1
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetListResponse.json
new file mode 100644
index 00000000..e8645d95
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetListResponse.json
@@ -0,0 +1,52 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "total_num": 20,
+ "spus": [
+ {
+ "out_product_id": "1234566",
+ "title": "任天堂 Nintendo Switch 国行续航增强版 NS家用体感游戏机掌机 便携掌上游戏机 红蓝主机",
+ "path": "pages/productDetail/productDetail?productId=2176180",
+ "head_img": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ],
+ "desc_info": {
+ "desc": "xxxxx",
+ "imgs": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ]
+ },
+ "audit_info": {
+ "audit_time": "2021-03-09 15:16:08",
+ "reject_reason": "不通过"
+ },
+ "third_cat_id": 6666,
+ "brand_id": 2100000000,
+ "info_version": "xxx",
+ "create_time": "2020-12-25 00:00:00",
+ "update_time": "2020-12-26 00:00:00",
+ "skus": [
+ {
+ "sku_id": 1024,
+ "out_sku_id": "1234566",
+ "thumb_img": "http://img10.360buyimg.com/n1/s450x450_jfs/t1/100778/17/13648/424215/5e590a40E2d68e774/e171d222a0c9b763.jpg",
+ "sale_price": 1300,
+ "market_price": 1500,
+ "stock_num": 100,
+ "sku_code": "A24525252",
+ "barcode": "13251454",
+ "sku_attrs": [
+ {
+ "attr_key": "选择颜色",
+ "attr_value": "红蓝主机"
+ },
+ {
+ "attr_key": "选择套装",
+ "attr_value": "主机+保护套"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetRequest.json
new file mode 100644
index 00000000..5c94a777
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetRequest.json
@@ -0,0 +1,5 @@
+{
+ "product_id": 324545,
+ "out_product_id": "51514515",
+ "need_edit_spu": 1
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetResponse.json
new file mode 100644
index 00000000..1923d2d1
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUGetResponse.json
@@ -0,0 +1,51 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "spu": {
+ "out_product_id": "1234566",
+ "title": "任天堂 Nintendo Switch 国行续航增强版 NS家用体感游戏机掌机 便携掌上游戏机 红蓝主机",
+ "path": "plugin-private://wx34345ae5855f892d/pages/productDetail/productDetail?productId=2176180",
+ "head_img": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ],
+ "desc_info": {
+ "desc": "xxxx",
+ "imgs": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ]
+ },
+ "audit_info": {
+ "submit_time": "2021-03-09 15:14:08",
+ "audit_time": "2021-03-09 15:16:08",
+ "reject_reason": "不通过",
+ "audit_id": "1212121"
+ },
+ "third_cat_id": 6666,
+ "brand_id": 2100000000,
+ "info_version": "xxx",
+ "create_time": "2020-12-25 00:00:00",
+ "update_time": "2020-12-26 00:00:00",
+ "skus": [
+ {
+ "sku_id": 1024,
+ "out_sku_id": "1234566",
+ "thumb_img": "http://img10.360buyimg.com/n1/s450x450_jfs/t1/100778/17/13648/424215/5e590a40E2d68e774/e171d222a0c9b763.jpg",
+ "sale_price": 1300,
+ "market_price": 1500,
+ "stock_num": 100,
+ "sku_code": "A24525252",
+ "barcode": "13251454",
+ "sku_attrs": [
+ {
+ "attr_key": "选择颜色",
+ "attr_value": "红蓝主机"
+ },
+ {
+ "attr_key": "选择套装",
+ "attr_value": "主机+保护套"
+ }
+ ]
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUListingRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUListingRequest.json
new file mode 100644
index 00000000..d8cb1eba
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUListingRequest.json
@@ -0,0 +1,4 @@
+{
+ "product_id": 324545,
+ "out_product_id": "51514515"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUListingResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUListingResponse.json
new file mode 100644
index 00000000..f752befe
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUListingResponse.json
@@ -0,0 +1,4 @@
+{
+ "errcode": 0,
+ "errmsg": "ok"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUUpdateRequest.json
new file mode 100644
index 00000000..508e8f37
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUUpdateRequest.json
@@ -0,0 +1,43 @@
+{
+ "out_product_id": "1234566",
+ "product_id": 1234566,
+ "title": "任天堂 Nintendo Switch 国行续航增强版 NS家用体感游戏机掌机 便携掌上游戏机 红蓝主机",
+ "path": "pages/productDetail/productDetail?productId=2176180",
+ "head_img": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ],
+ "qualification_pics": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ],
+ "desc_info": {
+ "desc": "xxxxx",
+ "imgs": [
+ "http://img10.360buyimg.com/n1/s450x450_jfs/t1/85865/39/13611/488083/5e590a40E4bdf69c0/55c9bf645ea2b727.jpg"
+ ]
+ },
+ "third_cat_id": 6666,
+ "brand_id": 2100000000,
+ "info_version": "xxx",
+ "skus": [
+ {
+ "out_product_id": "1234566",
+ "out_sku_id": "1024",
+ "thumb_img": "http://img10.360buyimg.com/n1/s450x450_jfs/t1/100778/17/13648/424215/5e590a40E2d68e774/e171d222a0c9b763.jpg",
+ "sale_price": 1300,
+ "market_price": 1500,
+ "stock_num": 100,
+ "sku_code": "A24525252",
+ "barcode": "13251454",
+ "sku_attrs": [
+ {
+ "attr_key": "选择颜色",
+ "attr_value": "红蓝主机"
+ },
+ {
+ "attr_key": "选择套装",
+ "attr_value": "主机+保护套"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUUpdateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUUpdateResponse.json
new file mode 100644
index 00000000..bff20b3c
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/SPU/ShopSPUUpdateResponse.json
@@ -0,0 +1,15 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "data": {
+ "product_id": 1234566,
+ "out_product_id": "1234566",
+ "update_time": "2020-03-25 12:05:25",
+ "skus": [
+ {
+ "sku_id": 123,
+ "out_sku_id": "1024"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/ShopImageUploadRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/ShopImageUploadRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/ShopImageUploadRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/ShopImageUploadResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/ShopImageUploadResponse.json
new file mode 100644
index 00000000..5aa06abd
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/ShopImageUploadResponse.json
@@ -0,0 +1,7 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "img_info": {
+ "media_id": "xlvjalsdhgas"
+ }
+}
\ No newline at end of file