1. 接口信息

1.1. 调用地址

https://fapiao.glority.cn/v1/item/get_item_info

1.2. 请求方式

GET/POST

1.3. 返回类型

JSON

2. 请求参数

名称 变量名 必填 类型 示例值 描述
Key app_key true String(32) c5ed72329fece2fe0010a437505b01cb 分配的key
令牌 token true String(32) 7007bd1257dce8d47489166a7c77a926 授权令牌
时间戳 timestamp true String(32) 1522374165 timestamp 为January 1 1970 00:00:00 GMT 到现在的秒数
图片链接 image_url false String http://t.cn/EbhjOOq 图片链接地址
图片文件 image_file false Binary 图片文件或Ofd文件
图片Base64数据 image_data false String 图片Base64数据

2.1. 请求说明

  • 支持的文件类型: jpg, jpeg, png, pdf, OFD, XML. 文件最大支持8M.
  • token 的值计算方式为:md5($appkey+$timestamp+$appSecret)
    • token=md5("c5ed72329fece2fe0010a437505b01cb+1522374165+5c9597f3c8245907ea71a89d9d39d08e")=7007bd1257dce8d47489166a7c77a926
  • API请求示例:
    • https://fapiao.glority.cn/v1/item/get_item_info?app_key=c5ed72329fece2fe0010a437505b01cb&timestamp=1522374165&token=7007bd1257dce8d47489166a7c77a926&image_url=http://t.cn/EbhjOOq
  • 生成token时,字符串连接中的“+”是必需的,缺少这个符号会无法验证通过验证

3. 返回值

3.1. 正确返回参数

名称 变量名 必填 类型 示例值 描述
返回状态码 result true int 0或1 请求状态. 1:成功, 0:失败
回复 response true json    

3.2. 正确返回样例

