技术文档
方法相同入参 AOP 使用说明
Shopee 刊登业务梳理文档
亚马逊刊登相关业务知识
刊登监控设计方案
亚马逊跟卖设计
Fanno 刊登业务梳理文档
日志收集 方案设计
PIB 刊登方案设计
Temu 刊登方案设计
ShopTokenInfo Aop集成MBC方案
香港定时卡刊登任务方案
push-message 、receive-message 省流方案
OZON 刊登方案设计
Lazada视频上传方案
广州同步店铺框架搭建
Shopify翻版
Amazon交接
TikTok 由global模式切换replicate模式调研
tiktok 折扣活动对接方案
Target 初期调研
本文档使用 MrDoc 发布
-
+
首页
Shopify翻版
## shopfiy Rest版本调用接口 刊登逻辑(按照下述接口顺序调用,先刊登再设置collexts,最后附加图片 ``` -- 刊登接口 post /admin/api/2024-01/products.json ; -- 设置collects接口; post /admin/api/2024-01/custom_collections/" + concollectionId + ".json ; -- 添加图片接口 post /admin/api/2024-01/products/" + productId + "/images.json ; -- 根据imid关联图片接口 ; POST /admin/api/2024-01/products/" + productId + "/images/" + imId + ".json ; ``` 同步在线商品(列表即返回商品详细信息) ``` --------------------------全量拉取---------------------------- -- 获取店铺商品列表接口 get /admin/api/2024-01/products.json?limit=50 ; -- 获取店铺商品总数接口 get /admin/api/2024-01/products/count.json ; --------------------------增量拉取---------------------------- -- 根据更新时间拉取增量接口 get /admin/api/2024-01/products.json?updated_at_min= ; -- 根据更新时间拉取增量总数接口 /admin/api/2024-01/products/count.json?updated_at_min= ; ``` 同步单个商品详情 ``` --------------------------获取单个商品详情单独逻辑---------------------------- -- 获取单个商品详情接口 get /admin/api/2024-01/products.json?ids= ; ``` ## shopfiy Graphql版本调用接口 刊登逻辑 ``` --- 刊登接口 -- 获取类目及类目属性接口 taxonomy ; -- 发布主商品 productCreate ; -- 发布子商品 productVariantsBulkCreate; -- 绑定collect collectionAddProducts; ``` ## 刊登接口入参对比: Rest版本入参结构 ``` { "product": { "published_scope": "global", "body_html": "description", "options": [{ "values": ["5", "5.5"], "name": "Size" }], "variants": [{ "inventory_quantity": 1000, "compare_at_price": 69.99, "taxable": false, "weight_unit": "g", "inventory_management": "shopify", "requires_shipping": true, "price": 52.99, "weight": 0.0, "option1": "5", "title": "womanshoes2412165522-5", "sku": "womanshoes2412165522-5", "inventory_policy": "continue", "option2": "", "option3": "", "barcode": "", }, { "inventory_quantity": 1000, "compare_at_price": 69.99, "taxable": false, "weight_unit": "g", "inventory_management": "shopify", "requires_shipping": true, "price": 52.99, "weight": 0.0, "option1": "5.5", "title": "womanshoes2412165522-5.5", "sku": "womanshoes2412165522-5.5", "inventory_policy": "continue" }], "title": "Popular Shiny Leopard Boots", "status": "active", "metafields_global_title_tag": "", "metafields_global_description_tag": "", "vendor": "", "product_type": "", "handle": "", "tags": "" } } ``` Graphql版本ProductCreate接口入参(ps:Graphql入参较为复杂,暂不以JSON模式展示) ``` { productCreate( product: { descriptionHtml: null ## 产品描述 指向之前的body_html handle: null ## 指向之前的handle seo: { title: null, description: null } productType: null ## 指向之前的product_type category: null ## 增加类目模块,刊登入参categoryid 通过类目模块获取 tags: null ## 指向之前的tags templateSuffix: null ## 产品主题模板 引入主题模块 (需调用paymentTermsTemplates 接口 giftCardTemplateSuffix: null ## 礼品卡主题模板 引入主题模块 (可能需调用 paymentTermsTemplates 接口 title: null ## 指向之前的title vendor: null ## 指向之前的vendor giftCard: null ## 是否是礼品 collectionsToJoin: null ## 关联集合列表,传入该字段后 可能不需再调用一次collectionAddProducts collectionsToLeave: null ## 解除集合列表 combinedListingRole: null ## 产品作用 枚举值 暂时不清楚是什么东西 metafields: { ## 图元定义需引入 metafield模块 key, namespace, type, value, description, id } productOptions: { ## 变体选项字段 指向之前的options linkedMetafield: { key:null namespace:null values:null } name:null position:null values:{ linkedMetafieldValue:null name:null } } status: {ACTIVE,ARCHIVED,DRAFT} requiresSellingPlan: null ## 销售计划 true为商店更新 false为商店之外的途径发布 claimOwnership: { bundles: false } ## 捆绑包所有权 暂时不清楚是什么东西 } media: null ) } ``` Graphql版本productVariantsBulkCreate接口入参 ``` { productVariantsBulkCreate( variants: { barcode: null compareAtPrice: null id: null mediaSrc: null ## 新增 (媒体url 图片url inventoryPolicy: null (inventory_policy inventoryQuantities: { (inventory_quantity 库存 availableQuantity: null locationId: null (仓库id 需调用获取仓库id接口 } inventoryItem: { ##新版库存结构 sku: null cost: null ## 成本价 tracked: null (是否跟踪库存 countryCodeOfOrigin: null ## 原产地 harmonizedSystemCode: null ## 特别国家协调系统代码列表 不清楚是什么 countryHarmonizedSystemCodes: null ## 库存物品统一系统代码 不清楚是什么 provinceCodeOfOrigin: null measurement: { weight: { value: null, unit: null } } (物品度量信息 即 重量和单位 requiresShipping: null (requires_shipping } mediaId: null ## 新增 (媒体id 图片id metafields: { ## 新增 图元定义需引入 metafield模块 id: null key:null namespace:null type:null value:null description:null } optionValues: { ##变体结构信息字段 id: null linkedMetafieldValue:null name:null optionId:null optionName:null } price: null taxable: null taxCode: null ## 新增 (税务信息 requiresComponents: null ## 新增 (是否支持组件 privateMetafields(已不推荐使用 } productId: null strategy: null media: { ## 媒体信息入参 没看明白和variation内部的mediaid有何区别 alt: null mediaContentType: null originalSource: null } ) } ``` **注意未看到单独上传图片接口, 主商品和变体如果需要上传图片,有两种方案,1:刊登成功后调用productCreateMedia添加商品图片,且拿到mediaid,调用productVariantAppendMedia接口通过mediaid和vid进行绑定到变体。 2:在调用productCreate和productVariantsBulkCreate接口时有单独的media模块可以用来上传图片,但需测试。** Graphql版本collectionAddProducts接口入参 ``` { collectionAddProducts( id: null, ## collectionId 需调用 collection相关接口获取(PHP调用) productIds: null ) } ``` --- 商品拉取逻辑 ``` 列表总数接口 productsCount 列表接口 products(列表即返回详情,所以可不单独调详情接口 ps:上述接口增量拉取 根据参数添加,入参不需要特殊演示此处不展示. 详情接口 product(单个商品详情接口,可做直调接口用 ```
fansongjie
2024年12月20日 16:18
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码