-
路径规划-路线规划-驾车路径规划-步行路径规划-骑乘路径规划-公交路径规划API接口介绍当我们日常出行时,免不了需要用到导航,那么地图路线规划API可以很好地实现此功能。本文将功能、适用场景和使用说明三个方面来介绍路径规划API接口。功能介绍驾车路线规划:开发者可根据起终点坐标检索符合条件的驾车路线规划方案,支持一次请求返回多条路线结果、支持传入多个途经点、支持传入车牌规避限行、支持根据不同业务场景设置不同的算路策略等。步行路线规划:开发者可根据起终点坐标检索符合条件的步行路线规划方案。公交路线规划:开发者可根据起终点坐标检索符合条件的公共交通路线规划方案,支持结合业务场景设置不同的公交换乘策略。骑行路线规划:开发者可根据起终点坐标检索符合条件的骑行路线规划方案。电动车路线规划:开发者可根据起终点坐标检索符合条件的电动车路线规划方案,与骑行略有不同的是会考虑限行等条件。适用场景无需展现地图的场景下,进行线路查询,如以线路结果页形式展现换乘方案;根据返回线路数据,自行开发线路导航。使用说明下面介绍驾车路线规划和公交路线规划的使用,其他可参见接口文档驾车路线规划请求参数名称类型必须说明originString是起点经纬度 经度在前,纬度在后,经度和纬度用","分割,经纬度小数点后不得超过6位destinationString是目的地经纬度 经度在前,纬度在后,经度和纬度用","分割,经纬度小数点后不得超过6位originTypeString否起点处道路类型 填入此值可以辅助更精准的起点算路0:普通道路1:高架上2:高架下3:主路4:辅路5:隧道7:环岛9:停车场内部strategyInteger否驾车算路策略0:速度优先(只返回一条路线),此路线不一定距离最短1:费用优先(只返回一条路线),不走收费路段,且耗时最少的路线2:距离优先(只返回一条路线),仅走距离最短的路线,但是可能存在穿越小路/小区的情况3:速度优先(只返回一条路线),不走快速路,例如京通快速路32:默认,推荐33:躲避拥堵34:高速优先35:不走高速36:少收费37:大路优先38:速度最快39:躲避拥堵+高速优先40:躲避拥堵+不走高速41:躲避拥堵+少收费42:少收费+不走高速43:躲避拥堵+少收费+不走高速44:躲避拥堵+大路优先45:躲避拥堵+速度最快waypointsString否途经点 途径点坐标串,默认支持1个有序途径点。多个途径点坐标按顺序以英文分号;分隔。最大支持16个途经点avoidpolygonsString否避让区域 区域避让,默认支持1个避让区域,每个区域最多可有16个顶点;多个区域坐标按顺序以英文竖线符号分隔,如果是四边形则有四个坐标点,如果是五边形则有五个坐标点;最大支持32个避让区域。同时传入避让区域及避让道路,仅支持避让道路;每个避让区域不能超过81平方公里,否则避让区域会失效avoidroadString否避让道路名 只支持一条避让道路plateString否车牌号码 车牌号,如 京AHA322,支持6位传统车牌和7位新能源车牌,用于判断限行相关carTypeString否车辆类型0:普通燃油汽车1:纯电动汽车2:插电式混动汽车ferryString否是否使用轮渡0:使用渡轮1:不使用渡轮showFieldsString否返回结果控制,用来筛选接口返回结果中是否出现哪些字段。show_fields的使用需要遵循如下规则:1、具体可指定返回的字段类型有:costtmcsnavicitiespolyline任选一个或多个作为入参值,即可在返回结果中显示。2、多个值间采用“,”进行分割;3、show_fields未设置、为空时,只返回基础信息类内字段;返回样例{ "code": 200,// 返回码,详见返回码说明 "msg": "成功",// 返回码对应描述 "taskNo": "786758979152547317551847",// 本次请求号 "charge": true,// 计费标志 "data": { "strategyNum": "1",//路径规划方案总数 "strategyList": { //返回的规划方案列表 "paths": [ //算路方案详情 { "distance": "12784",//方案距离,单位:米 "restriction": "0",//0代表限行已规避或未限行,即该路线没有限行路段 1代表限行无法规避,即该线路有限行路段 "steps": [ //路线分段 { "orientation": "西", //进入道路方向 "step_distance": "81",//分段距离信息 "road_name": "", //分段道路名称 "instruction": "向西行驶81米左转", //行驶指示 //以下字段是否返回,需要根据 showFields 字段传入的值来控制 "cost": {//设置后可返回方案所需时间及费用成本 "duration": "30",//线路耗时,分段step中的耗时 "toll_road": "",//主要收费道路 "toll_distance": "0",//收费路段里程,单位:米,包括分段信息 "traffic_lights": "0",//方案中红绿灯个数,单位:个 "tolls": "0"//此路线道路收费,单位:元,包括分段信息 }, "cities": [//设置后可返回分段途径城市信息 { "citycode": "0571",//途径城市编码 "adcode": "330100",//途径区域编码 "city": "杭州市",//途径城市名称 "districts": [//途径区县信息 { "adcode": "330106",//途径区县adcode "name": "西湖区"//途径区县名称 } ] } ], "navi": {//设置后可返回详细导航动作指令 "assistant_action": "",//导航主要动作指令 "action": "左转"//导航辅助动作指令 }, "polyline": "120.109051,30.277231;120.108209,30.277183",//设置后可返回分路段坐标点串,两点间用“,”分隔 "tmcs": [//设置后可返回分段路况详情 { "tmc_distance": "81",//从当前坐标点开始step中路况相同的距离 "tmc_status": "未知",//路况信息,包括:未知、畅通、缓行、拥堵、严重拥堵 "tmc_polyline": "120.109051,30.277231;120.108209,30.277183"//此段路况涉及的道路坐标点串,点间用","分隔 } ] } ] } ], "origin": "120.10910,30.27714",//起点经纬度 "destination": "120.17931,30.25326",//终点经纬度 "taxi_cost": "27" //预计出租车费用,单位:元 } } } 公交路线规划请求参数名称类型必须说明appidString是服务商分配的唯一标识timestampLong是当前时间的毫秒数signString是签名,详见签名算法说明originString是起点经纬度 经度在前,纬度在后,经度和纬度用","分割,经纬度小数点后不得超过6位destinationString是目的地经纬度 经度在前,纬度在后,经度和纬度用","分割,经纬度小数点后不得超过6位origAddCodeString否起点所在行政区域编码 参考国家行政区域编码表destAddCodeString否终点所在行政区域编码 参考国家行政区域编码表origCityCodeString是起点所在城市 仅支持citycode,参考国家行政区域编码表 相同时代表同城,不同时代表跨城 譬如西湖区citycode为330106destCityCodeString是目的地所在城市 仅支持citycode,参考国家行政区域编码表 相同时代表同城,不同时代表跨城 譬如西湖区citycode为330106strategyString否公共交通换乘策略可选值:0:推荐模式,综合权重1:最经济模式,票价最低2:最少换乘模式,换乘次数少3:最少步行模式,尽可能减少步行距离4:最舒适模式,尽可能乘坐空调车5:不乘地铁模式,不乘坐地铁路线7:地铁优先模式,步行距离不超过4KM8:时间短模式,方案花费总时间最少alternativeRouteString否返回方案条数 可传入1-10的阿拉伯数字,代表返回的不同条数multiexPortString否地铁出入口数量0:只返回一个地铁出入口1:返回全部地铁出入口maxTransString否最大换乘次数0:直达1:最多换乘1次2:最多换乘2次3:最多换乘3次4:最多换乘4次nightFlagString否考虑夜班车0:不考虑夜班车1:考虑夜班车dateString否请求日期 例如:2013-10-28timeString否请求时间 例如:9-54showFieldsString否返回结果控制,用来筛选接口返回结果中是否出现哪些字段。show_fields的使用需要遵循如下规则:1、具体可指定返回的字段类型有:costnavipolyline任选一个或多个作为入参值,即可在返回结果中显示。2、多个值间采用“,”进行分割;3、show_fields未设置、为空时,只返回基础信息类内字段;返回样例{ "code": 200,// 返回码,详见返回码说明 "msg": "成功",// 返回码对应描述 "taskNo": "697790392161452073342933",// 本次请求号 "charge": true,// 计费标志 "data": { "strategyNum": "2",//路径规划方案总数 "strategyList": { "cost": { "taxi_fee": "32" }, "distance": "163755",//本条路线的总距离,单位:米 "origin": "120.10910,30.27714", //起点经纬度 "destination": "121.63084,29.86607",//终点经纬度 "transits": [ //公交方案列表 { "cost": { "duration": "8040", "transit_fee": "79.000000" }, "distance": "179370",//本条路线的总距离,单位:米 "nightflag": "",//0:非夜班车;1:夜班车 "segments": [ { "walking": {//步行方案信息 "distance": "621",//每段线路步行距离 单位:米 "origin": "120.215919,30.294054",//起点坐标 "destination": "120.212502,30.290972",//终点坐标 "duration": "100000",//步行预计时间 单位:秒 "cost": {//设置后可返回方案所需时间及费用成本,需传showFields才可返回 "duration": "951"//线路耗时,方案总耗时,包含等车时间 }, "steps": [//步行路段列表 { "distance": "87",//此段路的距离 "road": "",//路的名字 "instruction": "步行87米左转",//此段路的行走介绍 "duration": "",//此段路预计消耗时间 单位:秒 "polyline": "",//此段路的坐标 "action": "",//步行主要动作 "assistant_action": "", //步行辅助动作 "navi": {//设置后可返回详细导航动作指令。需传showFields才可返回 "assistant_action": "",//导航辅助动作指令 "action": "左转",//导航主要动作指令 "walk_type": "0"//算路结果中存在的道路类型:0:普通道路;1:人行横道;3:地下通道;4:过街天桥;5:地铁通道;6:公园;7:广场;8:扶梯;9:直梯;10:索道;11:空中通道;12:建筑物穿越通道;13:行人通道;14:游船路线;15:观光车路线;16:滑道;18:扩路;19:道路附属连接线;20:阶梯;21:斜坡;22:桥;23:隧道;30:轮渡; }, "polyline": {//需传showFields才可返回 "polyline": "120.109055,30.277231;120.108215,30.277187"//设置后可返回分路段坐标点串,两点间用“,”分隔 } } ] } }, { "railway": { //火车换乘信息 "trip": "G195",//线路车次号 "distance": "154600",//该item换乘段的行车总距离 "name": "G195(北京南-宁波)",//线路名称 "id": "101001614253",//线路id编号 "time": "2760",//该线路车段耗时 "type": "G字头的高铁火车",//线路车次类型 "departure_stop": { //火车始发站信息 "adcode": "330102",//上车站点所在城市的adcode "name": "杭州东",//上车站点名称 "start": "0",//是否始发站,1表示为始发站,0表示非始发站 "location": "120.212600 30.290851",//上车站点经纬度 "id": "B023B08WDR",//上车站点ID "time": "2221"//上车点发车时间 }, "arrival_stop": { //火车到站信息 "adcode": "330203",//下车站点所在城市的adcode "name": "宁波",//下车站点名称 "location": "121.536807 29.861967",//下车站点经纬度 "end": "1",//是否为终点站,1表示为终点站,0表示非终点站 "id": "B023E0YC7M",//下车站点ID "time": "2307"//到站时间,如大于24:00,则表示跨天 }, "via_stop": { //途径站点信息,extensions=all时返回 "name": "宁波",//途径站点的名称 "location": "121.536807 29.861967",//途径站点的坐标点 "id": "B023E0YC7M",//途径站点的ID "time": "2307"//途径站点的进站时间,如大于24:00,则表示跨天 "wait": "5",//途径站点的停靠时间,单位:分钟 }, "alters": { //聚合的备选方案,extensions=all时返回 "name": "宁波",//备选方案ID "id": "B023E0YC7M"//备选线路名称 }, "spaces": [//仓位及价格信息 { "code": "",//仓位编码 "cost": "120"//仓位费用 } ] } }, { "bus": {//公交方案信息 "buslines": [//步行路段列表 { "start_time": "",//首班车时间 格式如:0600,代表06:00 "distance": "2022",//公交行驶距离 单位:米 "bustimetag": "0", "id": "330200021780",//公交路线id "type": "地铁线路",//公交类型 格式如:地铁线路 "bus_time_tips": "", "name": "轨道交通2号线(栎社国际机场--红联)",//公交路线名称 "end_time": "",//末班车时间 格式如:2300,代表23:00 "via_num": "1",//此段途经公交站数 "departure_stop": { //此段起乘站信息 格式如:中关村 "name": "宁波火车站",//站点名字 "location": "121.537022,29.862141",//站点经纬度 "id": "330200021780011",//站点id "entrance": {//入口信息 "name": "B口",//入口名称 "location": "121.537102,29.860975"//入口经纬度 }, "exit": {//出口信息 "name": "B口",//出口名称 "location": "121.537102,29.860975"//出口经纬度 } }, "arrival_stop": {//此段下车站 格式如:中关村 "name": "鼓楼", //站点名字 "location": "121.548970,29.873914",//站点经纬度 "id": "330200021780013"//站点id }, "via_stops": [ //此段途经公交站点列表 { "name": "城隍庙", //途径公交站点信息 "location": "121.548778,29.867124",//公交站点经纬度 "id": "330200021780012" //公交站点编号 } ], "cost": {//设置后可返回方案所需时间及费用成本,需传showFields才可返回 "duration": "1073"//线路耗时,方案总耗时,包含等车时间 }, "polyline": {//需传showFields才可返回 "polyline": "120.109629,30.281911;120.111323,30.281943;"//设置后可返回分路段坐标点串,两点间用“,”分隔 } } ] }, "taxi": {//出租车方案信息 "price": "338",//打车预计花费金额 "drivetime": "",//打车预计花费时间 "distance": "",//打车距离 "polyline": "",//线路点集合,通过show_fields控制返回与否 "startpoint": "",//打车起点经纬度 "startname": "",//打车起点名称 "endpoint": "",//打车终点经纬度 "endname": "",//打车终点名称 } } ] } ] } } }
-
在电商平台或APP中,当我在填写快递收货地址时,收件方给我的地址杂乱无章,比如:张三13566778899杭州市爱力中心307。而电商平台如果需要按省、市、区、街道、门牌号这样的逐个信息去填写,这就非常不人性化了,还容易输错。那有没有办法把杂乱无章地址转换成省、市、区、街道、门牌号这样的结构化地址的,答案是有的,即快递地址解析API。电商平台只要快递地址解析API集成到他们的平台或AP中,就可以大大提升用户的体验。快递地址解析API的核心功能就是将用户输入的杂乱无章地的地址,转换成结构化地址。不仅如此,还能处理简写、拼音混用等复杂地址格式,支持方言输入和语音转文字的容错修正。接口说明请求参数名称类型必须说明addressString是地址详见此处返回样例{ "msg": "成功",//返回码对应描述 "code": 200,//返回码,详见返回码说明 "taskNo": "591593430181347812119657",//本次请求号 "data": { "province": "福建省",//省 "provinceCode": "350000",//省国标code "city": "莆田市",//市 "cityCode": "350300",//城市国标code "county": "涵江区",//区(县) "countyCode": "350303",//区县国标code "town": "江口镇",//街道(乡/镇) "townCode": "350303104",//街道/乡镇国标code "phoneNum": "17286356303",// 电话号码,如果出现多个则按顺序输出 "extMobile": "1590",//分机号 "person": "小魏",//姓名,如果出现多个则按顺序输出 "detail": "石庭华侨职业中专丰巢柜" //详细地址 } }
-
使用证件照制作API的核心原因在于解决传统证件照拍摄和制作过程中的效率低、成本高、标准难统一、用户体验差等痛点。对于企业、开发者或平台运营者来说,接入API不仅仅是“做一个功能”,更是为了降本增效和提升业务转化率。功能特性随时随地办理:用户无需专门跑照相馆,只需在手机/电脑端上传自拍或生活照,几秒钟即可生成合规照片。这对于急需报名考试、办理签证或入职的用户极具吸引力。即时反馈:用户可立即预览效果并调整(如更换背景色、微调美颜),满意度更高。快速集成:成熟的API通常提供完善的SDK和文档,开发人员可在几小时甚至几十分钟内完成集成上线,极大缩短产品上市时间(Time-to-Market)。降低流失率:在注册、报名或认证流程中,如果要求用户上传严格符合标准的照片,很多用户会因“不知道怎么拍”或“反复上传失败”而放弃。API提供的实时检测与自动修正功能(如自动换底、裁剪),能显著降低操作门槛,提高流程完成率。支持:替换背景、自动裁剪尺寸、设置分辨率、设置人脸在证件照中的占比、设置脸部中心在证件照中的位置、设置头顶距离接口说明请求参数名称类型必须说明base64String否照片base64串fileFile否照片文件urlString否照片urlspecString否证件照规格ID,见spec及bgColor参考bgColorString否证件照颜色值: blue, red, white等值,或者以井号开始的16进制颜色值:#FF0000,见spec及bgColor参考beautyDegreeFloat否美颜级别,浮点型,如1.5,取值范围[1.0-5.0],超出范围后的值无效。主要调节了脸部黑白平衡。sizeString否证件照像素尺寸,格式:“宽x高”(中间分隔符为小写字母x),比如"480x640"。为了避免和spec内定的像素大小冲突,使用本参数的同时,需要将spec设置为"12"。fileSizeString否证件照图片的文件大小, 如果期望证件照图片的文件大小(kb)在一定的限制范围内,可以设置这个值,值的单位为kb,格式为:“最小值,最大值”,比如"10,100"表示希望返回的证件照文件大小在10-100kb之间;说明:该参数的单位为kb,而不是字节,如果文件大小如果设置不合理,比如过大或者过小,返回的文件大小有可能不在设定范围内。dpiInteger否返回的证件照分辨率,如果不设置该值,服务端会给出默认配置,一般返回300dpi的图片,个别证件照规格会返回350dpi的图片faceRatioFloat否证件照中人脸占比参数,浮点类型,取值范围(0-1.0)不设置,则服务端会给出默认配置,一般为0.5,个别证件照规格为0.4,如果觉得我们返回的人脸过大或者过小,可以自行调节该值faceCenterRangeFloat否脸部中心高度在证件照中的位置,浮点类型,取值范围(0-1.0),默认值为0.45;这个参数可以决定人脸在证件照所处于的高度topEmptyFloat否用来约定生成证件照中,头顶距离照片顶部的距离范围,格式为“最小值,最大值”(使用英文字母逗号分隔),单位为像素,比如期望生成的证件照,人的头顶留空最少10个像素,最多30个像素,可以给出值 “10,30” 。注意不能两个值都设置为0,最大值必须大于最小值,最大值不能大于等于证件照的高度。当这个值不设置时,不做头顶留空的判断。人脸在证件照中的高度位置定位原则说明:先根据face_center_y(默认值为0.45)来定位人脸高度位置,然后对比top_empty(如有设置)参数,调整人脸位置,使其符合top_empty要求,最后还会判断人体底部是否可能悬空(原图人像高度不够时可能会发生这个问题),如果出现悬空的现象,则需要将人像向下移动至不悬空的位置base64、file、url 必须提供一个,优先级:base64 > file > url详见此处返回样例{ "code": 200,// 返回码,详见返回码说明 "msg": "成功", // 返回码对应描述 "taskNo": "254900443205524179659164",// 本次请求号 "charge": true,// 计费标志 "data": { "result": "xxx.jpg",//证件照图片URL。有效期1天,请尽快下载保存 "size": [ //证件照尺寸[宽, 高] "600", "800" ] } }
-
在数字化服务无处不在的今天,证件照作为身份认证、考试报名、政务办理等场景的“敲门砖”,其质量与合规性直接关系到业务流程的顺畅度。然而,对于广大开发者而言,自研一套能够精准检测人脸、智能抠图、自动替换背景并符合各国/各行业标准的证件照处理系统,不仅技术门槛高(涉及深度学习、图像分割、色彩校正等),而且开发周期长、维护成本巨大。随着AI技术的成熟,证件照检测接口API已成为企业快速集成该能力的最佳选择。功能特性支持多个检测项,包括:性别、年龄、头顶完整性、面部完整性、面部画质、拍摄距离、五官遮挡、胡子、头部是否摆正、露双耳、睁闭眼、嘴巴闭合、眼镜、妆容、配饰等。检测后返回所有检测项的检测结果,开发者可用于判断照片是否达到应用场景标准。接口说明请求参数名称类型必须说明imageTypeString是图片类型,支持jpg、jpeg、png、bmpbase64String否照片base64串fileFile否照片文件urlString否照片urlbase64、file、url 必须提供一个,优先级:base64 > file > url详见此处返回样例{ "code": 200,//返回码,详见code返回码说明 "msg": "成功",//code对应的描述 "charge": true,//计费标志 "taskNo": "256913605225230722458167",//本次唯一请求号 "data": { // 返回字段说明: https://file.jumdata.com/support/idphote-check/id-phote-checkv2-code.xlsx "failed_item_list": {//不符合预期 "FaceEar": [ { "msg": "左耳未露出", "code": "500031" //业务code } ], "FaceMustache": [ { "msg": "脸部存在胡须", "code": "500012" } ] }, "success_item_list": {//符合预期 "BodyInfo": [ { "msg": "身体检测符合预期", "code": "600070" } ], "FaceOutDetect": [ { "msg": "人像面部完整", "code": "600007" } ] } } }
-
现状每月开票高峰期,财务部是不是都像"战场"?手动录入客户税号、商品明细反复核对怕出错,开票后还要把数据手动录入财务系统做台账,一张发票耗时5分钟不说,月均还得处理因录各种原因的红冲重开。那么有没有办法解决如上现状呢?答案是自动开票API。随着数电发票的普及,自动开票API已成为企业财税数字化必不可少的工具。优势系统集成:企业的业务系统(如ERP、电商平台、收银系统)通过集成自动开票API,可以与税务服务平台或发票服务商直接进行数据交换 。通过这种直连,系统可以在触发特定条件(如订单支付完成、货物签收)时,自动完成发票的开具、填写、校验和推送,无需人工登录税务网站或手动录入数据。极致效率与成本优化:将人工从重复劳动中解放出来。例如,通过财务凭证接口平台,企业原本需要3-5天的手工录入工作可缩短至1小时内自动完成。数据准确与合规管理:接口直连确保了业务数据与开票数据的一致性,避免了手工录入导致的错填、漏填。提升用户体验:对于终端消费者而言,自动开票接口意味着“支付即开票”或“扫码即开票”,极大地提升了开票体验 。功能自动开票API支持:增值税专用发票,普通发票。功能包括:登录税局、实名认证、发票开具、发票交付、冲红等API。详见此处登录税局发票开具需先调用登录接口去登录税局登录之后,如果登录未过期,可一直发起开票任务,如果过期则再次调用登录接口每次发起开票任务,需要判断登录是否过期(调用判断登录状态接口)请求参数名称类型必须说明nsrsbhString是纳税人识别号dqString是地区编码sflxString是身份类型gryhmString是登录账号,该值可为:居民身份证/手机号/用户名gryhmmString是登录密码sjhmString否手机号码,除浙江外,该值必填登录成功返回样例{ "code": 200, "msg": "成功", "taskNo": "526782409178028989145499" } 发送验证码返回样例{ "code": 202, "msg": "已发送验证码,请再调用校验验证码接口完成登录", "taskNo": "526782409178028989145499", "data": { "validateCodeSmsTaskId": "12121321323123123323" // 短信验证码taskId,校验验证码时需要传入该参数 } } 实名认证登录之后还需要实名认证,步骤如下:调用获取人脸识别认证二维码接口获取二维码用税务App扫码进行人脸识别再调用获取人脸识别认证结果接口获取认证结果获取人脸识别认证二维码请求参数名称类型必须说明nsrsbhString是纳税人识别号typeString是扫码方式,1-税务app,2-个税app返回样例{ "code": 200, // 详见code返回码说明 "msg": "成功", "taskNo": "69564903663951243279", "data": { "qrcodeContent":"", // 二维码内容 "qrcodeImageUrl":"", // 二维码图片地址,有效期30分钟 "authenticationId":"" // 认证ID,通过该ID可查询是否已刷脸状态 } } 获取人脸识别认证结果请求参数名称类型必须说明nsrsbhString是纳税人识别号authenticationIdString是获取人脸识别认证二维码返回的认证IDtypeString是扫码方式,1-税务app,2-个税app认证成功返回样例{ "code": 200, "msg": "成功", "taskNo": "69564903663951243279" } 已生成二维码未扫脸返回样例{ "code": 211, "msg": "已生成二维码未扫脸", "taskNo": "69564903663951243279" } 二维码已过期返回样例{ "code": 212, "msg": "二维码已过期", "taskNo": "69564903663951243279" } 开票发票开具为异步方式,步骤如下:调用发起开票任务接口,返回任务id。用返回的任务id,调用发票开具结果查询接口,即可查询开票结果,结果主要包括:发票号码和开票日期。再用返回的发票号码和开票日期,调用发票下载接口,即可获取发票文件,支持(PDF, OFD, XML)。冲红当发票需要作废时,可调用红字发票开具接口来冲红,冲红支持全额冲红和部分冲红。详见此处
-
数据是交易决策的核心。无论你是做高频交易,还是需要分析市场长期趋势,历史数据和Tick数据都扮演着至关重要的角色。通过API,开发者可以高效地获取这些数据,从而优化交易策略。下面我们聊聊如何利用API抓取这些数据,并将它们融入到交易策略中。API在交易中的应用API在交易中的作用不言而喻。它不仅可以帮助我们获取历史数据、实时的市场信息,还能用于执行交易指令。通过API获取历史数据,帮助我们从宏观上把握市场走势,而Tick数据则能让我们精准捕捉短期市场波动。获取历史数据的基本流程获取历史数据并不复杂,主要通过API请求来实现。对于交易者而言,历史数据能帮助我们了解市场过去的表现,从而预测未来的趋势。通常,我们通过以下步骤来获取历史数据:选择数据源:现在很多平台都提供API接口,可以用来获取不同类型的历史数据,如开盘价、收盘价、成交量等。发送请求:通过API发送请求,指定时间范围和数据类型,通常是GET请求。解析数据:API返回的数据通常是JSON或CSV格式,开发者可以根据需要提取有效数据,进行分析和回测。举个例子,如果我们要获取过去一年某支股票的历史数据,API请求大致如下:GET https://api.example.com/historical-data?symbol=stock_symbol&start_date=2022-01-01&end_date=2022-12-31通过这些数据,开发者可以回测自己的策略,看看过去的市场环境下,策略的表现如何。Tick数据的实时性与应用Tick数据是市场最细粒度的交易信息,它记录了每一笔交易的具体细节,包括价格、时间和成交量等。对于需要快速反应的短期交易策略,Tick数据无疑是一个宝贵的资源。获取Tick数据的步骤与历史数据类似:选择数据源:很多金融数据提供商都提供Tick数据的API,支持实时获取每一笔交易的详细信息。发送请求:和获取历史数据类似,通过API发送请求来获取需要的Tick数据。实时处理数据:由于Tick数据是实时更新的,开发者需要有快速的数据处理机制,确保能及时调整策略。例如,要获取某支股票的实时Tick数据,可以发送如下请求:GET https://api.example.com/tick-data?symbol=stock_symbolTick数据可以帮助交易者在市场波动时做出及时反应,调整交易策略,优化入场和退出时机。如何将数据与交易策略结合获取了历史数据和Tick数据后,重点是如何将它们应用于策略优化中。数据不仅仅是用来分析市场走势,更是调整交易策略的依据。策略回测:历史数据通常用于回测交易策略。通过回测,我们可以看到策略在过去的市场环境下的表现,进而评估其有效性。实时决策:Tick数据则在实际交易中发挥重要作用,帮助交易者根据实时市场情况调整策略,规避风险。例如,在市场剧烈波动时,Tick数据可以帮助你迅速做出调整,减少亏损或锁定利润。
-
当我们日常出行时,免不了需要搜索一些地点,比如:餐饮、车站。那么地图搜索可以很好地实现搜索功能。地图搜索包括:关键字搜索:通过文本关键字搜索地点信息,文本可以是结构化地址,例如:浙江省杭州市余杭区文一西路890号;也可以是 POI 名称,例如:首开广场;周边搜索:可设置圆心和半径,搜索圆形区域内的地点信息;多边形区域搜索:可设置首尾连接的几何点组成多边形区域,搜索坐标对应多边形内的地点信息;ID搜索:可通过已知的地点 ID(POI ID)搜索对应地点信息,建议结合输入提示接口使用。输入提示:可根据输入的关键词查询返回建议列表。可接入地图搜索API来实现各种地图搜索功能。下面介绍关键字搜索和周边搜索的使用,其他可参见接口文档关键字搜索请求参数名称类型必须说明keywordsString是地点关键字,只支持一个关键字 ,文本总长度不可超过80字符typesString否指定地点类型,可支持传入多个分类,多个类型用 | 分割regionString否搜索区划,增加指定区域内数据返回权重,如需严格限制返回数据在区域内,请搭配使用cityLimit参数,可输入citycode,adcode,cityname,cityname仅支持城市级别和中文,如“北京市”cityLimitString否指定城市数据返回限制,可选值:true/false,为true时,仅返回region对应区域内数据showFieldsString否返回结果控制,showFields用来筛选返回结果中可选字段。例:“children,indoor,business,navi,photos”,未设置时,只返回基础信息类内字段。pageSizeString否当前分页展示的数据条数,取值1-25,默认为10pageNoString否分页,取值1-100,默认为1返回样例{ "msg": "成功",//返回码对应描述 "code": 200,//返回码,详见返回码说明 "taskNo": "202960247220113090298671",//本次请求号 "charge": true,//计费标志 "data": { "count": "10",//总数 "list": [ { "address": "龙井路1号",//详细地址 "location": "120.121282,30.222719",//经纬度 "id": "B023B13L9M",//唯一标识 "name": "杭州西湖风景名胜区",//名称 "pcode": "330000",//所属省份编码 "adcode": "330106",//所属区域编码 "pname": "浙江省",//所属省份 "cityname": "杭州市",//所属城市 "typecode": "110202",//分类编码 "adname": "西湖区",//所属区县 "citycode": "0571",//所属城市编码 "type": "风景名胜;风景名胜;国家级景点",//所属类型 "business": {//商业信息 "opentime_today": "24小时营业",//今日营业时间 "cost": "0.00",//人均消费,目前仅在餐饮、酒店、景点、影院类返回 "keytag": "5A景区",//标签 "rating": "4.9",//评分,目前仅在餐饮、酒店、景点、影院类返回 "business_area": "西湖",//所属商圈 "alias": "西湖景区",//别名 "tel": "0571-89586930",//联系电话 "tag": "面面,鸽子,东坡肉,龙井虾仁,西湖醋鱼,特色小吃",//特色美食内容 "opentime_week": "00:00-24:00"//营业时间描述 }, "photos": [ { "title": "",//图片介绍 "url": "" //图片的下载链接 } ], "children": [//子地点信息 { "typecode": "150904",//分类编码 "address": "南山路与广福里交叉口北80米",//详细地址 "subtype": "停车场",//所属类型 "name": "杭州西湖风景名胜区停车点",//名称 "location": "120.158045,30.241689",//经纬度 "id": "B0H2158T3K" //唯一标识 } ], "navi": {//导航位置相关信息 "navi_poiid": "H51F022001_476398;4093",//对应的导航引导点坐标,一般为各类出入口,方便结合导航、路线规划等服务使用 "entr_location": "120.153345,30.224729",//入口经纬度坐标 "exit_location": "" //出口经纬度坐标 }, "indoor": {//室内相关信息 "indoor_map": "0",//是否有室内地图标志,1为有,0为没有 "floor": "",//楼层索引,一般会用数字表示,例如8;indoor_map为0时不返回 "truefloor": "" //所在楼层,一般会带有字母,例如F8;indoor_map为0时不返回 } } ] } } 周边搜索请求参数名称类型必须说明keywordsString否地点关键字,只支持一个关键字 ,文本总长度不可超过80字符typesString否指定地点类型,可支持传入多个分类,多个类型用 | 分割,当keywords和types均为空的时候,默认指定types为050000(餐饮服务)、070000(生活服务)、120000(商务住宅)locationString是中心点坐标,圆形区域检索中心点,不支持多个点。经度和纬度用","分割,经度在前,纬度在后,经纬度小数点后不得超过6位radiusString否搜索半径,取值范围:0-50000,大于50000时按默认值,单位:米sortRuleString否排序规则,返回结果的排序规则。按距离排序:distance;综合排序:weight,默认distanceregionString否搜索区划,增加指定区域内数据返回权重,如需严格限制返回数据在区域内,请搭配使用cityLimit参数,可输入行政区划名或对应citycode或adcodecityLimitString否指定城市数据返回限制,可选值:true/false,为true时,仅返回region对应区域内数据showFieldsString否返回结果控制,showFields用来筛选返回结果中可选字段。例:“children,indoor,business,navi,photos”,未设置时,只返回基础信息类内字段。pageSizeString否当前分页展示的数据条数,取值1-25,默认为10pageNoString否分页,取值1-100,默认为1返回样例{ "msg": "成功",//返回码对应描述 "code": 200,//返回码,详见返回码说明 "taskNo": "202960247220113090298671",//本次请求号 "charge": true,//计费标志 "data": { "count": "10",//总数 "list": [ { "address": "龙井路1号",//详细地址 "location": "120.121282,30.222719",//经纬度 "id": "B023B13L9M",//唯一标识 "name": "杭州西湖风景名胜区",//名称 "pcode": "330000",//所属省份编码 "adcode": "330106",//所属区域编码 "pname": "浙江省",//所属省份 "cityname": "杭州市",//所属城市 "typecode": "110202",//分类编码 "adname": "西湖区",//所属区县 "citycode": "0571",//所属城市编码 "type": "风景名胜;风景名胜;国家级景点",//所属类型 "business": {//商业信息 "parking_type": "",//停车场类型 "cost": "0.00",//人均消费,目前仅在餐饮、酒店、景点、影院类返回 "keytag": "5A景区",//标签 "rating": "4.9",//评分,目前仅在餐饮、酒店、景点、影院类返回 "business_area": "西湖",//所属商圈 "alias": "西湖景区",//别名 "tel": "0571-89586930",//联系电话 "tag": "面面,鸽子,东坡肉,龙井虾仁,西湖醋鱼,特色小吃"//特色美食内容 }, "photos": [ { "title": "",//图片介绍 "url": "" //图片的下载链接 } ], "children": [//子地点信息 { "typecode": "150904",//分类编码 "address": "南山路与广福里交叉口北80米",//详细地址 "subtype": "停车场",//所属类型 "name": "杭州西湖风景名胜区停车点",//名称 "location": "120.158045,30.241689",//经纬度 "id": "B0H2158T3K" //唯一标识 } ], "navi": {//导航位置相关信息 "navi_poiid": "H51F022001_476398;4093",//对应的导航引导点坐标,一般为各类出入口,方便结合导航、路线规划等服务使用 "entr_location": "120.153345,30.224729",//入口经纬度坐标 "exit_location": "" //出口经纬度坐标 }, "indoor": {//室内相关信息 "indoor_map": "0",//是否有室内地图标志,1为有,0为没有 "floor": "",//楼层索引,一般会用数字表示,例如8;indoor_map为0时不返回 "truefloor": "" //所在楼层,一般会带有字母,例如F8;indoor_map为0时不返回 } } ] } }
-
之前笔者介绍了快递查询API接口,主要是需要输入快递单号主动查询,无论物流状态有无变化,都需要主动查询,有可能多次查询的结果是没有变化的。这种方式有一定的不足:实时性不高,需要每次查询方能知道最新状态。通常按次计费,无论物流状态有无变化,只要发起查询就计费,增加了查询成本。有没有实时性更高的,当物流状态发生变化时,主动通知我的API接口呢?答案是有的,即“快递订阅推送API接口”。与主动查询相比,它有以下优点:提交一次单号,无需频繁手动查询快递状态,提高了获取物流信息的效率和便捷性。减少查询成本(按单计费),提升系统效率不再需要反复请求接口获取最新状态。与快递查询接口类似,快递订阅推送API,同样支持1500+快递公司,与官网同步数据更新。下面来介绍快递订阅推送API接口的使用快递订阅主要分两步:先调用订阅接口,提交单号,发起订阅订阅成功后,当物流状态发生变动时,由接口提供者将当前物流状态推送给使用者详细参阅这里订阅说明请求参数名称类型必须说明expressCodeString否快递公司编号numberString是运单编号mobileString否顺丰速运、中通、跨越速运需要传入收/寄件人手机号或后四位手机号callBackUrlString是物流轨迹推送地址,以https/http协议开头,长度不能大于200推送说明当物流状态发生变动时,接口提供者将当前物流状态数据推送至接入者提供地址为callBackUrl的接口数据结构{ "expressCode":"EMS", // 快递公司编号 详见:快递公司编码对照表 "number":"9796578035309",// 运单编号 "logisticsStatus":"SIGN", // 当前最新物流状态 详见:物流状态编码对照表 "logisticsStatusDesc":"已签收", // 当前最新物流状态描述 "details":[ // 完整的物流轨迹 { "time":1632123146000, // 物流变更时间 "logisticsStatus":"ACCEPT", // 物流状态 详见:物流状态编码对照表 "subLogisticsStatus":"ACCEPT", // 物流子状态 详见:物流状态编码对照表 "desc":"", //物流路由信息描述内容 "areaCode":"CN330100000000", // 路由节点所在地区行政编码 "areaName":"浙江省,杭州市" // 路由节路由节点所在地区 }, { "time":1632140994000, "logisticsStatus":"TRANSPORT", "subLogisticsStatus":"TRANSPORT", "desc":"离开【杭州电商仓配揽投部】,下一站【杭州萧山区东片集散中心】", "areaCode":"CN330100000000", "areaName":"浙江省,杭州市" }, ... ] } 请求格式application/json返回接收结果使用者需要返回接收处理结果返回给接口提供者如果是接收失败,接口提供者会再次推送,最多推送3次//接收成功 { "success":true } // 接收失败 { "success":false, "msg": "接收失败" } 接收示例(java)@PostMapping("callbackUrl") public Map<String,Object> receive(@RequestBody String data, HttpServletRequest request) { log.info("接收到快递物流推送数据: {}", data); ... // 处理自己的业务逻辑 Map<String, Object> result = new HashMap() if (处理成功) { result.put("success",true); } else { result.put("success",false); result.put("msg","接收失败, xxx"); } return result; }
-
移动互联网发展到今天,地图应用已非常广泛,比如:实时定位:打开地图App,它会自动定位你的坐标,并显示出具体地址信息。车辆/资产追踪:监控系统收到一个GPS坐标,需要将其转换为“车辆正在京港澳高速保定段”这样的可读信息,方便管理员理解。地图搜索与导航:用户在导航App中输入目的地地址,App将其转换为坐标后才能进行路径规划。物流与配送:将收件人的地址转换为坐标,用于优化配送路线和跟踪。位置服务注册:为商家或服务地点在线上地图进行标注。照片地理标记:用手机拍摄的照片包含了GPS坐标,相册或社交软件可以通过逆地理编码自动为照片添加地点标签要实现以上功能,采用地理编码、逆地理编码就是最好的解决方法:地理编码,又称经纬度解析,是指将人类可读的地址信息转换为地理坐标(经纬度)逆地理编码,又称经纬度解析,是地理编码的逆向过程,是指将地理坐标(经纬度)转换为人类可读的地址描述的过程地图基于坐标系,目前主流的坐标系有:GCJ02:火星坐标系,国内使用,比如:腾讯、高德WGS84 :国际通用坐标系,比如:手机GPS设备、GoogleBD09:百度坐标系对于开发者,不需要自己建立庞大的地理数据库,而是调用成熟的API服务本文介绍基于火星坐标系的高德地图和百度坐标系的百度地图高德地图地理编码请求参数名称类型必须说明addressString是规则遵循:国家、省份、城市、区县、城镇、乡村、街道、门牌号码、屋邨、大厦,如:北京市朝阳区阜通东大街6号。cityString否outputString否可选输入内容包括:JSON,XML。设置 JSON 返回结果数据将会以JSON结构构成;如果设置 XML 返回结果数据将以 XML 结构构成。callbackString否callback 值是用户定义的函数名称,此参数只在 output 参数设置为 JSON 时有效。详细参阅这里返回样例{ "msg": "成功", "success": true, "code": 200, "taskNo": "74848319667949359984", "charge": true, "data": { "count": 1,//返回结果数目 "geocodes": [//地理编码信息列表 { "country": "中国",//国家 "formatted_address": "浙江省杭州市萧山区美哉美城",//格式化的地址 "province": "浙江省",//地址所在的省份名 "city": "杭州市",//地址所在的市区名称 "citycode": "0571",//城市编码 "district": "萧山区",//地址所在的区 "street": "街道",//街道 "number": "门牌",//门牌 "adcode": "330109",//区域编码 "location": "120.256544,30.224111",//经度,纬度 "level": "兴趣点",//匹配级别 } ] } 逆地理编码请求参数名称类型必须说明locationString是传入内容规则:经度在前,纬度在后,经纬度间以“,”分割,经纬度小数点后不要超过 6 位。poitypeString否支持传入POI TYPECODE及名称;支持传入多个POI类型,多值间用"radiusString否搜索半径。radius取值范围在0~3000,默认是1000。单位:米extensionsString否返回结果控制。extensions 参数默认取值是 base,也就是返回基本地址信息; extensions 参数取值为 all 时会返回基本地址信息、附近 POI 内容、道路信息以及道路交叉口信息。roadlevelString否道路等级。以下内容需要 extensions 参数为 all 时才生效。 可选值:0,1 当roadlevel=0时,显示所有道路 当roadlevel=1时,过滤非主干道路,仅输出主干道路数据outputString否返回数据格式类型。可选输入内容包括:JSON,XML。设置 JSON 返回结果数据将会以JSON结构构成;如果设置 XML 返回结果数据将以 XML 结构构成。callbackString否回调函数。callback 值是用户定义的函数名称,此参数只在 output 参数设置为 JSON 时有效homeorcorpString否是否优化POI返回顺序。以下内容需要 extensions 参数为 all 时才生效。 homeorcorp 参数的设置可以影响召回 POI 内容的排序策略,目前提供三个可选参数: 0:不对召回的排序策略进行干扰。 1:综合大数据分析将居家相关的 POI 内容优先返回,即优化返回结果中 pois 字段的poi顺序。 2:综合大数据分析将公司相关的 POI 内容优先返回,即优化返回结果中 pois 字段的poi顺序。详细参阅这里返回样例{ "msg": "成功", "success": true, "code": 200, "taskNo": "25247068960117401139", "charge": true, "data": { "regeocodes": [{ //逆地理编码列表 "formatted_address": "浙江省杭州市萧山区盈丰街道顺发·美哉美城",//坐标地址 "addressComponent": { //地址元素列表 "country": "中国",//国家 "province": "浙江省",//坐标点所在省名称 "citycode": "0571",//城市编码 "city": "杭州市",//坐标点所在城市名称 "adcode": "330109",//行政区编码 "towncode": "330109015000",//乡镇街道编码 "district": "萧山区",//坐标点所在区 "township": "盈丰街道",//坐标点所在乡镇/街道 "seaArea": "所属海域信息",//所属海域信息 "neighborhood": { //社区信息列表 "name": [],//社区名称 "type": []//POI类型 }, "building": { //楼信息列表 "name": [],//建筑名称 "type": []//类型 }, "streetNumber": { //门牌信息列表 "number": "281号",//门牌号 "distance": "52.8425",//门牌地址到请求坐标的距离 "street": "民和路",//街道名称 "location": "120.257076,30.224231",//坐标点 经度,纬度 "direction": "东"//方向 }, "businessAreas": [//经纬度所属商圈列表 { "businessArea":"",//商圈信息 "name": "宁围",//商圈名称 "location": "120.273765,30.225767",//商圈中心点经纬度 经度,纬度 "id": "330109"//商圈所在区域的adcode } ] }, "roads": [//道路信息列表 请求参数 extensions 为 all 时返回 { "id": "",//道路id "name": "",//道路名称 "distance": "",//道路到请求坐标的距离 米 "direction": "",//方位 "location": ""//坐标点 经度,纬度 } ], "roadinters": [//道路交叉口列表 请求参数 extensions 为 all 时返回 { "distance": "",//交叉路口到请求坐标的距离 米 "direction": "",//方位 "location": "",//路口经纬度 经度,纬度 "first_id": "",//第一条道路名称 "first_name": "",//第二条道路id "second_id": "",//第二条道路名称 "second_name": ""//第二条道路id } ], "pois":[//poi信息列表 { "id": "",//poi的id "name": "",//poi点名称 "type": "",//poi类型 "tel": "",//电话 "distance": "",//该POI的中心点到请求坐标的距离 米 "direction": "",//方向 "address": "",//poi地址信息 "location": "",//坐标点 经度,纬度 "businessarea": ""//poi所在商圈名称 } ], "aois":[//aoi信息列表 { "id": "",//aoi的id "name": "",//aoi点名称 "adcode": "",//所属 aoi 所在区域编码 "location": "",//所属 aoi 中心点坐标 经度,纬度 "area": "",//所属aoi点面积 "distance": ""//输入经纬度是否在aoi面之中 } ] }] } } 百度地图地理编码请求参数名称类型必须说明addressString是待解析的地址。最多支持84个字节。可以输入两种样式的值,分别是:1、标准的结构化地址信息,北京市海淀区上地十街十号【推荐,地址结构越完整,解析精度越高】2、支持“路与路交叉口”描述方式,如北一环路和阜阳路的交叉路口第二种方式并不总是有返回结果,只有当地址库中存在该地址描述时才有返回。cityString否地址所在的城市名。用于指定上述地址所在的城市,当多个城市都有上述地址时,该参数起到过滤作用,但不限制坐标召回城市。retCoordtypeString否添加后返回国测局经纬度坐标或百度米制坐标。示例:gcj02(国测局坐标,仅限中国)、bd09mc(百度墨卡托坐标)。默认bd09ll。outputString否输出格式为json或者xml,默认jsoncallbackString否将json格式的返回值通过callback函数返回以实现jsonp功能详细参阅这里返回样例{ "charge": true,//计费标志 "code": 200,//返回码,详见返回码说明 "msg": "成功",//返回码对应描述 "taskNo": "340833941206534747872156",//本次请求号 "data": { "confidence": 75,//描述打点绝对精度(即坐标点的误差范围)。confidence=100,解析误差绝对精度小于20m;confidence≥90,解析误差绝对精度小于50m;confidence≥80,解析误差绝对精度小于100m;confidence≥75,解析误差绝对精度小于200m;confidence≥70,解析误差绝对精度小于300m;confidence≥60,解析误差绝对精度小于500m;confidence≥50,解析误差绝对精度小于1000m;confidence≥40,解析误差绝对精度小于2000m;confidence≥30,解析误差绝对精度小于5000m;confidence≥25,解析误差绝对精度小于8000m;confidence≥20,解析误差绝对精度小于10000m; "analys_level": "POI",//可以解析地址文本中的最小地址结构,例如问题地址:北京市海淀区北京路百度大厦,analys_level:"POI",能精确理解的地址类型包含: 省 市 区县 乡镇 道路 门址 POI 。 "level": "商务大厦",//可以打点到地址文本中的真实地址结构,例如问题地址:北京市海淀区北京路百度大厦,level:"道路",能精确理解的地址类型,包含:UNKNOWN、国家、省、城市、区县、乡镇、村庄、道路、地产小区、商务大厦、政府机构、交叉路口、商圈、生活服务、休闲娱乐、餐饮、宾馆、购物、金融、教育、医疗 、工业园区 、旅游景点 、汽车服务、火车站、长途汽车站、桥 、停车场/停车区、港口/码头、收费区/收费站、飞机场 、机场 、收费处/收费站 、加油站、绿地、门址 "location": { "lng": 120.00135828539837,//经度值 "lat": 30.287874445189647 //纬度值 }, "precise": 1,//位置的附加信息,是否精确查找。1为精确查找,即准确打点;0为不精确,即模糊打点。 "comprehension": 35 //描述地址理解程度。分值范围0-100,分值越大,服务对地址理解程度越高(建议以该字段作为解析结果判断标准),当comprehension值为以下值时,对应的准确率如下:comprehension=100,解析误差100m内概率为91%,误差500m内概率为96%;comprehension≥90,解析误差100m内概率为89%,误差500m内概率为96%;comprehension≥80,解析误差100m内概率为88%,误差500m内概率为95%;comprehension≥70,解析误差100m内概率为84%,误差500m内概率为93%;comprehension≥60,解析误差100m内概率为81%,误差500m内概率为91%;comprehension≥50,解析误差100m内概率为79%,误差500m内概率为90%,解析误差:地理编码服务解析地址得到的坐标位置,与地址对应的真实位置间的距离。 } } 逆地理编码输入参数名称类型必须说明locationString是根据经纬度坐标获取地址,格式:纬度,经度。例如:120.067824,31.413068。coordtypeString否坐标的类型,目前支持的坐标类型包括:bd09ll(百度经纬度坐标)、bd09mc(百度米制坐标)、gcj02ll(国测局经纬度坐标,仅限中国)、wgs84( GPS经纬度)。默认bd09ll。retCoordtypeString否添加后返回国测局经纬度坐标或百度米制坐标。示例:gcj02(国测局坐标,仅限中国)、bd09mc(百度墨卡托坐标)。默认bd09ll。extensionsPoiString否extensions_poi=0,不召回pois数据。extensions_poi=1,返回pois数据(默认显示周边1000米内的poi),并返回sematic_description语义化数据。extensionsRoadString否当取值为true时,召回坐标周围最近的3条道路数据。默认false。extensionsTownString否当取值为true时,行政区划返回乡镇级数据(town),仅国内召回乡镇数据。当取值为false时,行政区划不返回乡镇级数据(town)。默认true。radiusString否以下内容需要 extensionsPoi=1时才生效;poi召回半径,允许设置区间为0-1000米,超过1000米按1000米召回。默认1000。callbackString否将json格式的返回值通过callback函数返回以实现jsonp功能。poiTypesString否以下内容需要 extensionsPoi=1时才生效;可以选择poi类型召回不同类型的poi,例如poiTypes=酒店,如想召回多个POI类型数据,可以languageString否指定召回的行政区划语言类型。 召回行政区划语言list(全量支持的语言见示例)。 当language=local时,根据请求中坐标所对应国家的母语类型,自动选择对应语言类型的行政区划召回。目前支持多语言的行政区划区划包含country、province、city、district。包含:el gu en vi ca it iw sv eu ar cs gl id es en-GB ru sr nl pt tr tl lv en-AU lt th ro fil ta fr bg hr bn de hu fa hi pt-BR fi da ja te pt-PT ml ko kn sk zh-CN pl uk sl mr locallanguageAutoString否当用户指定language参数时,是否自动填充行政区划。1填充,0不填充。填充:当服务按某种语言类别召回时,若某一行政区划层级的语言数据未覆盖,则按照“英文→中文→本地语言”类别行政区划数据对该层级行政区划进行填充,保证行政区划数据召回完整性。详细参阅这里返回样例{ "charge": true,//计费标志 "code": 200,//返回码,详见返回码说明 "msg": "成功",//返回码对应描述 "taskNo": "007493807239868764046631",//本次请求号 "data": { "formatted_address": "江苏省无锡市滨湖区",//结构化地址(不包含POI信息)。如果需要标准的结构化地址,比如获取XX路XX号,推荐使用这个参数 "business": "",//坐标所在商圈信息,如 "人民大学,中关村,苏州街"。最多返回3个。 "sematic_description": "梨梨园上草土菜馆客栈西888米",//当前位置结合POI的语义化结果描述。需设置extensionsPoi=1才能返回。 "roads": [ { "name": "",//周边道路名称 "distance": ""//传入的坐标点距离道路的大概距离 } ], "formatted_address_poi": "江苏省无锡市滨湖区马山街道梨梨园上草土菜馆客栈西888米",//结构化地址(包含POI信息)。需设置extensions_poi=1才能返回。如果需要详细的地址描述,推荐使用这个参数。 "location": { "lng": 120.06782399999993,//经度值 "lat": 31.413067895001422 //纬度值 }, "edz": { //所属开发区 "name": "" // }, "poiRegions": [ { "direction_desc": "",//请求中的坐标与所归属区域面的相对位置关系 "name": "",//归属区域面名称 "tag": "",//归属区域面类型 "distance": "",//离坐标点距离 "uid": "",//poi唯一标识 } ], "pois": [ { "zip": "",//邮编 "uid": "60c55c3bd4fbb98c276e98a7",//poi唯一标识 "distance": "888",//离坐标点距离 "poiType": "美食",// "name": "梨梨园上草土菜馆客栈",//poi名称 "tel": "",//电话 "parent_poi": { //poi对应的主点poi(如,海底捞的主点为上地华联,该字段则为上地华联的poi信息。如无,该字段为空),包含子字段和pois基础召回字段相同。 "uid": "",// "distance": "",// "name": "",// "tag": "",// "addr": "",// "point": { "x": 0,// "y": 0 // }, "direction": ""// }, "tag": "美食",//poi类型,如’美食;中餐厅’。tag与poiType字段均为poi类型,建议使用tag字段,信息更详细 "addr": "江苏省无锡市滨湖区马山镇和平村北门环山西路91号",//地址信息 "cp": " ",// "point": { //poi坐标 "x": 120.07520393899887,// "y": 31.410457606202677 // }, "direction": "西"//和当前坐标点的方向 } ], "addressComponent": { //注意,国外行政区划,字段仅代表层级 "city_level": 2,//城市所在级别(仅国外有参考意义。国外行政区划与中国有差异,城市对应的层级不一定为『city』。country、province、city、district、town分别对应0-4级,若city_level=3,则district层级为该国家的city层级) "country": "中国",//国家 "town": "马山街道",//乡镇名,需设置extensions_town=true时才会返回 "distance": "",//区县名 "city": "无锡市",//城市名 "adcode": "320211",//行政区划代码 "country_code_iso": "CHN",//国家英文缩写(三位) "country_code_iso2": "CN",//国家英文缩写(两位) "country_code": 0,//国家编码 "town_code": "320211009",//乡镇id "province": "江苏省",//省名 "street": "",//道路名 "district": "滨湖区",//相对当前坐标点的距离,当有门牌号的时候返回数据 "street_number": "",//道路门牌号 "direction": ""//相对当前坐标点的方向,当有门牌号的时候返回数据 } } }
-
在投资世界里,股票行情的变化是非常频繁的。若要准确抓住投资时机,首要任务是快速、全面的了解股票数据资源,无论是实时交易信息、历史交易记录,还是财务数据、基本面资料,均不可或缺。我们的核心目标,便是从这些海量数据中提炼出有价值的信息,以指引我们的投资决策。如今,无论是个人开发者写个自用看盘小工具,还是机构搭建高频交易系统,都离不开对行情数据的自动化获取。股票行情API 接口希望能为大家助一臂之力。支持范围A股-K线A股-报价A股-排行A股-停牌信息A股-信息拓展沪深-K线沪深-板块成分股排行沪深-板块排行沪深-大盘涨跌数沪深-分时成交沪深-分钟K含均线沪深-股票排行沪深-股票信息接入说明以A股K线为例请求参数名称类型必须说明symbolString是品种代码 如sh000001typeString是k线类型,可选值:1 - 1分钟5 - 5分钟15 - 15分钟30 - 30分钟60 - 60分钟120 - 120分钟240 - 日K1200 - 周K7200 - 月K86400 - 年KpageSizeString否返回条数,默认:10maString否返回ma均线,可选值为:5,10,15,20,25,30,可不传详细参阅这里返回样例{ "code": 200,//返回码,详见返回码说明 "msg": "成功",//返回码对应描述 "taskNo": "649352771175881926901748",//本次请求号 "charge": true,//计费标志 "data": { "list": [ { "volume": "18616401",//当前成交数 "high": "7.050",//当前最高价 "amount": "130814366.1570",//成交量 "low": "7.000",//当前最低价 "day": "2024-07-31 13:30:00",//数据时间 "close": "7.020",//当前收盘价 "open": "7.020",//当前开盘价 "ma_price15": 15.24,//15条均价 "ma_volume15": 1294429 //15条均成交量 } ] } }
-
目前,电商、货运等行业都需要快递查询API,对运单号的物流轨迹进行跟踪。通过快递查询接口,可以实时查询物流轨迹。支持一千多家快递公司与官网同步数据更新。可以实现将快递查询功能集成到自有的系统中,方便用户实时跟踪物流信息。比如:电商网站,直接在“我的订单”页面内就能看到订单的物流状态。改变订单的状态和交易流程,例如单号变为“已签收”,就能让订单变为可以确认退换货等。物流平台可以自动筛选出“已签收”、“疑难件”等状态的单号,减轻物流跟单人员的压力。评估选择快递公司,根据“已签收”的运单数,可以算出销售人员的业绩,且便于应对货到付款的结算。请求参数名称类型必须说明numberString是运单编号expressCodeString否快递公司编号 例如圆通:YTO。快递公司编号不传时,系统会自动识别快递公司编号,但响应时间会比传递快递编号略长mobileString否顺丰速运、中通、跨越速运需要传入收/寄件人手机号或后四位手机号sortString否物流明细排序,desc:倒序,asc:升序,默认asc详解接入参见如果是需要当物流轨迹发生变化,能实时接收物流轨迹的,也可以用按单订阅成功返回样例{ "code": 200, // 详见code返回码说明 "msg": "成功", // code 对应的描述 "charge": true, // 计费标志 "taskNo": "30853523396532582768", // 本次请求号 "data": { "expressCode": "ZTO", // 快递公司编号 "expressCompanyName": "中通快递", // 快递公司名称 "expressCompanyLogo": "", // 快递公司logo "number": "73171992731469", // 运单编号 "logisticsStatus": "SIGN", // 物流状态,详见:物流状态编码对照表; "logisticsStatusDesc": "已签收", // 物流状态描述 "theLastMessage": "快件已在金华孝顺签收 签收人:本人。如有疑问请电联:15888996643, 投诉电话:0579-82977127, 您的快递已经妥投。风里来雨里去, 只为客官您满意。上有老下有小, 赏个好评好不好?【请在评价快递员处帮忙点亮五颗星星哦~】", // 运单号物流流转当前最新描述 "theLastTime": "2021-11-23 12:24:58", // 运单号物流流转当前最新变更时间 "takeTime": "2天17小时33分", //从揽收到送达所耗时间 "courier": "付村二部傅军", // 快递员 "courierPhone": "15888996643", // 快递员联系方式 "logisticsTraceDetails": [ // 物流明细 { "time":1632123146000, // 物流变更时间 "logisticsStatus":"ACCEPT", // 物流状态 详见:物流状态编码对照表 "subLogisticsStatus":"ACCEPT", // 物流子状态 详见:物流状态编码对照表 "desc":"【杭州电商仓配揽投部】已收寄,揽投员:刘岭,电话:13754324900", //物流路由信息描述内容 "areaCode":"CN330100000000", // 路由节点所在地区行政编码, 未必会返回 "areaName":"浙江省,杭州市" // 路由节路由节点所在地区 }, { "time":1632140994000, "logisticsStatus":"TRANSPORT", "subLogisticsStatus":"TRANSPORT", "desc":"离开【杭州电商仓配揽投部】,下一站【杭州萧山区东片集散中心】", "areaCode":"CN330100000000", "areaName":"浙江省,杭州市" }, ... ] } }
-
当在互联网上用发送网址(URL)的方式分享内容时,通常会因为URL过长遇到很多限制,比如:短信发送会拆分成多个短信,增加成本;URL可能包含随机字符、参数拼接,用户无法直观判断目标地址,信任度低;有些社区会限制URL的长度,导致无法分享;短网址(Short URL)是指将原始冗长的网址缩短为长度更短的网址,当点击短网址时,可跳转到原始长网址的服务。短网址服务适用场景短信推广:将原始长网址转换短网址后,放到短信中发送,可以短信内容,避免拆分成多个短信,节省成本;社区平台分享:微博、微信、抖音等平台分享式,短网址更易排版,且避免长 URL 被截断;二维码应用:在生成二维码时,如果原始网址过长,可能会导致二维码的复杂度增加,影响扫码成功率。短网址生成接口特色功能短网址域名拦截后可动态替换支持302跳转原始网址和隐藏原始网址两种方式,隐藏原始网址的方式可避免原始网址被拦截请求参数名称类型必须说明targetString是原始地址详细使用参见返回样例{ "code": 200, "msg": "成功",//code对应的描述 "taskNo": "41020892700032664119",//请求号 "charge": true, "data": { "target ":"", //原始链接 "link":"", //短链地址,带https:// "simpleLink":"", //短链地址,不带https:// }
-
随着数字化办公和财税电子化管理日益普及,发票的真实性查验已经成为企业财务、税务审计等业务流程中重要的一环。而不符合规定、虚假的发票,不得作为财务凭证,任何企业和个人有权拒收。发票查验接口即可实现发票真实性查验的功能。如对查验结果有疑议,可持发票原件至当地税务机关进行鉴定。开发者可通过编程方式将发票查验接口集成到自己的系统中,输入发票号码、发票代码、开票金额和开票日期或上传发票版式文件(pdf、ofd或xml),即可实现在线实时查询发票信息,辨别发票真伪等功能。1、支持多种发票类型增值税专用发票普通发票机动车销售发票二手车销售发票通行费发票航空运输电子客票行程单铁路电子客票财政发票区块链发票通用电子发票2、可查验的时间范围可查验最近5年内开具的发票;当日开具的发票当日可进行查验;3、实现方式接入发票查验接口即可实现发票查验功能输入参数名称类型必须说明fpdmString否发票代码 非全电发票必填fphmString是发票号码kprqString是开票日期 格式YYYYMMDDjymString否校验码后 6 位, 增值税普通发票、增值税电子普通发票、增值税普通发票(卷式)、增值税电子普通发票(通行费)必填jeString否增值税专用发票、增值税电子专用发票、机动车销售统一发票输入不含税金额;二手车销售统一发票输入车价合计;全电发票输入价税合计响应示例以增值税专用发票为例{ "code": 200, // 返回码,详见code返回码说明 "msg": "成功", //code对应的描述 "taskNo": "12552230716560623515", // 本次唯一请求号 "charge": true, // 计费标志 "data": { "fplx": "01", // 发票类型,详见发票类型说明 "times": 4, // 查验次数(第几次) "xfsbh":"1522***********K01451", //销方识别号 "gfmc":"东方****有限公司", //购方名称 "gmfyhzh":"工行杭州景江苑支行 12******************36", //购买方银行账号 "xhqdBz":"N", //清单标志:发票明细中是否有清单行(Y清单 N非清单) "dkXsfmc":"马*弟<", //代开销售方名称 "dq":"内蒙古自治区", //地区 "tspzDm": "", // 特殊票种代码,02农产品收购发票 08成品油发票 "xsfdzdh":"乌兰浩特市 1584****535", //销售方地址电话 "se":240, //税额 "kprq":"2022-01-04 00:00:00", //开票日期 "bz":"代开企业税号:15222*****71610 代开企业名称:马*弟<br/>房屋坐落地址:乌兰浩特市爱国小区*号楼", //备注 "kjlx":"2", //开具类型 "fpztDm":"0", //发票状态代码 "sbbh":"661816407119", //设备编号 "gfsbh":"91330********66XE", //购方识别号 "fpdm":"150*****60", //发票代码 "fphm":"00****89", //发票号码 "jym":"69591030500952264929", //校验码 "dkXsfsbh":"152**************610", //代开销售方识别号 "gmfdzdh":"杭州市滨江区****66号 0571-8*****34", //购买方地址电话 "xsfyhzh":"31522***********07111", //销售方银行账号 "jshj":16800, //价税合计 "jshjcn":"壹万陆仟捌佰元整", //价税合计(中文大写) "je":16560, //金额 "xfmc":"国家税务总局乌兰浩特市税务局第一税务分局", //销方名称 "txfbz":"Y",//如果是通行费,则有该字段,Y表示该通行费可抵扣,N表示不可以抵扣 //通行费标识 "tspzDm": "86",//特殊票种,02-农产品收购;03-稀土矿产品发票;04-稀土产成品发票;05-石脑油;06-通行费可抵扣;07-通行费(不可抵扣);08-成品油发票;12-机动车; 76-报废产品收购;77-报废产品收购; 83-建筑服务; 84-货物运输服务; 85-不动产销售; 86-不动产经营租赁服务; 89-旅客运输服务; 92-自产农产品销售; 93-拖拉机按减征税; 96-农产品收购;其它为空; "hwxx":[ //货物信息 { "ggxh":"", //规格型号 "jldw":"套", //计量单位 "dj":"16560.00", //单价 "mxxh":1, //明细序号 "se":240, //税额 "ysse":"240", //原始税额 "mc":"房屋租赁(20220101-20221231)", //名称 "sl":"1", //数量 "je":16560, //金额 "slv":0.015, //税率 "ysslv":"1.5%", //原始税率 "spbm":"" //商品编码 } ] } }
-
https://support.huaweicloud.com/devg-idme/idme_devg_0046.html,按照该文档步骤,引入API代理器提供的JAR包,配置MAVEN,添加配置类,添加扫描。项目编译通过,但启动报错,不知道哪一步少了2026-01-04 17:47:04.764 ERROR 17640 --- [ main] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.me.base.myapp.MyAppApplication]; nested exception is java.io.FileNotFoundException: class path resource [jakarta/validation/ConstraintValidator.class] cannot be opened because it does not exist
-
✨ 活动主题:技术干货深挖掘 & 备赛心路全记录我们团队参加了年度中国青年揭榜挂帅擂台赛·华为赛道,命题为“推理大模型的训练调优与性能加速助力全栈自主”。本次征文将分享我们在国产化硬件(如昇腾芯片)上实现大模型推理性能突破的实践和经验。我们的目标是:让国产硬件上的大模型跑得快、跑得稳、跑得准。💡 技术干货深挖掘:算子层优化是性能突破的关键本次赛题的核心是探索适配昇腾架构的轻量化推理优化方案,以提升模型在国产算力平台上的运行效率。面对国产AI发展中存在的硬件限制、工具链缺失、架构依赖等行业痛点,我们将技术突破口聚焦在了算子层优化。算子层优化能在不改动模型结构的前提下显著提升性能。1. 核心瓶颈:MatMul与GELU算子优化我们通过分析确定,核心算子如 MatMul(矩阵乘法)和 GELU(激活函数)是影响推理性能的主要瓶颈。MatMul(矩阵乘法)优化实践:我们采用了 Tiling(切分)下发策略,配合 HOST 侧和 Kernel 侧的协同流水计算,实现了大矩阵的分块加载、流水线并行计算与结果写回。这种优化支持高性能、可扩展的批量矩阵乘法,充分释放NPU算力。该 MatMul 算子已在华为香橙派开发板上成功部署,并在 LLaMa 与 Whisper 模型的端到端推理流程中实现了高效加速。GELU(激活函数)优化实践:GELU的实现采用了多项式近似 $\tanh$ 函数,通过优化计算步骤,实现了在保持较高精度的同时,减少计算开销和提升推理速度的双重目标。从性能对比图可以看出,经过优化后,GELU算子在三个测试用例中的执行时间均有所缩短,整体性能得到明显提升。2. 模型选型与最终性能我们以 Qwen2.5-3B 和 DeepSeek-R1-Distill-Qwen-1.5B 作为基准模型进行轻量化推理优化。在两个基准模型中,添加了优化算子后,模型精度得分均有上升,且速度(tokens/s)均提升了约 6%。我们最终选择了精度较高的 Qwen2.5-3B + 算子模型作为最终方案,其精度得分为 49.79,速度为 26.75 tokens/s。虽然 DeepSeek-R1-Distill-Qwen-1.5B + 算子模型速度(60.32 tokens/s)更快,但在精度得分(40.13)上略低。🎯 备赛心路全记录:从算力瓶颈到生态贡献者我们的研究历程是克服国产算力平台挑战,助力全栈自主AI的实践。直面瓶颈: 在国产算力平台部署大模型时,我们发现了推理性能受限、算子适配与生态支持不足的问题,促使我们从算子优化与推理调优入手突破瓶颈。产教融合与协作: 团队与华为深度合作,积极开发高性能算子,并向昇腾CANN算子仓库贡献,获评“昇腾CANN优秀贡献团队”。我们也是国内首个完成华为昇腾算子仓库外部合入的高校科研团队。成果落地与认可: 我们将优化后的技术应用于“基于昇腾的大模型多模态交互式抗压潜能评估系统”案例,有效评估抗压潜能和负向情绪。🎁 总结与建言:将短暂的比赛延伸为长久的影响力我们的经验证明,大模型推理调优与性能加速已成为实现国产全栈自主的重要方向。致未来选手的话:“独木不成林”,国产全栈自主AI的实现,需要一代代开发者的不懈努力。鼓励下一届的学弟学妹们,不仅仅停留在模型调用层面,更要深入底层,积极参与产教融合项目,向算子、框架等基础技术环节渗透。你的每一次分享和贡献,都将成为照亮国产AI技术生态的星光。
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签