{
    'result': 1,  // 请求状态. 1:成功, 0:异常
    'response': {
        'data': {
            'version': '4.8_20180226',
            'result': 1,  //识别结果状态 固定1
            'timestamp': 1092098766,
            'message': 'success',
            'id': 'a744aa6929b97355430ab6b5ee831854',//识别结果标识id,用于结果反馈
            'sha1': '00a09af73198ab3ea81a6b58ba6a1f5879f47c63',//识别图片唯一标识
            'time_cost': '1000',//识别花费的时长,单位毫秒
            'identify_results': [
                {
                    'type': '10101', -- 发票类型
                    'orientation': 90, -- 发票顺时针旋转方向
                    'image_size': [1024,768], -- 图片分辨率
                    'page': 0, -- 页码
                    'region': [100,100,200,200], // 单张发票区域: 左上点 和 右下点[x1, y1, x2, y2]
                    'details': {  // 发票识别的具体信息, 不同发票类型会不一样

                       //增值税(专用/普通/电子专用)发票
                       'code': '6300161320',  -- 印刷发票代码
                        'number': '15064112',  -- 印刷发票号码
                        'code_confirm': '6300161320',  -- 机打发票代码
                        'number_confirm': '15064112',  -- 机打发票号码
                        'date': '2017年03月28日',  -- 开票日期
                        'pretax_amount':'2648.54',  --税前金额合计
                        'total': '3098.79',  -- 价税合计(小写)
                        "total_cn":"壹佰圆整",  --价税合计(大写)
                        'tax':'450.25',  --税额合计
                        'check_code': '52657910788452871589'  -- 校验码
                        'machine_code': '499924850051',  -- 机器编号
                        'seller': 'XXXXXX有限公司',  -- 销售方名称
                        'seller_tax_id': '15260000000000000G',  -- 销售方纳税人识别号
                        'seller_addr_tel':'XX市XX区XX街道XX号 1234567890',  --销售方地址、电话
                        'seller_bank_account':'1234567890',  --销售方开户行及账号
                        'buyer':'XXXXXX有限公司',  --购买方名称
                        'buyer_tax_id': '11684616000000000D',  -- 购买方纳税人识别号
                        'buyer_bank_account':'12345678910',  --购买方开户行及账号
                        'buyer_addr_tel':'XX市XX区XX街道XX号 1234567890',  --购买方地址、电话
                        'company_seal': '1',  -- 是否有公司印章(0: 没有; 1: 有)
                        'company_seal_mark':'1',  --是否有销售方(章)标记(0: 没有; 1: 有)
                        'form_type': '第二联',  -- 发票是第几联
                        'form_name': '发票联',   -- 发票联次
                        'kind':  '餐饮',   --  发票消费类型
                        'ciphertext':'<42/93+*/+2*+81*851<9,940-<9*>5+2-91,<1+>7*<81>7/8*140,50<\/<62-<1491+6+9',  --密码区(四行密码,每行以逗号隔开)
                        'travel_tax': '65.50',    -- 车船税
                        'receiptor': 'xxx',    -- 收款人
                        'reviewer': 'xxx',    -- 复核
                        'issuer': 'xxx',    -- 开票人
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        'service_name': '餐饮服务',    -- 服务类型
                        'remark': '账期:201702, 号码:185750654',   --备注
                        'item_names':'*餐饮服务*餐饮服务,*酒*白酒',  --品名(每个以逗号隔开)
                        'agent_mark': '1',  -- 是否代开
                        'acquisition_mark': '1',  -- 是否收购
                        'block_chain': '1',  -- 区块链标记
                        'electronic_mark': '1', --是否为电子增票
                        'transit_mark':'1',  --通行费标志(1 通行费  2 无“通行费”字样,通行费明细)
                        'oil_mark': '1',    -- 成品油标志
                        'vehicle_mark': '1',    -- 机动车标志
                        'title':'XX省增值税XX发票' --标题
                        'electronic_number':'22312000000000338666',  --全电发票号码(当存在该字段时移除 ciphertext)
                        'stamp_info':'' --销售方(章)
                        'producer_stamp':'' --监制章
                        'area':'ZHE_JIANG' --地区 支持省市: GUANG_DONG,ZHE_JIANG,SHEN_ZHEN,YUN_NAN,BEI_JING
                        'items':[
                            {
                                "name": "*保险服务*保费", --货物或应税劳务、服务名称
                                "specification": "1", --规格型号
                                "unit": "单", --单位
                                "quantity": "1", --数量
                                "price": "1066.04", --单价
                                "total": "1066.04", --金额
                                "tax_rate": "6%", --税率
                                "tax": "63.96" --税额
                            }
                        ]


                        //增值税电子普通发票
                        'code': '6300161320',  -- 发票代码
                        'number':'15064112',  --发票号码
                        'date': '2017年03月28日',  -- 开票日期
                        'pretax_amount':'2648.54',  --税前金额合计
                        'total': '3098.79',  -- 价税合计(小写)
                        "total_cn":"壹佰圆整",  --价税合计(大写)
                        'tax':'450.25',  --税额合计
                        'check_code': '52657910788452871589'  -- 校验码
                        'machine_code': '499924850051',  -- 机器编号
                        'seller': 'XXXXXX有限公司',  -- 销售方名称
                        'seller_tax_id': '15260000000000000G',  -- 销售方纳税人识别号
                        'seller_addr_tel':'XX市XX区XX街道XX号 1234567890',  --销售方地址、电话
                        'seller_bank_account':'1234567890',  --销售方开户行及账号
                        'buyer':'XXXXXX有限公司',  --购买方名称
                        'buyer_tax_id': '11684616000000000D',  -- 购买方纳税人识别号
                        'buyer_bank_account':'12345678910',  --购买方开户行及账号
                        'buyer_addr_tel':'XX市XX区XX街道XX号 1234567890',  --购买方地址、电话
                        'company_seal': '1',  -- 是否有公司印章(0: 没有; 1: 有)
                        'company_seal_mark':'1',  --是否有销售方(章)标记(0: 没有; 1: 有)
                        'kind':  '餐饮',   --  发票消费类型
                        'ciphertext':'<42/93+*/+2*+81*851<9940-<9*>5+2-91<1+>7*<81>7/8*14050<\/<62-<1491+6+9',  --密码区(四行密码,每行以逗号隔开)
                        'travel_tax': '65.50',    -- 车船税
                        'receiptor': 'xxx',    -- 收款人
                        'reviewer': 'xxx',    -- 复核
                        'issuer': 'xxx',    -- 开票人
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        'service_name': '餐饮服务',    -- 服务类型
                        'remark': '账期:201702, 号码:185750654',   --备注
                        'item_names':'*餐饮服务*餐饮服务*酒*白酒',  --品名(每个以逗号隔开)
                        'agent_mark': '1',  -- 是否代开
                        'acquisition_mark': '1',  -- 是否收购
                        'block_chain': '1',  -- 区块链标记
                        'electronic_mark': '1', --是否为电子增票
                        'transit_mark':'1',  --通行费标志(1 通行费  2 无“通行费”字样,通行费明细)
                        'oil_mark': '1',    -- 成品油标志
                        'vehicle_mark': '1',    -- 机动车标志
                        'title':'XX省增值税xx发票' --标题
                        'producer_stamp':'' --监制章
                        "stamp_info":"",  --销售方(章)
                        'area':'ZHE_JIANG' --地区 支持省市: GUANG_DONG,ZHE_JIANG,SHEN_ZHEN,YUN_NAN,BEI_JING                        
                        'items':[
                            {
                                "name": "*保险服务*保费", --货物或应税劳务、服务名称
                                "specification": "1", --规格型号
                                "unit": "单", --单位
                                "quantity": "1", --数量
                                "price": "1066.04", --单价
                                "total": "1066.04", --金额
                                "tax_rate": "6%", --税率
                                "tax": "63.96" --税额
                            }
                        ]

                         // 数电票(增值税专用发票/普通发票)
                        "number": "00001649",   -- 发票号码
                        "date": "2022年01月25日",  -- 开票日期
                        "sub_total": "306",  -- 小计金额
                        "sub_tax": "27.54",  -- 小计税额
                        "pretax_amount":"30677.41",  --税前金额合计
                        "tax":"2760.97",  --税额合计
                        "total": "33438.38",  -- 价税合计(小写)
                        "total_cn": "叁万叁仟肆佰叁拾捌圆叁角捌分",  --价税合计(大写)
                        "seller": "XXXX有限责任公司",    -- 销售方名称
                        "seller_tax_id": "91150XXXXXXX",  -- 销售方统一社会信用代码/纳税人识别号
                        "buyer":"XXXX有限责任公司",  --购买方名称
                        "buyer_tax_id": "91150XXXXXXXX",   -- 购买方统一社会信用代码/纳税人识别号
                        "company_seal": "0",  -- 是否有公司印章(0: 没有; 1: 有)
                        "kind": "水电",  --  发票消费类型
                        "issuer": "XXX",  -- 开票人
                        "service_name": "天然气",  -- 服务类型
                        "remark": "2022.1.1-2022.1.20",    --备注
                        "item_names":"*天然气*天然气*天然气*天然气*天然气*天然气",  --项目名称(每个以逗号隔开)
                        "title": "电子发票(普通发票)",  --标题 
                        "electronic_mark": "1",  --是否为电子票
                        "vehicle_mark": "0",   -- 机动车标志
                        "company_seal_mark":"0",  --是否有销售方(章)标记(0: 没有; 1: 有)
                        "building_mark":"1",  --建筑标志(仅专用建筑发票返回此字段)
                        "service_type":"建筑服务",  --"全电票标签 (建筑服务,货物运输服务,不动产经营租赁服务,旅客运输服务)"
                        "buyer_bank_account":"12345678910",  --购买方开户行及账号
                        "buyer_addr_tel":"XX市XX区XX街道XX号 1234567890",  --购买方地址、电话
                        "seller_addr_tel":"XX市XX区XX街道XX号 1234567890",  --销售方地址、电话
                        "seller_bank_account":"1234567890",  --销售方开户行及账号
                        'receiptor': 'xxx',    -- 收款人
                        'reviewer': 'xxx',    -- 复核
                        'travel_tax': '27.54',  -- 车船税
                        "items": [
                            {
                                "name": "*天然气*天然气",  --项目名称
                                "price": "2.14128502", --单价
                                "quantity": "5949",  --数量
                                "specification": "", --规格型号
                                "tax": "1146.47", --税额
                                "tax_rate": "9%",  --税率/征收率
                                "total":"12738.5",  --金额
                                "unit": "个"  --单位
                                 "place_of_building_service":"华光路以南",  --建筑服务发生地( service_type为建筑服务,返回此字段)
                                "building_name":"公共租赁住房项目",  --建筑项目名称( service_type为建筑服务,返回此字段)
                                "title_certificate_number":"XXX",  --产权证书/不动产权证号(service_type为不动产经营租赁服务,返回字段)
                                "area_unit":"平方米",  --面积单位(service_type为不动产经营租赁服务,返回字段)
                            }
                        ],
                        "transports": [     -- 仅 service_type为货物运输服务,旅客运输服务 返回字段
                            {
                                "transport_type":"公路运输",  --运输工具类型(service_type为货物运输服务,返回此字段)
                                "transport_number":"XXX5815",  --运输工具牌号(service_type为货物运输服务,返回此字段)
                                "from":"上海市浦东新区",  --起始地(service_type为货物运输服务,返回此字段)
                                "to":"河南省焦作市修武县",  --到达地(service_type为货物运输服务,返回此字段)
                                "goods_name":"配件、钢板",  --运输货物名称(service_type为货物运输服务,返回此字段)
                                "passenger":"XX",  --出行人(service_type为旅客运输服务,返回此字段)
                                "user_id":"XX",  --有效身份证号(service_type为旅客运输服务,返回此字段)
                                "date":"XX",  --"出行日期(service_type为旅客运输服务,返回此字段)"
                                "seat":"XX",  --等级(service_type为旅客运输服务,返回此字段)
                            }
                        ],
                        "page_count": "2",  -- 总页数(仅当多页时显示)
                        "page_number": "1",  -- 当前页数(仅当多页时显示)


                         //区块链电子发票
                       'code': '6300161320',  -- 发票代码
                        'number': '15064112',  -- 发票号码
                        'date': '2017年03月28日',  -- 开票日期
                        "pretax_amount":"2648.54",  --税前金额合计
                        'total': '3098.79',  -- 价税合计(小写)
                        "total_cn":"壹佰圆整",  --价税合计(大写)
                        "tax":"450.25",  --税额合计
                        'check_code': '52657'  -- 校验码
                        'seller': 'XXXXXX有限公司',  -- 销售方名称
                        'seller_tax_id': '15260000000000000G',  -- 销售方纳税人识别号
                        "seller_addr_tel":"XX市XX区XX街道XX号 1234567890",  --销售方地址、电话
                        "seller_bank_account":"1234567890",  --销售方开户行及账号
                        "buyer":"XXXXXX有限公司",  --购买方名称
                        'buyer_tax_id': '11684616000000000D',  -- 购买方纳税人识别号
                        "buyer_bank_account":"12345678910",  --购买方开户行及账号
                        "buyer_addr_tel":"XX市XX区XX街道XX号 1234567890",  --购买方地址、电话
                        'company_seal': '1',  -- 是否有公司印章(0: 没有; 1: 有)
                        "company_seal_mark":"1",  --是否有 '销售方(章)' 标记(0: 没有; 1: 有)
                        'kind':  '餐饮',   --  发票消费类型
                        "ciphertext":"<42/93+*/+2*+81*851<9940-<9*>5+2-91<1+>7*<81>7/8*14050<\/<62-<1491+6+9",  --密码区(三行密码,每行以逗号隔开)
                        'receiptor': 'xxx',    -- 收款人
                        'reviewer': 'xxx',    -- 复核
                        'issuer': 'xxx',    -- 开票人
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        'service_name': '餐饮服务',    -- 服务类型
                        'remark': '账期:201702, 号码:185750654',   --备注
                        "item_names":"*餐饮服务*餐饮服务*酒*白酒",  --品名(每个以逗号隔开)
                        'block_chain': '1',  -- 区块链标记
                        'title':'XX省增值税xx发票' --标题
                        'items':[
                            {
                                "name": "*保险服务*保费", --货物或应税劳务、服务名称
                                "specification": "1", --规格型号
                                "unit": "单", --单位
                                "quantity": "1", --数量
                                "price": "1066.04", --单价
                                "total": "1066.04", --金额
                                "tax_rate": "6%", --税率
                                "tax": "63.96" --税额
                            }
                        ]

                        //收费公路通行费增值税电子普通发票
                        'code': '6300161320',  -- 发票代码
                        'number': '15064112',  -- 发票号码
                        'date': '2017年03月28日',  -- 开票日期
                        "pretax_amount":"2648.54",  --税前金额合计
                        'total': '3098.79',  -- 价税合计(小写)
                        "total_cn":"壹佰圆整",  --价税合计(大写)
                        "tax":"450.25",  --税额合计
                        'check_code': '15512212271381098068'  -- 校验码
                        'seller': 'XXXXXX有限公司',  -- 销售方名称
                        'seller_tax_id': '15260000000000000G',  -- 销售方纳税人识别号
                        "seller_addr_tel":"XX市XX区XX街道XX号 1234567890",  --销售方地址、电话
                        "seller_bank_account":"1234567890",  --销售方开户行及账号
                        "buyer":"XXXXXX有限公司",  --购买方名称
                        'buyer_tax_id': '11684616000000000D',  -- 购买方纳税人识别号
                        "buyer_bank_account":"12345678910",  --购买方开户行及账号
                        "buyer_addr_tel":"XX市XX区XX街道XX号 1234567890",  --购买方地址、电话
                        'company_seal': '1',  -- 是否有公司印章(0: 没有; 1: 有)
                        "company_seal_mark":"1",  --是否有 '销售方(章)' 标记(0: 没有; 1: 有)
                        'kind':  '餐饮',   --  发票消费类型
                        "ciphertext":"<42/93+*/+2*+81*851<9940-<9*>5+2-91<1+>7*<81>7/8*14050<\/<62-<1491+6+9",  --密码区(三行密码,每行以逗号隔开)
                        "transit_mark":"1",  --通行费标志(1 通行费  2 无“通行费”字样,通行费明细)
                        'receiptor': 'xxx',    -- 收款人
                        'reviewer': 'xxx',    -- 复核
                        'issuer': 'xxx',    -- 开票人
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        "service_name": "经营租赁",    -- 服务类型
                        'remark': '账期:201702, 号码:185750654',   --备注
                        "item_names":"*经营租赁*通行费",  --品名(每个以逗号隔开)
                        'title':'XX省增值税xx发票' --标题
                        "items": [
                            {
                                "name": "*经营租赁*通行费",  --项目名称
                                "total": "21.21", --金额
                                "tax_rate": "3%", --税率
                                "tax": "0.64", --税额
                                "license_plate": "XXXXX", --车牌号
                                "vehicle_type":"客车",  --车辆类型
                                "start_date": "20200702", --通行日期起
                                "end_date": "20200702" --通行日期止
                            }
                        ]

                        //出租车发票
                        'code': '133011680478',   -- 发票代码
                        'number': '01670989',    -- 发票号码
                        'date': '2017年08月29日',    -- 乘车日期
                        'time_geton': '12:47',    -- 上车时间
                        'time_getoff': '12:52',    -- 下车时间
                        'mileage': '1.9',    -- 里程
                        'total': '11.00',    -- 总金额
                        'place': '浙江省杭州市',    -- 发票所在地
                        'kind':  '交通',   --  发票消费类型
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        'license_plate': '浙A88888',    -- 车牌号
                        'surcharge': '0.00',    -- 附加费
                        'fare':'0.00'  --金额
                        'producer_stamp':''  --监制章

                         //火车票
                        'number': 'Z125C004574',    -- 号码
                        'date': '2017年11月21日',    -- 乘车日期
                        'time': '21:53',    -- 乘车时间
                        'name': '张三',    -- 乘车人姓名
                        'station_geton': '杭州东',    -- 上车车站
                        'station_getoff': '金华',    -- 下车车站
                        'train_number': 'G7383',    -- 车次
                        'seat': '二等座',    -- 座位类型
                        'total': '74.00',     -- 总金额
                        'kind':  '交通',   --  发票消费类型
                        'serial_number':  '34682301830312L063003',   --  序列号
                        'user_id':  '12345678910111213',   --  身份证号
                        'gate_number': '6A',  --  检票口
                        'seat_number': '06车无座',  --  座位号
                        'pick_up_address': '无锡售'  --  取票地址
                        "electronic_mark": "1",  --电子票标记
                        "refund_content":"" --退差内容
                        "voucher_mark":"1",  --电子凭证标记(仅在电子凭证时返回)
                        "type_of_business":"售",  --商务类型 退 售 改签 退差
                        "pretax_amount": "166.05",  --税前金额 (仅在电子凭证时返回)
                        "buyer": "铁路客票电子发票测试单位", --购买方名称 (仅在电子凭证时返回)
                        "buyer_tax_id": "91110001110AE35XXX", --社会统一信用代码 (仅在电子凭证时返回)
                        "number_of_original_invoice":"2211913067100000XXX",  --原发票号码(仅在电子凭证时返回)
                        "air_conditioning":"新空调",  --空调类型(仅在电子凭证时返回)
                        "tax_rate":"9%",  --税率(仅在电子凭证时返回)
                        "tax": "14.95", --税额 (仅在电子凭证时返回)
                        "type_of_voucher":"电子发票(铁路电子客票)",  --凭证种类(仅在电子凭证时返回)
                        "seller": "",  --出票方(仅在电子凭证时返回)
                        "issue_party_code":"",  --出票方代码(仅在电子凭证时返回)
                        "type_of_railway_ticket":"",  --火车票类型(仅在电子凭证时返回)
                        "discount_mark":"",  --折扣标志(仅在电子凭证时返回)
                        "amount_refunded":"",  --退票金额(仅在电子凭证时返回)
                        "fare_of_original_railway_ticket":"",  --原火车票价款(仅在电子凭证时返回)
                        "departure_station_of_original_railway_ticket":"",  --原火车票起点站(仅在电子凭证时返回)
                        "destination_station_of_original_railway_ticket":"",  --原火车票终点站(仅在电子凭证时返回)
                        "buyer_addr_tel": "", --购买方地址电话 (仅在电子凭证时返回)
                        "buyer_bank_account": "", --购买方银行及账号 (仅在电子凭证时返回)
                        "remark":"",  --备注(仅在电子凭证时返回)
                        "date_of_issue":"2022-03-17",  --开票日期(仅在电子凭证时返回)
                        "phonics_of_departure_station":"Nanjing",  --起始站拼音(仅在电子凭证时返回)
                        "phonics_of_destination_station":"Shanghaihongqiao",  --终点站拼音(仅在电子凭证时返回)

                        //机打发票
                        'code': '6300161320',   -- 发票代码
                        "number":"15064112",  --发票号码
                        "date":"2017年11月21日",  --开票日期
                        'time': '12:22:22',    -- 时间
                        'check_code': '52657910788452000000',  -- 校验码
                        "category":"oil",  --种类(oil 表示是加油票)
                        'pretax_amount' : '74.00', -- 税前金额合计
                        "tax":"58",  --税额合计
                        "total":"74",  --价税合计(小写)
                        "total_cn":"柒拾肆元整",  --价税合计(大写)
                        'seller': 'XXXXXX有限公司',    -- 销售方名称
                        'seller_tax_id': '15260000000000000G',    -- 销售方纳税人识别号
                        "buyer":"XXXXXX有限公司",  --购买方名称
                        'buyer_tax_id': '11684616000000000D',    -- 购买方纳税人识别号
                        'kind':  '服务',   --  发票消费类型
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        "seller_addr_tel":"XX市XX区XX街道XX号 1234567890",  --销售方地址、电话
                        "seller_bank_account":"1234567890",  --销售方开户行及账号
                        "buyer_bank_account":"12345678910",  --购买方开户行及账号
                        "buyer_addr_tel":"XX市XX区XX街道XX号 1234567890",  --购买方地址、电话
                        'company_seal': '1',    -- 是否有公司印章(0:没有; 1: 有)
                        'electronic_mark': '1', -- 是否为浙江/广东通用机打电子发票
                        'title':'XX机打发票' --标题
                        "transit_mark":"1",  --通行费标志
                        "remark":"备注",  --备注
                        'producer_stamp':''  --监制章
                        'area':'ZHE_JIANG' --地区 支持省市: GUANG_DONG,ZHE_JIANG,SHEN_ZHEN,YUN_NAN,BEI_JING
                        'items':[
                            {
                                "name": "*其他金属制品*干冰桶", --货物或应税劳务、服务名称
                                "unit": "台", --单位
                                "quantity": "1", --数量
                                "specification":"无",  --规格型号
                                "total":"174.26",  --金额
                                "tax_rate": "0.01", --税率
                                "price": "238.00", --单价
                                "tax": "1.74" --税额
                            }
                        ]



                        //增值税普通发票(卷票)
                        'code': '6300161320',   -- 发票代码
                        'number': '15064112',    -- 发票号码
                        'code_confirm': '6300161320', -- 机打代码
                        'number_confirm': '15064112' -- 机打号码
                        'date': '2017年11月21日',    -- 开票日期
                        'check_code': '52657910788452871589'    -- 校验码
                        'seller': 'XXXXXX有限公司',    -- 销售方名称
                        'seller_tax_id': '15260000000000000G',    -- 销售方纳税人识别号
                        "buyer":"XXXXXX有限公司",  --购买方名称
                        'buyer_tax_id': '11684616000000000D',    -- 购买方纳税人识别号
                        "category":"oil",  --种类(oil 表示是加油票)
                        "total":"74",  --总金额(小写)
                        "total_cn":"柒拾肆圆整",  --总金额(大写)
                        'kind':  '服务',   --  发票消费类型
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        'company_seal': '1',    -- 是否有公司印章(0:没有; 1: 有)
                        'service_name': '汽油',    -- 服务类型
                        "item_names":"*95汽油",  --品名(每个以逗号隔开)
                        'title':'XX增值税普通发票(卷票)' --标题
                        "producer_stamp":"",  --监制章
                        'items': [
                            {
                                'name': '*汽油*95号汽油(VIA)', --项目
                                'quantity': '40.99', --数量
                                'price': '7.32', --单价
                                "total":"300",  --金额
                            }
                        ]


                        //定额发票
                        'code': '6300161320',   -- 发票代码
                        "number":"15064112",  --发票号码
                        'total': '74.00',     -- 总金额
                        'kind':  '交通',   --  发票消费类型
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        'company_seal': '1',    -- 是否有公司印章(0:没有; 1: 有)
                        "non_commercial_mark":"0",  --定额非经营性标志
                        'title': 'XX定额发票', --标题
                        "total_cn":"柒拾肆圆整",  --总金额(大写)
                        "stamp_info":"",  --章信息
                        "producer_stamp":"",  --监制章


                        //过路费发票
                        'code': '6300161320',   -- 发票代码
                        'number': '15064112',    -- 发票号码
                        'date': '2018年01月10日',    -- 日期
                        'time': '12:14',    -- 时间
                        'entrance': '4001',    -- 入口
                        'exit': '6754',    -- 出口
                        'total': '74.00',     -- 总金额
                        'kind':  '交通',   --  发票消费类型
                        'highway_flag':  '1',   --  高速标志(0:没有; 1: 有)
                        'title': '通行费发票' --标题
                        "producer_stamp":"",  --监制章

                        //客运汽车票
                        'code': '6300161320',   -- 发票代码
                        'number': '15064112',    -- 发票号码
                        'date': '2018年01月10日',    -- 日期
                        'time': '12:14',    -- 时间
                        'station_geton': '杭州',    -- 出发车站
                        'station_getoff': '金华',    -- 达到车站
                        'total': '74.00',     -- 总金额
                        'name': '张三',     -- 姓名
                        'kind':  '交通',   --  发票消费类型
                        'user_id':  '256548545211254523',   --  身份证号
                        'title': '客运汽车票' --标题
                        "producer_stamp":"",  --监制章
                        "company_seal":""   --是否盖章(0: 没有; 1: 有)
                        "bus_number":""   --车次

                        // 航空运输电子客票行程单
                        "user_name":"张三",  --旅客姓名
                        'user_id':'256548545211254523',  -- 身份证号
                        'number': '1506498784112',     -- 电子客票号码
                        'check_code': '2345',     -- 验证码
                        'date': '2018年04月04日',     -- 填开日期
                        'agentcode': 'XMN098,0987677',     -- 销售单位代号
                        'issue_by': '上海华城西南国际旅行社有限公司',     -- 填开单位
                        'fare': '730.00',     -- 票价
                        'tax': '10.00',     -- 税费
                        'fuel_surcharge': '10.00',     -- 燃油附加费
                        'caac_development_fund': '50.00',     -- 民航发展基金
                        'insurance': '10.00',     -- 保险费
                        'total': '800.00',           -- 总额
                        'flights': [      -- 航班信息
                            {
                                'from':'上海',     -- 出发站
                                'to':'北京',     -- 到达站
                                'class_name': '经济舱'     -- 舱位等级
                                'flight_number':'GS7563',     -- 航班号
                                "date":"2018年02月20日",  --乘机日期
                                'time':'12:34',     -- 乘机时间
                                'seat':'N',     -- 座位等级
                                'carrier':'南航',     -- 承运人
                                'allow':'20K', --免费行李
                                'fare_basis': 'R',  --客票级别 
                                'not_valid_before': '2020年03月07日',  --客票生效日期
                                'not_valid_after': '2020年03月07日'  --有效截至日期
                                "flight_segment":"1",  --flight_segment航段序号
                            }
                        ],
                        'kind':  '交通',   --发票消费类型
                        'international_flag': '国内(D)',    -- 国内国际标签
                        'print_number': '30925566965',    -- 印刷序号
                        'endorsement': 'TOUR', --签注
                        'title': '航空运输电子客票行程单' --标题 
                        "electronic_mark":"1",  --电子票标记(仅在电子票时返回)
                        "voucher_mark":"1",  --电子凭证标记(仅在电子票时返回)
                        "issuing_status":"正常",  --出票状态(仅在电子票时返回)
                        "qrcode":"",  --二维码(仅在电子票时返回)
                        "receipt_number":"123456789012345XXX",  --收据号码(仅在电子票时返回)
                        "number_of_gp_order":"GP112045678XX",  --GP订单号
                        "prompt_information":"XXX",  --提示信息(仅在电子票时返回)
                        "other_taxes":"0",  --其他税费(仅在电子票时返回)
                        "buyer":"北京XXX公司(测试)",  --购买方名称(仅在电子票时返回)
                        "seller":"中国南方航空股份有限公司",  --销售方名称(仅在电子票时返回)
                        "buyer_tax_id":"9111000007311XXXX",  --购买方纳税人识别号(仅在电子票时返回)
                        "tax_rate":"9%",  --增值税税率(仅在电子票时返回)
                        "type_of_business":"售",  --商务类型 售 或 退



                        //二手车销售统一发票
                        'code': '6300161320',      -- 发票代码
                        'number': '15064112',     -- 发票号码
                        'date': '2017年03月28日',    -- 开票日期
                        'total': '100000.00',    -- 总金额
                        'seller': 'XXXXXX有限公司',    -- 卖方单位/个人
                        'seller_id': '330517489552522146',    -- 卖方单位代码/个人身份证号
                        'seller_address': 'XX市XX区XX街道', --卖方单位/个人住址
                        'buyer': 'XXXXXX有限公司',    -- 买方单位/个人
                        'buyer_id': '350822221211525564',    -- 买方单位代码/个人身份证号
                        'buyer_address':'XX市XX区XX街道', --买方单位/个人住址
                        'auction_company':''  --经营、拍卖单位
                        'auction_address':''   --经营拍卖单位地址
                        'auction_bank_account':''  --经营、拍卖单位开户银行、账号
                        'auction_tax_id':''  --经营、拍卖单位纳税人识别号
                        'auction_phone':''  --经营、拍卖单位电话
                        'company_name': 'xxx二手车交易管理有限公司',   -- 二手车市场
                        'company_tax_id': '15260000000000000G',    -- 二手车市场纳税人识别号
                        'company_bank_account': 'XX银行XX支行1234567890' --二手车市场开户银行、账号
                        'company_phone': '1234567890' --二手车市场电话
                        'company_address': 'XX市XX区XX街道' --二手车市场地址
                        'license_plate': '浙A88888',    -- 车牌号
                        'registration_number': '320027731473',    -- 登记证号
                        'car_code': 'LVSHKAML8FG461612',    -- 车架号/车辆识别代码
                        'car_model': '丰田牌CAF7150N4',    -- 厂牌型号
                        'kind':  '用车',   --  发票消费类型
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        'title': '二手车销售统一发票' --标题
                        'company_seal': '1',    -- 是否有公司印章(0: 没有; 1: 有)
                        'machine_id': '123456789', --机器编号
                        'machine_code': '123001221606', –-机打代码
                        'machine_number': '00213744', –-机打号码
                        'form_type':  '第二联',   -- 发票是第几联
                        'form_name':  '发票联',   -- 发票联次
                        'seller_tel':  '',   -- 卖方电话
                        'car_type':  '',   -- 车辆类型
                        'buyer_tel':  '',   -- 买方电话
                        'producer_stamp':  '',   -- 监制章
                        'electronic_number':'', --数电票号码
                        'electronic_mark':'1',  --电子票标记(仅在电子票时返回)
                        'issuer':''  ,           --开票人
                        'destination_department_of_motor_vehicles': ''   --转入地车辆管理所名称

                        //机动车销售统一发票
                        'code': '6300161320',      -- 发票代码
                        'number': '15064112',     -- 发票号码
                        'machine_code': '123001221606',     -- 机打代码
                        'machine_number': '00213744',     -- 机打号码
                        'date': '2017年03月28日',    -- 开票日期
                        "pretax_amount":"930000",  --税前金额
                        "total":"1000000",  --价税合计(小写)
                        "seller":"XXXXXX有限公司",  --销货单位名称
                        'seller_tax_id': '330517489552522146',    -- 销货单位纳税人识别号
                        'address': 'XX市XX区XX街道', -- 销货单位地址
                        'phone': '1234567890' --销货单位电话
                        "account":"1234567890",  --销货单位账号
                        "seller_bank_account":"" --销货单位开户银行
                        "buyer":"XXXXXX有限公司",  --购买方单位/个人名称
                        "buyer_id":"350822221211525564",  --购买方单位代码/个人身份证号
                        'tax_authorities': 'xxx市国家税务局xx分局',   -- 主管税务机关
                        'tax_authorities_code': '144030613',    -- 主管税务机关代码
                        "car_code":"LVSHKAML8FG461612",  --车辆识别代号/车架号码
                        'car_engine_code': 'Q035277',    -- 发动机号码
                        'car_model': '丰田牌CAF7150N4',    -- 厂牌型号
                        'certificate_number': 'YE80X1001351257',    -- 合格证号
                        'kind':  '用车',   --  发票消费类型
                        'province': '浙江省',    -- 省
                        'city': '杭州市',    -- 市
                        "tax":"70000",  --增值税税额
                        "tax_rate":"7%",  --增值税税率或征收率
                        'company_seal': '1',    -- 是否有公司印章(0:没有; 1: 有)
                        'title': '机动车销售统一发票', --标题
                        'car_type': '多用途货车', --车辆类型
                        'tonnage': '0.71', --吨位
                        'form_type':  '第二联',   -- 发票是第几联
                        'form_name':  '发票联',   -- 发票联次
                        'issuer': '王XX' --开票人
                        'tax_num': '1234567890', --完税凭证号码
                        'max_people_num': '5', --限乘人数
                        'origin': '浙江杭州' --产地
                        "commodity_number":"1",  --商检单号
                        "producer_stamp":"1",  --监制章
                        'electronic_number':'', --数电票号码
                        'electronic_mark':'1',  --电子票标记(仅在电子票时返回)


                        // 小票
                        'store_name': 'storename',   -- 店名
                        'date': '2018年05月03日',    -- 日期
                        'time': '12:22:10',    -- 时间
                        'subtotal': '80.00',    -- 小计金额
                        'tax': '10.00',  -- 税额
                        'discount': '1.00',  -- 折扣
                        'tips': '1.00',  -- 小费
                        'total': '90.00'   -- 总金额
                        'currency_code':'CNY',  -- 币种, 使用 ISO 4217 Currency Codes 标准
                        'type': 'Shopping',  -- 消费类型
                        'international_mark': '0', -- 1:国际票 0:国内票

                        // 出行行程单
                        'title': '滴滴出行/T3/高德地图打车/花小猪打车—行程单', --标题
                        'date': '2019年03月20日',     -- 申请日期
                        'date_start': '2019年01月12日',    -- 行程开始时间
                        'date_end': '2019年03月13日',    -- 行程结束时间
                        'phone': '178xxxxxxxx',    -- 行程人手机号
                        'total': '55.80',    -- 合计金额
                        'items': [      -- 行程信息
                            {
                                'car_type': '快车',     -- 车型
                                'time_geton': '01-02 12:42 周三',     -- 上车时间
                                'time_getoff': '01-02 12:52 周三',     -- 下车时间(T3行程单)
                                'city': '杭州市',     -- 城市
                                'station_geton': '杭州市滨江医院',     -- 起点
                                'station_getoff': '金盛曼城(东门)'     -- 终点
                                'mileage': '8.6',     -- 里程(公里)
                                'total': '26.12',     -- 金额
                                'producer': '添猫出行',     -- 服务商(高德行程单)
                                'time_order': '01-02 12:32 周三',     -- 下单时间(T3行程单)
                            },
                            {
                                'car_type': '快车',     -- 车型
                                'time_geton': '01-03 22:00 周四',     -- 上车时间
                                'time_getoff': '01-03 22:50 周四',     -- 下车时间(T3行程单)
                                'city': '杭州市',     -- 城市
                                'station_geton': '海创基地北楼',     -- 起点
                                'station_getoff': '金盛曼城(东门)'     -- 终点
                                'mileage': '3.8',     -- 里程(公里)
                                'total': '13.26',     -- 金额
                                'producer': '添猫出行',     -- 服务商(高德行程单)
                                'time_order': '01-03 21:50 周四',     -- 下单时间(T3行程单)
                            },
                            {
                                'car_type': '快车',     -- 车型
                                'time_geton': '03-13 21:10 周三',     -- 上车时间
                                'time_getoff': '03-13 21:30 周三',     -- 下车时间(T3行程单)
                                'city': '杭州市',     -- 城市
                                'station_geton': '海创基地北楼',     -- 起点
                                'station_getoff': '金盛曼城(东门)'     -- 终点
                                'mileage': '4.1',     -- 里程(公里)
                                'total': '16.42',     -- 金额
                                'producer': '添猫出行',     -- 服务商(高德行程单)
                                'time_order': '03-13 21:00',     -- 下单时间(T3行程单)
                            }
                        ],
                        'kind':  '交通',   --  发票消费类型

                        // 完税证明
                        'number': '15064112',   -- 发票号码
                        'serial_number':'', -- 票证字轨 
                        "total":"3098.79",  --总金额(小写)
                        "buyer":"XXXXXX有限公司",  --购买方纳税人名称
                        "buyer_tax_id":"11684616000000000D",  --缴款人识别号
                        "date":"2018年05月03日",  --填发日期
                        "tax_authorities":"国家税务总局",  --税务机关
                        "title": "中华人民共和国税收完税证明", // 标题
                        "total_cn":"壹拾壹万肆仟伍佰陆拾柒元玖角整",  --总金额(大写)
                        "remark": "...", // 备注
                        "tax_agency_code": "",  //征收机关代码
                        "buyer_deposit_bank":"",  //纳税人开户行
                        "buyer_account":"", //纳税人账号
                        "tax_payment_limited_time":"",  --税款限缴期限
                        "payer_stamp":"", //缴款单位盖章
                        "treasury_stamp":"", //国库(银行)盖章
                        "receiving_treasury":"",  //收款国库
                        "items": [
                            {
                                "actual_paid_amount": "433.70", // 实缴金额
                                "amount_paid": "0.00", // 已缴金额
                                "entry_date": "2021-08-13", // 入库日期
                                "tax_agency": "国家税务总局杭州市滨江区税务局", // 征收机关
                                "tax_period": "2021-07-01至2021-07-31", // 税款所属期
                                "tax_type": "印花税", // 税种
                                "budget_account_code": "", // 预算科目编码
                                "budget_account_name": "", // 预算科目名称
                                "budget_account_level": "", // 预算科目级次 
                                "name": "市区", // 品目名称
                                "original_number": "31308619010000216", // 原凭证号
                                "quantity": "", // 课税数量
                                "tax_rate":"0.001",  --税率或单位税额
                                "total":"43920",  --计税金额或销售收入
                            }
                        ]

                        //船票
                        'code': '6300161320',   -- 发票代码
                        'number': '15064112',    -- 发票号码
                        'date': '2018年01月10日',    -- 日期
                        'time': '12:14',    -- 时间
                        'station_geton': '杭州',    -- 出发车站
                        'station_getoff': '上海',    -- 达到车站
                        'total': '174.00',     -- 总金额
                        'name': '张三',     -- 姓名
                        'kind':  '交通',   --  发票消费类型
                        'province': '浙江省', -- 省
                        'city': '杭州市', -- 市
                        'currency_code':'CNY'  -- 币种
                        'user_id': 'XXX' -- 身份证号

                        //可报销其他发票
                        "code": "1234567890", //代码
                        "number": "1234567890", //号码
                        "date": "2018年01月05日", //日期
                        "total": "1135.13", //金额
                        "kind": "其他", //消费类型
                        "title": "" //标题
                    },
                    'extra': {
                        //增值税
                        'check_code_candidates':['52657910788452871583','52657910788452871588'],   -- 校验码备选
                        'check_code_last_six':['871583','871588']   -- 校验码后六位备选
                        'number_order_error': ['15064115','15064116']   -- 发票号码备选(如发现可能错号等情况)

                        //二维码或者条码
                        'qrcode': ['01,10,044000003111,20000010,123.40,20210701,01812343072612345678'],  – 二维码,返回信息包含发票代码、发票号码、税前金额、开票日期、校验码
                        'barcode': ['00000102180000'],        -- 条码
                    }
                }
            ]
        }
    }
}

