[关闭]
@jean 2016-11-30T18:01:43.000000Z 字数 6288 阅读 1630

6 City 海淘返利系统

未分类


这个项目的目标是开发一个「返利系统」并完成一个「B 端后台」, 让导购合作方 (下文统称为: 流量主) 可以随时查看返利业绩以及申请提现 (和我们合作订单的返利). 项目上线之初可能会在内部以及与现在的流量主先试用, 没有问题后开始向更多流量主开放.


概览

目标

  1. 返利系统: 在 6 City 现在的海淘接口 (具体文档请点击 这里 查看) 基础上, 增加返利系统
  2. 返利后台: 一个可看 (返利报表) 并且可申请提现的返利后台

不需要考虑的问题

  1. 太复杂的后台展示信息, 包括但不限于: 公告, 活动, 常见问题和广告主信息;
  2. 对商品展示系统的开发, 比如以不同网站各分类做不同的返点;
  3. 返利点的后台自定义, 前期先由运营团队和业务负责人讨论后写死;
  4. 返利链接的数据埋点, 比如不同商品「被点击」,「被下单」,「成功支付」次数等数据;
  5. 返利提现和余额的显示, 也就是只要申请就扣除, 不做配套的财务后台

需求背景

@Panda 希望我们的海淘从 to C 转型成 to B 以便实现平台化, 进而提出将整个业务以模块化的形式分拆的想法, 其中包括单独的返利系统.

为什么需要做一个返利系统?

  1. 流量主的工作太过复杂: 需要自己去找返利商品和返利链接, 再提交给转运方 (比如我们) 转运用户确认收货之后, 再从广告联盟拿返利
  2. 返利分发流程, 我们并未参与其中, 不论以后生意规模如何都无法从中获利, 也无法通过增加返点力度来促成合作

用例

  1. 流量主需求

    1.1 可通过我们给予的 App Key 打开返利商品, 当然这些商品必须可以下单;

    1.2 对于 (基于 App Key 展示的) 返利商品产生的订单, 可获得相应的返利;

    1.3 可查看业绩报表, 根据自己的账号而非任何人可看到所有人的业绩报表;

    1.4 可将返利申请提现, 这说明此项目还需要有配套的财务后台;

    1.5 适配问题: 暂时只需要考虑 iOS / Android / H5 平台, 不需要考虑其他平台比如 PC, 微信端等

    1.6 账号体系对接: 有体系可不注册, 没体系还需要注册 6city.

  2. 运营团队需求

    为了让项目更早上线, 内部测试阶段暂无运营需求

  3. 财务部需求

    流量主申请的返利提现, 此功能前期通过数据导出, 不单独开发配套后台查看. 因此需要给财务相关人员开通查看 6 city 相应后台的账号和权限 (每月 10 号返利, 增加一个文字提醒).


主要功能点

  1. 一类新的 账号角色: 流量主, 这类账号登录后台能查看其自己的返利业绩报表 (按日期展示和按订单展示两种);
  2. 一个展示 知晓各大网站返利的情况 的页面, 以便流量主知道卖什么商品对他们更有利 (前期可以写死返利点, 不用做后台设置), 这个返利点之后可能会调整;
  3. 一个设置和修改接收返利 银行账户/银行卡页面;
  4. 一个能申请提现和查看提现记录的页面;
  5. 一个获取接口的开发者文档页面.

返利后台

后台入口

搭建在 6 city 现在的后台上, 导航位置如下图所示 (待补):

顶部

登录后的着陆页

登录之后直接打开「业绩报表 - 日期报表」即可.

导航


业绩报表

日期报表可用于数据分析和对账, 订单报表可用于查看具体订单的金额状态和返利情况等, 两者各有各的用处并不互相冲突, 需要都做.

此处输入图片的描述

日期报表

筛选条件
条件 控件 默认状态 输入数据 控件要求
开始时间 (无时分秒的) 日历控件 已被控件限制 详见补充说明
结束时间 (无时分秒的) 日历控件 已被控件限制 详见补充说明
汇总规则 下拉框 按天显示 已被控件限制 详见补充说明

