跳到主要内容

腾讯刷掌服务端API接口文档

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

版本更新记录​

版本号发布日期更新内容
v2.5.02026-09-22新增接口
• 新增DescribeDeviceEmergencyStatus(查询设备紧急状态)接口,返回当前租户的紧急状态以及每台设备的紧急状态
• 新增SendEmergencyCommand(下发紧急控制指令)接口,支持对全部设备或指定SN列表下发 block(全闭)/ open(全开)/ reset_block(恢复全闭)/ reset_open(恢复全开)指令

接口参数变更
• LoginPalmMaSmsCode接口响应新增CheckError(校验错误)、UserIdList(用户ID列表,仅GrantType为client_credential_user时返回)字段

新增枚举与数据结构
• 新增EmergencyStatus枚举(紧急状态,int32序列化)
• 新增EmergencyCommandScope枚举(紧急指令作用范围,int32序列化)
• 新增SendEmergencyCommandRequestEmergencyCommandType枚举(SendEmergencyCommandRequest 内嵌,紧急指令类型:全闭/全开/恢复全闭/恢复全开,int32序列化)
• 新增LoginPalmMaSmsCodeResponseCheckError枚举(登录校验错误)
• 新增DescribeDeviceEmergencyStatusResponseDeviceEmergencyStatus、SendEmergencyCommandResponseFailedDevice数据结构
v2.4.02026-08-12新增接口
• 新增RegisterPalm(注册掌纹)接口,上传掌图创建掌纹并绑定到指定用户,双因子认证

接口参数变更
• CreatePalm接口IrImage参数描述从"红外图片数据"修正为"IR图片数据"
• SearchMobilePalm接口IrImage参数描述从"红外图片数据"修正为"IR图片数据"
• CreateUser、ModifyUser接口CustomFieldValue参数废弃,新增CustomFieldValueList参数(Array of CustomFieldValueItem),支持多项自定义加验字段配置
• DescribeUser接口响应CustomFieldValue字段废弃,新增CustomFieldValues字段(Array of CustomFieldValueItem)
• DescribeUserList接口新增SkipTotalCount(跳过总数统计)、SceneId(场景ID筛选)输入参数,响应新增HasMore字段
• DescribeVerificationRecordList接口新增Source(核验记录来源过滤)、SkipTotalCount(跳过总数统计)输入参数,响应新增HasMore字段,VerificationRecord结构新增Source、AccessDenied(核验结果)、Reason(核验描述)字段
• CreateVerificationRecord接口新增Source(核验记录来源)、AccessDenied(核验结果)、Reason(核验描述)输入参数
• DescribeVerificationRecord推送内容新增AccessDenied(核验结果)、Reason(核验描述)字段

新增枚举与数据结构
• 新增HighSimilarityResolutionStrategy枚举(注册手掌时检测到高相似度用户的处理策略:reject_with_error/reject_with_similar_users)
• 新增RegisterPalmResponseCheckError枚举(注册检查错误码:high_similarity_detected)
• 新增VerificationRecordSource枚举(核验记录来源:device/mobile/server/h5/wechat),枚举值web更名为h5、weixin更名为wechat,描述精简
• 新增CustomFieldValueItem公共数据结构(自定义加验字段值项)
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
DescribeDeviceEmergencyStatus查询设备紧急状态20
SendEmergencyCommand下发紧急控制指令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
RegisterPalm注册掌纹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-VersionString是API 版本号,目前固定为: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")

派生出的密钥 SecretDate、SecretService 和 SecretSigning 是二进制的数据,可能包含不可打印字符,将其转为十六进制字符串打印的输出分别为:
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 参数:

请求参数:

参数名称必选类型描述
PartialFailure否Boolean是否允许部分失败。设置为 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 创建成功
  • tag001 和 tag002 绑定成功
  • 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. 输入参数​

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

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

