媒体伙伴接入
API 文档
订单推送配置

一、订单如何推送

1、什么是订单推送

Linkbest 支持将媒体伙伴推广效果订单主动推送至媒体伙伴平台。

2、填写推送地址

媒体伙伴接入 Linkbest 后,在 Linkbest 网站填写 “订单推送地址”。
登录 Linkbest,我的工具-》订单推送服务。在对应的列表项中,点击“配置推送地址”。

再在弹出弹窗中填写您需要订单推送的地址,注意输入新地址将覆盖原有地址,为空则表示取消设置

提交时 Linkbest 会做一次测试推送来验证接口。推送接口需返回 1、0 表示接收到测试数据,-1 表示未接收到测试数据。详细说明

3、注意事项

Linkbest 主动推送订单的状态包括:待处理,已确认、已结算、无效,当以上几种状态发生时会主动推送给媒体伙伴平台。

Linkbest 订单的 已确认、已结算、无效 这三个状态 目前都是通过在 Linkbest 完成 结算流程 时才会对订单标记确认已确认、已结算、无效。

如果媒体伙伴需要 电商平台原始订单状态(创建、付款、退货等状态),请使用 Linkbest 订单详情查询 API。目前支持实时订单状态更新的商家才会有状态更新 ,比如京东、淘宝。

二、推送数据

Linkbest 会向推送地址发起 Get 请求,并将订单数据以请求参数方式发送。每次推送 1 个订单,同时会在参数中增加推送校验参数 Sign,说明见下文。

1、推送参数说明

参数全部为大驼峰字符,参数值为 UTF8 编码

参数描述
Id推送 ID
ProgramId推广计划 ID
ProgramName推广计划名称
WebsiteId媒体 ID
SubId订单的渠道自定义标识值
OrderSn订单编号
OrderTime订单下单时间
OrdersPrice订单金额,当订单状态为 1 或者为 2 时, OrdersPrice 表示确认订单金额
Commission订单佣金,当订单状态为 1 或者为 2 时,Commission 表示确认佣金,其他状态值为 订单预估佣金
Currency币种,CNY 人民币 USD 美元
Status订单状态 -1 无效 0 待处理 1 已确认 2 已结算
Remark订单说明信息
OriginalStatus商家原始状态
Sign推送数据校验参数,Sign = MD5(按照参数首字母升序排列后 “参数值”拼接 string + AppSecret),拼接的参数值中不包括 Sign 和 id 参数值

2、接收请求安全校验说明

请求参数根据需求可能会增加或减少。对于接收方,我们建议校验 Sign 值,校验逻辑及代码示例如下:

收到的请求后

  1. 先提取 Sign , Id 。

  2. 将剩下的数据 按照数组索引首字母排序

  3. 将排序后的数组数据 按照 value1 + value2 + value3 + ... 的顺序拼接得到 string

  4. 校验 Sign 是否等于 md5( string + AppSecret )

PHP 代码示例:

$app_secret = 'yourSecret'; //接口密钥
$params = $_REQUEST;
// 注意若使用了框架要排除框架自带一些参数,如phalcon有_url参数
$Sign = $params['Sign'];
$id = $params['Id'];
unset($params['Sign'], $params['Id']);
ksort($params);
$localSign = md5(join('', array_values($params)) . $app_secret);

//如果 $localSign == $Sign 即为合法的推送
if($localSign != $Sign){
    throw new Exception("非法的推送");
}

3、订单推送数据返回机制

如推送地址测试通过,在产生推广效果订单后,Linkbest 将实时推送订单数据(部分特殊商家不支持实时返单,如次日返单、隔 1 小时返单等,可咨询对接媒介)。
如推送失败,Linkbest 重试 3 次 推送,每次间隔 30 秒。

订单推送不包含订单商品明细信息,如需订单商品明细可以再发起 “订单详情明细查询”请求。

三、接收请求后的响应要求

推送成功的话,请接收方输出如下值 : 1 表示 推送成功,并且订单已成功入库。 0 表示 推送成功,但订单已存在。 -1 表示 推送失败。

如果接收方没有反馈任何数据,我们也认为是推送失败。

四、推送接口的测试推送

为了审核填写接口的有效性,我们在审核时,会构造一次测试推送,推送的数据如下:

参数
ProgramId0
ProgramNametest
WebsiteId0
SubId
OrderSn0
OrderTime0000-00-00 00:00:00
OrdersPrice0.00
Commission0.00
CurrencyCNY
Status-1
Remark
OriginalStatus待付款

接收到如上信息,请通过接口输出 0 或者 1。默认情况下,接口没有收到数据,直接访问 请输出 -1 。