【发布时间】:2017-01-31 11:35:35
【问题描述】:
我尝试使用 API 更新supplieroasis.com 上的库存。但是当 api 返回成功响应时,我没有得到 https://edge.supplieroasis.com 的更新。
我也想知道供应商 oasis 如何为“reserved”、“sellable”、“onHold”、“totalQuantity”盘点。
$user_pass = "XXXXXXXXXX:XXXXXXXXXX";
$header = array('Authorization: Basic '.base64_encode($user_pass),'Content-Type:application/xml');
date_default_timezone_set("America/Denver");
$current_time = mktime(date("H")-1, date("i"), date("s"), date("m") , date("d"), date("Y"));
$inventory_at= date("c",$current_time);
$xml = <<<EOD
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<supplierInventoryMessage xmlns="api.supplieroasis.com">
<supplierInventory>
<partnerSku>XXXXXXXXXXXXXXXXXXXX</partnerSku>
<supplierWarehouseQuantity>
<warehouseName>
<code>XXXXXXXXXXX</code>
</warehouseName>
<quantity>13</quantity>
<timestamp>$inventory_at</timestamp>
</supplierWarehouseQuantity>
</supplierInventory>
</supplierInventoryMessage>
EOD;
$ch = curl_init();
$url = 'https://api.supplieroasis.com/inventory?jobName=';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_TIMEOUT,150);
curl_setopt($ch, CURLOPT_CERTINFO, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_POST, TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS, $xml);
$str = curl_exec($ch);
if(!curl_errno($ch))
{
$info = curl_getinfo($ch);
}
else
{
echo 'Curl error: ' . curl_error($ch);
}
curl_close($ch);
header("Content-Type:text/XML");
print_r($str);
【问题讨论】:
-
你尝试了什么?
-
@MA SIDDIQUI 我更新了代码,请给积极的cmets。
-
@kirit 我在 Overstock 供应商 oasis API 上苦苦挣扎。我只需要初始启动帮助,我无法从积压供应商 oasis 获得适当的支持。所以你能指导我吗?这是我的电子邮件 mtarique@outlook.com