- client_credential:适用于普通服务端调用开放接口场景,即:
a. 此类型下不绑定具体用户,仅使用应用级密钥获取访问凭证;
b. UserId 字段无需传入。
UserId否String用户的身份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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribePalmLicense。
Version是String公共参数,本接口取值:2025-07-15。
AppId是Integer系统分配的产品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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:CreateUser。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。
UserName是String用户名称。
PhoneNo否String手机号(带区号),如“(+86)13800138000”,如未填写地区号,则默认“(+86)”。
PhysicalCardNo否String实体卡号,数字英文组合。
UserTagIdList否Array of String用户标签 ID 列表。
PartialFailure否Boolean是否允许部分失败。
CustomFieldValue否String已废弃,请使用CustomFieldValueList。
CustomFieldValueList否Array of CustomFieldValueItem自定义加验字段值列表。如果CustomFieldValue、CustomFieldValueList同传,以CustomFieldValueList为准。

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)13800138000",
"PhysicalCardNo": "CARD001",
"UserTagIdList": ["tag001", "tag002"],
"PartialFailure": true,
"CustomFieldValueList": [
{"FieldName": "工号", "FieldValue": "123456"}
]
}
输出示例​
{
"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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:ModifyUser。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。
UserName是String用户名称。
PhoneNo否String手机号(带区号),如“(+86)13800138000”,如未填写地区号,则默认“(+86)”。
PhysicalCardNo否String实体卡号,数字英文组合。
UserTagIdList否Array of String用户标签 ID 列表。
PartialFailure否Boolean是否允许部分失败。
CustomFieldValue否String已废弃,请使用CustomFieldValueList。
CustomFieldValueList否Array of CustomFieldValueItem全量自定义加验字段值列表。如果CustomFieldValue、CustomFieldValueList同传,以CustomFieldValueList为准。

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,
"CustomFieldValueList": [
{"FieldName": "工号", "FieldValue": "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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DeleteUser。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeUser。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。

3. 输出参数​

参数名称类型描述
UserIdString用户唯一标识。
UserNameString用户名称。
PhoneNoString手机号(带区号),如"(+86)13800138000",如未填写地区号,则默认"(+86)"。
PhysicalCardNoString实体卡号,数字英文组合。
UserTagListArray of DescribeUserResponseUserTag用户标签列表,参见 DescribeUserResponseUserTag 结构。
PalmDirectionPalmDirection掌方向,见 PalmDirection 枚举。
LeftPalmPalmInfo左掌录掌信息,参见 PalmInfo 结构。
RightPalmPalmInfo右掌录掌信息,参见 PalmInfo 结构。
CreateTimeTimestamp用户创建时间,RFC3339字符串格式,如"2025-07-03T09:30:15.500Z"。
UserStateUserState用户状态,见 UserState 枚举。
CustomFieldValueString已废弃,请使用CustomFieldValues。
CustomFieldValuesArray of CustomFieldValueItem全量自定义加验字段值列表。
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",
"CustomFieldValues": [
{"FieldName": "工号", "FieldValue": "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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeUserList。
Version是String公共参数,本接口取值:2025-07-15。
UserId否String用户唯一标识,支持模糊查询。
UserName否String用户名,支持模糊查询。
PhoneNo否String手机号,精确匹配。
PhysicalCardNo否String实体卡号,精确匹配。
PalmState否PalmState主掌录掌状态。
UserState否UserState用户状态。
UserTagId否String用户标签ID,筛选拥有指定标签的用户。
SceneId否String场景ID,筛选有该场景通行权限的用户。
Offset否Integer偏移量,默认0。
Limit否Integer返回数量,默认20,最大100。
SkipTotalCount否Boolean是否跳过总数统计。设为true时不返回TotalCount(避免慢查询),改为通过HasMore判断是否有下一页。

3. 输出参数​

参数名称类型描述
TotalCountInteger符合条件的用户数量。当请求SkipTotalCount=true时,此字段不返回。
UserListArray of DescribeUserListResponseUser用户列表,参见 DescribeUserListResponseUser 结构。
HasMoreBoolean是否有更多数据。当请求SkipTotalCount=true时,通过此字段判断是否有下一页。
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"
}
],
"HasMore": false,
"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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeUserAccessScope。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。
Offset否Integer偏移量,默认为0。
Limit否Integer返回数量,默认为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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeUserAccessScopeSummary。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:CreateUserTag。
Version是String公共参数,本接口取值:2025-07-15。
UserTagName是String用户标签名称。

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:ModifyUserTag。
Version是String公共参数,本接口取值:2025-07-15。
UserTagId是String用户标签唯一标识。
UserTagName是String用户标签名称。

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. 输入参数​

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

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. 输入参数​

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

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeUserTagList。
Version是String公共参数,本接口取值:2025-07-15。
UserTagName否String标签名称,支持模糊搜索。
Offset否Integer偏移量,默认0。
Limit否Integer返回数量,默认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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeUserTagTree。
Version是String公共参数,本接口取值:2025-07-15。
RootTagId否String根标签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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DeleteUserPalm。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。
PalmDirectionList否Array 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeUserPalm。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:CreateDevice。
Version是String公共参数,本接口取值:2025-07-15。
DeviceSn是String设备序列号。
DeviceName是String设备名称。

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:ModifyDevice。
Version是String公共参数,本接口取值:2025-07-15。
DeviceSn是String设备序列号。
DeviceName是String设备名称。

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DeleteDevice。
Version是String公共参数,本接口取值:2025-07-15。
DeviceSn是String设备序列号。

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeDevice。
Version是String公共参数,本接口取值:2025-07-15。
DeviceSn是String设备序列号。

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeDeviceList。
Version是String公共参数,本接口取值:2025-07-15。
DeviceSn否String设备序列号,精确匹配。
DeviceName否String设备名称,支持模糊搜索。
Status否DeviceStatus设备状态筛选。
SceneId否String场景ID,筛选绑定到指定场景的设备。
DeviceType否String设备类型,取值见术语表。
Offset否Integer偏移量,默认0。
Limit否Integer返回数量,默认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

接口说明:用于查询设备紧急状态。入参为设备SN列表(要求所有SN必须归属同一租户AppId),返回当前租户的紧急状态以及每台设备的紧急状态。空 SN 列表时仅返回处于紧急状态的设备。

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

2. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeDeviceEmergencyStatus。
Version是String公共参数,本接口取值:2025-07-15。
DeviceSnList否Array of String设备SN列表。若不为空则按SN精确查询对应设备的紧急状态,要求所有SN必须归属同一租户AppId,上限100;若为空则按分页方式返回当前租户下所有紧急状态的设备。
Offset否Integer偏移量,默认0。仅在 DeviceSnList 为空时生效。
Limit否Integer返回数量,默认20,最大100。仅在 DeviceSnList 为空时生效。

3. 输出参数​

参数名称类型描述
TenantEmergencyStatusEmergencyStatus当前租户的紧急状态,参见 EmergencyStatus 枚举。
DeviceEmergencyStatusListArray of DescribeDeviceEmergencyStatusResponseDeviceEmergencyStatus每台设备的紧急状态列表,参见 DescribeDeviceEmergencyStatusResponseDeviceEmergencyStatus 结构。
TotalCountInteger符合条件的设备总数。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例​

输入示例​
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: DescribeDeviceEmergencyStatus
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

{
"DeviceSnList": [
"SN001",
"SN002"
]
}
输出示例​
{
"Response": {
"TenantEmergencyStatus": 0,
"DeviceEmergencyStatusList": [
{
"DeviceSn": "SN001",
"EmergencyStatus": 1
},
{
"DeviceSn": "SN002",
"EmergencyStatus": 2
}
],
"TotalCount": 2,
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
错误输出示例​
{
"Response": {
"Error": {
"Code": "InvalidParameterValue",
"Message": "参数取值错误"
},
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}

下发紧急控制指令​

1. 接口描述​

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

接口说明:用于下发紧急控制指令,支持对全部设备或指定SN列表下发 block(全闭)/ open(全开)/ reset_block(恢复全闭)/ reset_open(恢复全开)指令。

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

2. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:SendEmergencyCommand。
Version是String公共参数,本接口取值:2025-07-15。
CommandType是SendEmergencyCommandRequestEmergencyCommandType指令类型,参见 SendEmergencyCommandRequestEmergencyCommandType 枚举。
Scope是EmergencyCommandScope作用范围,参见 EmergencyCommandScope 枚举。
DeviceSnList否Array of String设备SN列表。仅当 Scope 为 2(指定SN列表)时需要传入,要求所有SN必须归属同一租户AppId。
Reason是String操作原因。

3. 输出参数​

参数名称类型描述
FailedDeviceListArray of SendEmergencyCommandResponseFailedDevice下发失败的设备列表,参见 SendEmergencyCommandResponseFailedDevice 结构。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例​

输入示例​
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: SendEmergencyCommand
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

{
"CommandType": 1,
"Scope": 2,
"DeviceSnList": [
"SN001",
"SN002"
],
"Reason": "应急演练"
}
输出示例​
{
"Response": {
"FailedDeviceList": [
{
"DeviceSn": "SN002",
"ErrorMessage": "设备离线"
}
],
"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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:CreateScene。
Version是String公共参数,本接口取值:2025-07-15。
SceneName是String场景名称。
SceneGroupId是String场景组Id。
DeviceSn否String设备序列号。
VerifyRuleIdList否Array of String核验规则Id列表。
SceneId否String场景ID(可选,不传则自动生成)。
ScenarioStrategy是ScenarioStrategy场景策略,见 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:ModifyScene。
Version是String公共参数,本接口取值:2025-07-15。
SceneId是String场景Id。
SceneName是String场景名称。
DeviceSn否String设备序列号。
VerifyRuleIdList否Array of String核验规则Id列表。
ScenarioStrategy是ScenarioStrategy场景策略,见 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DeleteScene。
Version是String公共参数,本接口取值:2025-07-15。
SceneId是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: 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeScene。
Version是String公共参数,本接口取值:2025-07-15。
SceneId是String场景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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:CreateSceneGroup。
Version是String公共参数,本接口取值:2025-07-15。
SceneGroupName是String场景组名称。
ParentSceneGroupId是String父场景组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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:ModifySceneGroup。
Version是String公共参数,本接口取值:2025-07-15。
SceneGroupId是String场景组Id。
SceneGroupName是String场景组名称。

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DeleteSceneGroup。
Version是String公共参数,本接口取值:2025-07-15。
SceneGroupId是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: 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeSceneList。
Version是String公共参数,本接口取值:2025-07-15。
SceneIdList否Array of String场景ID列表,精确匹配,支持批量查询。
SceneName否String场景名称,支持模糊搜索。
SceneGroupId否String场景组ID,筛选属于指定场景组的场景。
DeviceSn否String设备序列号,精确匹配。
VerifyRuleId否String核验规则ID,筛选绑定了指定规则的场景。
Offset否Integer偏移量,默认0。
Limit否Integer返回数量,默认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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeSceneGroupList。
Version是String公共参数,本接口取值:2025-07-15。
SceneGroupIdList否Array of String场景组ID列表,精确匹配,支持批量查询。
SceneGroupName否String场景组名称,支持模糊搜索。
ParentSceneGroupId否String父级场景组ID。传入时仅返回该父级下的直属子场景组;不传则返回全部场景组。
Offset否Integer偏移量,默认0。
Limit否Integer返回数量,默认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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:CreateVerificationRecord。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户ID。
VerificationTime是Timestamp核验时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
VerificationMedium是VerificationMedium核验介质。
DeviceSn是String设备SN。
VerifierId否String核验人ID。
VerifierName否String核验人名。
Source否VerificationRecordSource核验记录来源,不传默认为设备端上报。
AccessDenied否Boolean核验结果是否被拒绝,仅在核验失败时返回(值为true)。
Reason否String核验描述。

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": "李四",
"Source": "device"
}
输出示例​
{
"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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeVerificationRecordList。
Version是String公共参数,本接口取值:2025-07-15。
UserId否String用户ID。
UserName否String用户名。
VerificationMedium否VerificationMedium核验介质。
DeviceSn否String设备SN。
SceneId否String场景ID。
StartTime否Timestamp核验开始时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
EndTime否Timestamp核验结束时间,RFC3339格式,如"2025-07-03T09:30:15.500Z"。
SceneGroupIds否Array of String场景组ID列表,精确匹配(含子场景组展开)。
SceneGroupName否String场景组名称,模糊搜索。
Offset否Integer偏移量,默认0。
Limit否Integer返回数量,默认20,最大100。
OrderBy否OrderBy排序条件,参见 OrderBy 结构。
Source否VerificationRecordSource核验记录来源过滤(可选)。
SkipTotalCount否Boolean是否跳过总数统计。设为true时不返回TotalCount(避免慢查询),改为通过HasMore判断是否有下一页。

3. 输出参数​

参数名称类型描述
TotalCountInteger符合条件的核验记录数量。当请求SkipTotalCount=true时,此字段不返回。
VerificationRecordListArray of DescribeVerificationRecordListResponseVerificationRecord核验记录列表,参见 DescribeVerificationRecordListResponseVerificationRecord 结构。
HasMoreBoolean是否有更多数据。当请求SkipTotalCount=true时,通过此字段判断是否有下一页。
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": "李四",
"Source": "device",
"Reason": ""
},
{
"UserId": "user001",
"UserName": "张三",
"VerificationTime": "2024-06-11T18:30:00+08:00",
"VerificationMedium": "palm",
"DeviceSn": "device002",
"SceneId": "scene002",
"SceneName": "深圳南山门禁2号",
"VerifierId": "verifier002",
"VerifierName": "王五",
"Source": "device",
"AccessDenied": true,
"Reason": "不在通行时间段内"
}
],
"HasMore": false,
"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核验人名
AccessDeniedBoolean核验结果是否被拒绝,false表示核验成功,true表示核验失败
ReasonString核验描述
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": "李四",
"AccessDenied": false,
"Reason": "",
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}

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


核验规则相关接口​

创建核验规则​

1. 接口描述​

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

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

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

2. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:CreateVerifyRule。
Version是String公共参数,本接口取值:2025-07-15。
VerifyRuleName是String核验规则名称。
EnableTimeRule是Boolean是否启用时间规则,false表示不启用,true表示启用。
TimeRule否TimeRule时间规则,启用时间规则时需配置,参见 TimeRule 结构。
EnableUserRule是Boolean是否启用用户规则,false表示所有用户,true表示指定用户。
UserRule否UserRule用户规则,启用用户规则时需配置,参见 UserRule 结构。
EnableWebhookRule否Boolean是否启用Webhook规则,可选,不传默认为true。
BindSceneIdList否Array 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:ModifyVerifyRule。
Version是String公共参数,本接口取值:2025-07-15。
VerifyRuleId是String核验规则全局唯一ID。
VerifyRuleName是String核验规则名称。
EnableTimeRule是Boolean是否启用时间规则。
TimeRule否TimeRule时间规则,参见 TimeRule 结构。
EnableUserRule是Boolean是否启用用户规则。
UserRule否UserRule用户规则,参见 UserRule 结构。
EnableWebhookRule是Boolean是否启用Webhook规则。
BindSceneIdList否Array 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DeleteVerifyRule。
Version是String公共参数,本接口取值:2025-07-15。
VerifyRuleId是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: 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeVerifyRule。
Version是String公共参数,本接口取值:2025-07-15。
VerifyRuleId是String核验规则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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeVerifyRuleList。
Version是String公共参数,本接口取值:2025-07-15。
VerifyRuleIdList否Array of String核验规则ID列表,精确匹配,支持批量查询。
VerifyRuleName否String核验规则名称,支持模糊搜索。
Offset否Integer偏移量,默认0。
Limit否Integer返回数量,默认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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:NotifyQrCodeScanEvent。
Version是String公共参数,本接口取值:2025-07-15。
SessionId是String会话ID
EventType否NotifyQrCodeScanEventRequestQrCodeScanEventType事件类型,参见 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:BindQrCodeScanPalm。
Version是String公共参数,本接口取值:2025-07-15。
SessionId是String会话ID
UserId是String用户唯一标识
UserName是String用户名称
ReplacePalm否Boolean是否替换手掌

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeQrCodeScanUser。
Version是String公共参数,本接口取值:2025-07-15。
SessionId是String会话ID
UserId是String用户唯一标识

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. 输入参数​

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

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeQrCodeScanSession。
Version是String公共参数,本接口取值:2025-07-15。
SessionId是String会话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. 输入参数​

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

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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:LoginPalmMaSmsCode。
Version是String公共参数,本接口取值:2025-07-15。
SmsCode否String短信验证码(每次都需要验证,验证码只能使用一次)。若部署时未配置短信能力,则无需传入该字段。
SessionId否String发送验证码时返回的SessionId(一次性使用,验证成功后立即失效)。若部署时未配置短信能力,则无需传入该字段。
UserId是String用户ID。
PhoneNo否String手机号(带区号),用于与后台用户绑定的手机号校验,不传则跳过校验。
GrantType否GrantType授权类型。
调用刷掌业务平台开放接口时,必须使用 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"。
CheckErrorLoginPalmMaSmsCodeResponseCheckError校验错误,参见 LoginPalmMaSmsCodeResponseCheckError 枚举。默认值 check_error_unspecified 表示通过。
UserIdListArray of String用户ID列表(脱敏处理),仅当 GrantType 为 client_credential_user 时返回。
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",
"CheckError": "check_error_unspecified",
"UserIdList": [
"user001"
],
"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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:CreatePalm。
Version是String公共参数,本接口取值:2025-07-15。
RgbImage是ImageRgb图片数据,参见 Image 结构。
IrImage是ImageIR图片数据,参见 Image 结构。
PalmDirection是PalmPaasPalmDirection手掌方向,参见 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:BindPalm。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。
PalmId是String掌纹Id。
IsForce否Boolean是否强制换绑。
AlgorithmStrategy否AlgorithmStrategy算法策略类型,参见 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

接口说明:上传掌图创建掌纹并绑定到指定用户,双因子认证。

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

2. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:RegisterPalm。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。
RgbImage是ImageRgb图片数据,参见 Image 结构。
IrImage是ImageIR图片数据,参见 Image 结构。
PalmDirection是PalmPaasPalmDirection手掌方向,参见 PalmPaasPalmDirection 枚举。
IsForce否Boolean是否强制换绑。
AlgorithmStrategy否AlgorithmStrategy算法策略类型,参见 AlgorithmStrategy 枚举。
HighSimilarityResolutionStrategy否HighSimilarityResolutionStrategy注册手掌时检测到高相似度用户的处理策略,参见 HighSimilarityResolutionStrategy 枚举。

3. 输出参数​

参数名称类型描述
PalmIdString用户的掌纹Id。若用户已绑定掌纹信息,系统将自动更新现有掌纹数据(原掌纹Id保持不变),并返回该用户已注册的掌纹Id。
CheckErrorsArray of Integer注册检查错误列表,参见 RegisterPalmResponseCheckError 枚举。为空表示注册成功;非空表示注册被拒绝。仅当 HighSimilarityResolutionStrategy = 2(REJECT_WITH_SIMILAR_USERS)时,通过此字段返回拒绝原因而非错误。
HighSimilarityUserIdListArray of String高相似度用户ID列表。当 CheckErrors 包含 1(HIGH_SIMILARITY_DETECTED)时有值。
RequestIdString唯一请求 ID,每次请求都会返回。

4. 示例​

输入示例​
POST / HTTP/1.1
Host: open.intl.palm.tencent.com
Content-Type: application/json; charset=utf-8
X-TC-Action: RegisterPalm
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",
"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,
"IsForce": false,
"AlgorithmStrategy": 2,
"HighSimilarityResolutionStrategy": 2
}
输出示例​
{
"Response": {
"PalmId": "8db884f9-1fb8-44f5-bdaa-f98fdcb3cd47",
"CheckErrors": [],
"HighSimilarityUserIdList": [],
"RequestId": "d6a4c45b-d30f-49c8-a724-ecc37d0f0c42"
}
}
输出示例(注册被拒绝,返回高相似用户)​
{
"Response": {
"PalmId": "",
"CheckErrors": [1],
"HighSimilarityUserIdList": ["user002", "user003"],
"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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:SearchMobilePalm。
Version是String公共参数,本接口取值:2025-07-15。
ProductVersion否String刷掌产品算法版本,由对接产品提供,例如v20250715。
RgbImage是ImageRgb图片数据,参见 Image 结构。
IrImage否ImageIR图片数据,用于后续的加验通过后补充到掌库,参见 Image 结构。
PalmDirection是PalmPaasPalmDirection手掌方向,参见 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:Verify。
Version是String公共参数,本接口取值:2025-07-15。
VerifyId是String加验Id,来源:SearchMobilePalm返回的VerifyInfo.VerifyId。
UserId是String加验的用户唯一标识。
VerifyResult是VerifyResult加验结果,参见 VerifyResult 枚举。
AlgorithmStrategy否AlgorithmStrategy算法策略类型,参见 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DeletePalm。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。
PalmDirectionList是Array 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribePalm。
Version是String公共参数,本接口取值:2025-07-15。
UserId是String用户唯一标识。
UserToken否String用户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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:SynchronizePalmFeature。
Version是String公共参数,本接口取值:2025-07-15。
ProductVersion是String需要同步的产品版本,比如v20250715,该版本号需要和设备上的版本号匹配。
QueryPosition是String当前同步的位置。首次填空字符串,下一次使用响应里面的QueryPosition数据。
DeviceId是String设备Id。目前的作用仅仅用于排查问题。
DisableFeature否Boolean禁止返回feature值,默认为false返回,为true不返回。
Operations否Array 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. 输入参数​

参数名称必选类型描述
Action是String公共参数,本接口取值:DescribeVersionList。
Version是String公共参数,本接口取值:2025-07-15。
ProductName是String产品名,标准版固定填: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原产品名称。

CustomFieldValueItem​

用户维度的自定义加验字段值项。

名称类型描述
FieldNameString字段名称,与租户加验配置中的 FieldName 对齐
FieldValueString用户在该字段上填写的实际值(纯数字)

接口专属结构​

掌纹管理接口​

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用户状态
AccessScopeSummaryAccessScopeSummary可通行范围摘要
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"。
DescribeDeviceEmergencyStatusResponseDeviceEmergencyStatus​

查询设备紧急状态(DescribeDeviceEmergencyStatus)接口输出参数 DeviceEmergencyStatusList 的元素结构。

字段名类型描述
DeviceSnString设备序列号
EmergencyStatusEmergencyStatus设备紧急状态,参见 EmergencyStatus 枚举
SendEmergencyCommandResponseFailedDevice​

下发紧急控制指令(SendEmergencyCommand)接口输出参数 FailedDeviceList 的元素结构。

字段名类型描述
DeviceSnString设备序列号
ErrorMessageString失败原因

场景管理接口​

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场景组名称
SourceVerificationRecordSource核验记录来源
AccessDeniedBoolean核验结果是否被拒绝,仅在核验失败时返回(值为true)
ReasonString核验描述

核验规则接口​

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二维码滴码验证

VerificationRecordSource​

核验记录来源。

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

枚举值描述
verification_record_source_unspecified未指定来源
device设备端上报
mobile手机端上报
server服务端上报
h5H5上报
wechat微信小程序上报

DeviceStatus​

设备状态。

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

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

EmergencyStatus​

紧急状态,顶级独立枚举。查询设备紧急状态(DescribeDeviceEmergencyStatus)接口输出参数 TenantEmergencyStatus、DeviceEmergencyStatusList[i].EmergencyStatus 的取值。

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

枚举值描述
0紧急状态未指定(正常状态)
1紧急封锁
2紧急开放

EmergencyCommandScope​

紧急指令作用范围,顶级独立枚举。下发紧急控制指令(SendEmergencyCommand)接口输入参数 Scope 的取值。

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

枚举值描述
0作用范围未指定
1全部设备
2指定SN列表

SendEmergencyCommandRequestEmergencyCommandType​

紧急指令类型,SendEmergencyCommandRequest 内嵌枚举。下发紧急控制指令(SendEmergencyCommand)接口输入参数 CommandType 的取值。

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

枚举值描述
0紧急指令操作类型未指定
1全闭(block)
2全开(open)
3恢复全闭(reset_block)
4恢复全开(reset_open)

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:核身端云识别百万人

HighSimilarityResolutionStrategy​

注册手掌时检测到高相似度用户的处理策略。

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

枚举值描述
0未指定,默认行为:直接拒绝注册并返回错误
1拒绝注册,返回错误
2拒绝注册,不返回错误,在响应中返回高相似用户ID列表供调用方决策

RegisterPalmResponseCheckError​

注册检查错误码,RegisterPalmResponse 内嵌枚举。注册掌纹(RegisterPalm)接口输出参数 CheckErrors 的取值。

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

枚举值描述
0未指定
1检测到高相似度用户

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字段无需传入。调用刷掌业务平台开放接口时必须使用此类型

LoginPalmMaSmsCodeResponseCheckError​

登录校验错误。短信验证码登录(LoginPalmMaSmsCode)接口输出参数 CheckError 的取值。

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

枚举值描述
check_error_unspecified未指定,默认值通过
phone_already_bind手机号已绑定用户

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短信发送失败