[关闭]
@lonelinsky 2015-11-04T14:11:58.000000Z 字数 5204 阅读 632

瀚沄社区第三方接入文档 V0.0.2

API

V0.0.2 Changes

简介

瀚沄社区的电商服务主要依靠接入第三方电商来完成,为了方便大家的接入,特书写以下文档.以下文档涉及到的HTTP请求及返回都默认为UTF-8

接入要求

商家需要提供如下信息用于基础接入:

提供这些后瀚沄社区会以邮件提供如下信息即可以做接入:

接入授权

第三方平台在接入的时候需提供一个用户获取商户信息的url,并会获取到一个APPID和APPSECRET(目前以邮件告知,请务必妥善保存),瀚沄社区平台以此来验证第三方平台身份.

链接地址
http://community.dreamlabchina.com/api/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

访问方向
第三方后台 -> 瀚沄社区服务

鉴权
无需鉴权

链接请求约定
http请求方式: GET
grant_type:获取凭证的时候此处填写client_credential
APPID和APPSECRET使用申请接入的时候分配的APPID和APPSECRET

链接返回约定

  1. {
  2. "status":",
  3. "access_token":"ACCESS_TOKEN",
  4. "expires_in":24 #单位是秒
  5. }
  1. {
  2. "status":"ERROR",
  3. "errcode":40013;
  4. "errmsg":"invalid op"
  5. }

在获取新的access_token之后原token还会维持有效5分钟,方便业务切换

获取服务器ip地址

用于第三方商户获取瀚沄社区后台IP列表,用于简单鉴权

链接地址
http://community.dreamlabchina.com/api/getcallbackip?access_token=ACCESS_TOKEN&appid=APPID

访问方向
第三方商户 -> 瀚沄社区后台

鉴权
通过access_token鉴权

链接请求约定
请求方式:GET

链接返回约定

  1. {
  2. "status":"OK",
  3. "ip_list":["127.0.0.1",...] #ip列表
  4. }
  1. {
  2. "status":"ERROR",
  3. "errcode":40013;
  4. "errmsg":"invalid op"
  5. }

获取商户信息

主要用于瀚沄社区后台从商户处获取商品信息

链接地址
此处链接地址由第三方商户在申请接入时提供

访问方向
瀚沄社区 -> 第三方商户

鉴权
第三方商户可以根据瀚沄服务器的IP地址进行鉴权

链接请求约定
http请求方式: GET

链接返回约定

  1. {
  2. "status":"OK",
  3. "store":{
  4. "name": 商家名称,
  5. "addr": 商家地址,
  6. "email": 客服邮箱,
  7. "hotline": 客服电话,
  8. "title": 商家标题(页面标题显示用,8字内),
  9. "logo_url": 商家logo(96*96),
  10. "web_url": 商家网站url
  11. },
  12. "promotion":[{ 优惠
  13. "promotion_pic_link":url, 优惠图片链接
  14. "promotion_link":url 优惠链接,指向第三方商户页面
  15. },...],
  16. "delivery":[{ 运费
  17. "price": 运费价格,
  18. "discount_type": 减免类型
  19. "condition":条件数值
  20. }..]
  21. "order_url":下单地址,
  22. "comment_url":评价地址,
  23. "goods":{
  24. "goods_num":number, # 商品数量
  25. "goods_list":[{
  26. id 商品ID
  27. pic 商品图片, url形式提供
  28. desc 商品描述,
  29. price 商品价格,
  30. detail_url 商品详情url
  31. },...]
  32. }
  33. }
