多语言 SDK

官方 SDK、iframe Demo 与请求/响应示例托管在 GitHub,便于接入方后端快速调用模板、会话、解析与 PDF 接口。SDK 仅封装公开的 appSecret 能力,不包含开发者登录注册或 iframe 内部 editorToken 接口。

GitHub 仓库总览:qmjianli/qmjianli-resume-editor-api
SDK 目录:/sdk
iframe Demo:/demos/iframe

语言与文档

语言说明GitHub
Node.js推荐;本地 Demo 直接引用。需 Node.js ≥ 18sdk/nodejs
PHP需 ext-curl;Composer 可引入sdk/php
Python标准库实现,无第三方依赖sdk/python
JavaJDK 11+,无第三方 HTTP 库sdk/java

统一能力

  • 获取模板列表 GET /v1/templates
  • 创建 / 恢复编辑会话 POST /v1/editor-sessions
  • 查询与充值会话额度
  • 解析简历(文本 / 文件)POST /v1/resumes/parse
  • 生成简历诊断与 PDF 报告 POST /v1/resumes/diagnose
  • 同步生成 PDF POST /v1/resumes/pdf
appSecret 只能放在接入方后端环境变量中,不要写入前端、App、小程序或 Git 仓库。

Node.js 示例

const { QmOpenClient } = require("@qmjianli/open-sdk");

const client = new QmOpenClient({
  appSecret: process.env.QM_APP_SECRET
});

const session = await client.createEditorSession({
  parentOrigin: "https://hr.example.com",
  externalResumeId: "R10001",
  sessionBalanceCents: 1000,
  resumeData: { setData: { tplId: 1013 } }
});
// 把 session.editorUrl 立即交给前端 iframe

完整示例 →

PHP 示例

use QmJianli\Open\Client;

$client = new Client(getenv('QM_APP_SECRET'));
$session = $client->createEditorSession([
  'parentOrigin' => 'https://hr.example.com',
  'externalResumeId' => 'R10001',
  'sessionBalanceCents' => 1000,
  'resumeData' => ['setData' => ['tplId' => 1013]],
]);
echo $session['editorUrl'];

完整示例 →

Python 示例

import os
from qmjianli_open import QmOpenClient

client = QmOpenClient(app_secret=os.environ["QM_APP_SECRET"])
session = client.create_editor_session({
    "parentOrigin": "https://hr.example.com",
    "externalResumeId": "R10001",
    "sessionBalanceCents": 1000,
    "resumeData": {"setData": {"tplId": 1013}},
})
print(session["editorUrl"])

完整示例 →

Java 示例

QmOpenClient client = new QmOpenClient(System.getenv("QM_APP_SECRET"));

Map<String, Object> setData = new LinkedHashMap<>();
setData.put("tplId", 1013);

Map<String, Object> resumeData = new LinkedHashMap<>();
resumeData.put("setData", setData);

Map<String, Object> body = new LinkedHashMap<>();
body.put("parentOrigin", "https://hr.example.com");
body.put("externalResumeId", "R10001");
body.put("sessionBalanceCents", 1000);
body.put("resumeData", resumeData);

String sessionJson = client.createEditorSession(QmOpenClient.toJson(body));

完整示例 →

相关文档

全民简历开放平台 · 与个人简历账号完全独立