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 | 其他额外返回值 | 可选 | 枚举值: 1. images:返回证件照片、人脸、签名等截取图片 2. image_quality:返回证件图像质量相关的参数 3. document_forgery:返回证件伪造检测相关的参数 参数可多选,用逗号间隔,例如images, image_quality, document_forgery |
OCR图片规范和要求
要求类别 | 具体规范和要求 |
---|---|
证件放置要求 | - 确保证件位于图片中央,确保所有四周边缘清晰可见,避免遮挡或裁切。 - 维持证件原始的长宽比例,避免任何变形。 - 避免使用非真实的在线样本(例如从网络下载的图片)、模糊不清的照片、边角缺失的证件以及严重扭曲的图像。 |
图片质量要求 | - 在光线充足但均匀的环境下拍摄,避免强烈的直射光或阴影。 - 使用单一且最好是浅色的背景,避免复杂的图案或纹理。 - 确保图片清晰可辨,没有模糊或过度曝光的现象。 |
图片规格要求 | - 图片文件大小建议在 100KB 至 500KB 之间,以保持较快的上传速度及良好的处理效率,同时避免因过度压缩而影响识别质量。 |
标准图片参考样例:
非标准图片参考样例:
响应参数
字段 | 类型 | 含义 | 备注 |
---|---|---|---|
code | Integer | API 状态码 | |
message | String | 状态信息 | 在 API 异常状态下会输出具体的异常原因 |
sequence_id | String | 响应唯一码 | 用于跟踪每次请求记录的唯一标识 |
result | String | 证件校验结果 | 枚举值: 1. success:如果证件类型可以被识别正确,证件未过期,MRZ正确,证件上的字段格式符合要求,则返回success 2. error:如果上述证件类型校验、证件过期校验、MRZ校验、证件字段格式校验任何一个未通过,则返回error。 该情况下只代表校验失败,不代表OCR解析失败,在card_info字段中仍然可能会返回OCR的解析信息。 3. not performed:未执行检查(几乎不可能遇到) |
status_info | Object | 证件校验详情 | 上述result结果的详细信息,包括对证件类型、有效期、MRZ和文本字段格式的校验结果。 请参考StatusInfo数据对象 |
document_type_info | Object | 证件类型信息 | 默认出参。 请参考DocumentTypeInfo数据对象 |
card_info | Object | 证件信息 | 证件OCR结果会在这个模块返回,可通过该字段是否有返回结果来判断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 }
-
DocumentForgeryInfo
字段 类型 含义 备注 result String 证件伪造检测总体结果 枚举值:
1. pass:验证通过,证件未伪造
2. fail:验证失败,证件为伪造证件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 LATIN
Latin 1078 AFRIKAANS
Afrikaans 1052 ALBANIAN
Albanian 5121 ARABIC_ALGERIA
Arabic (Algeria) 15361 ARABIC_BAHRAIN
Arabic (Bahrain) 3073 ARABIC_EGYPT
Arabic (Egypt) 2049 ARABIC_IRAQ
Arabic (Iraq) 11265 ARABIC_JORDAN
Arabic (Jordan) 13313 ARABIC_KUWAIT
Arabic (Kuwait) 12289 ARABIC_LEBANON
Arabic (Lebanon) 4097 ARABIC_LIBYA
Arabic (Libya) 6145 ARABIC_MOROCCO
Arabic (Morocco) 8193 ARABIC_OMAN
Arabic (Oman) 16385 ARABIC_QATAR
Arabic (Qatar) 1025 ARABIC_SAUDI_ARABIA
Arabic (Saudi Arabia) 10241 ARABIC_SYRIA
Arabic (Syria) 7169 ARABIC_TUNISIA
Arabic (Tunisia) 14337 ARABIC_UAE
Arabic (U.A.E.) 9217 ARABIC_YEMEN
Arabic (Yemen) 1067 ARABIC_ARMENIAN
Armenian 2092 AZERI_CYRILIC
Azeri (Cyrillic) 1068 AZERI_LATIN
Azeri (Latin) 1069 BASQUE
Basque 1059 BELARUSIAN
Belarusian 1026 BULGARIAN
Bulgarian 1027 CATALAN
Catalan 3076 CHINESE_HONGKONG_SAR
Chinese (HongKong S.A.R.) 5124 CHINESE_MACAO_SAR
Chinese (Macao S.A.R.) 2052 CHINESE
Chinese 4100 CHINESE_SINGAPORE
Chinese (Singapore) 1028 CHINESE_TAIWAN
Chinese (Taiwan) 1050 CROATIAN
Croatian 1029 CZECH
Czech 1030 DANISH
Danish 1125 DIVEHI
Divehi 2067 DUTCH_BELGIUM
Dutch (Belgium) 1043 DUTCH_NETHERLANDS
Dutch (Netherlands) 3081 ENGLISH_AUSTRALIA
English (Australia) 10249 ENGLISH_BELIZE
English (Belize) 4105 ENGLISH_CANADA
English (Canada) 9225 ENGLISH_CARRIBEAN
English (Caribbean) 6153 ENGLISH_IRELAND
English (Ireland) 8201 ENGLISH_JAMAICA
English (Jamaica) 5129 ENGLISH_NEW_ZEALAND
English (New Zealand) 13321 ENGLISH_PHILIPPINES
English (Philippines) 7177 ENGLISH_SOUTH_AFRICA
English (South Africa) 11273 ENGLISH_TRINIDAD
English (Trinidad) 2057 ENGLISH_UK
English (United Kingdom) 1033 ENGLISH_US
English (United States) 12297 ENGLISH_ZIMBABWE
English (Zimbabwe) 1061 ESTONIAN
Estonian 1080 FAEROESE
Faeroese 1065 FARSI
Farsi 1035 FINNISH
Finnish 2060 FRENCH_BELGIUM
French (Belgium) 3084 FRENCH_CANADA
French (Canada) 1036 FRENCH_FRANCE
French (France) 5132 FRENCH_LUXEMBOURG
French (Luxembourg) 6156 FRENCH_MONACO
French (Monaco) 4108 FRENCH_SWITZERLAND
French (Switzerland) 1071 FYRO_MACEDONIAN
FYRO Macedonian 1110 GALICIAN
Galician 1079 GEORGIAN
Georgian 3079 GERMAN_AUSTRIA
German (Austria) 1031 GERMAN_GERMANY
German (Germany) 5127 GERMAN_LIECHTENSTEIN
German (Liechtenstein) 4103 GERMAN_LUXEMBOURG
German (Luxembourg) 2055 GERMAN_SWITZERLAND
German (Switzerland) 1032 GREEK
Greek 1095 GUJARATI
Gujarati 1037 HEBREW
Hebrew 1081 HINDI_INDIA
Hindi (India) 1038 HUNGARIAN
Hungarian 1039 ICELANDIC
Icelandic 1057 INDONESIAN
Indonesian 1040 ITALIAN_ITALY
Italian (Italy) 2064 ITALIAN_SWITZERLAND
Italian (Switzerland) 1041 JAPANESE
Japanese 1099 KANNADA
Kannada 1087 KAZAKH
Kazakh 1111 KONKANI
Konkani 1042 KOREAN
Korean 1088 KYRGYZ_CYRILICK
Kyrgyz (Cyrillic) 1062 LATVIAN
Latvian 1063 LITHUANIAN
Lithuanian 1086 MALAY_MALAYSIA
Malay (Malaysia) 2110 MALAY_BRUNEI_DARUSSALAM
Malay (Brunei Darussalam) 1102 MARATHI
Marathi 1104 MONGOLIAN_CYRILIC
Mongolian (Cyrillic) 1044 NORWEGIAN_BOKMAL
Norwegian (Bokmal) 2068 NORWEGIAN_NYORSK
Norwegian (Nynorsk) 1045 POLISH
Polish 1046 PORTUGUESE_BRAZIL
Portuguese (Brazil) 2070 PORTUGUESE_PORTUGAL
Portuguese (Portugal) 1094 PUNJABI
Punjabi 1047 RHAETO_ROMANIC
Rhaeto-Romanic 1048 ROMANIAN
Romanian 1049 RUSSIAN
Russian 1103 SANSKRIT
Sanskrit 3098 SERBIAN_CYRILIC
Serbian (Cyrillic) 2074 SERBIAN_LATIN
Serbian (Latin) 1051 SLOVAK
Slovak 1060 SLOVENIAN
Slovenian 11274 SPANISH_ARGENTINA
Spanish (Argentina) 16394 SPANISH_BOLIVIA
Spanish (Bolivia) 13322 SPANISH_CHILE
Spanish (Chile) 9226 SPANICH_COLOMBIA
Spanish (Colombia) 5130 SPANISH_COSTA_RICA
Spanish (Costa Rica) 7178 SPANISH_DOMINICAN_REPUBLIC
Spanish (Dominican Republic) 12298 SPANISH_ECUADOR
Spanish (Ecuador) 17418 SPANISH_EL_SALVADOR
Spanish (El Salvador) 4106 SPANISH_GUATEMALA
Spanish (Guatemala) 18442 SPANISH_HONDURAS
Spanish (Honduras) 2058 SPANISH_MEXICO
Spanish (Mexico) 19466 SPANISH_NICARAGUA
Spanish (Nicaragua) 6154 SPANISH_PANAMA
Spanish (Panama) 15370 SPANISH_PARAGUAY
Spanish (Paraguay) 10250 SPANISH_PERU
Spanish (Peru) 20490 SPANISH_PUERTO_RICO
Spanish (Puerto Rico) 1034 SPANISH_TRADITIONAL_SORT
Spanish (Traditional Sort) 3082 SPANISH_INTERNATIONAL_SORT
Spanish (International Sort) 14346 SPANISH_URUGUAY
Spanish (Uruguay) 8202 SPANISH_VENEZUELA
Spanish (Venezuela) 1089 SWAHILI
Swahili 1053 SWEDISH
Swedish 2077 SWEDISH_FINLAND
Swedish (Finland) 1114 SYRIAC
Syriac 1097 TAMIL
Tamil 1092 TATAR
Tatar 1098 TELUGU
Telugu 1054 THAI_THAILAND
Thai (Thailand) 1055 TURKISH
Turkish 1064 TAJIK_CYRILLIC
Tajik (Cyrillic) 1090 TURKMEN
Turkmen 1058 UKRAINIAN
Ukrainian 1056 URDU
Urdu 2115 UZBEK_CYRILIC
Uzbek (Cyrillic) 1091 UZBEK_LATIN
Uzbek (Latin) 1066 VIETNAMESE
Vietnamese 50001 CTC_SIMPLIFIED
CTC Simplified 50002 CTC_TRADITIONAL
CTC 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"
}