【问题标题】:ebay api not allowing me to store variation skuebay api不允许我存储变体sku
【发布时间】:2014-06-01 13:04:52
【问题描述】:

谁能明白为什么下面的代码只为非变体 SKU 插入 SKU?

                $client = new eBaySOAP($session);

            $params = array(
                'Version' => $Version,
                'DetailLevel' => "ItemReturnDescription",
            //  'GranularityLevel' => "Coarse",
                'IncludeVariations' => "true",
                'InventoryTrackingMethod' => "true",
                'OutputSelector' => "SKU,ItemID,Title,Quantity,PaginationResult",
                'EndTimeFrom' => date("c", mktime(date("H"), date("i")+10, date("s"), date("n"), date("j"), date("Y"))),
                'EndTimeTo' => date("c", mktime(date("H"), date("i"), date("s"), date("n"), date("j")+120, date("Y"))),
                'Pagination' => array(
                    'PageNumber' => $_GET['linkebaynum'],
                    'EntriesPerPage' => "20"
                    )
                );

            $results = $client->GetSellerList($params);
    print "Response:<br>".ebay_formatxmlstring($client->__getLastResponse())."<br><br>";
            if($results->Ack == "Success")
            {

            echo "updating page ".$_GET['linkebaynum']." of ".$results->PaginationResult->TotalNumberOfPages."...<br>";

                foreach($results->ItemArray->Item as $key => $value)                {

  echo '>>>>>>>>>>>>>>val>>' . $value->SKU;

响应结果显示:

<Ack>Success</Ack>
    <Version>867</Version>
    <Build>E867_INTL_APISELLING_16763909_R1</Build>
    <PaginationResult>
     <TotalNumberOfPages>133</TotalNumberOfPages>
     <TotalNumberOfEntries>2655</TotalNumberOfEntries>
    </PaginationResult>
    <ItemArray>
<ItemID>111323665800</ItemID>
      <Quantity>1</Quantity>
      <SellingStatus/>
      <ShippingDetails/>
      <Title>Oil And Water Drain Pan 16 Litre Galvanised</Title>
      <SKU>CT3012--BON</SKU>
     </Item>
     <Item>
      <ItemID>111323665899</ItemID>
      <Quantity>5</Quantity>
      <SellingStatus/>
      <ShippingDetails/>
      <Title>Cross Pein Hammer 4oz Wooden Handle</Title>
      <Variations>
       <Variation>
        <SKU>10117-1</SKU>
        <Quantity>1</Quantity>
        <SellingStatus/>
       </Variation>
       <Variation>
        <SKU>10117-24</SKU>
        <SellingStatus/>
       </Variation>
       <Variation>
        <SKU>10117-48</SKU>
        <SellingStatus/>
       </Variation>
       <Variation>
        <SKU>10117-10</SKU>
        <Quantity>1</Quantity>
        <SellingStatus/>
       </Variation>
       <Variation>
        <SKU>10117-4</SKU>
        <Quantity>1</Quantity>
        <SellingStatus/>
       </Variation>
       <Variation>
        <SKU>10117-6</SKU>
        <Quantity>1</Quantity>
        <SellingStatus/>
       </Variation>
       <Variation>
        <SKU>10117-2</SKU>
        <Quantity>1</Quantity>
        <SellingStatus/>
       </Variation>
       <Variation>
        <SKU>10117-12</SKU>
        <SellingStatus/>
       </Variation>
      </Variations>
     </Item>
     <Item>

但是当我尝试将 $value->ItemID 和 $value->SKU 插入我的数据库时,它不会插入变量 SKU。

插入所有商品的 ItemID,并插入非可变商品的 SKU。

例子:

ItemID 111323665800 存储 SKU CT3012--BON 存储

存储了 ItemID 111323665899,但省略了 SKU 10117-1

有什么建议吗?

【问题讨论】:

    标签: php xml api soap-client oscommerce


    【解决方案1】:

    您的示例中的两个项目的 XML 结构不同。第一项的 SKU 作为 Item 数组的直接子项返回。但是,第二个项目的 SKU 嵌套在 Item->Variations 中。

    要获取具有变体的商品的 SKU,您需要检查是否存在 Item->Variations。如果是这样,您应该循环遍历每个变体并以与示例代码类似的方式获取每个 SKU。

    【讨论】:

    • 感谢您的建议,我将研究如何做到这一点。边走边学 :)
    【解决方案2】:

    我几乎可以做我想做的事,但我被下面的代码卡住了 在两个回显中,它输出了正确的结果,但我在将结果 $value->SKU 和 $value->ItemID 输出到脚本的数据库部分时遇到问题。

    foreach($results->ItemArray->Item as $key=>$value){
    
                    if (isset($value->Variations->Variation)){
                    foreach($value->Variations->Variation as $key=>$var){
                    $value->SKU = $var->SKU;
                    $value->Quantity = $var->Quantity;
                    if($var->Quantity == ''){
                    $value->Quantity = '0';
                    }
                echo 'Variation SKU = ' . $value->SKU . ' for ItemID - ' .$value->ItemID . ' - Qty = ' . $value->Quantity . '<br>';
                    }   
                    }else{
                echo 'Single SKU = ' . $value->SKU . ' for ItemID - ' .$value->ItemID . ' - Qty = ' . $value->Quantity . '<br>';
                    }
    
       /////// **database inserts here insert $value->SKU ... Insert Value->ItemID**  /////
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-13
      • 2017-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 2017-09-28
      相关资源
      最近更新 更多