任务描述
暂无
需求描述

1.    需求概述

1.1. 背景

新平台,fannoshop对接


来源渠道使用logo:


需和平台澄清问题:

1、订单下载的最小单位是个数组,一个代表街道编号,一个代表房子编号吗?需要拼接?

2、有自发货和线上物流发货,怎样判断什么情况下是线上物流发货?根据订单国家?还是根据订单详情是否返回跟踪号?

3、买家发起退款请求的时候,是有一个单独的字段来标识的,那对应的订单是什么状态?



2.    功能设计

2.1. 来源渠道授权

2.1.1 需求说明


fannoshop使用OAuth2.0标准协议作为用户身份验证与授权协议,流程如下:

1、点击授权按钮,弹出fannoshop登录界面;

2、用户输入用户名和密码,点击登录,进入授权页面;

3、点击授权,即可授权成功;



2.2. 订单下载

2.2.1 需求说明


获取订单列表

方法:/api/orders/search

根据“订单更新时间”获取订单列表

获取的订单状态:


AWAITING_SHIPMENT



获取订单详情

方法:/api/orders/detail/query

根据订单号获取订单详情


费用相关:





2.3. 订单更新

2.3.1 需求说明


更新订单使用服务进行请求,通过订单修改时间获取,当检测到订单状态改变时,重新同步订单信息



2.4. 平台运输方式管理

2.4.1 需求说明


获取承运商列表接口

方法:/api/logistics/shipping_providers




2.5. 平台标记发货规则

2.5.1 需求说明



方法:ShipOrder


有两种标发方式:
1)平台运输方式标发;

     1.1)先通过接口GetShippingProvider获取承运商和追踪号;

     1.2)调用ShipOrder传值追踪号进行标记发货;


2)卖家自发货方式;


     1.1)调用接口ShipOrder传值承运商和追踪号进行标发;



操作位置:销售管理->通用订单设置->平台标记发货规则->设置->添加特殊规则

满足条件后的执行,展示“只上传真实追踪号”和“自行标记发货_ERP不操作”









验收标准

api地址:https://bytedance.feishu.cn/docs/doccnp9gDal0wq7PJZTCAuEqOJd


应用信息

AppKey:4pkc70

AppSecret:725d2b456283b91937b5a08f018f0cb2bb79b657

AppName:test024

测试账号

Fanno Seller Center URL: https://seller-global.fannoshop.com

测试店铺登陆邮箱:yangpanting+0011@bytedance.com

测试店铺登陆密码:123456y

