该能力是通过HTTPAPI的方式给开发者提供一个通用的接口,适用于一次性交互数据传输的AI服务场景,块式传输。相较于SDK,API具有轻量、跨语言的特点,不过请注意该接口使用的HTTPAPI协议不支持跨域。
集成出租车发票识别API时,需按照以下要求。
在调用业务接口时,请求方需要对请求进行签名,服务端通过签名来校验请求的合法性。
date必须是UTC+0或GMT时区,RFC1123格式(Fri,17Jul202006:26:58GMT)。服务端会对date进行时钟偏移检查,最大允许300秒的偏差,超出偏差的请求都将被拒绝。
·authorization参数生成格式:
1)获取接口密钥APIKey和APISecret。在讯飞开放平台控制台,创建一个应用后打开出租车发票识别页面可以获取,均为32位字符串。
2)参数authorizationbase64编码前(authorization_origin)的格式如下。
api_key="$api_key",algorithm="hmac-sha256",headers="hostdaterequest-line",signature="$signature"其中api_key是在控制台获取的APIKey,algorithm是加密算法(仅支持hmac-sha256),headers是参与签名的参数(见下方注释)。signature是使用加密算法对参与签名的参数签名后并使用base64编码的字符串,详见下方。
注:headers是参与签名的参数,请注意是固定的参数名("hostdaterequest-line"),而非这些参数的值。
3)signature的原始字段(signature_origin)规则如下。
signature原始字段由host,date,request-line三个参数按照格式拼接成,拼接的格式为(\n为换行符,’:’后面有一个空格):
host:$host\ndate:$date\n$request-line假设
请求url=api.xf-yun.comdate=Fri,17Jul202006:26:58GMT那么signature原始字段(signature_origin)则为:
host:api.xf-yun.comdate:Fri,17Jul202006:26:58GMTPOST/v1/private/sb6db0171HTTP/1.14)使用hmac-sha256算法结合apiSecret对signature_origin签名,获得签名后的摘要signature_sha。
signature_sha=hmac-sha256(signature_origin,$apiSecret)其中apiSecret是在控制台获取的APISecret
5)使用base64编码对signature_sha进行编码获得最终的signature。
signature=base64(signature_sha)假设
APISecret=apisecretXXXXXXXXXXXXXXXXXXXXXXXdate=Fri,17Jul202006:26:58GMT则signature为
signature=9iaFiQ5zSoYwjOvSrjYqP/bR26XWdGTC2CNvx4wP6hc=6)根据以上信息拼接authorizationbase64编码前(authorization_origin)的字符串,示例如下。
api_key="apikeyXXXXXXXXXXXXXXXXXXXXXXXXXX",algorithm="hmac-sha256",headers="hostdaterequest-line",signature="9iaFiQ5zSoYwjOvSrjYqP/bR26XWdGTC2CNvx4wP6hc="注:headers是参与签名的参数,请注意是固定的参数名("hostdaterequest-line"),而非这些参数的值。
7)最后再对authorization_origin进行base64编码获得最终的authorization参数。
认证失败返回示例:
请求参数示例:
{"header":{"code":0,"message":"success","sid":"ase000704fa@dx16ade44e4d87a1c802"},"payload":{"result":{"encoding":"utf8","compress":"raw","format":"json","text":""}}}base64解码后的text示例:
注:demo只是一个简单的调用示例,不适合直接放在复杂多变的生产环境使用
答:基于行业领先的光学字符识别技术,将图片上的文字内容直接转化为可编辑文本。实现高精准,毫秒级识别体验。
答:目前支持WebAPI应用平台。
答:图像数据base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M。