跳到主要内容

腾讯刷掌服务端API接口文档(v2.3.0)

本文档 Max 与 Standard 两个版本通用,接口内容一致。

版本更新记录

版本号发布日期更新内容
v2.3.02026-07-13新增接口
• 新增DescribeUserAccessScope(查询用户通行范围)、DescribeUserAccessScopeSummary(查询用户通行范围摘要)接口
• 新增DescribeUserTagTree(查询用户标签树形结构)接口

接口开放
• SendPalmMaSmsCode(发送短信验证码)、LoginPalmMaSmsCode(短信验证码登录)接口从内部改为对外开放,新增"PalmMa 登录相关接口"分类
• CreateQrCodeScanSession(创建扫码录掌会话)、DescribeQrCodeScanSession(查询扫码录掌会话状态)接口从内部改为对外开放

接口参数变更
• LoginPalmMaSmsCode接口新增PhoneNo(手机号校验)、GrantType(授权类型)参数;SmsCode、SessionId改为非必填
• DescribeQrCodeScanSession接口响应新增PhoneNo(手机号)字段
• DescribeQrCodeScanUser接口响应新增PhoneNo(手机号)字段
• DescribeUserTag接口响应新增ParentTagId(父标签ID)、Level(层级深度)、ChildrenCount(直接子标签数量)、UserCount(标签关联用户数量)、PathNodes(层级链路)字段
• DescribeUserTagList接口响应UserTagItem新增ParentTagId、Level、ChildrenCount、PathNodes字段

新增枚举与数据结构
• 新增GrantType枚举(授权类型:client_credential_user/client_credential)
• 新增UserTagNode公共数据结构(标签层级路径节点)
• 新增UserTag公共数据结构(用户标签信息,含PathNodes层级链路)
• 新增UserTagTreeNode公共数据结构(标签树节点)
• 新增AccessScopeItem、AccessScopeSummary、VerifyRuleInfo公共数据结构
• 新增错误码FailedOperation.PhoneNoAlreadyExists(1113,手机号已存在)
• DeviceStatus枚举序列化方式从字符串调整为整数(int32)
v2.2.02026-06-17版本号升级,接口无变动
v2.1.02026-05-07新增接口
• 新增6个列表查询接口:DescribeUserList(查询用户信息列表)、DescribeUserTagList(查询用户标签列表)、DescribeDeviceList(查询设备列表)、DescribeSceneList(查询场景列表)、DescribeSceneGroupList(查询场景组列表)、DescribeVerifyRuleList(查询核验规则列表)

接口参数变更
• CreateUser、ModifyUser接口新增CustomFieldValue参数(自定义加验字段值)
• DescribeUser接口响应新增CustomFieldValue字段
• DescribeUserList接口新增PhoneNo、PhysicalCardNo、UserTagId筛选参数,响应新增CreatedTime、UpdatedTime字段
• DescribeDeviceList接口对外开放,新增Status、SceneId、DeviceType筛选参数,响应新增Status、SceneId、SceneName、CreatedTime、UpdatedTime字段
• DescribeVerificationRecordList接口新增SceneGroupIds、SceneGroupName、OrderBy参数,响应新增SceneGroupId、SceneGroupName字段
• NotifyQrCodeScanEvent接口新增EventType参数(扫码事件类型)
• Verify接口VerifyResult参数类型由Integer调整为枚举VerifyResult(取值:1:成功 2:失败),明确合法取值范围(语义未变更,历史调用方传1/2完全兼容)

新增枚举与数据结构
• 新增DeviceStatus枚举(设备状态:online/offline)
• 新增AdditionalVerifyMethod枚举(加验方式:phone_no/custom_field/qr_code)
• 新增VerificationRecordOrderField枚举(核验记录排序字段)
• 新增SortOrder枚举(排序方向:asc/desc)
• 新增QrCodeScanEventType枚举(扫码事件类型,作为NotifyQrCodeScanEvent.EventType取值)
• 新增VerifyResult枚举(加验结果,作为Verify接口VerifyResult参数取值)
• 新增OrderBy公共数据结构(排序条件)
v2.0.02026-04-03• 新增掌纹管理相关接口(8个接口:CreatePalm、BindPalm、SearchMobilePalm、Verify、DeletePalm、DescribePalm、SynchronizePalmFeature、DescribeVersionList)
• 新增鉴权管理接口DescribePalmLicense(查询授权信息)
• DescribeUser接口输出参数新增UserState(用户状态)字段
• DescribeUserPalm接口输出参数新增UserName(用户名称)、UserState(用户状态)、PalmDirection(主掌方向)、LeftPalm(左掌录掌信息)、RightPalm(右掌录掌信息)字段
• DescribeQrCodeScanUser接口输出参数新增UserName(用户名称)、UserState(用户状态)、PalmDirection(主掌方向)、LeftPalm(左掌录掌信息)、RightPalm(右掌录掌信息)字段
• PalmState枚举新增abnormal(异常)枚举值
• 新增UserState枚举类型
• 新增Image、Pointf、Feature、VerifyInfo、PalmFeatureDetail、ProductVersionInfo公共业务数据结构
• 新增ImageType、PalmPaasPalmDirection、FeatureType、PalmStatus、PalmPaasOperation、HasMoreType、AlgorithmStrategy、VerifyType枚举类型
v1.8.12026-03-05• DescribeUser接口输出参数新增PalmDirection(掌方向)、LeftPalm(左掌录掌信息)、RightPalm(右掌录掌信息)、CreateTime(用户创建时间)字段
• 新增PalmInfo公共业务数据结构(单掌录掌信息)
v1.8.02026-02-02• 场景管理新增DescribeScene(查询场景详情)接口
• 设备管理新增DescribeDevice(查询设备详情)接口
• CreateScene接口新增SceneId(可选)和ScenarioStrategy(必填)参数
• ModifyScene接口新增ScenarioStrategy(必填)参数
• 新增ScenarioStrategy、RegisterType、PalmDirection枚举类型
• 新增5个业务错误码(InvalidUserId、RegisterTypeNotAllowed、Member相关错误码)
v1.7.12026-01-20• CreateVerifyRule接口EnableWebhookRule参数改为可选,不传默认为true
v1.7.02026-01-05• 新增用户标签管理功能(4个接口:CreateUserTag、ModifyUserTag、DeleteUserTag、DescribeUserTag)
• 用户管理接口支持标签绑定和部分失败机制(CreateUser、ModifyUser支持UserTagIdList和PartialFailure参数)
• 新增部分失败机制完整文档说明
• 统一接口命名规范(接口表格使用Action名称)
• 新增14个业务错误码(用户标签、分页、会话、租户相关)
• 优化4个错误码格式,移除39个已废弃错误码

简介

概述

腾讯刷掌(PalmAI),将腾讯多年来在计算机视觉与生物特征识别技术上的深度积累,以掌纹注册、掌纹识别、掌纹核验三大核心能力,通过腾讯云服务向企业和开发者开放,致力于帮助客户快速搭建安全、便捷、高效的掌纹识别解决方案。

本文档介绍的腾讯刷掌 API 接口均为腾讯云 API 3.0 接口。您可以调用 API 对腾讯刷掌服务进行操作,例如用户管理、掌纹注册与核验、设备管理、场景配置等。腾讯刷掌支持的所有接口信息,请参见 API 概览

术语表

腾讯刷掌 API 接口的常见术语请参见下表:

术语说明
AppId应用唯一标识,是腾讯云后台用来区分不同Palm应用的唯一标识,在Palm控制台创建租户时自动生成。不同AppId之间的数据不互通
RGB彩色图。
IR红外图。
三点图片检测配准后输出的数据。
特征值图片输入到识别模型后输出的数据。
掌纹检索热库指加载在 GPU 显存或内存中,为提升检索匹配效率而构建的高性能数据结构。系统中的数据分为存储在 GPU 显存或内存中的检索热库数据,以及一般性的存储数据(包括普通数据库、对象存储、文件存储等)。
设备类型刷掌设备的型号标识,目前取值范围:M3、M3B、M4、O1、O2。
模组类型刷掌设备所使用的识别模组型号标识,目前取值范围:A3、A3B。

API 概览

Palm API 遵循腾讯云 API3.0 规范,提供鉴权、掌纹管理、用户、用户手掌、设备、场景、核验记录、核验规则、扫码录掌等管理能力。

功能分类

  • 鉴权管理相关接口
  • 用户管理相关接口
  • 用户标签管理相关接口
  • 用户手掌管理相关接口
  • 设备管理相关接口
  • 场景管理相关接口
  • 核验记录相关接口
  • 核验规则相关接口
  • 扫码录掌相关接口
  • PalmMa 登录相关接口
  • 掌纹管理相关接口(刷掌算法平台)

鉴权管理相关接口

接口名称接口功能频率限制(次/秒/AppId)
CreateAccessToken获取访问凭证20
DescribePalmLicense查询授权信息20

用户管理相关接口

接口名称接口功能频率限制(次/秒/AppId)
CreateUser创建用户20
ModifyUser修改用户20
DeleteUser删除用户20
DescribeUser查询用户20
DescribeUserList查询用户信息列表20
DescribeUserAccessScope查询用户通行范围20
DescribeUserAccessScopeSummary查询用户通行范围摘要20

用户标签管理相关接口

接口名称接口功能频率限制(次/秒/AppId)
CreateUserTag创建用户标签20
ModifyUserTag修改用户标签20
DeleteUserTag删除用户标签20
DescribeUserTag查询用户标签20
DescribeUserTagList查询用户标签列表20
DescribeUserTagTree查询用户标签树形结构20

用户手掌管理相关接口

接口名称接口功能频率限制(次/秒/AppId)
DeleteUserPalm删除用户手掌信息20
DescribeUserPalm查询用户手掌信息20

设备管理相关接口

接口名称接口功能频率限制(次/秒/AppId)
CreateDevice创建设备20
ModifyDevice修改设备20
DeleteDevice删除设备20
DescribeDevice查询设备详情20
DescribeDeviceList查询设备列表20

场景管理相关接口

接口名称接口功能频率限制(次/秒/AppId)
CreateScene创建场景20
ModifyScene修改场景20
DeleteScene删除场景20
DescribeScene查询场景详情20
DescribeSceneList查询场景列表20
CreateSceneGroup创建场景组20
ModifySceneGroup修改场景组20
DeleteSceneGroup删除场景组20
DescribeSceneGroupList查询场景组列表20

核验记录相关接口

接口名称接口功能频率限制(次/秒/AppId)
CreateVerificationRecord创建核验记录20
DescribeVerificationRecordList查询核验记录列表20
DescribeVerificationRecord查询核验记录(推送专用)20

核验规则相关接口

接口名称接口功能频率限制(次/秒/AppId)
CreateVerifyRule创建核验规则20
ModifyVerifyRule修改核验规则20
DeleteVerifyRule删除核验规则20
DescribeVerifyRule查询核验规则20
DescribeVerifyRuleList查询核验规则列表20
CheckAccessPermission校验访问权限(回调专用)20

扫码录掌相关接口

接口名称接口功能频率限制(次/秒/AppId)
CreateQrCodeScanSession创建扫码录掌会话20
NotifyQrCodeScanEvent用户扫码事件通知20
BindQrCodeScanPalm扫码绑定掌纹20
DescribeQrCodeScanSession查询扫码录掌会话状态20
DescribeQrCodeScanUser查询扫码录掌用户信息20

PalmMa 登录相关接口

接口名称接口功能频率限制(次/秒/AppId)
SendPalmMaSmsCode发送短信验证码20
LoginPalmMaSmsCode短信验证码登录20

掌纹管理相关接口(刷掌算法平台)

接口名称接口功能频率限制(次/秒/AppId)
CreatePalm创建掌纹20
BindPalm绑定掌纹20
SearchMobilePalm空中开掌检索20
Verify用户加验20
DeletePalm删除掌纹20
DescribePalm查询掌纹20
SynchronizePalmFeature同步掌纹特征20
DescribeVersionList查询产品版本列表20

调用方式

调用基本流程

以下流程图说明了调用 Palm API 的基本步骤:

两种认证方式说明:

认证方式适用场景请求头
签名 + Token大部分管理类接口(用户、设备、场景、掌纹等)Authorization + X-Palm-Openapi-Token
仅 Token扫码录掌类接口(NotifyQrCodeScanEvent、BindQrCodeScanPalm、DescribeQrCodeScanSession、DescribeQrCodeScanUser)X-Palm-Openapi-Token,无需 Authorization

说明

  1. 所有接口调用前均需先通过 CreateAccessToken 获取 AccessToken(该接口本身使用签名认证)。
  2. 签名认证接口在请求头中同时携带 Authorization(签名)和 X-Palm-Openapi-Token(Token)。
  3. 仅 Token 认证接口只需携带 X-Palm-Openapi-Token,无需计算签名。

请求结构

Palm API 的请求结构如下:

1. 服务地址

API 支持就近地域接入,推荐使用如下域名:

  • 默认接入域名(推荐):open.intl.palm.tencent.com(仅为示例,实际接入域名请以分配为准,支持私有化部署场景)
  • 指定地域接入(如有多地域部署,可扩展):如 open.intl.palm.tencent.com(仅为示例,实际接入域名请以分配为准)

注意:域名是 API 的接入点,并不代表产品或接口实际提供服务的地域。后续如有多地域部署,将在文档中补充。

2. 通信协议

Palm API 所有接口均通过 HTTPS 进行通信,提供高安全性的通信通道。

3. 请求方法

  • 推荐使用 POST 方法。
  • 支持的 Content-Type 类型:
    • application/json(推荐,必须使用签名方法 v3/TC3-HMAC-SHA256)
  • POST 方法使用签名方法 v3 时,支持最大 10MB 的请求包。

4. 字符编码

所有请求和响应均使用 UTF-8 编码。

公共参数

公共参数用于标识用户身份、接口签名和请求上下文。使用签名方法 v3(TC3-HMAC-SHA256)时,所有公共参数需放在 HTTP Header 请求头部。

参数名称类型必选描述
X-TC-ActionString操作的接口名称。例如:CreateUser。
X-TC-TimestampInteger当前 UNIX 时间戳,单位为秒。例如:1704067200。与服务器时间相差超过5分钟会引起签名过期错误。
X-TC-VersionStringAPI 版本号,目前固定为:2025-07-15。
AuthorizationString签名信息,格式:TC3-HMAC-SHA256 Credential=AKIDxxx/Date/service/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx。详见签名方法章节。
X-TC-NonceString随机字符串,一般用于防重放使用,建议每次请求都生成新的唯一的随机字符串。
Content-TypeString请求内容类型,推荐 application/json; charset=utf-8。
HostString服务地址,固定为 open.intl.palm.tencent.com。
X-Palm-AppIdString应用ID,申请安全凭证时获得。
客户需向腾讯申请AppId、SecretId和SecretKey。
请妥善保管以上信息,并根据业务需要在接口请求中传递
X-Palm-Openapi-TokenString临时安全凭证Token。调用腾讯接口前,需首先通过【获取访问凭证】接口(Action: CreateAccessToken)获取访问凭证。请注意,访问凭证具有时效性,过期后需重新申请。

请求头示例

POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateUser
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

签名方法

Palm API 采用腾讯云 API3.0 签名方法 v3(TC3-HMAC-SHA256)进行身份鉴权。

为什么要进行签名

  • 验证请求者身份,确保请求来自持有有效密钥的用户。
  • 保护传输中的数据,防止请求被篡改。

申请安全凭证

本文使用的安全凭证为密钥,密钥包括 SecretId 和 SecretKey。

  • SecretId:用于标识 API 调用者身份,可以简单类比为用户名。
  • SecretKey:用于验证 API 调用者的身份,可以简单类比为密码。

