Skip to content

获取H5跳转链接

接口说明

该接口返回带有 PortalToken (pt) 的完整登录 URL,用户访问该 URL 后可自动完成登录并跳转到指定业务页面。

接口地址

POST /api/member/login

请求参数 (data 解密后)

json
{
  "memberId": 1000001,
  "destCode": "CREDIT",
  "redirectUrl": "http://localhost:8080/credit/apply/callback"
}

请求字段说明

字段名类型必填说明
memberIdLong成员 ID
destCodeString目标页面编码(见下方枚举说明)
redirectUrlString业务回调地址(登录成功后最终跳转的 URL)

页面编码 (destCode) 枚举

代码说明页面路径
CREDIT授信页面/credit
LOAN用信页面(暂无)/loan
REPAY还款页面(暂无)/repay

响应参数 (data 解密后)

json
{
  "pt": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
  "url": "https://pre.lilitop.com/h5/login/portal?pt=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6&redirect=%2Fcredit&callback=https%3A%2F%2Fwww.example.com"
}

响应字段说明

字段名类型说明
ptStringPortal Token(临时 Token,60 秒有效,一次性使用)
urlString完整的 H5 登录 URL(包含 pt、redirect、callback 参数)

使用方式

javascript
// 示例:获取授信页面的登录链接
const response = await fetch('/api/member/login', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    // 根据加密规范添加必要的请求头
  },
  body: JSON.stringify({
    memberId: 1000001,
    destCode: 'CREDIT',
    redirectUrl: 'http://example.com/credit/callback',
  }),
});

const resp = await response.json();
if (resp.code === 0) window.location.href = resp.data.url;

登录流程说明

1. 用户访问登录URL

2. 系统验证 pt 是否有效(60秒内 + 未使用过)

3. 验证通过,自动完成登录(生成用户会话)

4. 跳转到 redirect 指定的业务页面(如 /credit)

5. 业务页面完成操作后,跳转到 callback 指定的回调地址

URL 参数说明

参数名说明示例
ptPortal Token,临时登录凭证a1b2c3d4e5f6...
redirect登录后跳转的目标页面(URL 编码)%2Fcredit(即 /credit)
callback业务完成后的回调地址(URL 编码)http%3A%2F%2Fexample.com%2Fcallback

业务规则

  1. Portal Token (pt) 有效期为 60 秒

    • 超过 60 秒后 pt 自动失效
    • 需要重新调用接口获取新的 pt
  2. Portal Token 为一次性使用

    • 使用一次后立即失效
    • 重复使用会提示 "Token 已使用"
  3. 建议直接使用返回的 url 字段

    • 接口已自动处理 URL 编码
    • 减少手动拼接出错的风险
  4. destCode 必须是有效的页面编码

    • 传入无效代码会返回 "无效的页面代码" 错误
    • 当前支持:CREDIT、LOAN、REPAY
  5. redirectUrl 用于业务回调

    • 登录成功后,业务操作完成时跳转到该地址
    • 必须是完整的 URL(包含协议和域名)

错误处理

常见错误

错误码错误信息原因解决方案
PARAM_ERROR无效的页面代码destCode 不在允许的枚举值内检查 destCode 是否为 CREDIT/LOAN/REPAY
TOKEN_EXPIREDToken 已过期pt 超过 60 秒有效期重新调用接口获取新的 pt
TOKEN_USEDToken 已使用pt 已经被使用过重新调用接口获取新的 pt
MEMBER_NOT_FOUND成员不存在memberId 不存在检查 memberId 是否正确

错误示例

json
{
  "code": "PARAM_ERROR",
  "message": "无效的页面代码",
  "data": null
}

注意事项

  1. 时效性要求:获取 pt 后应立即使用,避免超时
  2. 安全性:pt 仅包含登录凭证,不包含敏感信息
  3. 幂等性:同一 memberId 可多次调用,每次返回新的 pt

粒粒通金融服务平台 API 文档