2018-09-28

该文档提供了找罐车与找油网TMS系统对接需要用到的接口,主要包括demand、carrier order相关接口。

Host

HOST: https://api.zhaoguanche.com/zyw/

Authentication

平台部分接口需要客户端认证,后续需要做认证的接口会在具体接口中标出

Authentication 模式

OAuth 2.0 协议标准 client credentials 模式

Client认证请求

POST:  /oauth2/token  
Content-Type:  application/x-www-form-urlencoded
Accept:  application/json
字段 描述 必须 数据类型 参数位置 备注
client_id 客户端ID Y String @body 提前提供给企业客户
client_secret 客户端秘钥 Y String @body 提前提供给企业客户
grant_type 授权类型 Y String @body 目前紧支持客户端模式,强制设置该字段值为"client_credentials"

测试账号

client_id: d35e5379-b42a-4bd7-abe4-b0d981ee88d9
client_secret:33c737b514122ee8e6d65271cd7481b6ede62ea54419691705cc0e6cc56cb445
注:该账号仅供找油网测试使用

样例

curl -H "Accept: application/json"
https://api.zhaoguanche.com/zyw/oauth2/token 
-d "grant_type=client_credentials&client_id=${demoApp}&client_secret=${demoAppSecret}"

认证成功返回

{
 "token_type": "bearer", 
 "access_token": "W3xqSWKLJpZuzyPARZGEhGP9DuPYIufw", 
 "expires_in": 7200
}

认证失败返回

{
  "error": "invalid_client",
  "error_description": "Bad client credentials"
}

Token验证失败返回

{
"error": "invalid_token",
"error_description": "Invalid access token: W3xqSWKLJpZuzyPARZGEhGP9DuPYIufw"
}

Token过期返回

{
"error": "invalid_token",
"error_description": "Access token expired: W3xqSWKLJpZuzyPARZGEhGP9DuPYIufw"
}

请求响应

字段 描述 必须 数据类型 备注
code 返回码 int 具体看返回码定义
message 返回错误信息 String 必须携带该字段告知成功或错误信息
data 数据 String 当code为200,则该字段返回调用者想要的数据

返回码

字段 描述 备注
200 Success
500 Server Error 服务器发生的未知错误
530 Business Logic Error 业务逻辑错误,例如修改已经装货完毕运单的所属需求单装货地信息
431 Bad Request 包括参数缺失、参数验证失败等,具体错误看message信息
430 Operation Failed 未知失败原因的失败操作
440 Resources Not Found 没有发现要查询或者要修改的数据

Demand

该部分主要是提供给第三方企业(找油网)上传需求单使用的接口

POST /demand //上传新需求单