3.3. 错误返回参数

名称 变量名 必填 类型 示例值 描述
返回状态码 result true int 0或1 请求状态. 1:成功, 0:失败
错误码 error true int 10002  
信息说明 message true String "Autdenticate failed"  

3.4. 错误返回样例

{
    'result': 0,
    'error': 10002,
    'message': 'Authenticate failed'
}

4. 请求示例

4.1. C#

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Net; 
using System.Security.Cryptography; 
using System.Text; 
using System.Threading.Tasks; 

namespace Test 
{ 
    class Program 
    { 

        const string appSecret = "APPSECRET";    //这里输入提供的app_secret   
        const string appKey = "APPKEY";   //这里输入提供的app_key  

        const string image_url = "http://fapiao.glority.cn/dist/img/sample.jpg" 
        public static string CalculateMD5Hash(string input) 
        { 
            // step 1, calculate MD5 hash from input 
            MD5 md5 = System.Security.Cryptography.MD5.Create(); 
            byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input); 
            byte[] hash = md5.ComputeHash(inputBytes); 

            // step 2, convert byte array to hex string 
            StringBuilder sb = new StringBuilder(); 
            for (int i = 0; i < hash.Length; i++) 
            { 
                sb.Append(hash[i].ToString("X2")); 
            } 
            return sb.ToString().ToLower(); 
        } 

