接口地址:https://api-cn.faceplusplus.com/cardpp/v1/templateocr |
---|
返回格式:json |
请求方式:post |
请求示例:https://api-cn.faceplusplus.com/cardpp/v1/templateocr?api_key=1&api_secret=2&image_url=3 |
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
api_key | string | 必填 | Face++的 API Key 扫码关注公众号 |
api_secret | string | 必填 | Face++的 API Secret 扫码关注公众号 |
image_url | string | 必填 | 图片的 URL |
template_id | string | 必填 | 指定的模板ID(测试营业执照模板ID:1603936517) |
extra_info | string | 选填 | 该参数的值是一个单字符串或者以英文逗号分割的字符串,表示需要返回的额外信息。当前只支持extra_info=position,表示返回识别域的位置信息(识别域四个点坐标) |
名称 | 类型 | 说明 |
---|---|---|
request_id | string | 用于区分每一次请求的唯一的字符串。除非发生404(API_NOT_FOUND ) 或403 (AUTHORIZATION_ERROR)错误,此字段必定返回 |
result | object | 被检测出的文字信息,由一个或多个data对象组成。 |
time_used | int | 整个请求所花费的时间,单位为毫秒。除非发生404(API_NOT_FOUND )或403 (AUTHORIZATION_ERROR)错误,此字段必定返回 |
key | string | 创建模板时定义的识别域名 |
value | json | 识别结果。包括一个text字段 |
{
"request_id": "154053648613ce32c9-fbed-439b-ae73-4981b8c4311b",
"result": [{
"key": "item1",
"value": {
"text": "test1",
"position": [{
"x": 1615,
"y": 547
}, {
"x": 2657,
"y": 537
}, {
"x": 2664,
"y": 839
}, {
"x": 1614,
"y": 846
}]
}
}, {
"key": "item2",
"value": {
"text": ["test1", "test2"],
"position": [{
"x": 1600,
"y": 1036
}, {
"x": 2680,
"y": 1030
}, {
"x": 2685,
"y": 1226
}, {
"x": 1599,
"y": 1229
}]
}
}],
"time_used": 5837
}
错误码 | 说明 |
---|---|
401 | api_key 和 api_secret 不匹配。 |
403 | api_key 没有调用本 API 的权限,具体原因为:用户自己禁止该 api_key 调用、管理员禁止api_key 调用、由于账户余额不足禁止调用。 |
403 | 并发数超过限制。 |
400 | 缺少某个必选参数。 |
400 | 某个参数解析出错(比如必须是数字,但是输入的是非数字字符串; 或者长度过长,etc.) |
400 | 同时传入了要求是二选一或多选一的参数。如有特殊说明则不返回此错误。 |
413 | 客户发送的请求大小超过了 2MB 限制。该错误的返回格式为纯文本,不是 json 格式。 |
404 | 所调用的 API 不存在。 |
500 | 服务器内部错误,当此类错误发生时请再次请求,如果持续出现此类错误,请及时联系技术支持团队。 |
<?php
/**
* Created by PhpStorm.
* User: FZS
* Time: 2020/11/02 21:53
*/
//----------------------------------
// 模板识别 调用类
//----------------------------------
class freeApi
{
private $apiKey = false;
private $apiSecret = false;
private $apiUrl = 'https://api-cn.faceplusplus.com/cardpp/v1/templateocr';
public function __construct($apikey,$apiSecret){
$this->apiKey = $apikey;
$this->apiSecret = $apiSecret;
}
/**
* 将JSON内容转为数据,并返回
* @param string $content [内容]
* @return array
*/
public function returnArray($content){
return json_decode($content,true);
}
/**
* 获取结果
* @return array
*/
public function getResult(){
$params = [
"api_key" => $this->apiKey,
"api_secret" => $this->apiSecret,
"image_url" => "",
"template_id" => "",
];
$params = http_build_query($params);
return $this->returnArray($this->freeApiCurl($this->apiUrl,$params,1));
}
/**
* 请求接口返回内容
* @param string $url [请求的URL地址]
* @param string $params [请求的参数]
* @param int $ipost [是否采用POST形式]
* @return string
*/
public function freeApiCurl($url,$params=false,$ispost=0){
$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch , CURLOPT_SSL_VERIFYHOST , false );
curl_setopt( $ch , CURLOPT_SSL_VERIFYPEER , false );
curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
if( $ispost )
{
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
curl_setopt( $ch , CURLOPT_URL , $url );
}
else
{
if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
}else{
curl_setopt( $ch , CURLOPT_URL , $url);
}
}
$response = curl_exec( $ch );
if ($response === FALSE) {
return false;
}
curl_close( $ch );
return $response;
}
}