Content-Type: application/json
Accept: application/json
Authorization: Bearer ${token}
字段 描述 必须 数据类型 备注
orderId 订单ID Y String 该需求单的唯一标示
acceptTime 订单受理时间 N String 受理该订单的时间
pickUpWay 提送方式 N String
deliveringWay 装卸方式 N String
warehouseManager 仓管员 N String
businessInitiator 业务发起方 N String
loadingAddrProvince 装货地省 Y String
loadingAddrCity 装货地市 Y String
loadingAddrDistrict 装货地区 Y String
loadingAddrStreet 装货地详细地址 Y String
loadingAddrCustom 装货地客户名称 N String
loadingAddrContact 装货地联系人 Y String
loadingAddrContactNumber 装货地联系电话 Y String
scheduledLoadingTime 装货时间 Y String 格式:"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
unloadingAddrProvince 卸货地省 Y String
unloadingAddrCity 卸货地市 Y String
unloadingAddrDistrict 卸货地区 Y String
unloadingAddrStreet 卸货地详细地址 Y String
unloadingAddrCustom 卸货地客户名称 N String
unloadingAddrContact 卸货地联系人 Y String
unloadingAddrContactNumber 卸货地联系电话 Y String
scheduledUnloadingTime 卸货时间 Y String 格式:"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
payloadName 货物名称 Y String
itemNumber 货号 N String
brand 品牌 N String
category 标号 N String
classification 级别 N String
unitPrice 单价 Y Decimal 单位:元/吨
packingSpecification 包装规格 N String
weight 重量 Y Decimal 单位:吨
volume 体积 N Decimal 单位:立方米
collateralLoss 约定损耗 Y Integer 例:千分之三,该值就为 3
compartment 隔舱 N String
hasFlowMeter 流量计 N String
requiredPortPositions 装卸口 N String
payloadUnitPrice 约定货物单价 Y Decimal 单位:吨
orderCreater 创建人 Y String
remark 备注说明 N String
请求样例
POST  /demand  HTTP/1.1
Accept: application/json
Authorization: Bearer 4ed0bf90-6e60-46e7-94d8-c21bd41bcd28
Payload:
{
"orderId":"1253625635",
"acceptTime":"2018-08-20T12:34:21.232+0800",
"pickUpWay":"auto",
"deliveringWay":"vehicle",
"warehouseManager":"张三",
"businessInitiator":"李四",
"loadingAddrProvince":"上海",
"loadingAddrCity":"上海市",
"loadingAddrDistrict":"闵行区",
"loadingAddrStreet":"田林路静安新城十区1000号楼",
"loadingAddrCustom":"蓁康电子",
"loadingAddrContact":"王凡",
"loadingAddrContactNumber":"18753932002",
"scheduledLoadingTime":"2018-08-20T12:34:21.232+0800",
"unloadingAddrProvince":"山东省",
"unloadingAddrCity":"临沂市",
"unloadingAddrDistrict":"兰山区",
"unloadingAddrStreet":"双岭路1000号",
"unloadingAddrCustom":"中国石化",
"unloadingAddrContact":"王五",
"unloadingAddrContactNumber":"18765434323",
"scheduledUnloadingTime":"2018-08-20T12:34:21.232+0800",
"payloadName":"汽油",
"itemNumber":"10021",
"brand":"中国石化",
"category":"100",
"classification":"2000",
"unitPrice":"8000",
"packingSpecification":"铁罐",
"weight":"10",
"volume":"50",
"collateralLoss":"1",
"compartment":"",
"hasFlowMeter":"1",
"requiredPortPositions":"02",
"payloadUnitPrice":"790",
"orderCreater":"Jack",
"remark":"下雨了"
}
成功返回样例
{
    "code":200,
    "message":"Success"
}
失败返回样例
{
    "code":431,
    "message":"参数有误",
    "detail":"类型解析异常,数据类型错误: 'payloadUnitPrice':'7000元'  "
}

PUT /demand //更新需求单

Content-Type: application/json
Accept: application/json
Authorization: Bearer ${token}
字段 描述 必须 数据类型 备注
orderId 订单ID Y String 该需求单的唯一标示
acceptTime 订单受理时间 N String 受理该订单的时间
pickUpWay 提送方式 N String
deliveringWay 装卸方式 N String
warehouseManager 仓管员 N String
businessInitiator 业务发起方 N String
loadingAddrProvince 装货地省 N String
loadingAddrCity 装货地市 N String
loadingAddrDistrict 装货地区 N String
loadingAddrStreet 装货地详细地址 N String
loadingAddrCustom 装货地客户名称 N String
loadingAddrContact 装货地联系人 N String
loadingAddrContactNumber 装货地联系电话 N String
scheduledLoadingTime 装货时间 N String 格式:"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
unloadingAddrProvince 卸货地省 N String
unloadingAddrCity 卸货地市 N String
unloadingAddrDistrict 卸货地区 N String
unloadingAddrStreet 卸货地详细地址 N String
unloadingAddrCustom 卸货地客户名称 N String
unloadingAddrContact 卸货地联系人 N String
unloadingAddrContactNumber 卸货地联系电话 N String
scheduledUnloadingTime 卸货时间 N String 格式:"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
payloadName 货物名称 N String
itemNumber 货号 N String
brand 品牌 N String
category 标号 N String
classification 级别 N String
unitPrice 单价 N Decimal 单位:吨
packingSpecification 包装规格 N String
weight 重量 N Decimal 单位:吨
volume 体积 N Decimal 单位:立方米
collateralLoss 约定损耗 N Integer 例:千分之三,该值就为 3
compartment 隔舱 N String
hasFlowMeter 流量计 N String
requiredPortPositions 装卸口 N String
payloadUnitPrice 约定货物单价 N Decimal 单位:吨
orderCreater 创建人 N String
remark 备注说明 N String

