You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

321 lines
18 KiB
Protocol Buffer

10 months ago
syntax = "proto3";
package dci;
option go_package = "./dci";
import "pb/descriptor.proto";
import "pb/validator.proto";
service Dci {
// 通用接口 用于文件上传
rpc GetUploadUrl(GetUploadUrlRequest) returns (GetUploadUrlResponse);
// dci user
rpc AddDciUser(AddDciUserRequest) returns (AddDciUserResponse);
rpc UpdateDciUser(UpdateDciUserRequest) returns (UpdateDciUserResponse);
rpc QueryDciUser(QueryDciUserRequest) returns (QueryDciUserResponse);
// dci work
rpc CreateDciPreregistration(CreateDciPreregistrationRequest) returns (CreateDciPreregistrationResponse);
rpc QueryDciPreregistration(QueryDciPreregistrationRequest) returns (QueryDciPreregistrationResponse);
// rpc RetryDciPreregistration(RetryDciPreregistrationRequest) returns ();
// 数登
rpc CreateDciRegistration(CreateDciRegistrationRequest) returns (CreateDciRegistrationResponse); // 发起数登申请
rpc QueryDciRegistration(QueryDciRegistrationRequest) returns (QueryDciRegistrationResponse); // 查询数登申请
rpc GetDciPayUrl(GetDciPayUrlRequest) returns (GetDciPayUrlResponse); // 数登支付链接获取
rpc QueryDciPay(QueryDciPayRequest) returns (QueryDciPayResponse); // 数登支付查询
rpc GetDciRegistrationcert(GetDciRegistrationcertRequest) returns (GetDciRegistrationcertResponse); // 获取数登证书下载
rpc RetryDciRegistration(RetryDciRegistrationRequest) returns (RetryDciRegistrationResponse); // 补正申请
rpc CloseDciRegistration(CloseDciRegistrationRequest) returns (CloseDciRegistrationResponse); // 数登停止申请
}
// 获取 文件上传的 oss链接
message GetUploadUrlRequest {
string authToken = 1 [json_name = "authToken"];
string productInstanceId = 2 [json_name = "productInstanceId"];
string fileName = 3 [json_name = "fileName",(validator.field) = {string_not_empty: true,human_error:"文件不能为空"}]; // 此处传递的是文件的额链接,文件名如果是中文需要
string clientToken = 4 [json_name = "clientToken"];
}
message GetUploadUrlResponse {
string reqMsgId = 1 [json_name = "reqMsgId"];
string resultCode = 2 [json_name = "resultCode"];
string resultMsg = 3 [json_name = "resultMsg"];
string url = 4 [json_name = "url"];
string fileId = 5 [json_name = "fileId"];
}
// Dci user 注册
message AddDciUserRequest {
string certName = 1 [json_name = "certName",(validator.field) = {string_not_empty: true,human_error:"证件名称不能为空"}];
string certificateNumber = 2 [json_name = "certificateNumber",(validator.field) = {string_not_empty: true,human_error:"证件号码不能为空"}];
string certificateType = 3 [json_name = "certificateType",(validator.field) = {string_not_empty: true,human_error:"证件类型不能为空"}];
string certificateFrontFileId = 4 [json_name = "certificateFrontFileId",(validator.field) = {string_not_empty: true,human_error:"证件正面文件路径不能为空"}];
string certificateBackFileId = 5 [json_name = "certificateBackFileId"];
string legalPersonCertName = 6 [json_name = "legalPersonCertName"];
string legalPersonCertType = 7 [json_name = "legalPersonCertType"];
string legalPersonCertNo = 8 [json_name = "legalPersonCertNo"];
string phone = 9 [json_name = "phone",(validator.field) = {string_not_empty: true,human_error:"手机号不能为空"}];
string areaType = 10 [json_name = "areaType",(validator.field) = {string_not_empty: true,human_error:"所属地区不能为空"}];
string clientToken = 11 [json_name = "clientToken",(validator.field) = {string_not_empty: true,human_error:"客户端token不能为空"}];
}
message AddDciUserResponse {
string dciUserId = 1 [json_name = "dciUserId"];
string dciUserStatus = 2 [json_name = "dciUserStatus"];
string resultCode = 3 [json_name = "resultCode"];
string resultMsg = 4 [json_name = "resultMsg"];
string reqMsgId = 5 [json_name = "reqMsgId"];
}
// Dci user 更新
message UpdateDciUserRequest {
string dciUserId = 1 [json_name = "dciUserId",(validator.field) = {string_not_empty: true,human_error:"dci用户ID不能为空"}];
string certFrontFileId = 2 [json_name = "certFrontFileId",(validator.field) = {string_not_empty: true,human_error:"证件正面文件路径不能为空"}];
string certBackFileId = 3 [json_name = "certBackFileId"];
string phone = 4 [json_name = "phone"];
string clientToken = 5 [json_name = "clientToken",(validator.field) = {string_not_empty: true,human_error:"客户端token不能为空"}];
}
message UpdateDciUserResponse {
string resultCode = 1 [json_name = "resultCode"];
string resultMsg = 2 [json_name = "resultMsg"];
string reqMsgId = 3 [json_name = "reqMsgId"];
}
// Dci user 查询
message QueryDciUserRequest {
string certificateType = 1 [json_name = "certificateType",(validator.field) = {string_not_empty: true,human_error:"证件类型不能为空"}];
string certificateNumber = 2 [json_name = "certificateNumber",(validator.field) = {string_not_empty: true,human_error:"证件号码不能为空"}];
string phone = 3 [json_name = "phone",(validator.field) = {string_not_empty: true,human_error:"手机号不能为空"}];
}
message QueryDciUserResponse {
string dciUserId = 1 [json_name = "dciUserId"];
string dciUserStatus = 2 [json_name = "dciUserStatus"];
string name = 3 [json_name = "name"];
string certificateType = 4 [json_name = "certificateType"];
string certificateNumber = 5 [json_name = "certificateNumber"];
string address = 6 [json_name = "address"];
string certStartTime = 7 [json_name = "certStartTime"];
string certEndTime = 8 [json_name = "certEndTime"];
string legalPerson = 9 [json_name = "legalPerson"];
string resultCode = 10 [json_name = "resultCode"];
string resultMsg = 11 [json_name = "resultMsg"];
string reqMsgId = 12 [json_name = "reqMsgId"];
}
// Dci work 申领
message CreateDciPreregistrationRequest {
string workName = 1 [json_name = "workName",(validator.field) = {string_not_empty: true,length_lt: 51,human_error:"作品名称不能为空"}];
string dciUserId = 2 [json_name = "dciUserId",(validator.field) = {string_not_empty: true,human_error:"DCI用户ID不能为空"}];
string workCategory = 3 [json_name = "workCategory",(validator.field) = {string_not_empty: true,human_error:"作品类型不能为空"}];
string workFileId = 4 [json_name = "workFileId",(validator.field) = {string_not_empty: true,human_error:"作品文件路径不能为空"}];
string fileType = 5 [json_name = "fileType",(validator.field) = {string_not_empty: true,human_error:"文件类型不能为空"}];
DciCreationInfo creationInfo = 6 [json_name = "creationInfo",(validator.field) = {string_not_empty: true,human_error:"创作信息不能为空"}];
DciPublicationInfo publicationInfo = 7 [json_name = "publicationInfo",(validator.field) = {string_not_empty: true,human_error:"发表信息不能为空"}];
string authorName = 8 [json_name = "authorName",(validator.field) = {string_not_empty: true,human_error:"作者姓名不能为空"}];
string authorSignature = 9 [json_name = "authorSignature",(validator.field) = {string_not_empty: true,human_error:"作者署名不能为空"}];
string originalStatement = 10 [json_name = "originalStatement"];
DciRightInfo rightInfo = 11 [json_name = "rightInfo",(validator.field) = {string_not_empty: true,human_error:"权利信息不能为空"}];
string preRegistrationTrueWill = 12 [json_name = "preRegistrationTrueWill",(validator.field) = {string_not_empty: true,human_error:"真实意愿表达信息不能为空"}];
repeated string copyrightOwnerIds = 13 [json_name = "copyrightOwnerIds",(validator.field) = {string_not_empty: true,human_error:"著作权人用户id列表不能为空"}];
string clientToken = 14 [json_name = "clientToken",(validator.field) = {string_not_empty: true,human_error:"客户端token不能为空"}];
}
message DciCreationInfo {
string creationNature = 1 [json_name = "creationNature",(validator.field) = {string_not_empty: true,human_error:"作品创作性质不能为空"}];
string creationCompletionDate = 2 [json_name = "creationCompletionDate",(validator.field) = {string_not_empty: true,human_error:"创作完成日期不能为空"}];
string creationCompletionCode = 3 [json_name = "creationCompletionCode",(validator.field) = {string_not_empty: true,human_error:"作品创作地点地区编码不能为空"}];
}
message DciPublicationInfo {
string creationNature = 1 [json_name = "creationNature",(validator.field) = {string_not_empty: true,human_error:"作品发表状态不能为空"}];
string creationCompletionDate = 2 [json_name = "creationCompletionDate",(validator.field) = {string_not_empty: true,human_error:"首次发表日期不能为空"}];
string creationCompletionCode = 3 [json_name = "creationCompletionCode",(validator.field) = {string_not_empty: true,human_error:"首次发表地点地区编码不能为空"}];
}
message DciRightInfo {
string rightScope = 1 [json_name = "rightScope",(validator.field) = {string_not_empty: true,human_error:"作品权利范围不能为空"}];
string rightObtainWay = 2 [json_name = "rightObtainWay",(validator.field) = {string_not_empty: true,human_error:"权利取得方式不能为空"}];
string ownershipWay = 3 [json_name = "ownershipWay",(validator.field) = {string_not_empty: true,human_error:"权利归属方式不能为空"}];
}
message CreateDciPreregistrationResponse {
string dciContentId = 1 [json_name = "dciContentId"];
string resultCode = 2 [json_name = "resultCode"];
string resultMsg = 3 [json_name = "resultMsg"];
string reqMsgId = 4 [json_name = "reqMsgId"];
}
// Dci work 查询申领信息
message QueryDciPreregistrationRequest {
string dciContentId = 1 [json_name = "dciContentId",(validator.field) = {string_not_empty: true,human_error:"DCI内容ID不能为空"}];
}
message QueryDciPreregistrationResponse {
string status = 1 [json_name = "status"];
string fileHash = 2 [json_name = "fileHash"];
string fileHashTxHash = 3 [json_name = "fileHashTxHash"];
string fileHashBlockHeight = 4 [json_name = "fileHashBlockHeight"];
string dciCode = 5 [json_name = "dciCode"];
string dciCodeTxHash = 6 [json_name = "dciCodeTxHash"];
string dciCodeBlockHeight = 7 [json_name = "dciCodeBlockHeight"];
string dciCodeFileTxHash = 8 [json_name = "dciCodeFileTxHash"];
string dciCodeFileBlockHeight = 9 [json_name = "dciCodeFileBlockHeight"];
string preRegCertTxHash = 10 [json_name = "preRegCertTxHash"];
string preRegCertBlockHeight = 11 [json_name = "preRegCertBlockHeight"];
string dciCodeTsr = 12 [json_name = "dciCodeTsr"];
string dciCodeFileTsr = 13 [json_name = "dciCodeFileTsr"];
string preRegCertTsr = 14 [json_name = "preRegCertTsr"];
string preRegCertFileHash = 15 [json_name = "preRegCertFileHash"];
string preRegCertUrl = 16 [json_name = "preRegCertUrl"];
string applyObtainDate = 17 [json_name = "applyObtainDate"];
string dciCodeObtainDate = 18 [json_name = "dciCodeObtainDate"];
string errorReason = 19 [json_name = "errorReason"];
string errorReasonCn = 20 [json_name = "errorReasonCn"];
string resultCode = 21 [json_name = "resultCode"];
string resultMsg = 22 [json_name = "resultMsg"];
string reqMsgId = 23 [json_name = "reqMsgId"];
}
// Dci work 撤销
// 数登 发起申请
message CreateDciRegistrationRequest {
string dciContentId = 1 [json_name = "dciContentId",(validator.field) = {string_not_empty: true,human_error:"DCI申领ID不能为空"}];
DciExplanationInfo explanationInfo = 2 [json_name = "explanationInfo",(validator.field) = {string_not_empty: true,human_error:"作品创作说明不能为空"}];
InvoiceInfo invoiceInfo = 3 [json_name = "invoiceInfo",(validator.field) = {string_not_empty: true,human_error:"发票信息不能为空"}];
AdditionalFileInfo additionalFileInfo = 4 [json_name = "additionalFileInfo"];
string clientToken = 5 [json_name = "clientToken",(validator.field) = {string_not_empty: true,human_error:"客户端token不能为空"}];
}
message DciExplanationInfo {
string creationPurpose = 1 [json_name = "creationPurpose",(validator.field) = {string_not_empty: true,length_lt: 51,human_error:"创作目的不能为空"}];
string creationProcess = 2 [json_name = "creationProcess",(validator.field) = {string_not_empty: true,length_lt: 86,human_error:"创作过程不能为空"}];
string originality = 3 [json_name = "originality",(validator.field) = {string_not_empty: true,length_lt: 141,human_error:"独创性说明不能为空"}];
string fontCopyright = 4 [json_name = "fontCopyright",(validator.field) = {string_not_empty: true,human_error:"字体声明不能为空"}];
}
message InvoiceInfo {
string invoiceType = 1 [json_name = "invoiceType",(validator.field) = {string_not_empty: true,human_error:"发票类型不能为空"}];
string invoiceHeader = 2 [json_name = "invoiceHeader",(validator.field) = {string_not_empty: true,human_error:"发票抬头不能为空"}];
string taxpayerNumber = 3 [json_name = "taxpayerNumber"];
string registeredAddress = 4 [json_name = "registeredAddress"];
string registeredTel = 5 [json_name = "registeredTel"];
string openAccountTel = 6 [json_name = "openAccountTel"];
string openAccountBank = 7 [json_name = "openAccountBank"];
string bankAccount = 8 [json_name = "bankAccount"];
}
message AdditionalFileInfo {
string contentSummaryFileId = 1 [json_name = "contentSummaryFileId"];
repeated string ownershipFileIds = 2 [json_name = "ownershipFileIds"];
string portraitAuthFileId = 3 [json_name = "portraitAuthFileId"];
string othersWorkAuthFileId = 4 [json_name = "othersWorkAuthFileId"];
repeated string otherFileIdList = 5 [json_name = "otherFileIdList"];
}
message CreateDciRegistrationResponse {
string digitalRegisterId = 1 [json_name = "digitalRegisterId"];
string resultCode = 2 [json_name = "resultCode"];
string resultMsg = 3 [json_name = "resultMsg"];
string reqMsgId = 4 [json_name = "reqMsgId"];
}
// 数登 查询申请
message QueryDciRegistrationRequest {
string digitalRegisterId = 1 [json_name = "digitalRegisterId"];
string dciContentId = 2 [json_name = "dciContentId"];
}
message QueryDciRegistrationResponse {
string regNumber = 1 [json_name = "regNumber"];
string digitalRegisterId = 2 [json_name = "digitalRegisterId"];
string dciContentId = 3 [json_name = "dciContentId"];
string digitalRegisterStatus = 4 [json_name = "digitalRegisterStatus"];
string digitalRegisterApplyTime = 5 [json_name = "digitalRegisterApplyTime"];
string digitalRegisterCompletionTime = 6 [json_name = "digitalRegisterCompletionTime"];
int64 downloadTimesLeft = 7 [json_name = "downloadTimesLeft"];
repeated string invoiceUrlList = 8 [json_name = "invoiceUrlList"];
string failDetail = 9 [json_name = "failDetail"];
string amendType = 10 [json_name = "amendType"];
string applyFormUrl = 11 [json_name = "applyFormUrl"];
string flowNumber = 12 [json_name = "flowNumber"];
string resultCode = 13 [json_name = "resultCode"];
string resultMsg = 14 [json_name = "resultMsg"];
string reqMsgId = 15 [json_name = "reqMsgId"];
}
// 数登 数登支付链接获取
message GetDciPayUrlRequest {
string digitalRegisterId = 1 [json_name = "digitalRegisterId",(validator.field) = {string_not_empty: true,human_error:"数登申请ID不能为空"}];
string clientToken = 2 [json_name = "clientToken",(validator.field) = {string_not_empty: true,human_error:"客户端token不能为空"}];
}
message GetDciPayUrlResponse {
string payUrl = 12 [json_name = "payUrl"];
string resultCode = 13 [json_name = "resultCode"];
string resultMsg = 14 [json_name = "resultMsg"];
string reqMsgId = 15 [json_name = "reqMsgId"];
}
// 数登 数登支付查询
message QueryDciPayRequest {
string digitalRegisterId = 1 [json_name = "digitalRegisterId",(validator.field) = {string_not_empty: true,human_error:"数登申请ID不能为空"}];
}
message QueryDciPayResponse {
string payStatus = 12 [json_name = "payStatus"];
string resultCode = 13 [json_name = "resultCode"];
string resultMsg = 14 [json_name = "resultMsg"];
string reqMsgId = 15 [json_name = "reqMsgId"];
}
// 数登 获取数登证书下载
message GetDciRegistrationcertRequest {
string digitalRegisterId = 1 [json_name = "digitalRegisterId",(validator.field) = {string_not_empty: true,human_error:"数登申请ID不能为空"}];
string clientToken = 2 [json_name = "clientToken",(validator.field) = {string_not_empty: true,human_error:"客户端token不能为空"}];
}
message GetDciRegistrationcertResponse {
string digitalRegisterStatus = 1 [json_name = "digitalRegisterStatus"];
string downloadUrl = 2 [json_name = "downloadUrl"];
int64 downloadTimesLeft = 3 [json_name = "downloadTimesLeft"];
string failDetail = 4 [json_name = "failDetail"];
string resultCode = 5 [json_name = "resultCode"];
string resultMsg = 6 [json_name = "resultMsg"];
string reqMsgId = 7 [json_name = "reqMsgId"];
}
// 数登 补正申请
message RetryDciRegistrationRequest {
string digitalRegisterId = 1 [json_name = "digitalRegisterId",(validator.field) = {string_not_empty: true,human_error:"数登申请ID不能为空"}];
string dciContentId = 2 [json_name = "dciContentId"];
DciExplanationInfo explanationInfo = 3 [json_name = "explanationInfo"];
AdditionalFileInfo additionalFileInfo = 4 [json_name = "additionalFileInfo"];
string clientToken = 5 [json_name = "clientToken",(validator.field) = {string_not_empty: true,human_error:"客户端token不能为空"}];
}
message RetryDciRegistrationResponse {
string resultCode = 1 [json_name = "resultCode"];
string resultMsg = 2 [json_name = "resultMsg"];
string reqMsgId = 3 [json_name = "reqMsgId"];
}
// 数登 停止申请
message CloseDciRegistrationRequest {
string digitalRegisterId = 1 [json_name = "digitalRegisterId",(validator.field) = {string_not_empty: true,human_error:"数登申请ID不能为空"}];
string name = 2 [json_name = "name",(validator.field) = {string_not_empty: true,length_lt: 41,human_error:"退费人名称不能为空"}];
string mobileNo = 3 [json_name = "mobileNo",(validator.field) = {string_not_empty: true,human_error:"联系手机号不能为空"}];
string clientToken = 5 [json_name = "clientToken",(validator.field) = {string_not_empty: true,human_error:"客户端token不能为空"}];
}
message CloseDciRegistrationResponse {
string resultCode = 1 [json_name = "resultCode"];
string resultMsg = 2 [json_name = "resultMsg"];
string reqMsgId = 3 [json_name = "reqMsgId"];
}