接口地址:https://way.jd.com/JDAI/ocr_invoice |
---|
返回格式:json |
请求方式:get/post |
请求示例:https://way.jd.com/JDAI/ocr_invoice?appkey=appkey&body=image |
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
body | image | 必填 | 图片 |
名称 | 类型 | 说明 |
---|---|---|
charge | boolean | 扣费 |
msg | string | 信息提示 |
result | object | 数据查询结果 |
{
"code": 0,
"charge": false,
"remainTimes": 4998,
"remainSeconds": -1,
"msg": "查询成功",
"result": {
"code": 0,
"message": "success",
"request_id": "815774d6ed6ca43e5d0cce316d36d822",
"result": {
"checker": "盛霞",
"drawer": "张立辉",
"buyer_address": "德徽长丰双凤经济开发区淮南北路与双凤路交叉口950618",
"buyer_bank": "开户行及账事国银行长丰支行182745058998",
"buyer_name": "安徽省京邦达供应链科技有限公司",
"buyer_tax_no": "91340121MA2NXC8K97",
"code": "3100191130",
"invoice_amount": "183.50",
"invoice_date": "20190722",
"invoice_no": "35659539",
"invoice_type": "01",
"payee": "赵圆容",
"saler_address": "上海市嘉定区永盛路2739-2731号(单号)二层、永盛路2763号二层18001982788",
"saler_bank": "中国农业银行股份有限公司上海新成分理处03832710040006850",
"saler_name": "葡萄商务酒店(上海)有限公司",
"saler_tax_no": "91310114MA1GUE1L3N",
"tax_amount": "5.50",
"total_amount": "189.00",
"verify_code": "44095028783173850994"
}
}
}
错误码 | 说明 |
---|---|
10000 | 查询成功 |
10001 | 错误的请求appkey |
11010 | 商家接口调用异常,请稍后再试 |
11030 | 商家接口返回格式有误 |
10003 | 不存在相应的数据信息 |
10004 | URL上appkey参数不能为空 |
10010 | 接口需要付费,请充值 |
10020 | 万象系统繁忙,请稍后再试 |
10030 | 调用万象网关失败, 请与万象联系 |
10040 | 超过每天限量,请明天继续 |
10050 | 用户已被禁用 |
10060 | 提供方设置调用权限,请联系提供方 |
10070 | 该数据只允许企业用户调用 |
10090 | 文件大小超限,请上传小于1M的文件 |
<?php
/**
* Created by PhpStorm.
* User: FZS
* Time: 2021/05/01 15:26
*/
class freeApi
{
private $apiUrl;
public function __construct()
{
$this->apiUrl = 'https://way.jd.com/JDAI/ocr_invoice?appkey=appkey&body=image';
}
/**
* 获取结果
* @return array
*/
public function getResult()
{
return file_get_contents($this->apiUrl);
}
}
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
)
const (
APIURL = "https://way.jd.com/JDAI/ocr_invoice?appkey=appkey&body=image"
)
func main() {
queryUrl := fmt.Sprintf("%s",APIURL)
resp, err := http.Get(queryUrl)
if err != nil {
log.Println(err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}