备注:除orderId以外,全部为可选字段,修改什么内容传什么字段

请求样例
PUT  /demand  HTTP/1.1
Accept: application/json
Authorization: Bearer 4ed0bf90-6e60-46e7-94d8-c21bd41bcd28
Payload:
{
   "orderId":"1253625635",
   "scheduledUnloadingTime":"2018-08-20T12:34:21.232+0800"
}
成功返回样例
{
    "code":200,
    "data":{
                  "orderId":"1253625635",
                  "scheduledUnloadingTime":"2018-08-20T12:34:21.232+0800"
           }
}
失败返回样例
{
    "code":440,
    "message":"参数错误",
    "detail":" 该订单不存在:1253625635"
}

DELETE /demand //取消需求单

Content-Type: application/json
Accept: application/json
Authorization: Bearer ${token}
字段 描述 必须 数据类型 备注
orderId 订单ID Y String 该需求单的唯一标示
请求样例
DELETE  /demand  HTTP/1.1
Accept: application/json
Authorization: Bearer 4ed0bf90-6e60-46e7-94d8-c21bd41bcd28
Payload:
{
   "orderId":"1253625635"
}
成功返回样例
{
    "code":200,
    "message":"Success"
}
失败返回样例
{
    "code":530,
    "message":"业务逻辑错误",
    "detail":" 该订单所属运单正在运输中,不能取消操作"
}

GET /tracks/{plate_num} //获取轨迹地址

Content-Type: application/json
Accept: application/json
Authorization: Bearer ${token}
字段 描述 必须 数据类型 备注
plate_num 路径参数,车牌号 Y String 该需求单的唯一标示
from_address 起始地址 Y String xxx省xx市xxx区xxx
to_address 终点地址 Y String xxx省xx市xxx区xxx
start_at 开始时间 Y Long 时间戳(毫秒数)
end_at 结束时间 Y Long 时间戳(毫秒数)
请求样例

Authorization: Bearer 4ed0bf90-6e60-46e7-94d8-c21bd41bcd28
https://api.zhaoguanche.com/zyw/tracks/沪A12345?from_address=%E4%B8%8A%E6%B5%B7%E5%B8%82%E5%BE%90%E6%B1%87%E5%8C%BA%E4%BA%AC%E5%89%A7%E9%99%A2&to_address=%E5%8E%A6%E9%97%A8%E5%B8%82%E9%BC%93%E6%B5%AA%E5%B1%BF&start_at=1537848000&end_at=1537963200

返回结果
{
    "code":200,
    "data":"https://tools.useiov.net/tools/trace-addon.php?from_address=上海市徐汇区京剧院&to_address=厦门市鼓浪屿&start_at=1537848000&end_at=1537963200&plate_num=沪A12345"
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • 箭头函数 1. 作用: 定义匿名函数 2. 基本语法: 没有参数: () => console.log('xxxx...
    金政锐阅读 102评论 0 0
  • TCP报文是TCP层传输的数据单元,也叫报文段。 1、端口号:用来标识同一台计算机的不同的应用进程。 1)源端口:...
    Hie_9e55阅读 702评论 0 1
  • IP协议提供不可靠无连接的数据报传输服务,IP层提供的服务是通过IP层对数据报的封装与拆封来实现的。IP数据报的格...
    Hie_9e55阅读 1,117评论 0 0
  • https加密完整过程 step1: “客户”向服务端发送一个通信请求 step2: “服务器”向客户发送自己的数...
    007QQQQQQ阅读 110评论 0 1
  • layui学习笔记 1.基本目录 2.下载:官网、Git仓库、npm 3.常用部署 4.layui模板定义: 问题...
    她是过来佛阅读 1,688评论 0 0