Base URL
调用方法
| URL | 请求方式 | Content Type | 输出格式 | 字符集 |
|---|---|---|---|---|
| api-base-url?partner_code=xxx&partner_key=xxx | POST | application/json | JSON | UTF-8 |
认证入参
| 字段名 | 字段类型 | 含义 | 建议 | 备注 |
|---|---|---|---|---|
| partner_code | String | 合作方标识 | 必须 | 由TD分配 |
| partner_key | String | 合作方秘钥 | 必须 | 由TD分配 |
请求参数
| 字段 | 类型 | 含义 | 建议 | 备注 |
|---|---|---|---|---|
| image | String | 证件图片 | 必须 | JPG、JPEG、PNG的base64编码图⽚字符串,图⽚不能超过2M |
| country | String | 国家 | 必须 | 国家,必填。两位国家码(大写),符合 ISO 3166 标准。如墨西哥:MX |
| scenario | String | 场景 | 必须 | 枚举值:Ocr |
| options | String | 其他额外返回值 | 可选 | 枚举值:
|
OCR图片规范和要求
| 要求类别 | 具体规范和要求 |
|---|---|
| 证件放置要求 |
|
| 图片质量要求 |
|
| 图片规格要求 |
|
标准图片参考样例:
非标准图片参考样例:
响应参数
| 字段 | 类型 | 含义 | 备注 |
|---|---|---|---|
| code | Integer | API 状态码 | |
| message | String | 状态信息 | 在 API 异常状态下会输出具体的异常原因 |
| sequence_id | String | 响应唯一码 | 用于跟踪每次请求记录的唯一标识 |
| result | String | 证件校验结果 | 枚举值:
|
| status_info | Object | 证件校验详情 | 对应 result 的详细信息,包括证件类型、有效期、MRZ、文本字段格式的校验结果。请参考 StatusInfo 数据对象 |
| document_type_info | Object | 证件类型信息 | 默认出参,请参考 DocumentTypeInfo 数据对象 |
| card_info | Object | 证件信息 | 证件 OCR 结果。即使 result 为 error,仍可能返回 OCR 信息。请参考 CardInfo 数据对象 |
| image_info | Object | 图片信息 | 入参选择时返回,请参考 ImageInfo 数据对象 |
| image_quality_info | Object | 图片质量信息 | 入参选择时返回,请参考 ImageQualityInfo 数据对象 |
| document_forgery | Object | 证件伪造检测 | 入参选择时返回,请参考 DocumentForgeryInfo 数据对象 |
数据对象
-
StatusInfo
字段 类型 含义 备注 doc_type Integer 检验证件类型可否被识别 参考CheckResult 数据字典 expiry Integer 校验证件是否过期 参考CheckResult 数据字典 mrz Integer 校验MRZ是否识别正确 参考CheckResult 数据字典 text Integer 校验证件上的字段格式是否符合要求 参考CheckResult 数据字典 { "doc_type":1, "expiry":0, "mrz":1, "text":1 } -
DocumentTypeInfo
字段 类型 含义 备注 document_name String 证件名称 document_description Strin 证件类型 Identity Card, Passport, Driving License等等。 { "document_name":"Philippines - ePassport (2016)", "document_description":"Passport" } -
CardInfo
字段 类型 含义 备注 field_list Array/Object 文本字段名称列表 field_list.field_name String 文本字段名称 fieldList.lcid Integer LCID 类型 参考LCID数据字典 field_list.validity_status Integer 文本字段有效状态 校验文本字段格式是否符合要求。
参考CheckResult 数据字典field_list.value_list Array 文本字段值列表 field_list.value_list.original_value String 文本字段原始值 证件上的字段原始值 field_list.value_list.value String 文本字段解析后的值 根据字段原始值解析后的值。例如,对于日期格式的字段,解析后的值统一为YYYY-MM-DD格式 -
{ "field_list":[ { "field_name":"Date of Expiry", "lcid":0, "validity_status": 1, "value_list":[ { "original_value":"23/08/2024", "value":"2024-08-23" } ] }, { "field_name":"Date of Birth", "lcid":0, "validity_status": 1, "value_list":[ { "original_value":"01/01/1979", "value":"1979-01-01" } ] } ] } -
ImageInfo
字段 类型 含义 备注 field_list Object 图像字段名称列表 field_list.field_name String 图像字段名称 field_list.value_list Object 图像字段值列表 field_list.value_list.value String 图像字段值 图像,Base64 格式。 { "field_list":[ { "field_name":"Portrait", "value_list":[ { "value":"/4AAQSkZJRgABAQEBHwEfAADxxxxxx" } ] }, { "field_name":"Signature", "value_list":[ { "value":"/9j/4AAQSkZJRgABAQE***” " } ] } ] } -
ImageQualityInfo
字段 类型 含义 备注 result Integer 总体结果 list Object 检查结果列表 list.feature_type Integer 检查的区域 预留字段,默认为0 list.result Integer 单项检查结果 请参考CheckResult 数据字典 list.type Integer 单项检查类型 检查结果类型,请参考ImageQualityCheckType 数据字典 { "list": [ { "feature_type":0, "result": 1, "type": 1 }, { "feature_type":0, "result": 1, "type": 0 }, { "feature_type":0, "result": 1, "type": 7 }, { "feature_type":0, "result": 1, "type": 5 }, { "feature_type":0, "result": 1, "type": 4 }, { "feature_type":0, "result": 1, "type": 2 } ], "result": 1 }
| 字段 | 类型 | 含义 | 备注 |
|---|---|---|---|
| result | String | 证件伪造检测总体结果 | 枚举值:
|
| detail | Object | 证件伪造检测结果列表 | 如果结果为通过,则不返回该字段;如果结果为失败,显示具体原因,包括:black_white_print(黑白打印)、screen_capture(屏幕翻拍) |
{
"result":"fail",
"detail":[
"black_white_print"
]
}数据字典
-
CheckResult
返回值 名称 描述 0 ERROR 已进行检查,结果为NEGATIVE 1 OK 已进行检查,结果为POSITIVE 2 WAS_NOT_DONE 未执行检查 -
ImageQualityCheckType
返回值 名称 描述 0 ImageGlares 图像上存在眩光 1 ImageFocus 图像对焦正常 2 ImageResolution 图像分辨率低于阈值 3 ImageColorness 图像是无色的 4 Perspective 图像中文档的旋转角度高于阈值 5 Bounds 文档未完全呈现在图像中 6 ScreenCapture 图像是从屏幕翻拍的 7 Portrait 肖像清晰可见 -
LCID
返回值 名称 描述 0 LATINLatin 1078 AFRIKAANSAfrikaans 1052 ALBANIANAlbanian 5121 ARABIC_ALGERIAArabic (Algeria) 15361 ARABIC_BAHRAINArabic (Bahrain) 3073 ARABIC_EGYPTArabic (Egypt) 2049 ARABIC_IRAQArabic (Iraq) 11265 ARABIC_JORDANArabic (Jordan) 13313 ARABIC_KUWAITArabic (Kuwait) 12289 ARABIC_LEBANONArabic (Lebanon) 4097 ARABIC_LIBYAArabic (Libya) 6145 ARABIC_MOROCCOArabic (Morocco) 8193 ARABIC_OMANArabic (Oman) 16385 ARABIC_QATARArabic (Qatar) 1025 ARABIC_SAUDI_ARABIAArabic (Saudi Arabia) 10241 ARABIC_SYRIAArabic (Syria) 7169 ARABIC_TUNISIAArabic (Tunisia) 14337 ARABIC_UAEArabic (U.A.E.) 9217 ARABIC_YEMENArabic (Yemen) 1067 ARABIC_ARMENIANArmenian 2092 AZERI_CYRILICAzeri (Cyrillic) 1068 AZERI_LATINAzeri (Latin) 1069 BASQUEBasque 1059 BELARUSIANBelarusian 1026 BULGARIANBulgarian 1027 CATALANCatalan 3076 CHINESE_HONGKONG_SARChinese (HongKong S.A.R.) 5124 CHINESE_MACAO_SARChinese (Macao S.A.R.) 2052 CHINESEChinese 4100 CHINESE_SINGAPOREChinese (Singapore) 1028 CHINESE_TAIWANChinese (Taiwan) 1050 CROATIANCroatian 1029 CZECHCzech 1030 DANISHDanish 1125 DIVEHIDivehi 2067 DUTCH_BELGIUMDutch (Belgium) 1043 DUTCH_NETHERLANDSDutch (Netherlands) 3081 ENGLISH_AUSTRALIAEnglish (Australia) 10249 ENGLISH_BELIZEEnglish (Belize) 4105 ENGLISH_CANADAEnglish (Canada) 9225 ENGLISH_CARRIBEANEnglish (Caribbean) 6153 ENGLISH_IRELANDEnglish (Ireland) 8201 ENGLISH_JAMAICAEnglish (Jamaica) 5129 ENGLISH_NEW_ZEALANDEnglish (New Zealand) 13321 ENGLISH_PHILIPPINESEnglish (Philippines) 7177 ENGLISH_SOUTH_AFRICAEnglish (South Africa) 11273 ENGLISH_TRINIDADEnglish (Trinidad) 2057 ENGLISH_UKEnglish (United Kingdom) 1033 ENGLISH_USEnglish (United States) 12297 ENGLISH_ZIMBABWEEnglish (Zimbabwe) 1061 ESTONIANEstonian 1080 FAEROESEFaeroese 1065 FARSIFarsi 1035 FINNISHFinnish 2060 FRENCH_BELGIUMFrench (Belgium) 3084 FRENCH_CANADAFrench (Canada) 1036 FRENCH_FRANCEFrench (France) 5132 FRENCH_LUXEMBOURGFrench (Luxembourg) 6156 FRENCH_MONACOFrench (Monaco) 4108 FRENCH_SWITZERLANDFrench (Switzerland) 1071 FYRO_MACEDONIANFYRO Macedonian 1110 GALICIANGalician 1079 GEORGIANGeorgian 3079 GERMAN_AUSTRIAGerman (Austria) 1031 GERMAN_GERMANYGerman (Germany) 5127 GERMAN_LIECHTENSTEINGerman (Liechtenstein) 4103 GERMAN_LUXEMBOURGGerman (Luxembourg) 2055 GERMAN_SWITZERLANDGerman (Switzerland) 1032 GREEKGreek 1095 GUJARATIGujarati 1037 HEBREWHebrew 1081 HINDI_INDIAHindi (India) 1038 HUNGARIANHungarian 1039 ICELANDICIcelandic 1057 INDONESIANIndonesian 1040 ITALIAN_ITALYItalian (Italy) 2064 ITALIAN_SWITZERLANDItalian (Switzerland) 1041 JAPANESEJapanese 1099 KANNADAKannada 1087 KAZAKHKazakh 1111 KONKANIKonkani 1042 KOREANKorean 1088 KYRGYZ_CYRILICKKyrgyz (Cyrillic) 1062 LATVIANLatvian 1063 LITHUANIANLithuanian 1086 MALAY_MALAYSIAMalay (Malaysia) 2110 MALAY_BRUNEI_DARUSSALAMMalay (Brunei Darussalam) 1102 MARATHIMarathi 1104 MONGOLIAN_CYRILICMongolian (Cyrillic) 1044 NORWEGIAN_BOKMALNorwegian (Bokmal) 2068 NORWEGIAN_NYORSKNorwegian (Nynorsk) 1045 POLISHPolish 1046 PORTUGUESE_BRAZILPortuguese (Brazil) 2070 PORTUGUESE_PORTUGALPortuguese (Portugal) 1094 PUNJABIPunjabi 1047 RHAETO_ROMANICRhaeto-Romanic 1048 ROMANIANRomanian 1049 RUSSIANRussian 1103 SANSKRITSanskrit 3098 SERBIAN_CYRILICSerbian (Cyrillic) 2074 SERBIAN_LATINSerbian (Latin) 1051 SLOVAKSlovak 1060 SLOVENIANSlovenian 11274 SPANISH_ARGENTINASpanish (Argentina) 16394 SPANISH_BOLIVIASpanish (Bolivia) 13322 SPANISH_CHILESpanish (Chile) 9226 SPANICH_COLOMBIASpanish (Colombia) 5130 SPANISH_COSTA_RICASpanish (Costa Rica) 7178 SPANISH_DOMINICAN_REPUBLICSpanish (Dominican Republic) 12298 SPANISH_ECUADORSpanish (Ecuador) 17418 SPANISH_EL_SALVADORSpanish (El Salvador) 4106 SPANISH_GUATEMALASpanish (Guatemala) 18442 SPANISH_HONDURASSpanish (Honduras) 2058 SPANISH_MEXICOSpanish (Mexico) 19466 SPANISH_NICARAGUASpanish (Nicaragua) 6154 SPANISH_PANAMASpanish (Panama) 15370 SPANISH_PARAGUAYSpanish (Paraguay) 10250 SPANISH_PERUSpanish (Peru) 20490 SPANISH_PUERTO_RICOSpanish (Puerto Rico) 1034 SPANISH_TRADITIONAL_SORTSpanish (Traditional Sort) 3082 SPANISH_INTERNATIONAL_SORTSpanish (International Sort) 14346 SPANISH_URUGUAYSpanish (Uruguay) 8202 SPANISH_VENEZUELASpanish (Venezuela) 1089 SWAHILISwahili 1053 SWEDISHSwedish 2077 SWEDISH_FINLANDSwedish (Finland) 1114 SYRIACSyriac 1097 TAMILTamil 1092 TATARTatar 1098 TELUGUTelugu 1054 THAI_THAILANDThai (Thailand) 1055 TURKISHTurkish 1064 TAJIK_CYRILLICTajik (Cyrillic) 1090 TURKMENTurkmen 1058 UKRAINIANUkrainian 1056 URDUUrdu 2115 UZBEK_CYRILICUzbek (Cyrillic) 1091 UZBEK_LATINUzbek (Latin) 1066 VIETNAMESEVietnamese 50001 CTC_SIMPLIFIEDCTC Simplified 50002 CTC_TRADITIONALCTC Traditional
返回码
| **Code ** | Message | 描述 |
|---|---|---|
| 200 | Success | 调⽤成功 |
| 301 | Service not purchased | 未购买此服务 |
| 302 | Traffic blocked | 流量已被禁用 |
| 303 | Traffic insufficient | 流量不足 |
| 304 | Service expired | 服务已过期 |
| 305 | Daily maximum volume reached | 日流量已封顶 |
| 11350 | Internal error | 系统错误 |
| 11301 | {parameter} empty | {参数}为空 |
| 11304 | The country partner located is not open | 国家不支持 |
| 11340 | {parameter} error | {参数}错误 |
参数样例
- 入参示例:
{
"image": "/9j/4AAQSkZJRgABAQAAeAB4AAD/********XLiqqauzsw1J3sf/2Q==",
"country": "GB",
"scenario": "Ocr",
"options": "images,image_quality,document_forgery"
}- 业务请求成功
{
"result":"success",
"code":200,
"sequence_id":"2a7515e2bc094********20cf1ca0f72",
"message":"success",
"status_info":{
"doc_type":1,
"expiry":1,
"mrz":1,
"text":1
},
"document_type_info":{
"document_name":"Philippines - ePassport (2016)",
"document_description":"Passport"
},
"card_info":{
"field_list":[
{
"field_name":"Date of Expiry",
"validity_status":1,
"value_list":[
{
"original_value":"23/08/2024",
"value":"2024-08-23"
}
]
},
{
"field_name":"Date of Birth",
"validity_status":1,
"value_list":[
{
"original_value":"01/01/1979",
"value":"1979-01-01"
}
]
}
]
},
"image_info":{
"field_list":[
{
"field_name":"Portrait",
"value_list":[
{
"value":"/4AAQSkZJRgABAQEBHwEfAADxxxxxx"
}
]
},
{
"field_name":"Signature",
"value_list":[
{
"value":"/9j/4AAQSkZJRgABAQE***” "
}
]
}
]
},
"image_quality_info":{
"list":[
{
"feature_type":0,
"result":1,
"type":1
},
{
"feature_type":2,
"result":1,
"type":0
},
{
"feature_type":3,
"result":1,
"type":7
},
{
"feature_type":4,
"result":1,
"type":5
},
{
"feature_type":5,
"result":1,
"type":4
},
{
"feature_type":6,
"result":1,
"type":2
}
],
"result":1
},
"document_forgery_info":{
"result":"fail",
"detail":[
"black_white_print"
]
}
}- 业务不请求成功
{
"code": 302,
"sequence_id": "69b57131b6fb********61ccba118b60",
"message": "Traffic blocked"
}