补充说明:
- 开始时间设置好后, 代表点击「查看」按钮时, 会从该日期的 0:00:00 作为筛选条件
- 结束时间设置好后, 代表点击「查看」按钮时, 会从该日期的 23:59:59 作为筛选条件
- 如果开始时间或者结束时间没有设置的话, 则认为不以该时间作为筛选条件, 都没设置则查看所有记录
- 汇总规则下拉框:
- 按天显示 (默认项)
- 按月显示
- 按年显示
- 还需要一个导出成 Excel 的按钮, 点击之后按当前筛选结果导出

日期报表表单
标题 展示数据 示例
日期, 以此字段倒序显示 每一天的日期 20161125
全部订单数 商品被用户提交支付的次数 (不论是否付款) 50,000
有效订单数 用户支付成功的商品件数 (退款后不会减少) 45,000
全部订单额 全部订单中商品金额的累加 1,500,000
有效订单额 支付成功的订单中商品金额的累加值 1,200,000
全部返利额 全部订单乘以各平台返点之后金额的累加值 45,000
有效返利额 支付成功的订单乘以各平台返点之后金额的累加值 40,000

CPS 报表

筛选条件
条件 控件 默认状态 输入数据 控件要求
订单创建开始时间 (无时分秒的) 日历控件 已被控件限制 详见补充说明
订单创建结束时间 (无时分秒的) 日历控件 已被控件限制 详见补充说明
转运开始时间 (无时分秒的) 日历控件 已被控件限制 详见补充说明
转运结束时间 (无时分秒的) 日历控件 已被控件限制 详见补充说明
商品编号 文本框 不限制 去两端空格, 精确匹配
商品状态 下拉框 全部状态 已被控件限制 详见补充说明

补充说明
- 开始时间设置好后, 代表点击「查看」按钮时, 会从该日期的 0:00:00 作为筛选条件
- 结束时间设置好后, 代表点击「查看」按钮时, 会从该日期的 23:59:59 作为筛选条件
- 如果开始时间或者结束时间没有设置的话, 则认为不以该时间作为筛选条件, 都没设置则查看所有记录
- 商品状态的下拉框选项中, 将所有状态列出:
- 全部状态
- 待付款
- 已取消
- 等待官网发货
- 官方已发货
- 转运中 (可结算)
- 已收货 (可结算)
- 还需要一个导出成 Excel 的按钮, 点击之后按当前筛选结果导出

CPS 报表表单, 参考模板

标题 展示数据 示例
商品编号 - 391477525006898664
商品状态 商品当前的处理状态 详见补充说明
商品名称 商品的名称, 商品链接作为其超链接 (从新窗口打开) Apple Macbook Air 11.6" 1.3 GHz Core i5 128 GB SSD, 4GB RAM, Yosemite- MD711LL/A
数量 用户下单时所选择该商品的数量 1
外币价格 (单价) 该商品在其网站上的价格 $USD 399.99
实付金额 (单价) 用户实际支付的金额 详见补充说明
返点 该商品所在网站的返点 3%
返利金额 (总价) 实付金额 (× 商品数量) × 返点 详见补充说明
下单时间, 以此字段倒序显示 用户付款时间 (不会未付款) 2016-11-24 12:14:28
转运时间 用户提交转运时间 2016-11-30 12:14:28

补充说明
- 商品状态的状态:
- 待付款
- 已取消
- 等待官网发货
- 官方已发货
- 已入库
- 转运中 (可结算)
- 已收货 (可结算)
- 实付金额
- 财务未收到打款时, 则显示「-」
- 财务收到打款时, 将用户实际支付的金额填入
- 返利金额
- 金额 = 实付金额 (× 商品数量) × 返点


账号管理

账号信息

账号信息是个页面, 但最初的数据来源是注册页面.

修改密码

标题 控件 是否必填 控件要求
原密码 密码类型文本框 6~18个字符以上的英文和数字字组成, 暗文显示不可切换成明文
新密码 密码类型文本框 6~18个字符以上的英文和数字字组成, 暗文显示不可切换成明文
确认密码 密码类型文本框 需要和「新密码」完全一致 (包括大小写), 暗文显示不可切换成明文