        public static double ConvertToUnixTimestamp(DateTime date) 
        { 
            DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); 
            TimeSpan diff = date.ToUniversalTime() - origin; 
            return Math.Floor(diff.TotalSeconds); 
        } 

        static void Main(string[] args) 
        { 
            double timeStamp = ConvertToUnixTimestamp(DateTime.Now); 

            string token = CalculateMD5Hash(appKey + '+' + timeStamp + '+' + appSecret); 
            Dictionary<string, string> dic = new Dictionary<string, string>(); 
            dic.Add("app_key", appKey); 
            dic.Add("timestamp", timeStamp.ToString()); 
            dic.Add("token", token); 
            dic.Add("image_url", image_url); 

            string result = ""; 
            string url = "http://fapiao.glority.cn/v1/item/get_item_info"; 
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); 
            req.Method = "POST"; 
            req.ContentType = "application/x-www-form-urlencoded"; 
            #region 添加Post 参数 
            StringBuilder builder = new StringBuilder(); 
            int i = 0; 
            foreach (var item in dic) 
            { 
                if (i > 0) 
                    builder.Append("&"); 
                builder.AppendFormat("{0}={1}", item.Key, item.Value); 
                i++; 
            } 
            byte[] data = Encoding.UTF8.GetBytes(builder.ToString()); 
            req.ContentLength = data.Length; 
            using (Stream reqStream = req.GetRequestStream()) 
            { 
                reqStream.Write(data, 0, data.Length); 
                reqStream.Close(); 
            } 
            #endregion 
            HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); 
            Stream stream = resp.GetResponseStream(); 
            //获取响应内容 
            using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) 
            { 
                result = reader.ReadToEnd(); 
            } 

            Console.WriteLine(result); 

            Console.ReadLine(); 
        } 
    } 
}