关于运费的说明:
运费的表述结构为 [{price, discount_type, condition}..]
price表示价格,
discount_type表示减免类型,包括no_discount(正常情况), amount_limit(满多少钱减免运费, time_limit(限时免运费), count_limit(限前多少件免运费), 但目前仅支持price_limit
condition表示条件数值
no_discount时此项填空
amount_limit时此项填充需要的订单总额
time_limit时此项填充填充 开始时间-结束时间 字符串,其中时间以unix timestamp(从1970到现在的秒数)形式表示,
返回的时候请按照price从低到高排序,系统计算运费的时候会逐次匹配,找到第一个匹配的时候返回.
示例:
  1. [{"price":0, "discount_type":"amount_limit", "conditon":"100"},
  2. {"price":12, "discount_type":"no_discount", "conditon":""}]

以上表示满100元免运费, 正常运费价格12.

异常

  1. {
  2. "status":"ERROR",
  3. "errcode":40013,
  4. "errmsg":"invalid op"
  5. }

商户信息变更

主要用于第三方平台通知瀚沄社区后台商户信息发生变化,瀚沄社区后台在得知变更后会重新拉取相关数据

链接地址
http://community.dreamlabchina.com/notify?eventtype=storeinfo_change&access_token=ACCESS_TOKEN&appid=APPID

访问方向
第三方平台 -> 瀚沄社区后台

鉴权
access_token

请求约定
请求方式: GET
请求参数:
  event_type 事件类型
  access_token 用于鉴权的token
  appid 用于鉴别第三方appid

响应约定

  1. {
  2. "status":"OK"
  3. }
  1. {
  2. "status":"ERROR",
  3. "errcode":40013;
  4. "errmsg":"invalid op"
  5. }

商品详情

商品详情页面由瀚沄社区后台在用户访问相关商品的时候访问第三方商户后台获取

链接地址
由商户信息中,detail_url提供
http://detail_url/

访问方向
瀚沄社区 -> 第三方

鉴权
第三方商户可以根据瀚沄服务器IP鉴权

链接请求约定
http请求方式: GET

链接返回约定

  1. {
  2. "id":商品ID,
  3. "class_name": 分类名称(标题名),
  4. "type": 商品类型服务或商品(service|goods)
  5. "pic":图片url,
  6. "desc":商品简述,
  7. "size":商品规格
  8. "price":商品单价,
  9. "adv":商品宣传语,
  10. "avail_time":可用时间列表,
  11. "store": {
  12. name:商家名称,
  13. addr:商家地址,
  14. logo:商家logo url
  15. }
  16. "detail":商品详情,
  17. "payed_num":已购买数量
  18. }

avail_time使用如下约定,以数组形式给出,共两个元素,第一个表示工作日,第二个表示周末,元素定义为起始时间|结束时间|选择时间间隔|最少等待时间 如周末或者周内不提供服务只需要把对应字符串置空即可,如周内和周末服务时间相同,需要填写两次. 对于不需要此时间的商户可以直接把数组置空.
例如:
["8|20|2|2", "10|18|2|2"] 表示工作日每天8-20点提供服务,选择时间间隔为2小时,最早可用时间至少为当前2小时后,周末每天10-18点提供服务,选择时间间隔为2小时,最早可用时间至少为未当前2小时后
["8|20|2|2", ""] 表示只在工作日可用
["", "8|20|2|2"] 表示只在周末可用

  1. {
  2. "status":"ERROR",
  3. "errcode":40013;
  4. "errmsg":"invalid op"
  5. }

商品详情变更

用于第三方通知瀚沄社区后台商品详情发生变化,例如价格/服务时间等.

链接地址
http://community.dreamlabchina.com/notify?event_type=goodsdetail_change&goods_id=GOODS_ID&access_token=ACCESS_TOKEN&appid=APPID

访问方向
第三方平台 -> 瀚沄社区后台

鉴权
access_token

请求约定
请求方式: GET
请求参数:
    goods_id 商家对应商品的ID,在商户信息和商品详情都有返回
    event_type 事件类型

响应约定

  1. {
  2. "status":"OK"
  3. }
  1. {
  2. "status":"ERROR",
  3. "errcode":40013;
  4. "errmsg":"invalid op"
  5. }

下单

用于瀚沄社区后台向第三方商户下单

访问方向
瀚沄社区 -> 第三方商户

链接
此链接地址在获取商户信息时获得.

鉴权
第三方商户可以根据瀚沄服务器IP鉴权

链接请求约定

  1. "order_info":{
  2. "order":{
  3. "id":订单id,
  4. "price":订单总价,
  5. "delivery_price":配送价格,
  6. "time":订单时间,
  7. "request_time":预期配送/服务配送时间,
  8. "comment": 用户备注
  9. },
  10. "goods":[{
  11. "id":商品ID,
  12. "price":商品价格,
  13. "count":商品数量,
  14. },...
  15. ],
  16. "customer":{
  17. name: 客户名称,
  18. phone: 客户电话,
  19. addr: 客户地址,
  20. },
  21. }

其中request_time目前只对服务类产品有效,实物类商品的提供上可以忽略该参数

链接返回约定

  1. {
  2. "status":"OK",
  3. order_id”: 商户订单号,字符串,32未以内
  4. }
  1. {
  2. "status":"ERROR",
  3. "errcode":40013,
  4. "errmsg":"invalid operation"
  5. }

订单状态更新

用于第三方回调更新订单状态

链接地址
http://community.dreamlabchina.com/api/notify/? \
eventtype=storeinfo_change& \
order_id=ORDERID&state=STATE&time=TIME&request_time=REQUEST_TIME& \
access_token=ACCESS_TOKEN&appid=APPID

访方向
第三方商户 -> 瀚沄社区后台

鉴权
通过access_token进行

链接请求约定
访问方式: GET
请求参数:

  1. "order_id":订单编号(商户订单编号);
  2. "order_state":订单状态,
  3. "time":订单状态变更时间, # 时间以unixtimestamp(从1970到现在的秒数)形式表示
  4. "request_time":商家和客户线下协商的时间 #表示形式同上
  5. "access_token": ACCESS_TOKEN
  6. "appid": APPID

order_state包括 delivering(配送中), completed(已完成)
request_time在商家和用户协商后,可以由商家发起修改

链接返回约定

  1. {
  2. "status":"OK"
  3. }
  1. {
  2. "status":"ERROR",
  3. "errcode":40013;
  4. "errmsg":"invalid op"
  5. }

评价

用于瀚沄社区平台向第三方商户反馈订单评价情况

链接地址
从商户信息中获取

访问方向
瀚沄社区 -> 第三方商户

鉴权
第三方商户可以根据瀚沄服务器IP鉴权

链接请求约定

  1. comment:{
  2. order_id:订单号,
  3. "detail":评价内容,
  4. "stars":评价星级
  5. }

评价星级为1-5

链接返回约定

  1. {
  2. "status":"OK"
  3. }
  1. {
  2. "status":"ERROR",
  3. "errcode":40013;
  4. "errmsg":"invalid op"
  5. }

返回以及错误码详情

ERRCODE ERRMSG
0 OK
40001 invalid appid
40002 invalid token
40003 invalid parameters
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注