- 点击「修改」时, 依次做如下判断:
- 如果表单中有必填项未填写, 则按字段从上至下顺序提醒「请填写XXX」
- 如果原密码不正确, 则提示「原密码不正确」
- 如果新密码没有按照要求填写, 则提示「请按要求填写新密码」
- 如果确认密码和新密码不一致, 则提示「两次密码填写不一致」
- 点击「取消」时, 不修改密码, 返回「银行信息」页面

银行信息

标题 控件 是否必需 控件要求
银行名称 下拉框 必选 选项 如图 所示, 第一项为默认项, 右边提示「如没有列出您的银行卡, 请选择其他. 请不要在这里设置信用卡.」
银行所在省市 三个联动下拉框 必选 下拉框会随着左边的下拉框变动, 而且在右边提示「为了您可以正常收款,请仔细填写」
开户行支行名称 文本框 必填
银行账号 文本框 必填 考虑到以后可能出支付宝打款, 这个文本框还是不要做输入数据的限制了
账号性质 下拉框 必选
选择「公司账户」时 - - -
公司账户名称 文本框 必填
营业执照号 文本框 必填
营业执照正面 图片上传控件 必传 在右边提示「请上传 jpg、png、gif 格式的扫描件,大小不超过 10M」, 上传限制同说明
开户许可证 图片上传控件 必传 在右边提示「请上传 jpg、png、gif 格式的扫描件,大小不超过 10M」, 上传限制同说明
选择「个人账户」时 - - -
开户人 文本框 必填
身份证号 文本框 必填
身份证正面 图片上传控件 必传 在右边提示「请上传 jpg、png、gif 格式的扫描件,大小不超过 10M」, 上传限制同说明
身份证背面 图片上传控件 必传 在右边提示「请上传 jpg、png、gif 格式的扫描件,大小不超过 10M」, 上传限制同说明

注册页面

注册表单

标题 控件 是否必填 控件要求
用户名 文本框 由4~10个字符的小写英文字母或数字组成
密码 密码类型文本框 6~18个字符以上的英文和数字字组成, 暗文显示不可切换成明文
账号性质 下拉框 已被控件限制 默认选中「企业」, 可切换选项为「个人」
企业名 文本框 详见补充说明
联系人真实姓名 文本框
邮箱地址 文本框
联系人 QQ 文本框 只能输入数字
移动电话 文本框 只能输入数字
短信验证码 文本框 边上配有一个「获取短信验证码」的按钮

补充说明
- 点击告知用户「*为必填项」, 其实目前都是必填项;
- 如果「账号性质」选择了「企业」, 则下拉框下方额外显示一项 (其他项目相应下移)「企业名」, 切换成「个人」时,「企业名」一项隐藏
- 点击「注册」时, 依次做如下判断:
- 如果表单中有必填项未填写, 则按字段从上至下顺序提醒「请填写XXX」
- 如果短信验证码不正确, 则提示「短信验证码不正确」
- 如果用户名没有按照要求填写, 则提示「请按要求填写用户名」
- 如果密码没有按照要求填写, 则提示「请按要求填写密码」
- 告知用户「真实姓名不可更改,请谨慎填写」;

提交注册后的资质审核

待确定

登录页面

就用现在后台的登录页面, 但需要增加一个「忘记密码?」的纯文字按钮.

重置密码页面

页面不用太复杂, 填写正确之后自动发送电子邮件至注册邮箱.


返利提现

此处输入图片的描述

返利提现

公告部分

每月 10 日发放, 需要提现请于该月 5 日 23:00 之前申请, 在此时间之后申请的提现将会于下月发放.

申请提现

标题 控件 是否必需 控件要求
提现金额 文本框 必填 只能输入数字和小数点, 保存时去两端空格
开户人 下拉框 必选 该账号打开此页面时, 已添加的银行账户开户人
银行名称 无边框只读文本框 无法编辑 切换「开户人」选项后, 自动填充
支行名称 无边框只读文本框 无法编辑 切换「开户人」选项后, 自动填充
银行卡号 无边框只读文本框 无法编辑 切换「开户人」选项后, 自动填充
预计到账时间 无边框只读文本框 无法编辑 显示预计到账时间 (11.04 提现则提示 11.10, 11.25 提现则显示 12.10, 以每月 5 日为界限)

