主题
多多多宝 API 接口文档
小程序前端调用的所有API接口清单
生成时间:2025-10-09
Base URL:http://union1.unionall.com.cn
对接平台:拼多多开放平台(多多客)
📋 目录
认证说明
Token认证
所有需要登录的接口都需要在请求头中携带Token:
http
Authorization: Token {token}请求格式
http
Content-Type: application/json
或
Content-Type: application/x-www-form-urlencoded响应格式
json
{
"code": 200,
"msg": "success",
"data": {}
}用户模块
1. 发送验证码
接口地址:POST /user/send_tel_code/
接口说明:发送手机短信验证码
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号码 |
请求示例:
json
{
"phone": "18800000000"
}响应示例:
json
{
"code": 200,
"msg": "验证码已发送",
"data": {
"expire_time": 300
}
}2. 用户登录
接口地址:POST /user/login/
接口说明:手机号+验证码登录,如果用户不存在则自动注册
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号码 |
| code | string | 是 | 验证码 |
| invitation_code | string | 否 | 邀请码(注册时) |
请求示例:
json
{
"phone": "18800000000",
"code": "123456",
"invitation_code": "888888"
}响应示例:
json
{
"code": 200,
"msg": "登录成功",
"data": {
"token": "abc123def456...",
"user": {
"id": 1,
"username": "18800000000",
"nickname": "用户昵称",
"avatar": "头像URL",
"invitation_code": "888888",
"level_id": 0,
"relation_id": "9322052_120050393"
}
}
}3. 用户注册
接口地址:POST /user/register/
接口说明:用户注册(已合并到登录接口)
参数同登录接口
4. 获取用户信息
接口地址:GET /user/my_info/
接口说明:获取当前登录用户的详细信息
请求头:需要Token
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"id": 1,
"username": "18800000000",
"nickname": "用户昵称",
"avatar": "头像URL",
"invitation_code": "888888",
"level_id": 2,
"level_name": "合伙人",
"alipay_account": "example@alipay.com",
"rel_name": "张三",
"reg_time": 1609459200,
"city_name": "滨州市",
"district_name": "滨城区",
"balance": 158.50,
"total_income": 1250.80,
"today_income": 15.30,
"team_count": 56
}
}5. 修改用户信息
接口地址:POST /user/change_info/
接口说明:修改用户资料
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 修改类型:nickname/alipay/realname |
| value | string | 是 | 新值 |
请求示例:
json
{
"type": "nickname",
"value": "新昵称"
}响应示例:
json
{
"code": 200,
"msg": "修改成功",
"data": {}
}6. 修改手机号
接口地址:POST /user/change_phone/
接口说明:修改绑定手机号
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| old_phone | string | 是 | 旧手机号 |
| old_code | string | 是 | 旧手机验证码 |
| new_phone | string | 是 | 新手机号 |
| new_code | string | 是 | 新手机验证码 |
7. 检测手机号
接口地址:POST /user/check_tel/
接口说明:检测手机号是否已注册
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号码 |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"exists": true,
"user_id": 123
}
}8. 退出登录
接口地址:POST /user/logout/
接口说明:用户退出登录
请求头:需要Token
响应示例:
json
{
"code": 200,
"msg": "退出成功",
"data": {}
}拼多多客模块
1. 拼多多客API统一接口
接口地址:POST /tbk/api/
接口说明:调用拼多多客API的统一入口
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | API类型,见下表 |
| ... | mixed | 否 | 根据type不同,参数不同 |
type类型说明:
| type值 | 说明 | 额外参数 |
|---|---|---|
| search | 商品搜索 | keyword, page, page_size, sort_type, cat_id |
| detail | 商品详情 | goods_id_list |
| promote | 生成推广链接 | goods_id_list, generate_short_url |
搜索商品示例:
json
{
"type": "search",
"keyword": "手机",
"page": 1,
"page_size": 20,
"sort_type": "0"
}搜索响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"total": 1000,
"list": [
{
"goods_id": "123456",
"goods_name": "商品名称",
"goods_thumbnail_url": "图片URL",
"min_group_price": 99.00,
"min_normal_price": 199.00,
"coupon_discount": 50,
"promotion_rate": 300,
"sales_tip": "已拼10万+件",
"mall_name": "店铺名称"
}
]
}
}商品详情示例:
json
{
"type": "detail",
"goods_id_list": "[\"123456\"]"
}详情响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"goods_details": [
{
"goods_id": "123456",
"goods_name": "商品名称",
"goods_desc": "商品描述",
"goods_image_url": "主图URL",
"goods_gallery_urls": ["图片1", "图片2"],
"min_group_price": 99.00,
"min_normal_price": 199.00,
"coupon_discount": 50,
"coupon_start_time": 1609459200,
"coupon_end_time": 1612137600,
"promotion_rate": 300,
"sales_tip": "已拼10万+件",
"mall_name": "店铺名称",
"mall_id": "789",
"cat_id": "10"
}
]
}
}生成推广链接示例:
json
{
"type": "promote",
"goods_id_list": "[\"123456\"]",
"generate_short_url": true
}推广链接响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"goods_promotion_url_list": [
{
"goods_id": "123456",
"mobile_url": "https://p.pinduoduo.com/xxx",
"short_url": "https://p.pinduoduo.com/short",
"we_app_info": {
"app_id": "wx1234567890",
"page_path": "pages/goods/goods?goods_id=123456&pid=xxx"
}
}
]
}
}2. 商品分类
接口地址:GET /tbk/category/
接口说明:获取拼多多商品分类列表
响应示例:
json
{
"code": 200,
"msg": "success",
"data": [
{
"cat_id": "1",
"cat_name": "女装",
"parent_id": "0"
},
{
"cat_id": "2",
"cat_name": "男装",
"parent_id": "0"
}
]
}3. 活动商品
接口地址:GET /tbk/activitygoods/
接口说明:获取活动商品列表(1.9包邮、今日爆款等)
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| activity_type | int | 是 | 活动类型:0=1.9包邮/1=今日爆款/2=品牌清仓 |
| page | int | 否 | 页码,默认1 |
| page_size | int | 否 | 每页数量,默认20 |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"total": 100,
"list": [
{
"goods_id": "123456",
"goods_name": "商品名称",
"goods_thumbnail_url": "图片URL",
"min_group_price": 1.90,
"sales_tip": "已拼10万+件"
}
]
}
}4. 平台自选库
接口地址:GET /tbk/uatmfavorite/
接口说明:获取平台精选的商品库
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | int | 否 | 页码,默认1 |
| page_size | int | 否 | 每页数量,默认20 |
5. 用户收藏
接口地址:
- 查询:
GET /tbk/usergood/ - 添加:
POST /tbk/usergood/ - 删除:
DELETE /tbk/usergood/{id}/
接口说明:用户商品收藏管理
请求头:需要Token
添加收藏请求示例:
json
{
"goods_id": "123456",
"goods_name": "商品名称",
"goods_pic": "图片URL",
"goods_price": 99.00
}查询收藏响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"list": [
{
"id": 1,
"goods_id": "123456",
"goods_name": "商品名称",
"goods_pic": "图片URL",
"goods_price": 99.00,
"create_time": 1609459200
}
]
}
}6. 订单列表
接口地址:GET /tbk/tbkorder/
接口说明:查询用户的拼多多客订单列表
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| status | int | 否 | 订单状态:3=已付款/12=已结算/13=失效/14=成功 |
| start_time | int | 否 | 开始时间戳 |
| end_time | int | 否 | 结束时间戳 |
| page | int | 否 | 页码,默认1 |
| page_size | int | 否 | 每页数量,默认20 |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"total": 50,
"list": [
{
"id": 1,
"trade_id": "191024-064573277250541",
"item_title": "商品标题",
"pict_url": "商品图片",
"item_num": 1,
"pay_price": 99.00,
"commission": 5.00,
"pub_share_pre_fee": 3.00,
"tk_status": 14,
"create_time": 1609459200,
"earning_time": 1610000000
}
]
}
}收益模块
1. 收益概览
接口地址:GET /user/income/
接口说明:获取用户收益统计
请求头:需要Token
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"total_income": 1250.80,
"available_balance": 158.50,
"frozen_balance": 50.00,
"today_income": 15.30,
"yesterday_income": 20.50,
"month_income": 280.00,
"total_withdraw": 1000.00,
"pending_income": 100.00
}
}2. 收益明细
接口地址:GET /user/moneyhistory/
接口说明:查询收益明细流水
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| money_type | int | 否 | 资金类型:1=拉新/2=佣金/3=提成/4=补贴/5=维权/6=取现 |
| start_time | int | 否 | 开始时间戳 |
| end_time | int | 否 | 结束时间戳 |
| page | int | 否 | 页码,默认1 |
| page_size | int | 否 | 每页数量,默认20 |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"total": 100,
"list": [
{
"id": 1,
"money_type": 2,
"money_type_name": "佣金",
"order_num": "191024-064573277250541",
"count": 3.00,
"status": 1,
"status_name": "已结算",
"create_time": 1609459200,
"settle_time": 1610000000
}
]
}
}3. 年度收益明细
接口地址:GET /user/moneyhistory/year_history/
接口说明:按年度统计收益明细
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| year | int | 是 | 年份,如2024 |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"year": 2024,
"total_income": 5000.00,
"months": [
{
"month": 1,
"income": 500.00
},
{
"month": 2,
"income": 600.00
}
]
}
}4. 订单详情统计
接口地址:GET /user/order_detail/
接口说明:统计订单数据
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 统计类型:today/month/total |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"order_count": 50,
"total_amount": 5000.00,
"total_commission": 250.00
}
}提现模块
1. 钱包信息
接口地址:GET /user/wallet/
接口说明:获取钱包余额和可提现金额
请求头:需要Token
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"balance": 158.50,
"available_withdraw": 150.00,
"frozen_amount": 8.50,
"has_wechat": true,
"nickname": "微信昵称"
}
}2. 提现申请
接口地址:POST /user/withdraw/
接口说明:提交提现申请,审核通过后自动转账到微信零钱
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| money | decimal | 是 | 提现金额 |
请求示例:
json
{
"money": 100.00
}响应示例:
json
{
"code": 200,
"msg": "提现申请已提交,请等待审核",
"data": {
"order_id": "TX202401090001",
"money": 100.00,
"status": 0
}
}提现说明:
- 提现方式:微信企业付款到零钱
- 到账时间:审核通过后实时到账
- 提现限制:最低1元起提,无手续费
- 需要用户已完成微信授权登录(获取openid)
3. 提现记录
接口地址:GET /user/withdraw/
接口说明:查询提现记录列表
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| status | int | 否 | 提现状态:0=待审核/1=成功/2=失败 |
| page | int | 否 | 页码,默认1 |
| page_size | int | 否 | 每页数量,默认20 |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"total": 10,
"list": [
{
"id": 1,
"order_id": "TX202401090001",
"money": 100.00,
"realmoney": 100.00,
"status": 1,
"status_name": "提现成功",
"user_account": "微信昵称",
"submit_time": 1609459200,
"dispose_time": 1609460000,
"trade_id": "1000018301202401093000000001",
"msg": ""
}
]
}
}4. 结算汇总
接口地址:GET /user/withdraw/settle/
接口说明:查询结算汇总信息
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| month | int | 否 | 月份,格式YYYYMM |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"month": 202401,
"total_income": 500.00,
"settled_amount": 300.00,
"pending_amount": 200.00,
"withdraw_amount": 250.00
}
}团队模块
1. 团队数据统计
接口地址:POST /member/myTeam
接口说明:获取我的团队数据统计
请求头:需要Token
Base URL: https://duo.unionall.com.cn/
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| token | string | 是 | 用户Token |
响应示例:
json
{
"team": {
"num": 56,
"invaild_num": 30,
"pre": 150.50,
"today": 2,
"yesterday": 3,
"today_sales": 5,
"sales": 120
},
"city": {
"num": 200,
"invaild_num": 100,
"pre": 500.00,
"today": 10,
"yesterday": 15,
"today_sales": 20,
"sales": 500
},
"upper": "推荐人昵称"
}2. 团队成员列表
接口地址:GET /user/team_members/
接口说明:获取团队成员列表
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| level | int | 否 | 层级:1=直属/2=二级/3=三级,不传则全部 |
| page | int | 否 | 页码,默认1 |
| page_size | int | 否 | 每页数量,默认20 |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"total": 56,
"list": [
{
"user_id": 10,
"nickname": "会员昵称",
"avatar": "头像URL",
"level_id": 0,
"level_name": "普通用户",
"reg_time": 1609459200,
"order_count": 15,
"total_commission": 50.00,
"relation_level": 1
}
]
}
}3. 团队排行榜
接口地址:GET /user/team_ranking/
接口说明:团队成员出单排行榜TOP100
请求头:需要Token
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 否 | 排行类型:order=出单数/commission=佣金,默认order |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"list": [
{
"rank": 1,
"user_id": 10,
"nickname": "会员昵称",
"avatar": "头像URL",
"order_count": 50,
"total_commission": 250.00
}
]
}
}4. 城市代理数据明细
接口地址:GET /user/city_detail/
接口说明:查询城市代理的区域数据明细
请求头:需要Token
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"city_info": {
"city_name": "滨州市",
"city_code": 371600,
"total_users": 500,
"active_users": 200,
"total_orders": 1000,
"total_commission": 5000.00
},
"districts": [
{
"district_name": "滨城区",
"user_count": 100,
"order_count": 200
}
]
}
}内容模块
1. 轮播图
接口地址:POST /duo/banner
接口说明:获取首页轮播图列表
Base URL: https://duo.unionall.com.cn/
响应示例:
json
[
{
"id": 1,
"title": "轮播图标题",
"pic": "图片URL",
"url": "跳转链接"
}
]2. 活动入口
接口地址:GET /duo/activity/
接口说明:获取活动入口列表
响应示例:
json
{
"code": 200,
"msg": "success",
"data": [
{
"id": 1,
"title": "1.9包邮",
"pic": "图标URL",
"hpic": "头部背景图URL",
"sid": 0
}
]
}3. 热搜词
接口地址:GET /duo/hotword/
接口说明:获取热门搜索词列表
响应示例:
json
{
"code": 200,
"msg": "success",
"data": [
{
"id": 1,
"word": "手机"
},
{
"id": 2,
"word": "服装"
}
]
}4. 常见问题分类
接口地址:GET /duo/question_category/
接口说明:获取问题分类列表
响应示例:
json
{
"code": 200,
"msg": "success",
"data": [
{
"id": 1,
"sort_name": "订单相关"
},
{
"id": 2,
"sort_name": "优惠相关"
}
]
}5. 常见问题列表
接口地址:GET /duo/questions/
接口说明:获取常见问题列表
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sort_id | int | 否 | 分类ID |
响应示例:
json
{
"code": 200,
"msg": "success",
"data": [
{
"id": 1,
"title": "如何提现?",
"content": "详细内容...",
"sort_id": 4,
"create_time": 1609459200
}
]
}6. 问题详情
接口地址:GET /duo/questions/{id}/
接口说明:获取问题详情
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"id": 1,
"title": "如何提现?",
"content": "详细的富文本内容...",
"sort_id": 4,
"sort_name": "提现相关",
"create_time": 1609459200
}
}其他模块
1. 申请代理
接口地址:POST /member/applyCity
接口说明:申请成为城市代理
请求头:需要Token
Base URL: https://duo.unionall.com.cn/
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| token | string | 是 | 用户Token |
| team | string | 是 | 团队名称 |
| has_company | int | 是 | 是否有公司:0=无/1=有 |
| company | string | 否 | 公司名称 |
| company_address | string | 否 | 公司地址 |
| name | string | 是 | 申请人姓名 |
| phone | string | 是 | 联系电话 |
| address | string | 是 | 联系地址 |
| wx | string | 是 | 微信号 |
| city | string | 是 | 代理区域 |
响应示例:
json
{
"tag": 1,
"msg": "申请已提交,请等待审核"
}2. 物料列表
接口地址:GET /points/material_list/
接口说明:获取可申请的物料列表
请求头:需要Token
响应示例:
json
{
"code": 200,
"msg": "success",
"data": [
{
"id": 1,
"mat_name": "物料名称",
"mat_start_time": 1609459200,
"mat_end_time": 1612137600,
"status": 1,
"goods": [
{
"id": 1,
"goods_name": "商品名称",
"goods_pic": "图片URL",
"goods_price": 0,
"points": 1000
}
]
}
]
}3. 物料申请
接口地址:POST /points/exchangeMaterial
接口说明:提交物料申请
请求头:需要Token
Base URL: https://duo.unionall.com.cn/
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| token | string | 是 | 用户Token |
| param | string | 是 | 商品列表JSON字符串 |
| name | string | 是 | 收件人姓名 |
| phone | string | 是 | 收件人电话 |
| address | string | 是 | 收件地址 |
| member | int | 否 | 会员数 |
4. 物料申请记录
接口地址:GET /points/material_orders/
接口说明:查询物料申请记录
请求头:需要Token
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"list": [
{
"id": 1,
"order_num": "WL202401090001",
"goods_info": "物料商品信息",
"status": 0,
"status_name": "待审核",
"create_time": 1609459200
}
]
}
}5. 拉新活动数据
接口地址:GET /user/pullnew_data/
接口说明:获取拉新活动数据
请求头:需要Token
响应示例:
json
{
"code": 200,
"msg": "success",
"data": {
"total_count": 50,
"today_count": 2,
"total_reward": 500.00,
"my_code": "888888",
"share_url": "https://xxx"
}
}错误码说明
| 错误码 | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未登录或Token无效 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 500 | 服务器内部错误 |
业务错误码
| 错误码 | 说明 |
|---|---|
| 1001 | 验证码错误或已过期 |
| 1002 | 手机号已注册 |
| 1003 | 邀请码不存在 |
| 1004 | 账号已被禁用 |
| 2001 | 余额不足 |
| 2002 | 提现金额不足最低限制 |
| 2003 | 支付宝账号未绑定 |
| 3001 | 商品不存在 |
| 3002 | 订单不存在 |
| 4001 | 代理申请已存在 |
| 4002 | 该城市已有代理 |
文档版本:v1.0
生成时间:2025-10-09
维护人:AI Assistant