相关用例
历史记录  
  1. 2021-12-21 19:03:24, 由 maojinqiang 创建。
  2. 2021-12-27 16:56:58, 由 fangdahua 完成。
    修改了 总计消耗,旧值为 "0",新值为 "12"。
    修改了 实际完成,旧值为 "",新值为 "2021-12-27 16:48:00"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2021-12-27 16:56:58"。
    修改了 预计剩余,旧值为 "12",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "fangdahua"。

    Fannoshop平台订单同步


    同步规则:

    首次授权,获取最近10天内订单状态未发货AWAITING_SHIPMENT订单;队列时间每隔6小时同步最近三天内订单。
    新订单,只同步状态是未支付UNPAID或者是未发货AWAITING_SHIPMENT订单到ERP;如平台状态发生变化则更新。



    自测订单



  3. 2021-12-29 09:18:02, 由 fangdahua 添加备注。

    新销售平台,表结构脚本


    CREATE TABLE  IF NOT EXISTS  `rb_fannoshop_orderinfo` (
      `Id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
      `CustomerID` INT(11) NOT NULL COMMENT '商户号',
      `OrderSourceID` INT(11) NOT NULL COMMENT '来源渠道',
      `OrderID` VARCHAR(50) NOT NULL COMMENT '平台单号',
      `IsProcess` BIT(1) NOT NULL COMMENT '是否处理',
      `ProcessTime` DATETIME DEFAULT NULL COMMENT '处理时间',
      `LastModificationTimeTimestamp` BIGINT(20) NOT NULL COMMENT '时间戳',
      `OrderStatus` INT(11) NOT NULL COMMENT '订单状态',
      `ExtStatus` INT(11) DEFAULT NULL COMMENT 'Sub-status of order status',
      `PaymentMethod` VARCHAR(50) DEFAULT NULL COMMENT 'The method for paying',
      `DeliveryOption` VARCHAR(100) DEFAULT NULL COMMENT 'The method of delivery',
      `ShippingProvider` VARCHAR(200) DEFAULT NULL COMMENT 'The name of the current shipping provider',
      `ShippingProviderId` VARCHAR(100) DEFAULT NULL COMMENT 'The id of the current shipping provider',
      `CreateTime` DATETIME DEFAULT NULL COMMENT '订单创建时间',
      `PaidTime` DATETIME DEFAULT NULL COMMENT '订单支付时间',
      `BuyerMessage` VARCHAR(2000) DEFAULT NULL COMMENT 'The note from buyer',
      `TrackingNumber` VARCHAR(100) DEFAULT NULL COMMENT '追踪号',
      `CancelReason` VARCHAR(1000) DEFAULT NULL COMMENT '取消原因',
      `CancelUser` VARCHAR(100) DEFAULT NULL COMMENT '取消来源',
      `BuyerUid` VARCHAR(200) DEFAULT NULL COMMENT 'BuyerUid',
      `ReceiverAddressUpdated` VARCHAR(100) DEFAULT NULL COMMENT 'ReceiverAddressUpdated',
      `PackageListJosn` VARCHAR(2000) DEFAULT NULL COMMENT 'PackageListJosn',
      `RtsTime` DATETIME DEFAULT NULL COMMENT '平台订单发货时间',
      `RtsSla` DATETIME DEFAULT NULL COMMENT '平台订单指定发货时间',
      `TtsSla` DATETIME DEFAULT NULL COMMENT '平台订单采集时间',
      `CancelOrderSla` DATETIME DEFAULT NULL COMMENT '平台订单取消时间',
      `UpdateTime` DATETIME DEFAULT NULL COMMENT '平台订单修改时间',
      `Currency` VARCHAR(20) DEFAULT NULL COMMENT '币种',
      `SubTotal` DECIMAL(18,4) DEFAULT NULL COMMENT 'Buyer paid sub total of all the SKUs in the order',
      `ShippingFee` DECIMAL(18,4) DEFAULT NULL COMMENT 'Buyer paid shipping fee. Shipping_fee = original_shipping_fee - shipping_fee_seller_discount - shipping_fee_platform_discount',
      `SellerDiscount` DECIMAL(18,4) DEFAULT NULL COMMENT 'Product discount by seller.',
      `PlatformDiscount` DECIMAL(18,4) DEFAULT NULL COMMENT 'Product discount by platform.',
      `TotalAmount` DECIMAL(18,4) DEFAULT NULL COMMENT 'Buyer paid total payment. Total_amount=sub_total+shipping_fee.',
      `OriginalTotalProductPrice` DECIMAL(18,4) DEFAULT NULL COMMENT 'Total original price of products',
      `OriginalShippingFee` DECIMAL(18,4) DEFAULT NULL COMMENT 'Shipping fee before discount',
      `ShippingFeeSellerDiscount` DECIMAL(18,4) DEFAULT NULL COMMENT 'Shipping fee discount by seller.',
      `ShippingFeePlatformDiscount` DECIMAL(18,4) DEFAULT NULL COMMENT 'Shipping fee discount by platform',
      `Taxes` DECIMAL(18,4) DEFAULT NULL COMMENT 'Taxes',
      `FullAddress` VARCHAR(2000) DEFAULT NULL COMMENT '地址',
      `Region` VARCHAR(400) DEFAULT NULL COMMENT 'region',
      `State` VARCHAR(400) DEFAULT NULL COMMENT 'State',
      `City` VARCHAR(400) DEFAULT NULL COMMENT 'City',
      `District` VARCHAR(400) DEFAULT NULL COMMENT 'District',
      `Town` VARCHAR(400) DEFAULT NULL COMMENT 'Town',
      `Phone` VARCHAR(50) DEFAULT NULL COMMENT 'Phone',
      `Name` VARCHAR(400) DEFAULT NULL COMMENT 'Name',
      `Zipcode` VARCHAR(50) DEFAULT NULL COMMENT 'Zipcode',
      `AddressDetail` VARCHAR(500) DEFAULT NULL COMMENT 'AddressDetail',
      `AddressLineList` VARCHAR(600) DEFAULT NULL COMMENT 'Street name + Hourse name or number',
      `CreatorId` INT(11) DEFAULT NULL COMMENT '创建人ID',
      `Creator` VARCHAR(50) DEFAULT NULL COMMENT '创建人',
      `CreationTime` DATETIME DEFAULT NULL COMMENT '创建时间',
      `LastModifierId` INT(11) DEFAULT NULL COMMENT '修改人ID',
      `LastModifier` VARCHAR(50) DEFAULT NULL COMMENT '修改人',
      `LastModificationTime` DATETIME DEFAULT NULL COMMENT '修改时间',
      PRIMARY KEY (`Id`),
      UNIQUE KEY `UNIQUE_customerid_ordersourceid_orderid` (`CustomerID`,`OrderSourceID`,`OrderID`),
      KEY `isprocess_lastModificationTime` (`IsProcess`,`LastModificationTime`),
      KEY `customerid_ordersourceid_orderid` (`CustomerID`,`OrderSourceID`,`OrderID`)
    ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

    CREATE TABLE  IF NOT EXISTS  `rb_fannoshop_orderlist` (
      `Id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
      `CustomerID` INT(11) NOT NULL COMMENT '商户号',
      `OrderSourceID` INT(11) NOT NULL COMMENT '来源渠道',
      `OrderID` VARCHAR(50) NOT NULL COMMENT '平台单号',
      `SkuId` VARCHAR(100) DEFAULT NULL COMMENT 'Sku id',
      `ProductId` VARCHAR(100) DEFAULT NULL COMMENT 'Product id. (origin is item id)',
      `ProductName` VARCHAR(500) DEFAULT NULL COMMENT '产品名称',
      `SkuName` VARCHAR(500) DEFAULT NULL COMMENT 'sku name',
      `SkuImage` VARCHAR(500) DEFAULT NULL COMMENT '产品连接',
      `Quantity` INT(11) DEFAULT NULL COMMENT '数量',
      `SellerSku` VARCHAR(400) DEFAULT NULL COMMENT 'SellerSku',
      `SkuOriginalPrice` DECIMAL(18,4) DEFAULT NULL COMMENT 'Sku original price',
      `SkuSalePrice` DECIMAL(18,4) DEFAULT NULL COMMENT 'Sku sale price',
      `SkuPlatformDiscount` DECIMAL(18,4) DEFAULT NULL COMMENT 'SkuPlatformDiscount',
      `SkuSellerDiscount` DECIMAL(18,4) DEFAULT NULL COMMENT 'SkuSellerDiscount',
      `CreatorId` INT(11) DEFAULT NULL COMMENT '创建人ID',
      `Creator` VARCHAR(50) DEFAULT NULL COMMENT '创建人',
      `CreationTime` DATETIME DEFAULT NULL COMMENT '创建时间',
      `LastModifierId` INT(11) DEFAULT NULL COMMENT '修改人ID',
      `LastModifier` VARCHAR(50) DEFAULT NULL COMMENT '修改人',
      `LastModificationTime` DATETIME DEFAULT NULL COMMENT '修改时间',
      PRIMARY KEY (`Id`),
      KEY `customerid_ordersourceid_orderid` (`CustomerID`,`OrderSourceID`,`OrderID`)
    ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

  4. 2021-12-29 09:18:56, 由 fangdahua 添加备注。

    新销售平台相关服务配置脚本



    INSERT INTO `schedule` (jobname, jobgroup,jobstatus,cron,assemblyname,classname,remark,runtimes,begintime,endtime,triggertype,intervalsecond,url,createtime,updatetime,valid)
    VALUES('FannoshopOrderDownloadForInsertTaskJob','sale',1,'0 0/10 * * * ?','IrobotBox.Sale.Tasks.Async',
    'IrobotBox.Sale.Tasks.Async.Tasks.Fannoshop.FannoshopOrderDownloadForInsertTaskJob',
    '',0,'2021-03-04 17:33:27','2030-08-14 17:03:47',1,0,NULL,'2021-03-04 17:33:27','2021-03-04 17:33:27',1);

    INSERT INTO `schedule` (jobname, jobgroup,jobstatus,cron,assemblyname,classname,remark,runtimes,begintime,endtime,triggertype,intervalsecond,url,createtime,updatetime,valid)
    VALUES('FannoshopOrderDownloadForSendMqMessageJob','sale',1,'0 0/10 * * * ?','IrobotBox.Sale.Tasks.Async',
    'IrobotBox.Sale.Tasks.Async.Tasks.Fannoshop.FannoshopOrderDownloadForSendMqMessageJob',
    '',0,'2021-03-04 17:33:27','2030-08-14 17:03:47',1,0,NULL,'2021-03-04 17:33:27','2021-03-04 17:33:27',1);

    INSERT INTO `schedule` (jobname, jobgroup,jobstatus,cron,assemblyname,classname,remark,runtimes,begintime,endtime,triggertype,intervalsecond,url,createtime,updatetime,valid)
    VALUES('FannoshopOrderMarkeDeliveryForSendMqMessageJob','sale',1,'0 0/15 * * * ?','IrobotBox.Sale.Tasks.Async',
    'IrobotBox.Sale.Tasks.Async.Tasks.Fannoshop.FannoshopOrderMarkeDeliveryForSendMqMessageJob',
    '',0,'2021-03-04 17:33:27','2030-08-14 17:03:47',1,0,NULL,'2021-03-04 17:33:27','2021-03-04 17:33:27',1);

  5. 2021-12-29 15:34:10, 由 fangdahua 指派给 maojinqiang。
    修改了 指派给,旧值为 "fangdahua",新值为 "maojinqiang"。
所属迭代 【主干】产品中心1月第一个版本(2022年)
所属模块 赛盒科技  赛盒ERP管理系统   订单组
相关需求 【订单】新平台-抖音旗下fannoshop对接
指派给 毛金强 于 2021-12-29 15:34:10
任务类型 后端
任务标签 初始
开发组
任务状态 已完成
进度 100%
优先级 P2
关键词
抄送给
由谁创建 maojinqiang 于 2021-12-21 19:03:24
由谁完成 fangdahua 于 2021-12-27 16:48:00
由谁取消 暂无
由谁关闭 暂无
关闭原因 暂无
最后编辑 fangdahua 于 2021-12-29 15:34:10
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 12工时
总计消耗 12工时
预计剩余 0工时
预计开始 0000-00-00
实际开始 2021-12-27
截止日期 0000-00-00