用户必须严格保管安全凭证,避免泄露,否则将危及财产安全。如已泄露,请立刻禁用该安全凭证。

申请安全凭证的具体步骤如下:

  1. 登录 腾讯云刷掌服务控制台 。
  2. 前往 系统管理|租户管理 的控制台页面。
  3. 在 租户管理 页面,选择当前租户,单击【详情】查询一对密钥。

签名过程(v3)

API 目前只支持 POST 请求。对于 POST 方法,目前只支持 Content-Type: application/json,请求体内容是以 JSON 格式传递的数据。

下面以绑定用户掌纹为例,分步骤介绍签名的计算过程。

假设用户的 SecretId 和 SecretKey 分别是:AKID****************************************************************

请求如下:

curl -X POST https://open.intl.palm.tencent.com \
-H "Authorization: TC3-HMAC-SHA256 Credential=AKID********************************/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-palm-appid;x-tc-nonce;x-tc-timestamp, Signature=f4b012d34bd468efb5cb90cb6c326ed42ec0f7de22accb38350606d95fa6b5db" \
-H "Content-Type: application/json" \
-H "Host: open.intl.palm.tencent.com" \
-H "X-TC-Action: BindPalm" \
-H "X-TC-Timestamp: 1752587686" \
-H "X-TC-Version: 2025-07-15" \
-H "X-Palm-AppId: 223" \
-H "X-TC-Nonce: c68bf577-60f1-45d8-a9ef-7a0a8c59690f" \
-H "X-Palm-Openapi-Token: **************************************" \
-d '{"PalmId": "8db884f9-1fb8-44f5-bdaa-f98fdcb3cd47","UserId": "Alice","IsForce": true}'

下面详细解释签名计算过程。

  1. 拼接规范请求串

按如下伪代码格式拼接规范请求串(CanonicalRequest):

CanonicalRequest =
HTTPRequestMethod + '\n' +
CanonicalURI + '\n' +
CanonicalQueryString + '\n' +
CanonicalHeaders + '\n' +
SignedHeaders + '\n' +
HashedRequestPayload
字段说明
HTTPRequestMethodHTTP 请求方法(GET、POST)。此示例取值为 POST
CanonicalURIURI 参数,API 3.0 固定为正斜杠(/)。
CanonicalQueryString发起 HTTP 请求 URL 中的查询字符串,对于 POST 请求固定为空字符串 "",对于 GET 请求则为 URL 中问号(?)后面的字符串内容,例如:Limit=10&Offset=0。注意:CanonicalQueryString 需要参考 RFC3986 进行 URLEncode,字符集 UTF-8,推荐使用编程语言标准库,所有特殊字符均需编码,大写形式。
CanonicalHeaders参与签名的头部信息,至少包含 host 和 content-type 两个头部,也可加入自定义的头部参与签名以提高自身请求的唯一性和安全性。拼接规则:1)头部 key 和 value 统一转成小写,并去掉首尾空格,按照 key:value\n 格式拼接;2)多个头部,按照头部 key(小写)的 ASCII 升序进行拼接。此示例计算结果为:content-type:application/json\nhost:open.intl.palm.tencent.com\nx-palm-appid:223\nx-tc-nonce:c68bf577-60f1-45d8-a9ef-7a0a8c59690f\nx-tc-timestamp:1752587686\n
注意:content-type 必须和实际发送的相符合,有些编程语言网络库即使未指定也会自动添加 charset 值,如果签名时和发送时不一致,服务器会返回签名校验失败。
SignedHeaders参与签名的头部信息,说明此次请求有哪些头部参与了签名,和 CanonicalHeaders 包含的头部内容一一对应。content-type 和 host 为必选头部。拼接规则:1)头部 key 统一转成小写;2)多个头部 key(小写)按照 ASCII 升序进行拼接,并且以分号(;)分隔。此示例为:content-type;host;x-palm-appid;x-tc-nonce;x-tc-timestamp
HashedRequestPayload请求正文(Payload,即 Body)的哈希值,计算伪代码为 Lowercase(HexEncode(Hash.SHA256(RequestPayload))),即对 HTTP 请求正文做 SHA256 哈希,然后十六进制编码,最后编码串转换成小写字母。注意:对于 GET 请求,RequestPayload 固定为空字符串;对于 POST 请求,RequestPayload 即为请求正文 Payload。

根据以上规则,示例中得到的规范请求串如下(为了展示清晰,\n 换行符以实际换行表示):

POST
/

content-type:application/json
host:open.intl.palm.tencent.com
x-palm-appid:223
x-tc-nonce:c68bf577-60f1-45d8-a9ef-7a0a8c59690f
x-tc-timestamp:1752587686

content-type;host;x-palm-appid;x-tc-nonce;x-tc-timestamp
b199b12c8af15dd7543ede5b6343d1abedd85f166b99b8b4b06599f10822b3a2
  1. 拼接待签名字符串

按如下伪代码格式拼接待签名字符串:

StringToSign =
Algorithm + "\n" +
RequestTimestamp + "\n" +
CredentialScope + "\n" +
HashedCanonicalRequest
字段说明
Algorithm签名算法,目前固定为 TC3-HMAC-SHA256
RequestTimestamp请求时间戳,即请求头部的公共参数 X-TC-Timestamp 取值,取当前时间 UNIX 时间戳,精确到秒。此示例取值为 1752587686
CredentialScope凭证范围,格式为 Date/service/tc3_request,包含日期、所请求的服务和终止字符串(tc3_request)。Date 为 UTC 标准时间的日期,取值需要和公共参数 X-TC-Timestamp 换算的 UTC 标准时间日期一致;service 为产品名,必须与调用的产品域名一致,此处为 palm。此示例计算结果为:2025-07-15/palm/tc3_request
HashedCanonicalRequest前述步骤拼接所得规范请求串的哈希值,计算伪代码为 Lowercase(HexEncode(Hash.SHA256(CanonicalRequest)))。此示例计算结果是 3044b1650deaa09d3d1e93d63c15fd76c7c764254b3a1cba9c6b321eda191774。

⚠️ 注意

  1. Date 必须从时间戳 X-TC-Timestamp 计算得到,且时区为 UTC+0。如果加入系统本地时区信息(例如东八区),将导致白天和晚上调用成功,但是凌晨时调用必定失败。假设时间戳为 1551113065,在东八区的时间是 2019-02-26 00:44:25,但是计算得到的 Date 取 UTC+0 的日期应为 2019-02-25,而不是 2019-02-26。
  2. Timestamp 必须是当前系统时间,且需确保系统时间和标准时间是同步的,如果相差超过五分钟则必定失败。如果长时间不和标准时间同步,可能运行一段时间后,请求失败,返回签名过期错误。

根据以上规则,示例中得到的待签名字符串如下:

TC3-HMAC-SHA256
1752587686
2025-07-15/palm/tc3_request
3044b1650deaa09d3d1e93d63c15fd76c7c764254b3a1cba9c6b321eda191774
  1. 计算签名

1)计算派生签名密钥,伪代码如下:

SecretKey = "********************************"
SecretDate = HMAC_SHA256("TC3" + SecretKey, Date)
SecretService = HMAC_SHA256(SecretDate, Service)
SecretSigning = HMAC_SHA256(SecretService, "tc3_request")

派生出的密钥 SecretDateSecretServiceSecretSigning 是二进制的数据,可能包含不可打印字符,将其转为十六进制字符串打印的输出分别为:
2fbd1f93d8d1aae5c0a4e2df255519752e1e4be521b9edae832930379544679c,
45589385000e5972fe3fb6ca9f07339289dee6e33e0b5bb9022308d69eb15fc9,
a116ccc06739ebac6c1c54514ace4229c98847c5f1ee5abc395eafab262b0246。
请注意,不同的编程语言,HMAC 库函数中参数顺序可能不一样,请以实际情况为准。此处的伪代码密钥参数 key 在前,消息参数 data 在后。通常标准库函数会提供二进制格式的返回值,也可能会提供打印友好的十六进制格式的返回值,此处使用的是二进制格式。

字段说明
SecretKey原始的 SecretKey,即 ********************************
Date即 Credential 中的 Date 字段信息。此示例取值为 2025-07-15
Service即 Credential 中的 Service 字段信息。此示例取值为 palm

2)计算签名,伪代码如下:

Signature = HexEncode(HMAC_SHA256(SecretSigning, StringToSign))

此示例计算结果是 f4b012d34bd468efb5cb90cb6c326ed42ec0f7de22accb38350606d95fa6b5db

  1. 拼接 Authorization

    按如下格式拼接 Authorization:

    Authorization =
    Algorithm + ' ' +
    'Credential=' + SecretId + '/' + CredentialScope + ', ' +
    'SignedHeaders=' + SignedHeaders + ', ' +
    'Signature=' + Signature
    字段说明
    Algorithm签名方法,固定为 TC3-HMAC-SHA256
    SecretId密钥对中的 SecretId,即 AKID********************************
    CredentialScope凭证范围,见上文,此示例为 2025-07-15/palm/tc3_request
    SignedHeaders参与签名的头部信息,此示例取值为 content-type;host;x-palm-appid;x-tc-nonce;x-tc-timestamp
    Signature签名值。此示例计算结果是 f4b012d34bd468efb5cb90cb6c326ed42ec0f7de22accb38350606d95fa6b5db

    根据以上规则,示例中得到的值为:

    Authorization: TC3-HMAC-SHA256 Credential=AKID********************************/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-palm-appid;x-tc-nonce;x-tc-timestamp, Signature=f4b012d34bd468efb5cb90cb6c326ed42ec0f7de22accb38350606d95fa6b5db

    最终完整的调用信息如下:

    POST https://open.intl.palm.tencent.com/
    Authorization: TC3-HMAC-SHA256 Credential=AKID********************************/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-palm-appid;x-tc-nonce;x-tc-timestamp, Signature=f4b012d34bd468efb5cb90cb6c326ed42ec0f7de22accb38350606d95fa6b5db
    Content-Type: application/json
    Host: open.intl.palm.tencent.com
    X-Palm-AppId: 223
    X-TC-Action: BindPalm
    X-TC-Timestamp: 1752587686
    X-TC-Version: 2025-07-15
    X-TC-Nonce: c68bf577-60f1-45d8-a9ef-7a0a8c59690f
    X-Palm-Openapi-Token: **************************************
    {"PalmId": "8db884f9-1fb8-44f5-bdaa-f98fdcb3cd47","UserId": "Alice","IsForce": true}

    ⚠️ 注意:请求发送时的 HTTP 头部(Header)和请求体(Payload)必须和签名计算过程中的内容完全一致,否则会返回签名不一致错误。可以通过打印实际请求内容、网络抓包等方式对比排查。

签名演示(Python)

以下为使用 Python 语言实现的完整签名过程演示代码:


def get_openapi_request_header(secret_id, secret_key, access_token, appid, action, nonce, data, svr_version = "standard"):
version = "2025-07-15"
timestamp = int(time.time())
host = "open.intl.palm.tencent.com"
service = "palm"
algorithm = "TC3-HMAC-SHA256"
date = datetime.utcfromtimestamp(timestamp).strftime("%Y-%m-%d")

# ************* 步骤 1:拼接规范请求串 *************
http_request_method = "POST"
canonical_uri = "/"
canonical_querystring = ""
ct = "application/json"
payload = json.dumps(data) ##body
canonical_headers = "content-type:%s\nhost:%s\nx-palm-appid:%s\nx-tc-nonce:%s\nx-tc-timestamp:%s\n" % (ct, host, str(appid), nonce, str(timestamp))
signed_headers = "content-type;host;x-palm-appid;x-tc-nonce;x-tc-timestamp"
hashed_request_payload = hashlib.sha256(payload.encode("utf-8")).hexdigest()
canonical_request = (http_request_method + "\n" +
canonical_uri + "\n" +
canonical_querystring + "\n" +
canonical_headers + "\n" +
signed_headers + "\n" +
hashed_request_payload)

# ************* 步骤 2:拼接待签名字符串 *************
credential_scope = date + "/" + service + "/" + "tc3_request"
hashed_canonical_request = hashlib.sha256(canonical_request.encode("utf-8")).hexdigest()
string_to_sign = (algorithm + "\n" +
str(timestamp) + "\n" +
credential_scope + "\n" +
hashed_canonical_request)

# ************* 步骤 3:计算签名 *************
# 计算签名摘要函数
def sign(key, msg):
return hmac.new(key, msg.encode("utf-8"), hashlib.sha256).digest()
secret_date = sign(("TC3" + secret_key).encode("utf-8"), date)
secret_service = sign(secret_date, service)
secret_signing = sign(secret_service, "tc3_request")
signature = hmac.new(secret_signing, string_to_sign.encode("utf-8"), hashlib.sha256).hexdigest()

# ************* 步骤 4:拼接 Authorization *************
authorization = (algorithm + " " +
"Credential=" + secret_id + "/" + credential_scope + ", " +
"SignedHeaders=" + signed_headers + ", " +
"Signature=" + signature)
print("authorization: {}".format(authorization))

# 公共参数添加到请求头部
headers = {
"Authorization": authorization,
"Host": host,
"Content-Type": "application/json",
"X-Palm-AppId": str(appid),
"X-TC-Action": action,
"X-TC-Timestamp": str(timestamp),
"X-TC-Version": version,
"X-TC-Nonce": nonce,
"X-Palm-Openapi-Token": access_token
}
return headers

签名失败常见错误码

错误码错误描述
AuthFailure.SignatureExpire签名过期。Timestamp 与服务器接收到请求的时间相差不得超过五分钟。
AuthFailure.SecretIdNotFound密钥不存在。请到控制台查看密钥是否被禁用,是否少复制了字符或者多了字符。
AuthFailure.SignatureFailure签名错误。可能是签名计算错误,或者签名与实际发送的内容不相符合,也有可能是密钥 SecretKey 错误导致的。
AuthFailure.TokenFailure临时证书 Token 错误。
AuthFailure.InvalidSecretId密钥非法(不是云 API 密钥类型)。

返回结果

云 API 3.0 接口默认返回 JSON 数据,返回非 JSON 格式的接口会在文档中做出说明。返回 JSON 数据时最大限制为 50 MB,如果返回的数据超过最大限制,请求会失败并返回内部错误。建议根据接口文档中的过滤或分页功能,控制返回数据不要过大。

注意:只要请求被服务端正常处理,响应的 HTTP 状态码均为 200。例如签名失败等错误,HTTP 状态码也是 200,具体错误信息在返回体中体现。

正确返回结果

以用户查询接口为例,调用成功时返回如下:

