张庆交接
Tiktok在线商品文档
Tiktok平台报错
Thisshop在线业务文档
Tiktok业务文档
TIKTOK接口整理
Lazada广州基础信息改造方案
Lazada视频管理接口梳理
速卖通全托管
全托管报错整理
Lazada交接
Lazada coding
temu刊登
本文档使用 MrDoc 发布
-
+
首页
TIKTOK接口整理
# 前言 - TikTok是字节跳动旗下短视频社交平台,于2017年5月上线,针对国外市场专门定制的一款海外版"抖音",由于其在海外流量的不断增加,开始引入跨境电商业务,随着电商业务的不断扩大,经营范围也从之前的印尼扩张到菲律宾、英国、泰国、马来西亚、越南等站点。 - Tiktok平台主要有店铺,刊登模块、订单模块、物流模块其中刊登对接主要包含了在线商品、基础信息、商品刊登、在线商品等接口,该平台的接口与之前的平台都有点不同,因为该平台为多站点平台并且分为本地接口(product)和全球接口(gloab product),在开发时需要开发两套接口来供其调用。 ## 一、接口公共参数 在进行平台接口调用的时候必须传入指定的公共参数来进行商户的身份认证 > appkey   调用平台的唯一key > timestamp   发送请求的时间戳需要跟其他的参数一起计算sign >sign   签名信息,通过其他的认证参数使用加密算法计算出 >access_token   验证店铺的认证token。 >shopid   请求平台的店铺id,本土接口必须传入,全球接口不需要传。 ## 二、店铺 TT平台店铺主要分为两种类型,跨境店铺和本土店铺,平台根据店铺的类型,区分店铺所能使用的接口和拥有的的权限 平台围绕店铺提供了三个接口 - /api/shop/get_authorized_shop 该接口能获取到平台所有已经授权的店铺列表和店铺的类型,对于印尼和英国的本地卖家,一个卖家只有一个店铺,但是对于跨境店铺,一个卖家可能会拥有多个店铺 >region    区分当前店铺的站点 >type    区分当前店铺是跨境店铺还是本土店铺 1 跨境 2. 本土 - /api/seller/global/active_shops    此接口用于查询TT平台中已经授权了的店铺。 - /api/seller/manage_global_product/check    用于查询全球店铺是否拥有操作全球商品的权限。 店铺数据存储格式 - 跨境店铺:[{"region":"GB","shop_cipher":"GCP_VugsfwAAAABieFEPbvNQsC0unSQE2Zm9","shop_id":"7494083176002717419","shop_name":"CB Online test 114","type":1},{"region":"PH","shop_cipher":"ROW_-h_fwgAAAABYpEqrgERjjO7zBh0ayH0f","shop_id":"8646922644667337451","shop_name":"CB Online test 114","type":1},{"region":"SG","shop_cipher":"ROW_nIGhnAAAAACUHL2uY7eOTWN_jGsDMh0H","shop_id":"8646918128122103531","shop_name":"CB Online test 114","type":1},{"region":"MY","shop_cipher":"ROW_9S76FwAAAADeSqwOx_0LuYy8rh5gneXf","shop_id":"8646922644903201515","shop_name":"CB Online test 114","type":1},{"region":"VN","shop_cipher":"ROW_qecSewAAAAB6MBwp1rcl-qOeJeYtnJmo","shop_id":"8646922645257489131","shop_name":"CB Online test 114","type":1},{"region":"TH","shop_cipher":"ROW_LWRAewAAAABhl9WC9UUat65Z_t4i_N8K","shop_id":"8646922644392348395","shop_name":"CB Online test 114","type":1}] - 本土店铺 [{"region":"GB","shop_id":"7494083430107153950","shop_name":"openapi uk 202","type":2} 数据库存储 在中台表mdc_sc_shop_platform_param中主要有access_token存的是请求平台接口的access_token,通过 platform_shop_account_name 字段存储的上面本土或跨境店铺的region和shop_id字符串数组信息 店铺示意图  ## 三、基础信息 ### 1. 简介 基础信息作为刊登的前置数据,在刊登之前要把所有的基础数据准备齐全。TikTok的基础信息主要有分类、分类属性、分类品牌、分类规则以及仓库列表等信息。其中不同的是,分类和分类属性也存在全球接口,在全球刊登商品的时候需要获取全球分类和分类属性。本地刊登则需要本地的分类和属性。在获取到基础信息后会通过RocketMQ(香港)->RabbitMQ(广州)的方式推送到PHP进行存表展示 ### 2.分类信息 分类信息分为全球接口和本地接口,本地接口调用/api/products/categories, 全球分类接口调用/api/product/global_products/categories,Tiktok分类只包含两个层级,其中parent_id和is_leaf可以判定是否是叶子节点。在经过多个店铺测试结果分析调用本地接口使用不同店铺获取到的分类不一样,因此在设计分类信息的表时候要根据不同的店铺设计。由于分类信息会存在一定的变动因此需要在每天定时的去拉取每个店铺的分类数据存表并推送给PHP ### 3. 分类属性 分类属性也分为全球接口和本地接口,本地接口调用/api/products/attributes,全球接口调用/api/product/global_products/attributes。获取分类属性时需要传入叶子分类id,因此分类属性是跟着分类走的。在推送完一个子分类后就需要把该分类的属性全部推送。在刊登的时候需要用户选择对应的销售属性和商品属性,这个属性的类型就是通过attribute_type字段进行区分,并且在返回的数据当中还规定了该分类属性是否强制必填(is_mandatory)、是否支持多选(is_multiple_selected)、是否支持自定义(is_customized)等,若不按照分类属性的规则进行刊登,刊登时则会出现各种各样的错误。 ### 4. 分类品牌 分类品牌只有本地接口,调用/api/products/brands接口,传入叶子节点的分类。 ### 5. 分类规则 类别规则也是分为全球接口、本地接口,全球接口调用/api/product/global_products/categories/rules,本地接口调用/api/products/categories/rules。传入分类的叶子节点。分类规则是在刊登时限制了刊登的size_chart、product_certifications、is_cod_open等字段填的值和一些规则。 ### 6.获取仓库列表 仓库列表是在刊登时填写仓储信息时需要填写的仓库id,需要调用/api/logistics/get_warehouse_list接口,该接口是通用的,只有一个本地接口,并且仓库信息在计算刊登商品价格时也需要用到,商品的价格包含了运费和税费,若刊登时不传仓库则不能计算出价格,导致刊登报错。 ## 四、商品刊登 ### 1. 全球商品、本土商品 商品分为本地商品和全球商品。使用跨境店铺进行全球刊登后的商品则为全球商品,全球商品全球商品不能展示到买家方也不参与商品的售卖只是作为一个大的商品库进行管理,全球商品作为整个店铺的商品库,只有全球店铺权限的才能进行操作,若需要进行售卖则需要将全球商品发布到对应的站点,或者直接通过调用本地刊登接口进行刊登。 ### 2. 主子商品 TikTok每条商品都能增加子商品,子商品就是该商品的不同规格属性,拥有主商品的大部分特性,但是却拥有自己的特性,相当于商城中SPU,SKU的概念,本平台子商品的字体相对简单,字段较少并且字段与主商品的字段大部分不相同也没有与主商品关联的字段,因此在刊登商品时,把SKU做为主商品的一个字段进行上传。 ### 3. 接口说明(挑取部分重要字段) #### 本土:/api/products(POST) > product_name => 商品名 > description => 商品描述,必须特别注意要符号平台规则上传 > category_id => 分类id,分类id的选择规定了商品、销售属性、以及商品认证、是否货到付款等字段的规则 > images => 商品的主图列表,必须替换为平台返回的图片id进行上传 > is_cod_open => 是否货到付款要根据分类规则获取,是否需要货到付款 > skus => 商品的变种属性列表,最多填100个变种,变种的库存,价格信息以及销售属性都在里面 >   >original_price 变种价格,本地刊登使用的是当前站点的币种。 #### 全球(global):/api/product/global_products(POST) > product_name => 商品名 > description => 商品描述 > category_id => 分类id > images => 商品的主图列表,必须替换为平台返回的图片id进行上传 > skus => 商品的变种属性列表,最多填100个变种,变种的库存,价格信息以及销售属性都在里面 >   >original_price 变种价格,全球刊登使用的是USD币种。 ### 4.刊登流程 #### 流程简介 获取基础信息—>上传商品图片—>组装好需要刊登的数据—>调用平台接口—>获取到数据进行处理—>通过MQ推送刊登结果到PHP #### 刊登商品前准备工作 - 图片上传: 访问平台api/products/upload_imgs接口。该平台的图片上传接口,需要先将一个可以访问的url图片地址下载成字节流,然后将字节流通过BASE64的方式编译成字符串。再调用图片上传接口,上传成功后,图片会返回一个url地址和图片id,图片id需要作为刊登商品接口的参数。 - 文件上传:同图片上传一样的流程,请求平台接口/api/products/upload_files,此接口只能上传pdf和mp4格式。上传成功后拿到文件id,通过刊登接口上传 #### 流程示意图  ### 5.全球商品发布 调用全球接口/api/product/global_products/publish。 当刊登完全球商品后,卖方可以将指定的全球商品发布到选定的子站点,传入指定的SKU以及自定义的SKU参数,完成全球商品到子站点的刊登发布。发布的过程中平台回根据参数校验的强弱性,对发布的商品进行状态的赋值,通过所有验证则发布成功,通过部分校验则状态为存草稿、未通过校验则发布失败。 #### 流程示意图  ### 6.刊登时需要注意的点 **price价格的计算会根据运费和税费进行和商品的价格进行计算,如果刊登的如果入参warehouse id或者warehouse id入参为0,无法计算出运费。(未做校验)** 基础信息 ## 五、在线商品拉取 ### 1. 简介 在线商品拉取主要包含了查询类和修改类这两大类,查询类的包含店铺商品拉取、单个商品拉取的接口。修改类的包含价格修改、库存修改等接口。其中查询类的接口为异步调用接口,修改类的为直调接口。 >在调用本土商品列表和详情的时候需要传入当前店铺的站点信息。如果是跨境店铺调用本土接口,则通过传入的站点与店铺的授权信息进行匹配,获取的就是当前站点的商品信息。其他流程全球和本土流程一致 ### 2. 店铺商品拉取 店铺商品拉取的主要目的是将用户店铺后台的所有商品或者将最新的商品信息同步到我们的系统中进行管理,并向用户提供直接可观的商品信息供用户操作。 #### 接口说明 店铺商品拉取时调用平台的 /api/products/search(POST)接口。该接口可以传入分页信息和时间参数,因此在第一次全量拉取完成后,后续再调用该接口时,可以传入上次全量拉取时间,进行增量拉取。 > search_status => 商品状态,查询指定的商品状态 > update_time_from => 更新时间,根据指定的更新时间进行查询,可通过该字段进行增量查询 > page_number => 页码,默认为第一页 > page_size => 每页的数量,默认每页返回100条数据,最大也是100 #### 流程简介 需要拉取商品的店铺 —>根据当前的店铺信息调用平台的查询列表接口获取店铺的所有商品信息—>调用同步单个商品接口—>将拉取店铺的状态信息推送给ERP系统进行展示。 #### 流程示意图  ### 3.商品详情拉取 单个商品主要目的是为了用户能够在我们系统中查看到自己店铺更加详细的商品信息,并对某个商品进行维护 #### 接口说明 单个商品拉取是调用平台的/api/products/details(GET)接口,该接口需要传入平台的公共参数和商品id即可。 > product_id => 商品id,查询指定商品的详情 #### 流程简介 需要拉取的商品Id—>根据当前店铺信息调用平台的获取商品详情接口—>将数据存入数据库并推送给ERP系统进行展示 #### 流程示意图 同上 ### 4.管理商品 平台还提供了一系列的接口供用户进行商品的修改,删除、修改价格库存等接口,由于这些接口传入的参数较少、没有较多的返回结果并且不是刊登流程的主要节点,因此在设计这些接口采用fegin直调的方式。 >在调用本土的接口时候,需要传入当前店铺的站点,凭此来修改跨境店铺的站点的信息。其他流程本土跨境基本一致 #### 接口说明 本土 >Delete Product => /api/products(DELETE) 删除本土或者跨境店铺某个站点指定的商品,删除后商品状态为8(删除) >Edit Product => /api/products(PUT) 修改本土或者跨境店铺某个站点的商品信息 >Update Stock => /api/products/stocks(PUT) 修改本土或者跨境店铺某个站点的库存信息 >Deactivate Product => /api/products/inactivated_products(post) 禁用本土或者跨境店铺某个站点的商品,禁用后商品的状态是5(卖家禁用) >Activate Product => /api/products/activate(post) 激活本土或者跨境店铺某个站点的商品,激活后商品的状态是改为4(在线) >Recover Deleted Product => /api/products/recover(post) 恢复本土或者跨境店铺某个站点的被删除的商品,商品的状态是从8改为5(卖家禁用) >Update Price => /api/products/prices(put) 修改本土或者跨境店铺某个站点的商品的价格,若是修改跨境店铺的站点的价格,会自动汇总到全球商品的价格 全球 >Edit Global Product => /api/product/global_products(PUT) 修改跨境店铺的全球商品信息,关联的站点信息也会一起修改 >Update Global Product Price => /api/product/global_products/prices(PUT) 修改全球商品的价格信息,对应站点商品的价格也会被修改 Delete Global Product => /api/product/global_products(DELETE) 删除全球商品,对应站点的商品也会被删除 ## 六、TIKTOK订单流程 ### 1. 简介 在线订单拉取主要包含了订单列表和订单详情,通过调用订单列表获取到所有订单,并拿着每个订单id去调用详情接口,获取具体的订单明细信息。推送给erp进行列表和详情信息展示,供用户在页面管理操作订单。 ### 2. 同步在线订单 用户登录erp ,进入tiktok在线订单页面,选择店铺进行当前店铺的在线订单拉取,通过调用tiktok平台订单列表接口和订单详情接口,通过异步MQ消息推送的方式存入erp的订单表,并展示在页面 #### 流程简介 选择拉取的店铺 —>根据当前的店铺信息调用平台的订单列表接口获取当前店铺的所有订单信息—>调用获取单个订单详情接口—>同步列表中的每个订单详情->推送订单详情信息->将拉取店铺的状态信息推送给ERP系统进行展示。 #### 接口说明 >Get Order List => /api/orders/search(POST) 该接口是根据查询条件获取店铺的订单列表 #### 入参解析: >order_status: 订单状态 - UNPAID = 100          未支付 - AWAITING_SHIPMENT = 111      等待装运 - AWAITING_COLLECTION = 112      待收货 - PARTIALLY_SHIPPING = 114      部分装运 - IN_TRANSIT = 121     运输中 - DELIVERED = 122    已交付 - COMPLETED = 130    已完成 - CANCELLED = 140;    已取消 >page_size :每页订单数,一页最多50个 >update_time_from :订单更新时间,可根据该字段增量拉取某个店铺的订单 #### 响应解析: >order_list :订单列表 >   >order_id 订单id >   >order_status 订单状态,状态枚举同上 >   >update_time 更新时间,该订单的最新更新时间 #### 流程示意图:  ### 3. 同步订单详情 同步完在线订单列表后,通过列表中的每一个订单id作为参数去调用订单详情接口,获取到订单的详细信息推送到erp,供用户对订单管理操作 #### 流程简介 需要拉取的订单Id—>根据当前店铺信息调用平台的获取订单详情接口—>将数据存入数据库并推送给ERP系统进行展示 #### 接口说明 >Get Order Detail => /api/orders/detail/query(POST) 该接口是根据查询条件获取店铺的订单列表 #### 入参解析: >order_id_list: 订单id列表,传入需要查询详情的订单id,最多只能传50个,平台的建议是在20个以内 #### 响应解析: >order_id     订单id >order_status     订单状态,状态选项同上 >delivery_option     交货方式, - STANDARD=1      标准 - EXPRESS=2      特快 - ECONOMY=3      经济 - SEND_BY_SELLER=4      卖家发货 >shipping_provider_id     当前配送的供应商的 ID。 >buyer_message     卖家的说明 >paid_time     订单支付时间 >payment_info     支付信息对象,包含了支付的货币、买家支付的运费、卖家的产品折扣、平台的折扣、买方支付的全部总价、买方支付的订单的总税费、产品的总原价等信息。 >recipient_address     收件人地址信息,包含详细信息的地址。以及收件人所在的市、州、区域、镇、电话、身份证等消息信息 >item_list     订单对应的商品sku列表,包含了sku信息、商品信息、sku属性、sku的数量、sku图片、价格等sku的详细信息 >cancel_reason     取消订单的原因 >cancel_user     取消订单的用户可以是卖家、系统、买家 >tracking_number     追踪号码 >package_list     包装列表 >rts_time     商家发货的时间 >buyer_uid     买家用户id >split_or_combine_tag     当前订单是拆分还是合并的 >seller_note     卖家备注 >warehouse_id     订单对应的仓库 >order_line_list     订单项列表,该订单的子订单列表,包含了主订单的大部分属性例如子订单对应的商品,sku,库存,价格,包裹信息、支付方式等,相当于平时我们下单时,一个订单中包含多个商品 #### 流程示意图  ## 七、TIKTOK发货 ### 1. 简介 Tiktok发货主要包含平台发货和商品自行发货,发货的选择主要取决于订单详情中的delivery_option交货方式 ### 2.平台发货 当订单详情中的delivery_option字段返回的类型为STANDARD=1,EXPRESS=2 ECONOMY=3时则由平台自行发货,通常适用于本地身份的卖家和跨境卖家 ### 3.卖家自行发货 当订单详情中的delivery_option字段返回的类型为SEND_BY_SELLER = 4时则由卖家发货,通常适用于通常适用于英国本地卖家和跨境英国海外仓库卖家 ### 4.流程图  ## 八、TIKTOK退货退款 ### 1. 简介 退货退款主要分为三种:取消订单(在买方免费取消订单之后和卖方发货之前)、退款请求(卖家发货后至售后期结束)、退货和退款请求(包裹交付后直到售后期结束) ### 2. 流程图  ## 九、总结 ### 1. 刊登 通过上面知道了店铺分为跨境店铺和本土店铺,也知道了跨境店铺中存储的格式 - 如果跨境店铺需要刊登商品到某个站点。需要先通过刊登全球商品,拿到全球商品id后,在通过发布接口,发布商品到对应的站点。 例如:跨境店铺有 ph,sg,id站点,先刊登全球商品,通过发布接口发布到ph站点,在调用发布接口的时候需要传入对应的全球商品id 已经ph站点和设置对应的sku信息 - 本土店铺,则直接通过本土刊登接口刊登 ### 2.在线商品 在线商品接口大部分接口都支持传入站点,主要针对跨境店铺操作某个站点的数据使用 例如:有一个跨境店铺有sg,ph,id站点,需要同步id站点店铺商品,要求php那边传入对应的店铺信息以及site字段入参为id,来拉取跨境店铺id站点的商品。在线商品其他本土接口也是一样 如果是全球商品的话就直接用全球店铺进行操作。
zhangqing
2023年8月25日 15:20
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码