4.2. JAVA

//依赖项:okio-1.14.0,shiro-core-1.4.0,okhttp-3.11.0 
import okhttp3.FormBody; 
import okhttp3.OkHttpClient; 
import okhttp3.Request; 
import okhttp3.Response; 
import org.apache.shiro.crypto.hash.Md5Hash; 

import java.io.IOException; 

public class Test { 

    public static void main(String...args) throws IOException { 

        String appKey = "APPKEY"; //这里输入提供的app_key  
        String appSecret = "APPSECRET"; //这里输入提供的app_secret    

        String imageUrl = "http://fapiao.glority.cn/dist/img/sample.jpg";  
        String host = "http://fapiao.glority.cn/v1/item/get_item_info"; 
        long timestamp = System.currentTimeMillis() / 1000; 
        String token = new Md5Hash(appKey + "+" + timestamp + "+" + appSecret).toString(); 

        OkHttpClient client = new OkHttpClient(); 
        Request request = new Request.Builder() 
                .url(host) 
                .post(new FormBody.Builder() 
                        .add("app_key", appKey) 
                        .add("timestamp", String.valueOf(timestamp)) 
                        .add("token", token) 
                        .add("image_url", imageUrl) 
                        .build()) 
                .build(); 

        Response response = client.newCall(request).execute(); 
        System.out.println(response.body().string()); 
    } 
}