补充说明
- 必填 (选) 项没有填写时点击「申请提现」, 则提示「请填写 XXX」, 都没填写时点击则提示「请填写提现金额」
- 提现金额文本框右边增加提示「可申请提现的余额为: XXXX 元」, 填写的提现金额如果大于这个金额点击「申请提现」, 则提示「申请失败, 提现金额超过最大值」, 提示的优先级低于未选择银行账户

返利产生 / 提现概览 (按月汇总一年)

按月列出

标题 展示数据 示例
日期 如上图 2016年01月
获得的返利 该账号该月所有返利订单金额的总合 2,532.41 元
申请的提现 该账号该月申请提现金额的总和 9,600.00 元
余额 帐户上剩余可提现的金额 40,574.15 元

补充说明
- 获得的返利是财务认为可结算的日期来计算, 记的也是可结算的返利金额, 而非用户下单时间和待付款等金额, 单位都是人民币
- 申请的提现是上个月 10 日到该月 10 日之间申请的全部提现金额的总和, 而非自然月中所有申请提现金额的总和
- 余额不包括已经申请的提现部分: 帐户总金额 10,000 元, 该月已申请提现 (不论是否到账) 9,000 元, 则余额为 1,000. 这样可以避免因为歧义而重复提现. 这里先不考虑财务是否真的打款, 只要申请提现就从余额中扣除.
- 找一个位置增加一个下拉框, 可以让用户选择不同的年份来显示汇总信息 //为了简便, 可以直接列出一年所有的月份 (不用管返利是否产生和提现), 选项先做两个2016 年&2017 年, 其他以后慢慢加

申请提现明细

此处输入图片的描述

标题 展示数据 示例
申请日期 单位为自然日 20161121
支付日期 单位为自然日 20161110/只显示每月 10 日, 该笔申请没支付则不显示
开户名 申请提现的银行帐户 王俊杰
银行名称 申请提现的银行名 招商银行
银行账号 申请提现的银行卡号 6214********3969
申请金额 单位为人民币 800.00 元

开发者文档

使用权限

展示内容

由于商品链接中需要写 C 端用户 uid, 批量生成链接没有意义, 因此这里只需要写明链接规范参数说明.

链接规范

标题 链接规则
添加商品 http://m.6city.com/ProductCrawl/AddCart? 「crawlUrl = 商品地址」&「uid = 用户唯一号」&「fromClient = 客户端类别」&「AppKey」
购物车 http://m.6city.com/ShoppingCart/List? 「uid = 用户唯一号」&「fromClient = 客户端类别」&「AppKey」
我的订单 http://m.6city.com/ProductOrder/List? 「uid = 用户唯一号」&「fromClient = 客户端类别」&「AppKey」

链接示例

添加商品页面

没有注册功能,需要传输 uid

http://m.6city.com/ProductCrawl/AddCart?crawlUrl=http://www.6pm.com/calvin-klein-benton?PID=7739958&AID=10536619&utm&Uid=003&fromClient=2&appKey=e0711b5d1adf4ac383016a188078e27a

附带注册功能,不用传输 uid

http://m.6city.com/ProductCrawl/AddCart?crawlUrl=http://www.6pm.com/calvin-klein-benton?PID=7739958&AID=10536619&utm&Uid=003&fromClient=2&appKey=e30765f266bc4d12a0d349e70c73aa03

购物车页面

http://m.6city.com/ShoppingCart/List?Uid=001&fromClient=2&appKey=e0711b5d1adf4ac383016a188078e27a

我的订单页面

http://m.6city.com/ProductOrder/List?uId=001&fromClient=2&appKey=e0711b5d1adf4ac383016a188078e27a

参数说明

参数名 类型 说明 示例
crawlUrl string, 需要 encode 商品详情页url地址 Http://www.xxx.com/
uid string 用户的唯一标识key 「123」或者「abc」
fromClient 固定值:2代表iOS、4代表Android 来源客户端 「iOS」或者「2」
AppKey string 代表这个应用 auhsduahfiafjhiasfjioaf
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注