有奖:语音产品征文挑战赛火热进行中> HOT
文档中心 > API 中心 > 分布式身份 > 凭证相关接口 > 创建选择性披露可验证凭证

1. 接口描述

接口请求域名: tdid.tencentcloudapi.com 。

根据披露策略创建选择性披露凭证

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

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateDisclosedCredential。
Version String 公共参数,本接口取值:2021-05-19。
Region String 公共参数,详见产品支持的 地域列表
PolicyId Integer 披露策略id,PolicyJson和PolicyId任选其一
示例值:2000000
CredentialData String 凭证文本内容,FunctionArg和CredentialText任选其一
示例值:credential
PolicyJson String 披露策略文本
示例值:{"age":1}
DAPId Integer DID应用ID
示例值:1

3. 输出参数

参数名称 类型 描述
CredentialData String 凭证字符串
示例值:{}
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建选择性披露凭证

根据批量策略把可验证凭证转换成选择性披露凭证

输入示例

POST / HTTP/1.1
Host: tdid.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateDisclosedCredential
<公共请求参数>

{
    "DAPId": 41,
    "CredentialData": "{\"claim\":{\"action\":\"SetCredentialStatus\",\"credentialStatus\":{\"credentialId\":\"0d8062f09bff4eb5b9697d1de28eebda\",\"issuer\":\"did:tdid:w1:0x9b38e2d3bb358e1ceb8d7dd902585a53a5158844\",\"status\":0},\"orignCredential\":\"test\"},\"context\":\"https://github.com/TencentCloud-Blockchain/TDID/blob/main/context/v1\",\"CPTId\":1,\"expirationDate\":1656487500,\"id\":\"7c9c02bedace4a23be8885df6c4ead92\",\"issuanceDate\":1652410271,\"issuer\":\"did:tdid:w1:0x9b38e2d3bb358e1ceb8d7dd902585a53a5158844\",\"proof\":{\"created\":1652410271,\"creator\":\"did:tdid:w1:0x9b38e2d3bb358e1ceb8d7dd902585a53a5158844#keys-0\",\"salt\":{\"action\":\"dton2\",\"credentialStatus\":{\"credentialId\":\"LSJS0\",\"issuer\":\"HLeve\",\"status\":\"84HbY\"},\"orignCredential\":\"si5ML\"},\"signatureValue\":\"MEUCIFRUY/kghz/EhMmyEwbepfgyDS2o2dEjzvxO3hkU6Qi+AiEAkOnO5QV3Nl4NpyKUprioYvBJKAPvf7dFQO5QACoUq1I=\",\"type\":\"Sm2p256v1\"},\"type\":[\"VerifiableCredential\",\"original\",\"OperateCredential\"]}",
    "PolicyJson": "{\"orignCredential\": 0, \"action\": 1, \"credentialStatus\": {\"credentialId\":1}}"
}

输出示例

{
    "Response": {
        "CredentialData": "{\"claim\":{\"action\":\"SetCredentialStatus\",\"credentialStatus\":{\"credentialId\":\"0d8062f09bff4eb5b9697d1de28eebda\",\"issuer\":\"0xc3d893f67c506250ca69c355e4ee839b6c3199713249458a1248efbb948203dd\",\"status\":\"0x1b048d72a2479a229907d35c34ba69f8c65550daee1cb41cc1217d7e4a6850b9\"},\"orignCredential\":\"0xec55ac16ba42d6e2e9d4e6e7e78b3ca5a639cab555ed175c03b955b9dd109b53\"},\"context\":\"https://github.com/TencentCloud-Blockchain/TDID/blob/main/context/v1\",\"CPTId\":1,\"credentialType\":\"ORIGINAL\",\"expirationDate\":1656487500,\"hash\":\"0xfa21d5cc9b1c01d36801092177b341a4381ca2f07dae94e570e35f962c14b220\",\"id\":\"7c9c02bedace4a23be8885df6c4ead92\",\"issuanceDate\":1652410271,\"issuer\":\"did:tdid:w1:0x9b38e2d3bb358e1ceb8d7dd902585a53a5158844\",\"proof\":{\"created\":1652410271,\"creator\":\"did:tdid:w1:0x9b38e2d3bb358e1ceb8d7dd902585a53a5158844#keys-0\",\"salt\":{\"action\":\"dton2\",\"credentialStatus\":{\"credentialId\":\"LSJS0\",\"issuer\":\"0\",\"status\":\"0\"},\"orignCredential\":\"0\"},\"signatureValue\":\"MEUCIFRUY/kghz/EhMmyEwbepfgyDS2o2dEjzvxO3hkU6Qi+AiEAkOnO5QV3Nl4NpyKUprioYvBJKAPvf7dFQO5QACoUq1I=\",\"type\":\"Sm2p256v1\"},\"proofType\":\"Sm2p256v1\",\"type\":[\"VerifiableCredential\",\"original\",\"OperateCredential\"]}",
        "RequestId": "41a9acae-cef4-4949-b144-48c65ad5e425"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
Cam.InvalidAuth CAM鉴权失败
Credential.CPTNotExisted 凭证模板不存在
Credential.CredentialExpired 凭证过期:<%ExtMsg%>
Credential.FailedCreatePresentation 创建凭证表达失败
Credential.HolderDidNotMatch 凭证持有人DID不匹配,请确认后重新操作:<%ExtMsg%>
Credential.InvalidCRDLId 无效的凭证ID,请确认后重新操作:<%ExtMsg%>
Credential.InvalidCRDLIssuer 无效的凭证颁发者,请确认后重新操作
Credential.InvalidClaim 无效的凭证声明,请确认声明格式:<%ExtMsg%>
Credential.InvalidDisclosurePolicy 无效的选择性披露策略,请确认后重新操作:<%ExtMsg%>
Credential.InvalidOperateClaim 无效的操作类型声明,请确认后重新操作:<%ExtMsg%>
Credential.InvalidParas 无效请求参数,请确认参数格式:<%ExtMsg%>
Credential.IssuerDidNotMatch 凭证颁发者DID不匹配,请确认后重新操作:<%ExtMsg%>
Credential.NoIdInClaim 凭证声明缺少ID字段,请确认后重新操作
Credential.VerifyCRDLFailed 凭证验证失败:<%ExtMsg%>
DataBase.FailedOperation 数据库操作失败,请重新操作
DidSdk.UnknownError DID服务请求错误,请稍后重试或联系客服
FailedOperation.InvalidAuth 用户接口鉴权失败
FailedOperation.OperationException 操作失败。
FailedOperation.PermissionDenied 用户无接口访问权限
HttpInvoker.NewQuestError HTTP请求创建失败,请稍后重试,或联系客服
HttpInvoker.SendQuestError HTTP请求发送失败,请稍后重试,或联系客服
InternalError.ApiUnknownError API服务出错
InternalError.ServiceDisabled 服务已停止,请您检查当前是否有计费套餐包
InternalError.ServiceError 服务错误,请稍后重试,或联系客服
InternalError.UnknownError 服务错误,请稍后重试,或联系客服
InvalidParameterValue.IllegalValue 请求参数格式错误,请按照格式要求重新填写
InvalidParameterValue.ResourceNotExisted 用户请求资源未存在:<%ExtMsg%>