4.3. Objective-C

#import <Foundation/Foundation.h>
#import <CommonCrypto/CommonDigest.h>

NSString *appKey = @"appKey"; ///这里替换成提供的appkey
NSString *appSecret = @"appSecret"; //这里替换成提供的appSecret

NSString *imageUrl = @"http://fapiao.glority.cn/dist/img/sample.jpg";
NSString *host = @"http://fapiao.glority.cn/v1/item/get_item_info";
NSString *timestampString = [NSString stringWithFormat:@"%d", (int)[[NSDate date] timeIntervalSince1970]];
NSString *method = @"POST";
NSString *md5String = [NSString stringWithFormat:@"%@+%@+%@", appKey, timestampString, appSecret];
const char * pointer = [md5String UTF8String];
unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH];
CC_MD5(pointer, (CC_LONG)strlen(pointer), md5Buffer);
NSMutableString *string = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
    [string appendFormat:@"%02x",md5Buffer[i]];
NSString *token = string;
NSString *urlString = [NSString stringWithFormat:@"%@?app_key=%@&timestamp=%@&token=%@&image_url=%@", host, appKey, timestampString, token, imageUrl];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]
                                                       cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
                                                   timeoutInterval:10.0f];
[request setHTTPMethod:method];
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                    completionHandler:^(NSData * _Nullable data , NSURLResponse * _Nullable response, NSError * _Nullable error) {
                                        if (error) {
                                            NSLog(@"%@", error);
                                        }
                                        else {
                                            NSString *dataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                                            NSLog(@"result: %@" , dataString);
                                        }
                                    }];
