yahoo jp,还算比较小的平台,公司也是用来清库存,但订单量越来越大,也是时候集成了,但是网上资料很少,几乎没有,官方api都是日本,真是坑,走了好久才走出来。
我们讨论仅仅是最基本的订单获取,首先,除了需要去 アプリケーションの管理 申请基本资料key,关于订单的获取,还需要另外再单独申请 使用订单api,里面的ip地址要填写正确,不然获取不了数据,这是第一个坑。
官网有php的sdk,获取token,更新token是没问题,但其他的订单获取就没有sdk,只能按照文档慢慢摸索。
yahoo的返回及其不友好,注意utf8,否则不会返回任何数据
下面贴出获取订单的函数
/*
获取订单列表 key从 require传进去
$SellerId makuroec,$OrderTimeFrom 20160714000000 $key token
*/
function orderList($SellerId,$OrderTimeFrom,$OrderTimeTo='',$key){
$api = 'https://circus.shopping.yahooapis.jp/ShoppingWebService/V1/orderList';
if($OrderTimeTo!='')
$OrderTimeTo="<OrderTimeTo>$OrderTimeTo</OrderTimeTo>";
$xml =<<<XML
<Req>
<SellerId>$SellerId</SellerId>
<Search>
<Field>OrderId</Field>
<Result>2000</Result>
<Condition>
<OrderTimeFrom>$OrderTimeFrom</OrderTimeFrom>$OrderTimeTo
</Condition>
</Search>
</Req>
XML;
$ch = curl_init($api);
$headr = array(
"Authorization: Bearer ".$key,
);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);
curl_setopt($ch,CURLOPT_CAINFO,dirname(__FILE__).'/cacert.pem');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headr);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
$result = curl_exec($ch);
curl_close($ch);
$orderList = json_decode(json_encode(simplexml_load_string($result)),TRUE);
return $orderList;
}
有不懂可以下面问