订单推送配置
一、订单如何推送
1、什么是订单推送
多麦联盟支持将流量主推广效果订单主动推送至流量主平台。
2、填写推送地址
流量主接入多麦联盟后,在多麦联盟网站填写 “订单推送地址”。
登录多麦联盟,我的工具-》订单推送服务(2.0 版,如下图)。在对应的列表项中,点击“配置推送地址”。
再在弹出弹窗中填写您需要订单推送的地址,注意输入新地址将覆盖原有地址,为空则表示取消设置
提交时多麦会做一次测试推送来验证接口。推送接口需返回 1、0表示接收到测试数据,-1表示未接收到测试数据。详细说明
验证成功时:
4、推送过程示意图
5、注意事项
多麦主动推送订单的状态包括:创建,确认结算、结算、失效,当以上几种状态发生时会主动推送给流量主平台。
多麦订单的 确认结算、结算、失效 这三个状态 目前都是通过在多麦联盟完成 结算流程 时才会对订单标记确认结算、结算、失效。
举例: 爱奇艺 会员 CPS 推广,从订单创建到结算,结算的订单数据爱奇艺并不是实时更新,而是通过次月提供多麦结算订单数据的方式。商家端并不提供实时订单状态信息。
如果流量主需要 电商平台原始订单状态(创建、付款、退货等状态),请使用多麦订单详情查询 API。目前支持实时订单状态更新的商家才会有状态更新 ,比如京东、淘宝。
二、推送数据
多麦联盟会向推送地址发起 Get 请求,并将订单数据以请求参数方式发送。每次推送 1 个订单,同时会在参数中增加推送校验参数 checksum,说明见下文。
1、推送参数说明
参数全部为小写字符,参数值为 UTF8 编码
参数 | 描述 |
---|---|
id | 推送 ID |
ads_id | 推广计划 ID |
ads_name | 推广计划名称 |
site_id | 媒体 ID |
link_id | 推广计划链接 ID |
euid | 订单的反馈标签值 |
order_sn | 订单编号 |
order_time | 订单下单时间 |
orders_price | 订单金额,当订单状态为 1 或者为 2 时, order_price 表示确认订单金额 |
siter_commission | 订单佣金,当订单状态为 1 或者为 2 时,siter_commission 表示确认佣金,其他状态值为 订单预估佣金 |
currency | ISO 4217货币代码,例:CNY,USD等 |
status | 订单状态 -1 无效 0 未确认 1 确认 2 结算 查看订单状态说明 |
checksum | 推送数据校验参数,checksum=MD5(按照参数首字母升序排列后 “参数值”拼接 string + 接口密钥 hash),拼接的参数值中不包括 checksum 和 id 参数值 |
2、接收请求安全校验说明
请求参数根据需求可能会增加或减少。对于接收方,我们建议校验 checksum 值,校验逻辑及代码示例如下:
收到的请求后
1.先提取 checksum , id 。
注:若使用了框架要排除框架自带一些参数,如phalcon有_url参数
2.将剩下的数据 按照数组索引首字母排序
3.将排序后的数组数据 按照 value1 + value2 + value3 + ... 的顺序拼接得到 string
4.校验 checksum 是否等于 md5( string + hash )
PHP 代码示例:
$hash = 'your secret'; // 接口密钥
$query= $_REQUEST;
// 注意若使用了框架要排除框架自带一些参数,如phalcon有_url参数
$checksum = $query['checksum'];
$id = $query['id'];
unset($query['checksum'],$query['id']);
ksort($query);
$localsum = md5(join('', array_values($query)).$hash);
//如果 $localsum == $checksum 即为合法的推送
3、订单推送数据返回机制
如推送地址测试通过,在产生推广效果订单后,多麦将实时推送订单数据(部分特殊商家不支持实时返单,如次日返单、隔 1 小时返单等,可咨询对接媒介)。
如推送失败,多麦重试 3 次 推送,每次间隔 30 秒。
订单推送不包含订单商品明细信息,如需订单商品明细可以再发起 “订单详情明细查询”请求。查看"订单详情"API 文档。
三、接收请求后的响应要求
推送成功的话,请接收方输出如下值 :
1 表示 推送成功,并且订单已成功入库。
0 表示 推送成功,但订单已存在。
-1 表示 推送失败。
如果接收方没有反馈任何数据,我们也认为是推送失败。
四、推送接口的测试推送
为了审核填写接口的有效性,我们在审核时,会构造一次测试推送,推送的数据如下:
参数 | 值 |
---|---|
ads_id | 0 |
ads_name | 测试活动 |
site_id | 0 |
link_id | 0 |
euid | |
order_sn | 0 |
order_time | 0000-00-00 00:00:00 |
orders_price | 0.00 |
siter_commission | 0.00 |
currency | CNY |
status | -1 |
接收到如上信息,请通过接口输出 0 或者 1。默认情况下,接口没有收到数据,直接访问 请输出 -1 。