{
"Response": {
"UserId": "user123456",
"UserName": "张三",
"PhoneNo": "(+86)13800138000",
"PhysicalCardNo": "CARD001",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
  • Response 及其内部的 RequestId 是固定字段,无论请求成功与否都会返回。
  • RequestId 用于唯一标识一次 API 请求,便于问题排查。
  • 其余字段为具体接口定义的业务字段。

错误返回结果

调用失败时返回如下:

{
"Response": {
"Error": {
"Code": "AuthFailure.SignatureFailure",
"Message": "The provided credentials could not be validated. Please check your signature is correct."
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
  • Error 字段出现代表请求失败,包含 Code(错误码)和 Message(错误信息)。
  • RequestId 依然会返回,用于问题排查。
  • 错误码请参考接口文档"公共错误码"章节。

公共错误码

返回结果中如果存在 Error 字段,则表示调用 API 接口失败。Error.Code 字段为错误码,所有业务都可能出现的错误码为公共错误码。完整错误码列表请参考本产品"API 文档"目录下的"错误码"页面。

参数类型

Palm API 3.0 输入参数和输出参数支持如下数据类型:

类型说明示例
String字符串"user123456"
Integer整型,上限为无符号64位整数。不同语言建议用最大整型定义。123456
Boolean布尔型,true/falsetrue
Float浮点型3.14
Double双精度浮点型3.1415926535
Date字符串,日期格式"2022-01-01"
Timestamp字符串,时间格式"2022-01-01 00:00:00"
Timestamp RFC3339字符串,时间格式,RFC3339 标准时间格式,建议用标准库解析"2022-01-01T00:00:20.021Z"
Binary二进制内容,需以特定协议请求和解析-

部分失败

部分失败(Partial Failure)是一种特殊的处理机制,允许在批量操作中即使部分操作失败,成功的操作仍然会被执行。这种机制可以提高批量操作的容错性和效率。

什么是部分失败

在批量操作(如批量绑定用户标签等)中,如果不使用部分失败机制:

  • 任何一项操作失败,整个请求都会失败
  • 所有操作都会回滚,即使其中大部分操作是有效的

启用部分失败机制后:

  • 有效的操作会成功执行
  • 失败的操作会在响应中返回详细的错误信息
  • 可以根据返回的错误信息重试失败的操作

如何使用部分失败

支持部分失败的接口会提供 PartialFailure 参数:

请求参数:

参数名称必选类型描述
PartialFailureBoolean是否允许部分失败。设置为 true 时启用部分失败机制,默认为 false

响应字段:

当启用部分失败且存在失败项时,响应中会包含 PartialFailureError 字段,详细说明失败的原因:

参数名称类型描述
PartialFailureErrorObject部分失败错误信息,包含失败项的详细信息。

示例场景

场景一:创建用户并批量绑定标签

请求示例:

{
"UserId": "user001",
"UserName": "张三",
"UserTagIdList": ["tag001", "tag002", "tag003"],
"PartialFailure": true
}

成功响应(无失败项):

{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

部分失败响应(存在失败项):

{
"Response": {
"PartialFailureError": {
"NotExistUserTagIdList": ["tag003"]
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

在上述示例中:

  • 用户 user001 创建成功
  • tag001tag002 绑定成功
  • tag003 不存在,绑定失败

重试说明:如需重试,修正 tag003 后必须传入完整的标签列表 ["tag001", "tag002", "tag003"],而非仅传入 ["tag003"],因为用户标签绑定是覆盖式操作。

最佳实践

  1. 批量操作时启用部分失败

    • 在批量创建、修改等操作中,建议设置 PartialFailure=true
    • 这样可以确保有效数据被处理,无效数据被记录
  2. 检查响应中的 PartialFailureError 字段

    • 即使正确返回结果,也要检查 PartialFailureError 字段
    • PartialFailureError 存在表示有部分操作失败,需要根据返回信息进行处理
  3. 记录并重试失败项

    • 记录 PartialFailureError 中返回的失败项信息
    • 修正失败原因后重新发起请求
    • 注意:对于批量绑定用户标签等覆盖式操作,重试时必须传入完整的标签列表(包括之前成功的项),而非仅重试失败的项
  4. 幂等性设计

    • 确保操作具有幂等性,以便安全地重试失败的操作
    • 批量绑定操作必须使用完整数据重试(覆盖式更新)

支持部分失败的接口

以下接口支持部分失败机制:

  • 创建用户:支持批量绑定用户标签时的部分失败
  • 修改用户:支持批量绑定用户标签时的部分失败

注意:并非所有接口都支持部分失败机制。具体支持情况请参考各接口的参数说明。


鉴权管理相关接口

获取访问凭证

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于获取访问凭证(AccessToken),如下调用方式仅限普通服务端调用刷掌业务平台开放接口的场景。

注意: 本接口仅需签名(Authorization),无需传递 X-Palm-Openapi-Token。 在接入刷掌业务平台服务前,客户需向腾讯申请AppId、SecretId和SecretKey。请妥善保管以上信息,并根据业务需要在接口请求中传递。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateAccessToken。
VersionString公共参数,本接口取值:2025-07-15。
AppIdInteger系统分配的产品ID
SecretIdString客户的密钥ID
SecretKeyHashString客户的密钥hash,计算规则为:hex.EncodeToString(sha256.Sum256(secretKey))
GrantTypeString授权类型。
调用刷掌业务平台开放接口时,必须使用 client_credential

取值枚举
- client_credential_user:适用于第三方平台接入空中开掌 SDK 场景,即:
a. 移动端使用 SDK 发起注册或获取活体视频上传地址流程;
b. 第三方服务端需根据指定用户申请访问凭证,供 SDK 使用;
c. 此时必须同时传入 UserId 字段。

- client_credential:适用于普通服务端调用开放接口场景,即:
a. 此类型下不绑定具体用户,仅使用应用级密钥获取访问凭证;
b. UserId 字段无需传入。
UserIdString用户的身份id,grant_type为"client_credential_user"时,必须传递UserId字段

3. 输出参数

参数名称类型描述
AccessTokenString访问凭证,后续可以根据该凭证访问其他接口
ExpiresInIntegerAccessToken的有效期,单位为秒,过期后token无效
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateAccessToken
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"AppId": 223,
"SecretId": "this is secretId",
"SecretKeyHash": "this is secretKey hash",
"GrantType": "client_credential"
}
输出示例
{
"Response": {
"AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"ExpiresIn": 7200,
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询授权信息

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:查询服务端授权信息,包括掌库容量上限、当前使用量和License过期时间。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribePalmLicense。
VersionString公共参数,本接口取值:2025-07-15。
AppIdInteger系统分配的产品ID。

3. 输出参数

参数名称类型描述
PalmCapacityInteger掌库容量上限,表示当前授权允许注册的最大掌纹数量。
PalmUsageInteger当前掌库使用量,表示已注册的掌纹数量。
ExpireTimeIntegerLicense过期时间,UTC时间戳,单位:秒。过期后将无法继续使用服务。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribePalmLicense
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"AppId": 223
}
输出示例
{
"Response": {
"PalmCapacity": 100000,
"PalmUsage": 5000,
"ExpireTime": 1756108800,
"RequestId": "e3b0c442-98fc-1c14-b39f-f75b262b1d0e"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

用户管理相关接口

创建用户

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于创建新用户,支持设置用户基本信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateUser。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。
UserNameString用户名称。
PhoneNoString手机号(带区号),如“(+86)13530612342”,如未填写地区号,则默认“(+86)”。
PhysicalCardNoString实体卡号,数字英文组合。
UserTagIdListArray of String用户标签ID列表。
PartialFailureBoolean是否允许部分失败。
CustomFieldValueString自定义加验字段值(纯数字),租户启用custom_field加验方式时建议填写。

3. 输出参数

参数名称类型描述
PartialFailureErrorCreateUserResponsePartialFailureError部分失败结果,参见 CreateUserResponsePartialFailureError 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateUser
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user123456",
"UserName": "张三",
"PhoneNo": "(+86)13530612342",
"PhysicalCardNo": "CARD001",
"UserTagIdList": ["tag001", "tag002"],
"PartialFailure": true
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
部分失败输出示例
{
"Response": {
"PartialFailureError": {
"NotExistUserTagIdList": [
"tag003"
]
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.UserNameEmpty",
"Message": "用户名称为空"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

修改用户

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于修改用户信息,支持更新用户的基本信息。

注意: 此接口为全量更新,需要传入用户的所有字段信息。 未传入的可选字段将被清空,建议先调用 DescribeUser 获取当前用户信息后再修改。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:ModifyUser。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。
UserNameString用户名称。
PhoneNoString手机号(带区号),如“(+86)13530612342”,如未填写地区号,则默认“(+86)”。
PhysicalCardNoString实体卡号,数字英文组合。
UserTagIdListArray of String用户标签ID列表。
PartialFailureBoolean是否允许部分失败。
CustomFieldValueString自定义加验字段值(纯数字),租户启用custom_field加验方式时建议填写。

3. 输出参数

参数名称类型描述
PartialFailureErrorModifyUserResponsePartialFailureError部分失败结果,参见 ModifyUserResponsePartialFailureError 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: ModifyUser
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001",
"UserName": "张三",
"PhoneNo": "(+86)13800138000",
"UserTagIdList": ["tag001", "tag002"],
"PartialFailure": true,
"CustomFieldValue": "123456"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
部分失败输出示例
{
"Response": {
"PartialFailureError": {
"NotExistUserTagIdList": [
"tag003"
]
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserNotExist",
"Message": "用户不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

删除用户

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于删除指定用户,删除后用户数据将无法恢复。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DeleteUser。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DeleteUser
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserNotExist",
"Message": "用户不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询用户

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询指定用户的详细信息,包括基本信息和录掌状态。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeUser。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。

3. 输出参数

参数名称类型描述
UserIdString用户唯一标识。
UserNameString用户名称。
PhoneNoString手机号(带区号),如"(+86)13530612342",如未填写地区号,则默认"(+86)"。
PhysicalCardNoString实体卡号,数字英文组合。
UserTagListArray of DescribeUserResponseUserTag用户标签列表,参见 DescribeUserResponseUserTag 结构。
PalmDirectionPalmDirection掌方向,见 PalmDirection 枚举。
LeftPalmPalmInfo左掌录掌信息,参见 PalmInfo 结构。
RightPalmPalmInfo右掌录掌信息,参见 PalmInfo 结构。
CreateTimeTimestamp用户创建时间,RFC3339字符串格式,如"2025-07-03T09:30:15.500Z"。
UserStateUserState用户状态,见 UserState 枚举。
CustomFieldValueString自定义加验字段值,未设置时为空。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeUser
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001"
}
输出示例
{
"Response": {
"UserId": "user001",
"UserName": "张三",
"PhoneNo": "(+86)13800138000",
"PhysicalCardNo": "CARD2024A001",
"UserTagList": [
{
"UserTagId": "tag001",
"UserTagName": "研发中心"
},
{
"UserTagId": "tag002",
"UserTagName": "产品中心"
}
],
"PalmDirection": "right",
"RightPalm": {
"PalmState": "registered",
"RegisterType": "device",
"PreRegisterTime": "2025-06-01T10:00:00.000Z",
"RegisterTime": "2025-06-01T10:05:00.000Z",
"ExpireTime": "2026-06-01T10:05:00.000Z"
},
"CreateTime": "2025-05-20T08:30:00.000Z",
"UserState": "right_valid",
"CustomFieldValue": "123456",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserNotExist",
"Message": "未找到该用户信息。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询用户信息列表

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询用户信息列表,支持多条件过滤、分页。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeUserList。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识,支持模糊查询。
UserNameString用户名,支持模糊查询。
PhoneNoString手机号,精确匹配。
PhysicalCardNoString实体卡号,精确匹配。
PalmStatePalmState主掌录掌状态。
UserStateUserState用户状态。
UserTagIdString用户标签ID,筛选拥有指定标签的用户。
OffsetInteger偏移量,默认0。
LimitInteger返回数量,默认20,最大100。

3. 输出参数

参数名称类型描述
TotalCountInteger符合条件的用户数量。
UserListArray of DescribeUserListResponseUser用户列表,参见 DescribeUserListResponseUser 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeUserList
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserName": "张",
"PalmState": "registered",
"Offset": 0,
"Limit": 10
}
输出示例
{
"Response": {
"TotalCount": 1,
"UserList": [
{
"UserId": "user001",
"UserName": "张三",
"PhoneNo": "(+86)13800138000",
"PhysicalCardNo": "CARD001",
"UserTagList": [{"UserTagId": "tag001", "UserTagName": "研发中心"}],
"RegisterType": "device",
"PalmState": "registered",
"PalmDirection": "right",
"PalmRegisterTime": "2025-06-01T10:05:00.000Z",
"PalmExpireTime": "2026-06-01T10:05:00.000Z",
"UserState": "right_valid",
"CreatedTime": "2025-05-20T08:30:00.000Z",
"UpdatedTime": "2025-06-01T10:05:00.000Z"
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询用户通行范围

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:根据用户ID查询该用户可通行的场景、设备、通行时段等详细信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeUserAccessScope。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。
OffsetInteger偏移量,默认为0。
LimitInteger返回数量,默认为20,最大值为100。

3. 输出参数

参数名称类型描述
TotalCountInteger符合条件的场景总数。
AccessScopeListArray of AccessScopeItem通行范围列表(以场景维度聚合)。参见 AccessScopeItem 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeUserAccessScope
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001",
"Offset": 0,
"Limit": 20
}
输出示例
{
"Response": {
"TotalCount": 1,
"AccessScopeList": [
{
"SceneId": "scene001",
"SceneName": "大门",
"SceneGroupId": "group001",
"SceneGroupName": "总部园区",
"DeviceSn": "DEV001",
"DeviceName": "前台设备",
"VerifyRules": [
{"VerifyRuleId": "rule001", "VerifyRuleName": "工作日规则"}
]
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询用户通行范围摘要

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:根据用户ID统计该用户可通行的场景组数、场景数、设备数。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeUserAccessScopeSummary。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。

3. 输出参数

参数名称类型描述
SummaryAccessScopeSummary通行范围摘要。参见 AccessScopeSummary 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeUserAccessScopeSummary
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001"
}
输出示例
{
"Response": {
"Summary": {
"SceneGroupCount": 3,
"SceneCount": 8,
"DeviceCount": 15
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

用户标签管理相关接口

创建用户标签

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于创建新的用户标签。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateUserTag。
VersionString公共参数,本接口取值:2025-07-15。
UserTagNameString用户标签名称。

3. 输出参数

参数名称类型描述
UserTagIdString用户标签唯一标识。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateUserTag
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserTagName": "研发中心"
}
输出示例
{
"Response": {
"UserTagId": "tag001",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.UserTagNameEmpty",
"Message": "用户标签名称为空"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

修改用户标签

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于修改用户标签信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:ModifyUserTag。
VersionString公共参数,本接口取值:2025-07-15。
UserTagIdString用户标签唯一标识。
UserTagNameString用户标签名称。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: ModifyUserTag
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserTagId": "tag001",
"UserTagName": "产品中心"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserTagNotExist",
"Message": "用户标签不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

删除用户标签

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于删除指定用户标签,删除后用户标签数据将无法恢复。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DeleteUserTag。
VersionString公共参数,本接口取值:2025-07-15。
UserTagIdString用户标签唯一标识。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DeleteUserTag
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserTagId": "tag001"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserTagNotExist",
"Message": "用户标签不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询用户标签

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询指定用户标签的详细信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeUserTag。
VersionString公共参数,本接口取值:2025-07-15。
UserTagIdString用户标签唯一标识。

3. 输出参数

参数名称类型描述
UserTagIdString用户标签唯一标识。
UserTagNameString用户标签名称。
ParentTagIdString父标签ID,为空表示顶级标签。
LevelInteger层级深度:0=L1(顶级), 1=L2(二级), 2=L3(三级)。
ChildrenCountInteger直接子标签数量。
UserCountInteger标签关联的用户数量。
PathNodesArray of UserTagNode从根标签到当前标签的完整层级链路,按父到子顺序返回。参见 UserTagNode 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeUserTag
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserTagId": "tag001"
}
输出示例
{
"Response": {
"UserTagId": "tag001",
"UserTagName": "研发中心",
"ParentTagId": "",
"Level": 0,
"ChildrenCount": 3,
"UserCount": 50,
"PathNodes": [
{
"UserTagId": "tag001",
"UserTagName": "研发中心",
"Level": 0
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserTagNotExist",
"Message": "未找到该用户标签信息。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询用户标签列表

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询用户标签列表,支持模糊搜索和分页。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeUserTagList。
VersionString公共参数,本接口取值:2025-07-15。
UserTagNameString标签名称,支持模糊搜索。
OffsetInteger偏移量,默认0。
LimitInteger返回数量,默认20,最大100。

3. 输出参数

参数名称类型描述
TotalCountInteger符合条件的标签总数。
UserTagListArray of DescribeUserTagListResponseUserTagItem标签信息列表,参见 DescribeUserTagListResponseUserTagItem 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeUserTagList
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserTagName": "研发",
"Offset": 0,
"Limit": 20
}
输出示例
{
"Response": {
"TotalCount": 1,
"UserTagList": [
{
"UserTagId": "tag001",
"UserTagName": "研发中心",
"UserCount": 50,
"ParentTagId": "",
"Level": 0,
"ChildrenCount": 3,
"PathNodes": [
{
"UserTagId": "tag001",
"UserTagName": "研发中心",
"Level": 0
}
],
"CreatedTime": "2025-05-01T10:00:00.000Z",
"UpdatedTime": "2025-06-01T10:00:00.000Z"
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询用户标签树形结构

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:查询用户标签树形结构,返回标签层级关系。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeUserTagTree。
VersionString公共参数,本接口取值:2025-07-15。
RootTagIdString根标签ID,为空表示返回完整树。

3. 输出参数

参数名称类型描述
TreeArray of UserTagTreeNode标签树节点列表。参见 UserTagTreeNode 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeUserTagTree
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"RootTagId": ""
}
输出示例
{
"Response": {
"Tree": [
{
"UserTagId": "tag001",
"UserTagName": "研发部",
"UserCount": 50,
"Level": 0,
"ParentTagId": "",
"Children": [
{
"UserTagId": "tag002",
"UserTagName": "前端组",
"UserCount": 20,
"Level": 1,
"ParentTagId": "tag001",
"Children": []
}
]
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

用户手掌管理相关接口

删除用户手掌信息

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于删除指定用户的手掌信息,删除后需要重新录掌。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DeleteUserPalm。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。
PalmDirectionListArray of PalmDirection手掌方向列表,不传则删除双掌。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DeleteUserPalm
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001",
"PalmDirectionList": ["left", "right"]
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserNotExist",
"Message": "用户手掌信息不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询用户手掌信息

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询指定用户的掌纹信息及录掌状态。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeUserPalm。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。

3. 输出参数

参数名称类型描述
UserIdString用户唯一标识。
PalmStatePalmState主掌录掌状态。
UserNameString用户名称。
UserStateUserState用户状态,见 UserState 枚举。
PalmDirectionPalmDirection主掌方向,见 PalmDirection 枚举。
LeftPalmPalmInfo左掌录掌信息,参见 PalmInfo 结构。
RightPalmPalmInfo右掌录掌信息,参见 PalmInfo 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeUserPalm
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001"
}
输出示例
{
"Response": {
"UserId": "user001",
"PalmState": "registered",
"UserName": "张三",
"UserState": "right_valid",
"PalmDirection": "right",
"RightPalm": {
"PalmState": "registered",
"RegisterType": "device",
"PreRegisterTime": "2025-06-01T10:00:00.000Z",
"RegisterTime": "2025-06-01T10:05:00.000Z",
"ExpireTime": "2026-06-01T10:05:00.000Z"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserNotExist",
"Message": "未找到该用户手掌信息。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

设备管理相关接口

创建设备

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于创建新设备,支持设置设备基本信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateDevice。
VersionString公共参数,本接口取值:2025-07-15。
DeviceSnString设备序列号。
DeviceNameString设备名称。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateDevice
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"DeviceSn": "device001",
"DeviceName": "深圳南山门禁1号"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.DeviceSnEmpty",
"Message": "设备SN为空"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

修改设备

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于修改设备信息,支持更新设备的基本信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:ModifyDevice。
VersionString公共参数,本接口取值:2025-07-15。
DeviceSnString设备序列号。
DeviceNameString设备名称。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: ModifyDevice
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"DeviceSn": "device001",
"DeviceName": "深圳南山门禁1号(已更新)"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.DeviceNotExist",
"Message": "设备不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

删除设备

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于删除指定设备,删除后设备数据将无法恢复。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DeleteDevice。
VersionString公共参数,本接口取值:2025-07-15。
DeviceSnString设备序列号。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DeleteDevice
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"DeviceSn": "device001"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.DeviceNotExist",
"Message": "设备不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询设备详情

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询指定设备的详细信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeDevice。
VersionString公共参数,本接口取值:2025-07-15。
DeviceSnString设备序列号。

3. 输出参数

参数名称类型描述
DeviceSnString设备SN。
DeviceNameString关联设备名。
DeviceTypeString设备类型。
ModuleTypeString模组类型。
ModuleExpireTimeTimestamp模组有效期,RFC3339字符串格式,如"2025-07-03T09:30:15.500Z"。
AppVersionString应用版本。
ModuleVersionString模组版本。
SystemVersionString系统版本。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeDevice
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"DeviceSn": "device001"
}
输出示例
{
"Response": {
"DeviceSn": "device001",
"DeviceName": "深圳南山门禁设备",
"DeviceType": "M4",
"ModuleType": "A3",
"ModuleExpireTime": "2027-07-03T09:30:15.500Z",
"AppVersion": "1.0.0",
"ModuleVersion": "2.0.0",
"SystemVersion": "3.0.0",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.DeviceNotExist",
"Message": "设备不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询设备列表

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询设备列表,支持多条件过滤、分页。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeDeviceList。
VersionString公共参数,本接口取值:2025-07-15。
DeviceSnString设备序列号,精确匹配。
DeviceNameString设备名称,支持模糊搜索。
StatusDeviceStatus设备状态筛选。
SceneIdString场景ID,筛选绑定到指定场景的设备。
DeviceTypeString设备类型,取值见术语表
OffsetInteger偏移量,默认0。
LimitInteger返回数量,默认20,最大100。

3. 输出参数

参数名称类型描述
TotalCountInteger符合条件的设备总数。
DeviceListArray of DescribeDeviceListResponseDevice设备列表,参见 DescribeDeviceListResponseDevice 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeDeviceList
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"DeviceName": "门禁",
"Status": "online",
"Offset": 0,
"Limit": 10
}
输出示例
{
"Response": {
"TotalCount": 1,
"DeviceList": [
{
"DeviceSn": "SN001",
"DeviceType": "M4",
"DeviceName": "深圳南山门禁设备",
"HeartbeatTime": "2025-07-15T09:30:00.000Z",
"SystemVersion": "1.0.0",
"AppVersion": "2.0.0",
"ModuleType": "A3",
"ModuleVersion": "3.0.0",
"ModuleExpireTime": "2026-07-15T09:30:00.000Z",
"Status": "online",
"SceneId": "scene001",
"SceneName": "深圳南山门禁1号",
"CreatedTime": "2025-01-01T00:00:00.000Z",
"UpdatedTime": "2025-07-15T09:30:00.000Z"
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

场景管理相关接口

创建场景

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于创建新场景,支持设置场景基本信息、绑定设备和核验规则。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateScene。
VersionString公共参数,本接口取值:2025-07-15。
SceneNameString场景名称。
SceneGroupIdString场景组Id。
DeviceSnString设备序列号。
VerifyRuleIdListArray of String核验规则Id列表。
SceneIdString场景ID(可选,不传则自动生成)。
ScenarioStrategyScenarioStrategy场景策略,见 ScenarioStrategy 枚举。

3. 输出参数

参数名称类型描述
SceneIdString场景唯一标识。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateScene
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"SceneName": "深圳南山门禁1号",
"SceneGroupId": "scenegroup001",
"DeviceSn": "device001",
"VerifyRuleIdList": ["verifyrule001", "verifyrule002"],
"ScenarioStrategy": "AccessOnDeviceRecognition50k"
}
输出示例
{
"Response": {
"SceneId": "scene001",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.SceneNameEmpty",
"Message": "场景名称不能为空。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

修改场景

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于修改场景信息,支持更新场景的基本信息、绑定设备和核验规则。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:ModifyScene。
VersionString公共参数,本接口取值:2025-07-15。
SceneIdString场景Id。
SceneNameString场景名称。
DeviceSnString设备序列号。
VerifyRuleIdListArray of String核验规则Id列表。
ScenarioStrategyScenarioStrategy场景策略,见 ScenarioStrategy 枚举。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: ModifyScene
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"SceneId": "scene001",
"SceneName": "深圳南山门禁1号(已更新)",
"DeviceSn": "device002",
"VerifyRuleIdList": ["verifyrule001"],
"ScenarioStrategy": "AccessOnDeviceRecognition50k"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.SceneNotExist",
"Message": "场景不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

删除场景

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于删除指定场景,删除后场景数据将无法恢复。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DeleteScene。
VersionString公共参数,本接口取值:2025-07-15。
SceneIdString场景Id。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DeleteScene
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"SceneId": "scene001"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.SceneNotExist",
"Message": "场景不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询场景详情

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询指定场景的详细信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeScene。
VersionString公共参数,本接口取值:2025-07-15。
SceneIdString场景Id。

3. 输出参数

参数名称类型描述
SceneIdString场景ID。
SceneNameString场景名称。
SceneGroupIdString场景组ID。
SceneGroupNameString场景组名称。
DeviceSnString关联设备SN。
DeviceNameString关联设备名。
ScenarioStrategyScenarioStrategy场景策略,见 ScenarioStrategy 枚举。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeScene
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"SceneId": "scene001"
}
输出示例
{
"Response": {
"SceneId": "scene001",
"SceneName": "深圳南山门禁1号",
"SceneGroupId": "scenegroup001",
"SceneGroupName": "深圳南山区域",
"DeviceSn": "device001",
"DeviceName": "深圳南山门禁设备",
"ScenarioStrategy": "AccessOnDeviceRecognition50k",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.SceneNotExist",
"Message": "场景不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

创建场景组

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于创建新场景组,支持设置场景组基本信息和父场景组。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateSceneGroup。
VersionString公共参数,本接口取值:2025-07-15。
SceneGroupNameString场景组名称。
ParentSceneGroupIdString父场景组Id。

3. 输出参数

参数名称类型描述
SceneGroupIdString场景组唯一标识。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateSceneGroup
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"SceneGroupName": "深圳南山区域",
"ParentSceneGroupId": "scene_group_root"
}
输出示例
{
"Response": {
"SceneGroupId": "scenegroup001",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.SceneGroupNameEmpty",
"Message": "场景组名称不能为空。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

修改场景组

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于修改场景组信息,支持更新场景组的基本信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:ModifySceneGroup。
VersionString公共参数,本接口取值:2025-07-15。
SceneGroupIdString场景组Id。
SceneGroupNameString场景组名称。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: ModifySceneGroup
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"SceneGroupId": "scenegroup001",
"SceneGroupName": "深圳南山区域(已更新)"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.SceneGroupNotExist",
"Message": "场景组不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

删除场景组

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于删除指定场景组,删除后场景组数据将无法恢复。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DeleteSceneGroup。
VersionString公共参数,本接口取值:2025-07-15。
SceneGroupIdString场景组Id。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DeleteSceneGroup
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"SceneGroupId": "scenegroup001"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.SceneGroupNotExist",
"Message": "场景组不存在或已被删除。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询场景列表

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询场景列表,支持多条件过滤、分页。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeSceneList。
VersionString公共参数,本接口取值:2025-07-15。
SceneIdListArray of String场景ID列表,精确匹配,支持批量查询。
SceneNameString场景名称,支持模糊搜索。
SceneGroupIdString场景组ID,筛选属于指定场景组的场景。
DeviceSnString设备序列号,精确匹配。
VerifyRuleIdString核验规则ID,筛选绑定了指定规则的场景。
OffsetInteger偏移量,默认0。
LimitInteger返回数量,默认20,最大100。

3. 输出参数

参数名称类型描述
TotalCountInteger符合条件的场景总数。
SceneListArray of DescribeSceneListResponseSceneItem场景信息列表,参见 DescribeSceneListResponseSceneItem 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeSceneList
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"SceneName": "门禁",
"Offset": 0,
"Limit": 20
}
输出示例
{
"Response": {
"TotalCount": 1,
"SceneList": [
{
"SceneId": "scene001",
"SceneName": "深圳南山门禁1号",
"SceneGroupId": "sg001",
"SceneGroupName": "深圳南山区域",
"DeviceSn": "SN001",
"DeviceName": "深圳南山门禁设备",
"ScenarioStrategy": "AccessOnDeviceRecognition50k",
"VerifyRuleIdList": ["vr_001"],
"CreatedTime": "2025-01-01T00:00:00.000Z",
"UpdatedTime": "2025-07-15T09:30:00.000Z"
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询场景组列表

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询场景组列表,支持多条件过滤、分页。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeSceneGroupList。
VersionString公共参数,本接口取值:2025-07-15。
SceneGroupIdListArray of String场景组ID列表,精确匹配,支持批量查询。
SceneGroupNameString场景组名称,支持模糊搜索。
ParentSceneGroupIdString父级场景组ID。传入时仅返回该父级下的直属子场景组;不传则返回全部场景组。
OffsetInteger偏移量,默认0。
LimitInteger返回数量,默认20,最大100。

3. 输出参数

参数名称类型描述
TotalCountInteger符合条件的场景组总数。
SceneGroupListArray of DescribeSceneGroupListResponseSceneGroupItem场景组信息列表,参见 DescribeSceneGroupListResponseSceneGroupItem 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeSceneGroupList
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"ParentSceneGroupId": "sg_root",
"Offset": 0,
"Limit": 20
}
输出示例
{
"Response": {
"TotalCount": 1,
"SceneGroupList": [
{
"SceneGroupId": "sg001",
"SceneGroupName": "深圳南山区域",
"ParentSceneGroupId": "sg_root",
"ParentSceneGroupName": "全部场景组",
"SceneCount": 3,
"ChildGroupCount": 1,
"CreatedTime": "2025-01-01T00:00:00.000Z",
"UpdatedTime": "2025-07-15T09:30:00.000Z"
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

核验记录相关接口

创建核验记录

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于创建核验记录。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateVerificationRecord。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户ID。
VerificationTimeTimestamp核验时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
VerificationMediumVerificationMedium核验介质。
DeviceSnString设备SN。
VerifierIdString核验人ID。
VerifierNameString核验人名。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateVerificationRecord
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001",
"VerificationTime": "2024-07-15T09:30:15.500Z",
"VerificationMedium": "palm",
"DeviceSn": "device001",
"VerifierId": "verifier001",
"VerifierName": "李四"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.UserIdEmpty",
"Message": "用户ID不能为空。"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询核验记录列表

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询核验记录列表,支持多条件过滤、分页。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeVerificationRecordList。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户ID。
UserNameString用户名。
VerificationMediumVerificationMedium核验介质。
DeviceSnString设备SN。
SceneIdString场景ID。
StartTimeTimestamp核验开始时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
EndTimeTimestamp核验结束时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
SceneGroupIdsArray of String场景组ID列表,精确匹配(含子场景组展开)。
SceneGroupNameString场景组名称,模糊搜索。
OffsetInteger偏移量,默认0。
LimitInteger返回数量,默认20,最大100。
OrderByOrderBy排序条件,参见 OrderBy 结构。

3. 输出参数

参数名称类型描述
TotalCountInteger符合条件的核验记录数量。
VerificationRecordListArray of DescribeVerificationRecordListResponseVerificationRecord核验记录列表,参见 DescribeVerificationRecordListResponseVerificationRecord 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeVerificationRecordList
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001",
"UserName": "张三",
"VerificationMedium": "palm",
"DeviceSn": "device001",
"StartTime": "2024-06-01T00:00:00+08:00",
"EndTime": "2024-06-30T23:59:59+08:00",
"Offset": 0,
"Limit": 10
}
输出示例
{
"Response": {
"TotalCount": 2,
"VerificationRecordList": [
{
"UserId": "user001",
"UserName": "张三",
"VerificationTime": "2024-06-10T09:15:00+08:00",
"VerificationMedium": "palm",
"DeviceSn": "device001",
"SceneId": "scene001",
"SceneName": "深圳南山门禁1号",
"VerifierId": "verifier001",
"VerifierName": "李四"
},
{
"UserId": "user001",
"UserName": "张三",
"VerificationTime": "2024-06-11T18:30:00+08:00",
"VerificationMedium": "palm",
"DeviceSn": "device002",
"SceneId": "scene002",
"SceneName": "深圳南山门禁2号",
"VerifierId": "verifier002",
"VerifierName": "王五"
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.FiltersLimitExceed",
"Message": "过滤器个数超过限制"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询核验记录推送专用

1. 接口描述

接口推送域名:由客户提供给平台,平台主动推送

接口说明:用于接收开放平台推送的核验记录信息。该接口只支持推送,不支持主动拉取

推送内容即为核验记录详情(见下表),客户收到推送后返回HTTP 200 OK即可。

2. 推送内容(参数结构)

参数名称类型描述
UserIdString用户ID
UserNameString用户名
VerificationTimeTimestamp核验时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
VerificationMediumVerificationMedium核验介质
DeviceSnString设备SN
SceneIdString场景ID
SceneNameString场景名称
VerifierIdString核验人ID
VerifierNameString核验人名
RequestIdString唯一请求ID

3. 推送示例

POST / HTTP/1.1
Host: <客户推送地址域名>
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateVerificationRecord

{
"UserId": "user001",
"UserName": "张三",
"VerificationTime": "2024-07-15T09:30:15.500Z",
"VerificationMedium": "palm",
"DeviceSn": "device001",
"SceneId": "scene001",
"SceneName": "深圳南山门禁1号",
"VerifierId": "verifier001",
"VerifierName": "李四",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}

客户收到推送后返回HTTP 200 OK即可,无需返回业务数据。


核验规则相关接口

创建核验规则

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于创建核验规则,支持配置时间规则、用户规则,并可绑定多个场景。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateVerifyRule。
VersionString公共参数,本接口取值:2025-07-15。
VerifyRuleNameString核验规则名称。
EnableTimeRuleBoolean是否启用时间规则,false表示不启用,true表示启用。
TimeRuleTimeRule时间规则,启用时间规则时需配置,参见 TimeRule 结构。
EnableUserRuleBoolean是否启用用户规则,false表示所有用户,true表示指定用户。
UserRuleUserRule用户规则,启用用户规则时需配置,参见 UserRule 结构。
EnableWebhookRuleBoolean是否启用Webhook规则,可选,不传默认为true。
BindSceneIdListArray of String绑定场景ID列表,可绑定多个场景。

3. 输出参数

参数名称类型描述
VerifyRuleIdString核验规则ID。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateVerifyRule
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"VerifyRuleName": "工作日早晚高峰",
"EnableTimeRule": true,
"TimeRule": {
"AllowDateRange": {
"StartDate": {"Year": 2025, "Month": 1, "Day": 1},
"EndDate": {"Year": 2025, "Month": 12, "Day": 31}
},
"AllowDayOfWeekList": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"],
"AllowTimePeriodList": [
{
"StartTime": {"Hours": 7, "Minutes": 30, "Seconds": 0},
"EndTime": {"Hours": 9, "Minutes": 30, "Seconds": 0},
"MaxVerificationCount": 0
},
{
"StartTime": {"Hours": 17, "Minutes": 30, "Seconds": 0},
"EndTime": {"Hours": 20, "Minutes": 0, "Seconds": 0},
"MaxVerificationCount": 0
}
]
},
"EnableUserRule": true,
"UserRule": {
"UserTags": [
{"UserTagId": "tag001", "UserTagName": "研发中心"}
],
"UserInfos": [
{"UserId": "user001", "UserName": "张三"}
]
},
"EnableWebhookRule": false,
"BindSceneIdList": ["scene001", "scene002"]
}
输出示例
{
"Response": {
"VerifyRuleId": "vr_20250715001",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

修改核验规则

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于修改已有的核验规则信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:ModifyVerifyRule。
VersionString公共参数,本接口取值:2025-07-15。
VerifyRuleIdString核验规则全局唯一ID。
VerifyRuleNameString核验规则名称。
EnableTimeRuleBoolean是否启用时间规则。
TimeRuleTimeRule时间规则,参见 TimeRule 结构。
EnableUserRuleBoolean是否启用用户规则。
UserRuleUserRule用户规则,参见 UserRule 结构。
EnableWebhookRuleBoolean是否启用Webhook规则。
BindSceneIdListArray of String绑定场景ID列表。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: ModifyVerifyRule
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"VerifyRuleId": "vr_20250715001",
"VerifyRuleName": "工作日高峰与中午",
"EnableTimeRule": true,
"TimeRule": {
"AllowDayOfWeekList": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"],
"AllowTimePeriodList": [
{"StartTime": {"Hours": 7, "Minutes": 30, "Seconds": 0}, "EndTime": {"Hours": 9, "Minutes": 30, "Seconds": 0}},
{"StartTime": {"Hours": 12, "Minutes": 0, "Seconds": 0}, "EndTime": {"Hours": 13, "Minutes": 30, "Seconds": 0}},
{"StartTime": {"Hours": 17, "Minutes": 30, "Seconds": 0}, "EndTime": {"Hours": 20, "Minutes": 0, "Seconds": 0}}
]
},
"EnableUserRule": false,
"EnableWebhookRule": true,
"BindSceneIdList": ["scene001"]
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

删除核验规则

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于删除指定的核验规则。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DeleteVerifyRule。
VersionString公共参数,本接口取值:2025-07-15。
VerifyRuleIdString核验规则ID。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DeleteVerifyRule
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"VerifyRuleId": "vr_20250715001"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询核验规则

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询指定核验规则的详细配置。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeVerifyRule。
VersionString公共参数,本接口取值:2025-07-15。
VerifyRuleIdString核验规则ID。

3. 输出参数

参数名称类型描述
VerifyRuleIdString核验规则ID。
VerifyRuleNameString核验规则名称。
EnableTimeRuleBoolean是否启用时间规则。
TimeRuleTimeRule时间规则,参见 TimeRule 结构。
EnableUserRuleBoolean是否启用用户规则。
UserRuleUserRule用户规则,参见 UserRule 结构。
EnableWebhookRuleBoolean是否启用Webhook规则。
BindSceneIdListArray of String绑定场景ID列表。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeVerifyRule
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"VerifyRuleId": "vr_20250715001"
}
输出示例
{
"Response": {
"VerifyRuleId": "vr_20250715001",
"VerifyRuleName": "工作日早晚高峰",
"EnableTimeRule": true,
"TimeRule": {
"AllowDateRange": {
"StartDate": {
"Year": 2025,
"Month": 1,
"Day": 1
},
"EndDate": {
"Year": 2025,
"Month": 12,
"Day": 31
}
},
"DisallowDateList": [
{
"Year": 2025,
"Month": 5,
"Day": 1
}
],
"AllowDayOfWeekList": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY"
],
"AllowTimePeriodList": [
{
"StartTime": {
"Hours": 7,
"Minutes": 30,
"Seconds": 0
},
"EndTime": {
"Hours": 9,
"Minutes": 30,
"Seconds": 0
},
"MaxVerificationCount": 0
},
{
"StartTime": {
"Hours": 17,
"Minutes": 30,
"Seconds": 0
},
"EndTime": {
"Hours": 20,
"Minutes": 0,
"Seconds": 0
},
"MaxVerificationCount": 0
}
]
},
"EnableUserRule": true,
"UserRule": {
"UserTags": [
{
"UserTagId": "tag001",
"UserTagName": "研发中心"
}
],
"UserInfos": [
{
"UserId": "user001",
"UserName": "张三"
}
]
},
"EnableWebhookRule": false,
"BindSceneIdList": [
"scene001",
"scene002"
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询核验规则列表

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询核验规则列表,支持多条件过滤、分页。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeVerifyRuleList。
VersionString公共参数,本接口取值:2025-07-15。
VerifyRuleIdListArray of String核验规则ID列表,精确匹配,支持批量查询。
VerifyRuleNameString核验规则名称,支持模糊搜索。
OffsetInteger偏移量,默认0。
LimitInteger返回数量,默认20,最大100。

3. 输出参数

参数名称类型描述
TotalCountInteger符合条件的核验规则总数。
VerifyRuleListArray of DescribeVerifyRuleListResponseVerifyRuleItem核验规则列表,参见 DescribeVerifyRuleListResponseVerifyRuleItem 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeVerifyRuleList
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"VerifyRuleName": "工作日",
"Offset": 0,
"Limit": 20
}
输出示例
{
"Response": {
"TotalCount": 1,
"VerifyRuleList": [
{
"VerifyRuleId": "vr_20250715001",
"VerifyRuleName": "工作日早晚高峰",
"EnableTimeRule": true,
"TimeRule": {
"AllowDayOfWeekList": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"],
"AllowTimePeriodList": [
{"StartTime": {"Hours": 7, "Minutes": 30, "Seconds": 0}, "EndTime": {"Hours": 9, "Minutes": 30, "Seconds": 0}, "MaxVerificationCount": 0}
]
},
"EnableUserRule": false,
"EnableWebhookRule": true,
"BindSceneIdList": ["scene001"],
"CreatedTime": "2025-01-01T00:00:00.000Z",
"UpdatedTime": "2025-07-15T09:30:00.000Z"
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

校验访问权限

1. 接口描述

接口回调域名:由客户提供给平台,平台主动调用

接口说明:用于检查用户的访问权限。该接口只支持回调,不支持主动拉取 ,需提前将回调地址提供给平台,由平台主动调用。平台发送访问权限校验请求,客户根据自有规则判断后返回是否允许通行及原因。

2. 输入参数

参数名称类型描述
UserIdString用户ID
UserNameString用户名
VerificationTimeTimestamp核验时间,RFC3339字符串格式,如"2025-07-03T09:30:15.500Z"
VerificationMediumVerificationMedium核验介质
DeviceSnString设备SN
SceneIdString场景ID
SceneNameString场景名称

3. 输出参数

参数名称类型描述
AllowedBoolean是否允许通行
ReasonString通行原因描述,如"命中核验规则:访客预约通行"
RequestIdString唯一请求ID。每次请求都会返回RequestId。

4. 请求和响应示例

请求示例
POST / HTTP/1.1
Host: <客户回调地址域名>
Content-Type: application/json; charset=utf-8
X-TC-Action: CheckAccessPermission

{
"UserId": "user001",
"UserName": "张三",
"VerificationTime": "2025-07-15T09:30:15.500Z",
"VerificationMedium": "palm",
"DeviceSn": "device001",
"SceneId": "scene001",
"SceneName": "深圳南山门禁1号"
}
响应示例(允许通行)
{
"Response": {
"Allowed": true,
"Reason": "命中核验规则:访客预约通行",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
响应示例(拒绝通行)
{
"Response": {
"Allowed": false,
"Reason": "用户未在允许时间范围内",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

扫码录掌相关接口

扫码录掌服务,适合开放用户注册场景。

二维码由刷掌设备生成,用户录掌后,刷掌设备会展示二维码,二维码会携带用户信息,用户扫码后,会通知给应用服务器,应用服务器根据用户信息进行用户注册。 二维码扫码获得的URL示例:https://app.intl.palm.tencent.com/local_h5/brushAuth?ocode=***&session_id=***&session_key=***&app_id=***&access_token=***

扫码事件通知

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于通知服务端用户扫码事件。本接口仅验证Token,不验证签名,HTTP头部不需要Authorization字段。

默认接口请求频率限制:20次/秒/AppId。

注意:本接口需要在HTTP请求头中提供X-Palm-Appid字段和X-Palm-Openapi-Token字段,来源于扫码URL中的app_id/access_token参数,可重复使用,直至令牌过期。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:NotifyQrCodeScanEvent。
VersionString公共参数,本接口取值:2025-07-15。
SessionIdString会话ID
EventTypeNotifyQrCodeScanEventRequestQrCodeScanEventType事件类型,参见 NotifyQrCodeScanEventRequestQrCodeScanEventType 枚举,不传时等同于 scanned。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求ID。每次请求都会返回RequestId。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: NotifyQrCodeScanEvent
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: app_001
X-Palm-Openapi-Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

{
"SessionId": "session_001"
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

扫码绑定掌纹

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于扫码绑定掌纹。本接口仅验证Token,不验证签名,HTTP头部不需要Authorization字段。

默认接口请求频率限制:20次/秒/AppId。

注意:本接口需要在HTTP请求头中提供X-Palm-Appid字段和X-Palm-Openapi-Token字段,来源于扫码URL中的app_id/access_token参数,可重复使用,直至令牌过期。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:BindQrCodeScanPalm。
VersionString公共参数,本接口取值:2025-07-15。
SessionIdString会话ID
UserIdString用户唯一标识
UserNameString用户名称
ReplacePalmBoolean是否替换手掌

3. 输出参数

参数名称类型描述
UserSessionIdString用户会话ID
RequestIdString唯一请求ID。每次请求都会返回RequestId。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: BindQrCodeScanPalm
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: app_001
X-Palm-Openapi-Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

{
"SessionId": "session_001",
"UserId": "user001",
"UserName": "张三",
"ReplacePalm": false
}
输出示例
{
"Response": {
"UserSessionId": "user_session_001",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询扫码录掌用户信息

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询扫码录掌用户信息。本接口仅验证Token,不验证签名,HTTP头部不需要Authorization字段。

默认接口请求频率限制:20次/秒/AppId。

注意:本接口需要在HTTP请求头中提供X-Palm-Appid字段和X-Palm-Openapi-Token字段,来源于扫码URL中的app_id/access_token参数,可重复使用,直至令牌过期。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeQrCodeScanUser。
VersionString公共参数,本接口取值:2025-07-15。
SessionIdString会话ID
UserIdString用户唯一标识

3. 输出参数

参数名称类型描述
UserIdString用户唯一标识
PalmStatePalmState主掌录掌状态
UserNameString用户名称
UserStateUserState用户状态,见 UserState 枚举。
PalmDirectionPalmDirection主掌方向,见 PalmDirection 枚举。
LeftPalmPalmInfo左掌录掌信息,参见 PalmInfo 结构。
RightPalmPalmInfo右掌录掌信息,参见 PalmInfo 结构。
PhoneNoString手机号(带区号)。
RequestIdString唯一请求ID。每次请求都会返回RequestId。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeQrCodeScanUser
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: app_001
X-Palm-Openapi-Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

{
"SessionId": "session_001",
"UserId": "user001"
}
输出示例
{
"Response": {
"UserId": "user001",
"PalmState": "registered",
"UserName": "张三",
"UserState": "right_valid",
"PalmDirection": "right",
"RightPalm": {
"PalmState": "registered",
"RegisterType": "device",
"PreRegisterTime": "2025-06-01T10:00:00.000Z",
"RegisterTime": "2025-06-01T10:05:00.000Z",
"ExpireTime": "2026-06-01T10:05:00.000Z"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

创建扫码录掌会话

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:创建一个扫码录掌会话,用于生成用于用户扫码录掌的二维码或 URL。支持扫码录掌(scan_register)、滴码录掌(tap_register)、滴码加验(tap_verify)三种会话用途。本接口仅验证Token,不验证签名,HTTP头部不需要Authorization字段。

默认接口请求频率限制:20次/秒/AppId。

注意:本接口需要在HTTP请求头中提供X-Palm-Appid字段和X-Palm-Openapi-Token字段,来源于扫码URL中的app_id/access_token参数,可重复使用,直至令牌过期。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreateQrCodeScanSession。
VersionString公共参数,本接口取值:2025-07-15。
TtlString会话期望生命周期。scan_register/tap_register 场景生效,tap_verify 场景由租户配置决定(此字段不生效)。不指定时 scan_register 默认 1 小时,tap_register 默认 15 分钟。最长 24 小时。字符串格式,如"3600s"。
ResponseFormatResponseFormat响应数据格式,可选 metadata(默认、返回元数据)、url(返回二维码 URL)、image(返回二维码图片)。
PalmDirectionPalmDirection掌方向,指定本次录掌的手掌方向。
QrCodeSessionTypeQrCodeSessionType会话用途。不传或传 scan_register 时为扫码录掌(默认行为);tap_register 为滴码录掌;tap_verify 为滴码加验。
UserIdString用户ID,tap_register/tap_verify 场景必填。
UserNameString用户名,tap_register 场景必填,tap_verify 场景可选。
PhoneNoString手机号,滴码录掌场景可选,传入时会校验与后台用户手机号是否一致。

3. 输出参数

参数名称类型描述
SessionIdString会话ID。
ExpireTimeTimestamp会话过期时间,RFC3339字符串格式,如"2025-07-03T09:30:15.500Z"。
AppIdString应用ID,后续该会话的扫码录掌请求需在HTTP请求头"X-Palm-Appid"中携带。
AccessTokenString访问令牌,后续该会话的扫码录掌请求需在HTTP请求头"X-Palm-Openapi-Token"中携带。
AccessTokenExpireTimeTimestamp令牌过期时间,RFC3339字符串格式,如"2025-07-03T09:30:15.500Z"。
SessionUrlString会话 URL。scan_register 场景为完整 H5 链接;tap_register/tap_verify 场景为会话标识。仅当 ResponseFormat=url 时返回。
SessionImageString会话二维码图片(base64编码的二进制数据),仅当 ResponseFormat=image 时返回。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreateQrCodeScanSession
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************

{
"Ttl": "3600s",
"ResponseFormat": "metadata",
"PalmDirection": "right",
"QrCodeSessionType": "scan_register"
}
输出示例
{
"Response": {
"SessionId": "session_001",
"ExpireTime": "2025-07-03T10:30:15.500Z",
"AppId": "app_001",
"AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"AccessTokenExpireTime": "2025-07-03T10:30:15.500Z",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询扫码录掌会话状态

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于查询扫码录掌会话状态。本接口仅验证Token,不验证签名,HTTP头部不需要Authorization字段。

默认接口请求频率限制:20次/秒/AppId。

注意:本接口需要在HTTP请求头中提供X-Palm-Appid字段和X-Palm-Openapi-Token字段,来源于扫码URL中的app_id/access_token参数,可重复使用,直至令牌过期。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeQrCodeScanSession。
VersionString公共参数,本接口取值:2025-07-15。
SessionIdString会话ID。

3. 输出参数

参数名称类型描述
QrCodeScanStateQrCodeScanState二维码扫码状态。
UserIdString用户唯一标识。
UserNameString用户名称。
ReplacePalmBoolean是否替换手掌。
PalmDirectionPalmDirection掌方向。
QrCodeSessionTypeQrCodeSessionType会话用途,设备端根据此字段区分是扫码录掌、滴码录掌还是滴码加验场景。
PhoneNoString手机号(带区号)。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeQrCodeScanSession
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: app_001
X-Palm-Openapi-Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

{
"SessionId": "session_001"
}
输出示例
{
"Response": {
"QrCodeScanState": "scanned",
"UserId": "user001",
"UserName": "张三",
"ReplacePalm": false,
"PalmDirection": "right",
"QrCodeSessionType": "scan_register",
"PhoneNo": "+8613800138000",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

PalmMa 登录相关接口

发送短信验证码

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于向指定手机号发送短信验证码。本接口为开放接口,不验证Token,不验证签名,HTTP头部不需要Authorization、X-Palm-Openapi-Token字段。

默认接口请求频率限制:20次/秒/AppId。

注意:本接口需要在HTTP请求头中提供X-Palm-Appid字段。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:SendPalmMaSmsCode。
VersionString公共参数,本接口取值:2025-07-15。
PhoneNoString手机号(带区号)。

3. 输出参数

参数名称类型描述
SessionIdString会话ID,用于后续验证码校验。
ExpireTimeTimestamp会话过期时间,RFC3339字符串格式,如"2025-07-03T09:30:15.500Z"。
ResendIntervalString会话验证码重发间隔,如"60s"。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: SendPalmMaSmsCode
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223

{
"PhoneNo": "+8613800138000"
}
输出示例
{
"Response": {
"SessionId": "sess_1234567890abcdef",
"ExpireTime": "2025-07-03T09:40:15.500Z",
"ResendInterval": "60s",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

短信验证码登录

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:用于通过短信验证码进行用户登录,登录成功后返回访问令牌和刷新令牌。本接口为开放接口,不验证Token,不验证签名,HTTP头部不需要Authorization、X-Palm-Openapi-Token字段。

默认接口请求频率限制:20次/秒/AppId。

注意:本接口需要在HTTP请求头中提供X-Palm-Appid字段。验证码只能使用一次,SessionId验证成功后立即失效。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:LoginPalmMaSmsCode。
VersionString公共参数,本接口取值:2025-07-15。
SmsCodeString短信验证码(每次都需要验证,验证码只能使用一次)。若部署时未配置短信能力,则无需传入该字段。
SessionIdString发送验证码时返回的SessionId(一次性使用,验证成功后立即失效)。若部署时未配置短信能力,则无需传入该字段。
UserIdString用户ID。
PhoneNoString手机号(带区号),用于与后台用户绑定的手机号校验,不传则跳过校验。
GrantTypeGrantType授权类型。
调用刷掌业务平台开放接口时,必须使用 client_credential

取值枚举
- client_credential_user:适用于第三方平台接入空中开掌 SDK 场景,即:
a. 移动端使用 SDK 发起注册或获取活体视频上传地址流程;
b. 第三方服务端需根据指定用户申请访问凭证,供 SDK 使用;
c. 此时必须同时传入 UserId 字段。

- client_credential:适用于普通服务端调用开放接口场景,即:
a. 此类型下不绑定具体用户,仅使用应用级密钥获取访问凭证;
b. UserId 字段无需传入。

默认不传为 client_credential_user 类型。见 GrantType 枚举。

3. 输出参数

参数名称类型描述
AccessTokenString访问令牌(短期有效,如2小时),当前会话后续请求需要在HTTP请求头"X-Palm-Openapi-Token"中携带该令牌。
AccessTokenExpireTimeTimestamp访问令牌过期时间,RFC3339字符串格式,如"2025-07-03T09:30:15.500Z"。
RefreshTokenString刷新令牌(长期有效,如30天),用于刷新访问令牌。
RefreshTokenExpireTimeTimestamp刷新令牌过期时间,RFC3339字符串格式,如"2025-07-03T09:30:15.500Z"。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: LoginPalmMaSmsCode
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223

{
"SmsCode": "123456",
"SessionId": "sess_1234567890abcdef",
"UserId": "user001",
"GrantType": "client_credential"
}
输出示例
{
"Response": {
"AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"AccessTokenExpireTime": "2025-07-03T11:30:15.500Z",
"RefreshToken": "refresh_token_xxx",
"RefreshTokenExpireTime": "2025-08-02T09:30:15.500Z",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

掌纹管理相关接口(刷掌算法平台)

创建掌纹

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:上传掌图创建掌纹并返回掌纹Id,双因子认证。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:CreatePalm。
VersionString公共参数,本接口取值:2025-07-15。
RgbImageImageRgb图片数据,参见 Image 结构。
IrImageImage红外图片数据,参见 Image 结构。
PalmDirectionPalmPaasPalmDirection手掌方向,参见 PalmPaasPalmDirection 枚举。1:左手 2:右手。

3. 输出参数

参数名称类型描述
PalmIdString掌纹Id。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: CreatePalm
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"RgbImage": {
"Data": "... 特征数据,需要base64",
"ThreePointList": [
{"PointX": 279.19387799999998, "PointY": 283.87393200000002},
{"PointX": 355.835083, "PointY": 282.88299599999999},
{"PointX": 429.38259900000003, "PointY": 321.33651700000001}
],
"ImageType": 1
},
"IrImage": {
"Data": "... 特征数据,需要base64",
"ThreePointList": [
{"PointX": 279.19387799999998, "PointY": 283.87393200000002},
{"PointX": 355.835083, "PointY": 282.88299599999999},
{"PointX": 429.38259900000003, "PointY": 321.33651700000001}
],
"ImageType": 2
},
"PalmDirection": 1
}
输出示例
{
"Response": {
"PalmId": "8db884f9-1fb8-44f5-bdaa-f98fdcb3cd47",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.PalmIdEmpty",
"Message": "掌纹ID为空"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

绑定掌纹

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:将已创建的掌纹Id绑定到指定用户,双因子认证。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:BindPalm。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。
PalmIdString掌纹Id。
IsForceBoolean是否强制换绑。
AlgorithmStrategyAlgorithmStrategy算法策略类型,参见 AlgorithmStrategy 枚举。

3. 输出参数

参数名称类型描述
PalmIdString用户的掌纹Id。若用户已绑定掌纹信息,系统将自动更新现有掌纹数据(原掌纹Id保持不变),并返回该用户已注册的掌纹Id。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: BindPalm
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001",
"PalmId": "8db884f9-1fb8-44f5-bdaa-f98fdcb3cd47",
"IsForce": true,
"AlgorithmStrategy": 2
}
输出示例
{
"Response": {
"PalmId": "8db884f9-1fb8-44f5-bdaa-f98fdcb3cd47",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserNotExist",
"Message": "用户不存在"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

空中开掌检索

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:上传RGB+IR掌图并1:N检索用户,并返回加验信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:SearchMobilePalm。
VersionString公共参数,本接口取值:2025-07-15。
ProductVersionString刷掌产品算法版本,由对接产品提供,例如v20250715。
RgbImageImageRgb图片数据,参见 Image 结构。
IrImageImage红外图片数据,用于后续的加验通过后补充到掌库,参见 Image 结构。
PalmDirectionPalmPaasPalmDirection手掌方向,参见 PalmPaasPalmDirection 枚举。1:左手 2:右手。

3. 输出参数

参数名称类型描述
VerifyInfoVerifyInfo加验信息,参见 VerifyInfo 结构。
PalmIdString掌纹Id。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: SearchMobilePalm
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"ProductVersion": "v20250715",
"RgbImage": {
"Data": "base64encodedRgbImageData...",
"ImageType": 1,
"ThreePointList": [
{"PointX": 279.19387799999998, "PointY": 283.87393200000002},
{"PointX": 355.835083, "PointY": 282.88299599999999},
{"PointX": 429.38259900000003, "PointY": 321.33651700000001}
]
},
"IrImage": {
"Data": "base64encodedIrImageData...",
"ImageType": 2,
"ThreePointList": [
{"PointX": 279.19387799999998, "PointY": 283.87393200000002},
{"PointX": 355.835083, "PointY": 282.88299599999999},
{"PointX": 429.38259900000003, "PointY": 321.33651700000001}
]
},
"PalmDirection": 1
}
输出示例
{
"Response": {
"VerifyInfo": {
"NeedVerify": true,
"UserId": "user001",
"VerifyId": "a1b2c3d4-5678-9abc-def0-1234567890ab",
"VerifyType": 3,
"HighSimilarityUserIdList": []
},
"PalmId": "8db884f9-1fb8-44f5-bdaa-f98fdcb3cd47",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InternalError",
"Message": "内部错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

用户加验

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:完成用户身份加验并绑定掌纹。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:Verify。
VersionString公共参数,本接口取值:2025-07-15。
VerifyIdString加验Id,来源:SearchMobilePalm返回的VerifyInfo.VerifyId。
UserIdString加验的用户唯一标识。
VerifyResultVerifyResult加验结果,参见 VerifyResult 枚举。
AlgorithmStrategyAlgorithmStrategy算法策略类型,参见 AlgorithmStrategy 枚举。

3. 输出参数

参数名称类型描述
VerifyInfoVerifyInfo加验信息,当需要继续加验时返回,参见 VerifyInfo 结构。
PalmIdString加验成功时返回该用户的掌纹Id。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: Verify
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"VerifyId": "a1b2c3d4-5678-9abc-def0-1234567890ab",
"UserId": "user001",
"VerifyResult": 1,
"AlgorithmStrategy": 2
}
输出示例
{
"Response": {
"PalmId": "8db884f9-1fb8-44f5-bdaa-f98fdcb3cd47",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
需要继续加验输出示例
{
"Response": {
"VerifyInfo": {
"NeedVerify": true,
"UserId": "user002",
"VerifyId": "b2c3d4e5-6789-abcd-ef01-234567890abc",
"VerifyType": 1,
"HighSimilarityUserIdList": ["user003", "user004"]
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue.UserIdEmpty",
"Message": "用户ID为空"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

删除掌纹

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:删除指定用户的掌纹信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DeletePalm。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。
PalmDirectionListArray of PalmPaasPalmDirection掌纹方向的列表。可以同时传入左手和右手,或者单独的左手或者右手。

3. 输出参数

参数名称类型描述
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DeletePalm
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001",
"PalmDirectionList": [1, 2]
}
输出示例
{
"Response": {
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserNotExist",
"Message": "用户不存在"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询掌纹

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:查询指定用户的掌纹信息。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribePalm。
VersionString公共参数,本接口取值:2025-07-15。
UserIdString用户唯一标识。
UserTokenString用户Token,客户端Sdk通过Token查询。

3. 输出参数

参数名称类型描述
LeftPalmPalmPaasPalmInfo左手掌纹信息,参见 PalmPaasPalmInfo 结构。
RightPalmPalmPaasPalmInfo右手掌纹信息,参见 PalmPaasPalmInfo 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribePalm
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"UserId": "user001"
}
输出示例
{
"Response": {
"LeftPalm": {
"PalmState": 3,
"PalmDirection": 1,
"RegisterTime": 1700000000,
"RegisterType": 1
},
"RightPalm": {
"PalmState": 3,
"PalmDirection": 2,
"RegisterTime": 1700000100,
"RegisterType": 1
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "FailedOperation.UserNotExist",
"Message": "用户不存在"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

同步掌纹特征

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:同步掌纹特征。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:SynchronizePalmFeature。
VersionString公共参数,本接口取值:2025-07-15。
ProductVersionString需要同步的产品版本,比如v20250715,该版本号需要和设备上的版本号匹配。
QueryPositionString当前同步的位置。首次填空字符串,下一次使用响应里面的QueryPosition数据。
DeviceIdString设备Id。目前的作用仅仅用于排查问题。
DisableFeatureBoolean禁止返回feature值,默认为false返回,为true不返回。
OperationsArray of PalmPaasOperation按操作类型过滤,为空时不过滤返回所有状态,例如传[1]则只返回新增特征事件。参见 PalmPaasOperation 枚举。

3. 输出参数

参数名称类型描述
PalmFeatureDetailListArray of PalmFeatureDetail掌纹特征详情列表,参见 PalmFeatureDetail 结构。
HasMoreHasMoreType是否有更多数据,参见 HasMoreType 枚举。1:没有数据了 2:还有数据,可以继续同步;未来可能还有别的状态,如果新增,文档会同步更新。
QueryPositionString当前同步的位置。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: SynchronizePalmFeature
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"ProductVersion": "v1.0",
"QueryPosition": "",
"DeviceId": "X8AZ112D4646978SKAP3ZX3",
"DisableFeature": false
}
输出示例
{
"Response": {
"PalmFeatureDetailList": [
{
"PalmId": "8db884f9-1fb8-44f5-bdaa-f98fdcb3cd47",
"Status": 1,
"ImageType": 1,
"Feature": {
"FeatureValue": "... 特征数据,需要base64",
"FeatureType": 1,
"FeatureDigest": "md5hash",
"FeatureDimension": 128
},
"PalmDirection": 1,
"PalmDataVersion": 100,
"UserId": "user001",
"Operation": 1
}
],
"HasMore": 2,
"QueryPosition": "position_abc",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

查询产品版本列表

1. 接口描述

接口请求域名:open.intl.palm.tencent.com

接口说明:查询产品版本列表。

默认接口请求频率限制:20次/秒/AppId。

2. 输入参数

参数名称必选类型描述
ActionString公共参数,本接口取值:DescribeVersionList。
VersionString公共参数,本接口取值:2025-07-15。
ProductNameString产品名,标准版固定填:standard。

3. 输出参数

参数名称类型描述
VersionListArray of ProductVersionInfo版本信息列表,参见 ProductVersionInfo 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例

输入示例
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeVersionList
X-TC-Timestamp: 1704067200
X-TC-Version: 2025-07-15
X-TC-Nonce: b6a5c4e3a2b1c0d9e8f7a6b5c4d3e2f1
X-Palm-AppId: 223
X-Palm-Openapi-Token: **************************************
Authorization: TC3-HMAC-SHA256 Credential=AKIDxxx/2025-07-15/palm/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=xxx

{
"ProductName": "standard"
}
输出示例
{
"Response": {
"VersionList": [
{
"ProductVersion": "v20250715",
"ProductVersionCreateTime": 1700000000,
"Status": 1,
"OldProductName": ""
},
{
"ProductVersion": "v20250801",
"ProductVersionCreateTime": 1700100000,
"Status": 2,
"OldProductName": "standard_v1"
}
],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}


数据结构

公共业务结构

PalmInfo

单掌录掌信息。

名称类型描述
PalmStatePalmState手掌状态。
RegisterTypeRegisterType注册方式。
PreRegisterTimeTimestamp空中录掌时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
RegisterTimeTimestamp完成录掌时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
ExpireTimeTimestamp掌纹过期时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。

TimeRule

名称类型描述
AllowDateRangeDateRange可核验日期范围,空表示不限制
DisallowDateListDate[]不可核验日期列表
AllowDayOfWeekListDayOfWeek[]每周有效日
AllowTimePeriodListTimePeriod[]每日允许通行时间段

DateRange

名称类型描述
StartDateDate开始日期
EndDateDate结束日期

Date

名称类型描述
YearInteger
MonthInteger
DayInteger

TimeOfDay

名称类型描述
HoursInteger小时
MinutesInteger分钟
SecondsInteger

TimePeriod

名称类型描述
StartTimeTimeOfDay开始时间
EndTimeTimeOfDay结束时间
MaxVerificationCountInteger可核验次数,0表示不限制

UserRule

名称类型描述
UserTagsUserTagInfo[]用户标签列表
UserInfosUserInfo[]用户信息列表

UserTagInfo

名称类型描述
UserTagIdString用户标签唯一标识
UserTagNameString用户标签名称

UserInfo

名称类型描述
UserIdString用户唯一标识
UserNameString用户名称

OrderBy

排序条件。

名称类型描述
FieldVerificationRecordOrderField排序字段
OrderSortOrder排序方向

Image

图片。

名称类型描述
DataString图片的数据,需要base64。
ThreePointListArray of Pointf三点数据。
ImageTypeImageType图片类型,参见 ImageType 枚举。
DataDigestString针对图片数据计算Md5。

Pointf

点。

名称类型描述
PointXFloatX轴坐标。
PointYFloatY轴坐标。

Feature

特征。

名称类型描述
FeatureValueString特征值。
FeatureTypeFeatureType特征类型,参见 FeatureType 枚举。
FeatureDigestString特征签名。
FeatureDimensionInteger特征值的维度。

VerifyInfo

加验信息。

名称类型描述
NeedVerifyBoolean是否需要加验。只有此处返回true,VerifyInfo信息才有意义。
UserIdString加验的用户Id。
VerifyIdString加验Id。
VerifyTypeVerifyType加验类型,参见 VerifyType 枚举。
HighSimilarityUserIdListArray of String加验类型为高相似加验时返回,表示需要加验的高相似用户Id列表。

PalmFeatureDetail

掌纹特征详情。

名称类型描述
PalmIdString掌纹Id。
StatusPalmStatus掌纹状态,参见 PalmStatus 枚举。
ImageTypeImageType图片类型,参见 ImageType 枚举。
FeatureFeature特征,参见 Feature 结构。
PalmDirectionPalmPaasPalmDirection掌纹方向,参见 PalmPaasPalmDirection 枚举。
PalmDataVersionInteger数据版本。每条数据记录都包含一个版本号字段,采用单调递增的整数版本标识。当数据内容发生变更时,其版本号会自动递增。在数据同步过程中,系统采用版本比对机制:仅当本地存储的版本号严格大于同步获取的版本号时,才需要覆盖本地的数据。
UserIdString用户Id。
OperationPalmPaasOperation操作类型,参见 PalmPaasOperation 枚举。

ProductVersionInfo

产品版本信息。

名称类型描述
ProductVersionString刷掌产品算法版本,由对接产品提供,例如v20250715。
ProductVersionCreateTimeInteger产品版本创建时间。
StatusInteger刷掌产品算法版本类型。1:表示是当前使用版本;2:表示是待升级版本。
OldProductNameString原产品名称。

接口专属结构

掌纹管理接口

PalmPaasPalmInfo

查询掌纹接口(DescribePalm)返回的单掌录掌信息。

注意:此结构仅用于掌纹管理类接口,与用户管理类接口使用的 PalmInfo 字段集不同(无 PreRegisterTime,多了 PalmDirection / MobileRegisterTime)。

名称类型描述
PalmStatePalmPaasPalmState手掌状态,参见 PalmPaasPalmState 枚举。
PalmDirectionPalmPaasPalmDirection手掌方向,参见 PalmPaasPalmDirection 枚举。
RegisterTimeInteger注册时间,Unix秒级时间戳。
ExpireTimeInteger掌纹过期时间,Unix秒级时间戳。仅当用户掌纹处于空中开掌预录掌阶段(PalmState=2,待激活)时返回,其他状态下不返回。
MobileRegisterTimeInteger空中开掌注册时间。
RegisterTypePalmPaasRegisterType注册类型,参见 PalmPaasRegisterType 枚举。

用户管理接口

CreateUserResponsePartialFailureError

创建用户接口的部分失败错误信息。

名称类型描述
NotExistUserTagIdListArray of String不存在的用户标签ID列表
ModifyUserResponsePartialFailureError

修改用户接口的部分失败错误信息。

名称类型描述
NotExistUserTagIdListArray of String不存在的用户标签ID列表
DescribeUserResponseUserTag

查询用户(DescribeUser)接口输出参数 UserTagList 的元素结构。

字段名类型描述
UserTagIdString用户标签ID
UserTagNameString用户标签名称
DescribeUserListResponseUser

查询用户信息列表(DescribeUserList)接口输出参数 UserList 的元素结构。

字段名类型描述
UserIdString用户唯一标识
UserNameString用户名
PhoneNoString手机号(带区号)
PhysicalCardNoString实体卡号
UserTagListArray of DescribeUserListResponseUserTag用户标签列表,参见 DescribeUserListResponseUserTag 结构
RegisterTypeRegisterType主掌录掌类型
PalmStatePalmState主掌录掌状态
PalmDirectionPalmDirection主掌方向
PalmPreRegisterTimeTimestamp主掌预录掌时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
PalmRegisterTimeTimestamp主掌录掌时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
PalmExpireTimeTimestamp主掌特征过期时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
UserStateUserState用户状态
CreatedTimeTimestamp用户创建时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
UpdatedTimeTimestamp用户最后更新时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
DescribeUserListResponseUserTag

查询用户信息列表(DescribeUserList)接口输出参数 UserList[i].UserTagList 的元素结构。

字段名类型描述
UserTagIdString用户标签ID
UserTagNameString用户标签名称

用户标签管理接口

DescribeUserTagListResponseUserTagItem

查询用户标签列表(DescribeUserTagList)接口输出参数 UserTagList 的元素结构。

字段名类型描述
UserTagIdString标签ID
UserTagNameString标签名称
UserCountInteger标签关联的用户数量
ParentTagIdString父标签ID,为空表示顶级标签
LevelInteger层级深度:0=L1(顶级), 1=L2(二级), 2=L3(三级)
ChildrenCountInteger直接子标签数量
PathNodesArray of UserTagNode从根标签到当前标签的完整层级链路,按父到子顺序返回。参见 UserTagNode 结构。
CreatedTimeTimestamp创建时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
UpdatedTimeTimestamp最后更新时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
UserTagNode

用户标签层级路径节点结构,用于表示从根标签到当前标签的完整层级链路。

字段名类型描述
UserTagIdString用户标签ID
UserTagNameString用户标签名称
LevelInteger标签层级:0=L1(顶级), 1=L2(二级), 2=L3(三级)
UserTag

用户标签信息结构。

字段名类型描述
UserTagIdString用户标签ID
UserTagNameString用户标签名称
PathNodesArray of UserTagNode从根标签到当前标签的完整层级链路,按父到子顺序返回。
UserTagTreeNode

标签树节点结构,用于 查询用户标签树(DescribeUserTagTree)接口输出。

字段名类型描述
UserTagIdString标签ID
UserTagNameString标签名称
UserCountInteger标签关联的用户数量
LevelInteger层级深度:0=L1, 1=L2, 2=L3
ParentTagIdString父标签ID,顶级标签为空
ChildrenArray of UserTagTreeNode子标签节点

用户通行范围

AccessScopeItem

查询用户通行范围(DescribeUserAccessScope)接口输出参数 AccessScopeList 的元素结构。

字段名类型描述
SceneIdString场景ID
SceneNameString场景名称
SceneGroupIdString场景组ID
SceneGroupNameString场景组名称
DeviceSnString设备SN(未绑定设备时为空)
DeviceNameString设备名称(未绑定设备时为空)
VerifyRulesArray of VerifyRuleInfo绑定的核验规则列表(未绑定规则时为空数组)
VerifyRuleInfo

核验规则信息结构。

字段名类型描述
VerifyRuleIdString核验规则ID
VerifyRuleNameString核验规则名称
AccessScopeSummary

查询用户通行范围摘要(DescribeUserAccessScopeSummary)接口输出参数 Summary 的结构。

字段名类型描述
SceneGroupCountInteger可通行场景组数量
SceneCountInteger可通行场景数量
DeviceCountInteger可通行设备数量

设备管理接口

DescribeDeviceListResponseDevice

查询设备列表(DescribeDeviceList)接口输出参数 DeviceList 的元素结构。

字段名类型描述
DeviceSnString设备序列号
DeviceTypeString设备类型
DeviceNameString设备名称
HeartbeatTimeTimestamp设备心跳时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
ModuleHeartbeatTimeTimestamp模组心跳时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
SystemVersionString系统版本
AppVersionString应用版本
ModuleTypeString模组类型
ModuleVersionString模组版本
ModuleExpireTimeTimestamp模组过期时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
StatusDeviceStatus设备实时状态
SceneIdString绑定场景ID
SceneNameString绑定场景名称
CreatedTimeTimestamp设备创建时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
UpdatedTimeTimestamp最后更新时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。

场景管理接口

DescribeSceneListResponseSceneItem

查询场景列表(DescribeSceneList)接口输出参数 SceneList 的元素结构。

字段名类型描述
SceneIdString场景ID
SceneNameString场景名称
SceneGroupIdString所属场景组ID
SceneGroupNameString所属场景组名称
DeviceSnString绑定设备序列号
DeviceNameString绑定设备名称
ScenarioStrategyScenarioStrategy场景策略
VerifyRuleIdListArray of String关联的核验规则ID列表
CreatedTimeTimestamp创建时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
UpdatedTimeTimestamp最后更新时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
DescribeSceneGroupListResponseSceneGroupItem

查询场景组列表(DescribeSceneGroupList)接口输出参数 SceneGroupList 的元素结构。

字段名类型描述
SceneGroupIdString场景组ID
SceneGroupNameString场景组名称
ParentSceneGroupIdString父级场景组ID,顶级场景组该值为"0"
ParentSceneGroupNameString父级场景组名称,顶级场景组该值为空
SceneCountInteger直属子场景数量
ChildGroupCountInteger直属子场景组数量
CreatedTimeTimestamp创建时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
UpdatedTimeTimestamp最后更新时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。

核验记录接口

DescribeVerificationRecordListResponseVerificationRecord

查询核验记录列表(DescribeVerificationRecordList)接口输出参数 VerificationRecordList 的元素结构。

字段名类型描述
UserIdString用户ID
UserNameString用户名
VerificationTimeTimestamp核验时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
VerificationMediumVerificationMedium核验介质
DeviceSnString设备SN
SceneIdString场景ID
SceneNameString场景名称
VerifierIdString核验人ID
VerifierNameString核验人名
SceneGroupIdString场景组ID
SceneGroupNameString场景组名称

核验规则接口

DescribeVerifyRuleListResponseVerifyRuleItem

查询核验规则列表(DescribeVerifyRuleList)接口输出参数 VerifyRuleList 的元素结构。

字段名类型描述
VerifyRuleIdString核验规则全局唯一ID
VerifyRuleNameString核验规则名称
EnableTimeRuleBoolean是否启用时间规则
TimeRuleTimeRule时间规则,参见 TimeRule 结构
EnableUserRuleBoolean是否启用用户规则
UserRuleUserRule用户规则,参见 UserRule 结构
EnableWebhookRuleBoolean是否启用Webhook规则
BindSceneIdListArray of String绑定场景ID列表
CreatedTimeTimestamp创建时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
UpdatedTimeTimestamp最后更新时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。

枚举类型

PalmState

手掌状态。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
unregistered未录掌
pre_registered预录入
registered已录掌
abnormal异常

UserState

返回类型:字符串,取值为下表枚举值名称。
用户状态表示用户两只手掌分别的状态,不区分预录掌。

枚举值描述
user_state_unspecified未指定
both_unregistered未注册(Unregistered): 双掌均未注册过
not_activated未激活(Not Activated): 空开录掌后,无激活的手掌
user_state_abnormal异常(Abnormal): 用户状态异常(至少一掌异常,且无激活掌)
left_valid左掌可用(Left Valid): 右掌非激活状态下左掌激活
right_valid右掌可用(Right Valid): 左掌非激活状态下右掌激活
both_valid双掌可用(Both Valid): 双掌都是激活状态

VerificationMedium

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
verification_medium_unspecified未指定介质
palm刷掌
card刷卡
code刷码

NotifyQrCodeScanEventRequestQrCodeScanEventType

扫码事件类型。扫码事件通知(NotifyQrCodeScanEvent)接口输入参数 EventType 的取值。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
qrcode_scan_event_type_unspecified事件类型未指定,等同于 scanned
scanned用户已扫码

DayOfWeek

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
NONE未指定
MONDAY周一
TUESDAY周二
WEDNESDAY周三
THURSDAY周四
FRIDAY周五
SATURDAY周六
SUNDAY周日

ScenarioStrategy

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
Default默认
DemoOnDeviceRecognition100演示端侧识别百人 100 User Demo On-device Recognition
AccessOnDeviceRecognition50k门禁端侧识别五万人 50k User Access Control On-device Recognition
EKYCCloudRecognition1M核身纯云端识别百万人 1M User eKYC Cloud Recognition
EKYCHybridRecognition1M核身端云识别百万人 1M User eKYC Hybrid Recognition

RegisterType

注册类型。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
register_type_unspecified注册类型未指定
device设备注册
mobile手机注册

PalmDirection

掌纹方向。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
palm_direction_unspecified掌纹方向未指定
left左手
right右手

AdditionalVerifyMethod

加验方式。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
additional_verify_method_unspecified未指定,兜底走手机号后四位
phone_no手机号后四位
custom_field自定义字段数字验证
qr_code二维码滴码验证

DeviceStatus

设备状态。

返回类型:整数,取值为下表枚举值。

枚举值描述
0设备状态未指定
1在线
2离线

VerificationRecordOrderField

核验记录排序字段。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
verification_record_order_field_unspecified未指定
verification_time核验时间

SortOrder

排序方向。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
sort_order_unspecified未指定
asc升序
desc降序

ImageType

图片类型。

返回类型:整数,取值为下表枚举值。

枚举值描述
1Rgb
2Ir

PalmPaasPalmDirection

手掌方向。

返回类型:整数,取值为下表枚举值。

枚举值描述
1左手
2右手

FeatureType

特征类型。

返回类型:整数,取值为下表枚举值。

枚举值描述
1float32
2int8
3int7

PalmStatus

掌纹数据状态。

返回类型:整数,取值为下表枚举值。

枚举值描述
1正常
2已删除

PalmPaasOperation

操作类型。

返回类型:整数,取值为下表枚举值。

枚举值描述
1创建
2更新
3删除

PalmPaasPalmState

手掌状态。

返回类型:整数,取值为下表枚举值。

枚举值描述
1待采集,用户存在但未录掌状态
2待激活,用户开通了空中开掌但还未绑定手掌
3已激活,用户已经通过线下设备绑定了手掌
100首次注册,等待加验
101高相似状态
102用户发生了误绑
103用户开启了空中开掌,但其他用户绑掌时在空中开掌搜到了该用户

PalmPaasRegisterType

注册类型。

返回类型:整数,取值为下表枚举值。

枚举值描述
0未指定
1设备注册
2手机注册

HasMoreType

是否有更多数据。

返回类型:整数,取值为下表枚举值。

枚举值描述
1没有更多数据
2还有更多数据

AlgorithmStrategy

算法策略类型。Standard版支持策略A、B;Max版支持策略A、B、C、D。

返回类型:整数,取值为下表枚举值。

枚举值描述
0未指定,默认值
1策略A:演示体验端侧识别百人
2策略B:门禁考勤端侧识别万人
3策略C:核身纯云端识别百万人
4策略D:核身端云识别百万人

VerifyType

加验类型。

返回类型:整数,取值为下表枚举值。

枚举值描述
0未指定,默认值
1高相似加验
2不满足第一级阈值,但满足第二级阈值,且辅助底图比对阈值不通过
3空中开掌加验
4新注册类型加验

VerifyResult

加验结果。用户加验(Verify)接口输入参数 VerifyResult 的取值。

返回类型:整数,取值为下表枚举值。

枚举值描述
0未指定,默认值
1成功
2失败

GrantType

授权类型。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
grant_type_unspecified未指定,默认等同于 client_credential_user
client_credential_user适用于第三方平台接入空中开掌SDK场景,此时必须同时传入UserId字段
client_credential适用于普通服务端调用开放接口场景,UserId字段无需传入。调用刷掌业务平台开放接口时必须使用此类型

QrCodeScanState

二维码扫码状态。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
pending等待扫码
scanned已扫码,等待填写信息
success扫码录掌成功
failed扫码录掌失败
expired扫码录掌二维码会话过期

ResponseFormat

响应数据格式。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
metadata返回元数据(默认、推荐),返回除 SessionUrl 和 SessionImage 之外的其他字段
url返回二维码URL,返回 SessionId、ExpireTime 和 SessionUrl
image返回二维码图片(PNG),返回 SessionId、ExpireTime 和 SessionImage

QrCodeSessionType

二维码会话用途。

返回类型:字符串,取值为下表枚举值名称。

枚举值描述
scan_register扫码录掌:设备生成二维码 → 用户扫码 → 录掌绑定
tap_register滴码录掌:APP生成二维码(携带用户信息)→ 设备扫码 → 录掌绑定
tap_verify滴码加验:APP生成二维码(携带用户信息)→ 设备扫码 → 身份验证

通用结构

Error

名称类型描述
CodeString错误码
MessageString错误信息

错误码

功能说明

如果返回结果中存在 Error 字段,则表示调用 API 接口失败。例如:

{
"Response": {
"Error": {
"Code": "AuthFailure.SignatureFailure",
"Message": "The provided credentials could not be validated. Please check your signature is correct."
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

Error 中的 Code 表示错误码,Message 表示该错误的具体信息。

公共错误码

错误码说明
InvalidParameter参数错误(包括参数格式、类型等错误)
InvalidParameterValue参数取值错误
MissingParameter缺少参数错误,必传参数没填
UnknownParameter未知参数错误,用户多传未定义的参数会导致错误
AuthFailureCAM签名/鉴权错误
InternalError内部错误。业务必须统一采用InternalError或者InternalError.xxx形式表示内部错误
InvalidAction接口不存在
UnauthorizedOperation未授权操作
RequestLimitExceeded请求的次数超过了频率限制
NoSuchVersion接口版本不存在
UnsupportedRegion接口不支持所传地域
UnsupportedOperation操作不支持
ResourceNotFound资源不存在
LimitExceeded超过配额限制
ResourceUnavailable资源不可用
ResourceInsufficient资源不足
ResourceExhausted资源配额不足或达到速率限制
FailedOperation操作失败
ResourceInUse资源被占用
DryRunOperationDryRun操作,代表请求将会是成功的,只是多传了DryRun参数
ResourcesSoldOut资源售罄
OperationDenied操作被拒绝

业务错误码

错误码说明
InvalidParameterValue.FiltersLimitExceedFilters数量超过限制
InvalidParameterValue.PageLimitExceed分页参数超过限制
InvalidParameterValue.PageTokenExpired分页令牌已过期
InvalidParameterValue.PageTokenSignatureFailure分页令牌签名验证失败
InvalidParameterValue.PageTokenQueryMismatch分页令牌查询条件不匹配
ResourceNotFound.TenantNotFound指定的租户不存在,或您无权访问该租户
InvalidParameterValue.UserIdEmpty用户ID为空
InvalidParameterValue.UserIdLengthNotAllowed用户ID长度不满足限制
InvalidParameterValue.UserIdShouldOnlyContainLettersAndDigits用户ID只能包含字母和数字
InvalidParameterValue.UserIdShouldOnlyContainGraphicsAscii用户ID只能包含ASCII图形字符(ASCII范围:33-126)
InvalidParameterValue.UserNameEmpty用户名称为空
InvalidParameterValue.UserNameLengthNotAllowed用户名称长度不满足限制
InvalidParameterValue.UserNameOrPasswordEmpty用户名称或密码为空
InvalidParameterValue.PhoneNoEmpty手机号为空
InvalidParameterValue.PhoneNoLengthNotAllowed手机号长度不满足限制
InvalidParameterValue.InvalidPhoneNo手机号格式不正确
InvalidParameterValue.PhysicalCardNoLengthNotAllowed物理卡号长度不满足限制
InvalidParameterValue.PhysicalCardNoShouldOnlyContainLettersAndDigits物理卡号只能包含字母和数字
InvalidParameterValue.PalmIdEmpty掌纹ID为空
InvalidParameterValue.SessionIdEmpty会话ID为空
InvalidParameterValue.SessionIdLengthNotAllowed会话ID长度不满足限制
InvalidParameterValue.SessionNotExist会话不存在
InvalidParameterValue.InvalidUserId用户ID格式不正确,只能包含数字字母和连字符
InvalidParameterValue.RegisterTypeNotAllowed注册类型不满足限制
InvalidParameterValue.UserTagIdEmpty用户标签ID为空
InvalidParameterValue.UserTagIdLengthNotAllowed用户标签ID长度不满足限制
InvalidParameterValue.InvalidUserTagId用户标签ID格式不正确
InvalidParameterValue.UserTagNameEmpty用户标签名称为空
InvalidParameterValue.UserTagNameLengthNotAllowed用户标签名称长度不满足限制
InvalidParameterValue.DeviceSnEmpty设备SN为空
InvalidParameterValue.DeviceSnLengthNotAllowed设备SN长度不满足限制
InvalidParameterValue.DeviceSnShouldOnlyContainLettersAndDigits设备SN只能包含字母和数字
InvalidParameterValue.InvalidDeviceSn设备SN格式不正确
InvalidParameterValue.DeviceNameEmpty设备名称为空
InvalidParameterValue.DeviceNameLengthNotAllowed设备名称长度不满足限制
InvalidParameterValue.ErrDeviceNameInvalid设备名称格式不正确
InvalidParameterValue.SceneIdEmpty场景ID为空
InvalidParameterValue.SceneIdLengthNotAllowed场景ID长度不满足限制
InvalidParameterValue.SceneIdShouldOnlyContainLettersAndDigits场景ID只能包含字母和数字
InvalidParameterValue.InvalidSceneId场景ID格式不正确
InvalidParameterValue.SceneNameEmpty场景名称为空
InvalidParameterValue.SceneNameLengthNotAllowed场景名称长度不满足限制
InvalidParameterValue.SceneGroupIdEmpty场景组ID为空
InvalidParameterValue.SceneGroupIdLengthNotAllowed场景组ID长度不满足限制
InvalidParameterValue.SceneGroupIdShouldOnlyContainLettersAndDigits场景组ID只能包含字母和数字
InvalidParameterValue.InvalidSceneGroupId场景组ID格式不正确
InvalidParameterValue.SceneGroupNameEmpty场景组名称为空
InvalidParameterValue.SceneGroupNameLengthNotAllowed场景组名称长度不满足限制
InvalidParameterValue.VerifierIdEmpty核验人ID为空
InvalidParameterValue.VerifierIdLengthNotAllowed核验人ID长度不满足限制
InvalidParameterValue.VerifierIdShouldOnlyContainLettersAndDigits核验人ID只能包含字母和数字
InvalidParameterValue.InvalidVerifierId核验人ID格式不正确
InvalidParameterValue.VerifierNameEmpty核验人名称为空
InvalidParameterValue.VerifierNameLengthNotAllowed核验人名称长度不满足限制
InvalidParameterValue.QrCodeScanSessionIdEmpty扫码录掌会话ID为空
InvalidParameterValue.QrCodeScanSessionTtlNotAllowed扫码录掌会话期望生命周期不满足限制
FailedOperation.UserNotExist用户不存在
FailedOperation.UserAlreadyExists用户已存在
FailedOperation.UserIdAlreadyExists用户ID已存在
FailedOperation.PhoneNoAlreadyExists手机号已存在
FailedOperation.UserPalmAlreadyBound用户手掌已绑定
FailedOperation.SceneNotExist场景不存在
FailedOperation.SceneAlreadyExists场景已存在
FailedOperation.SceneGroupNotExist场景组不存在
FailedOperation.SceneGroupAlreadyExists场景组已存在
FailedOperation.DuplicateSceneNameInSceneGroup场景组内场景名称重复
FailedOperation.DuplicateSceneGroupNameInSceneGroup场景组内场景组名称重复
FailedOperation.DeviceSceneBindingLimitExceeded设备场景绑定超过限制
FailedOperation.QrCodeExpired扫描录掌二维码已过期
FailedOperation.QrCodeFinished扫描录掌二维码已被使用
FailedOperation.QrCodeStatusInvalid扫描录掌二维码状态无效
FailedOperation.BindPalmUserIdAndUserNameNotMatch绑定掌纹用户ID与用户名不匹配
FailedOperation.VerifyRuleAlreadyExist核验规则已存在
FailedOperation.VerifyRuleNotExist核验规则不存在
FailedOperation.DeviceNotExist设备不存在
FailedOperation.DeviceAlreadyExists设备已存在
FailedOperation.DeviceCannotBeDeletedWhenBindWithScene设备绑定场景时不允许删除
FailedOperation.DeviceNotBoundWithScene设备未绑定场景
FailedOperation.UserTagNotExist用户标签不存在
FailedOperation.UserTagAlreadyExists用户标签已存在
FailedOperation.UserTagNameAlreadyExists用户标签名称已存在
InternalError.GetPaaSChannelFailed获取PaaS渠道失败
InternalError.UpdateUserPalmFailed更新用户手掌失败
InternalError.CreateUserTokenFailed创建用户Token失败
InternalError.BindUserPalmByPaaSChannelFailed通过PaaS渠道绑定用户手掌失败
InternalError.DeleteUserPalmByPaaSChannelFailed通过PaaS渠道删除用户手掌失败
InternalError.DescribeUserPalmByPaaSChannelFailed通过PaaS渠道查询用户手掌失败
InternalError.CreateAccessTokenFailed创建开放接口访问令牌失败
InternalError.CreateDeviceAccessTokenFailed创建开放接口设备访问令牌失败
InternalError.DescribeSecretKeyFailed查询开放接口访问密钥失败
FailedOperation.MemberNotExist成员不存在
FailedOperation.MemberAlreadyExists成员已存在
FailedOperation.MemberLoginExpired成员登录已过期
FailedOperation.NoAvailableVersion没有可用的版本
FailedOperation.UnknownImageType未知的图片类型
FailedOperation.PicInconsistent图片MD5不一致
FailedOperation.LivenessCheckNoPass活体检测失败
FailedOperation.QualityCheckNoPass质量检测失败
FailedOperation.LivenessWithVideoCheckNoPass活体视频检测失败
FailedOperation.PalmIdNoExistInCachepalmID不存在
FailedOperation.AlreadyBind已经绑定
FailedOperation.ThirdAuthFail鉴权失败
FailedOperation.NoFoundDataInDb数据库未查询到数据
FailedOperation.NoSearchUser在掌纹检索热库中未找到匹配用户
FailedOperation.UnknownVerifyType未知的验证类型
FailedOperation.TableCapacityFull系统容量不足
FailedOperation.VerifyUserIdNoMatch验证用户ID不匹配
FailedOperation.VerifyIdExpire验证ID过期
FailedOperation.PalmIdAlreadyExistpalmID已经存在
FailedOperation.HighSimilarity存在高相似的手掌
FailedOperation.PalmCapacityFull用户的掌纹检索热库容量已达上限
FailedOperation.LiveImageAlreadyExist图片已存在
FailedOperation.QrCodeUserIdNotMatchSession扫码录掌用户ID与会话不匹配
LimitExceeded.VerifyRuleUserTagsExceedLimit核验规则关联标签数超过限制
LimitExceeded.VerifyRuleUsersExceedLimit核验规则关联用户数超过限制
FailedOperation.MemberDisabled成员已被禁用
OperationDenied.TenantDisabled租户已被禁用,无法登录
InvalidParameterValue.SmsCodeEmpty短信验证码为空
InvalidParameterValue.RefreshTokenEmpty刷新令牌为空
InvalidParameterValue.SmsCodeNotMatch短信验证码错误
InvalidParameterValue.PhoneNoNotMatch手机号与验证码会话不匹配
ResourceNotFound.SmsSessionNotExist验证码会话不存在或已过期
ResourceNotFound.RefreshTokenNotExist刷新令牌不存在或已过期
ResourceExhausted.SmsResendTooFrequent短信验证码发送过于频繁
ResourceExhausted.SmsMaxVerifyAttempts验证码尝试次数过多
FailedOperation.SmsSendFailed短信发送失败