[dataTask resume];

4.4. PHP

<?php 

    $appKey = "APPKEY"; //这里输入提供的app_key 
    $appSecret = "APPSECRET"; //这里输入提供的app_secret 

    $host = "http://fapiao.glority.cn"; 
    $path = "/v1/item/get_item_info"; 
    $method = "POST"; 
    $timestamp = time(); 
    $token = md5($appKey.'+'.$timestamp.'+'.$appSecret); 
    $imageUrl = 'http://fapiao.glority.cn/dist/img/sample.jpg'; 
    $querys = "?app_key=$appKey&timestamp=$timestamp&token=$token&image_url=$imageUrl"; 
    $url = $host . $path . $querys; 
    $headers = ["Content-Type: multipart/form-data"]; 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($curl, CURLOPT_FAILONERROR, false); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_HEADER, true); 
    $response = curl_exec($curl); 
    $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE); 
    $body = substr($response, $header_size); 
    curl_close($curl); 
    echo $body;

4.5. Python3

#!/usr/bin/env python3 
# -*- coding: utf-8 -*- 

import json 
import math 
import os 
import io 
import requests 
import time 
import datetime 
import hashlib 
import codecs 
import uuid 
import traceback 

def testapi(): 
    appkey = "APPKEY"  #这里输入提供的app_key 
    appsecret = "APPSECRET"  #这里输入提供的app_secret 

    api_url = "http://fapiao.glority.cn/v1/item/get_item_info" 
    image_url = "http://fapiao.glority.cn/dist/img/sample.jpg" 
    result = {} 
    try: 
        # generate timestamp 
        timestamp = int(time.time()) 

        # generate token 
        m = hashlib.md5() 
        token = appkey + "+" + str(timestamp) + "+" + appsecret 
        m.update(token.encode('utf-8')) 
        token = m.hexdigest() 

        # post request 
        data = {'image_url': image_url, 'app_key': appkey, 'timestamp': str(timestamp), 'token': token} 
        r = requests.post(api_url, data=data) 
        if r.status_code != 200: 
            print("failed to get info from : ", image_url) 
        else: 
            result = r.json() 
            print(result) 
    except: 
        traceback.print_exc() 
    return result 


if __name__ == '__main__': 
    testapi()

results matching ""

    No results matching ""