2013-10-09 15 views
5

Sto cercando di aggiornare il livello di inventario di un prodotto, ma sfortunatamente non sto ottenendo successo. Ecco il mio codice. voglio aggiornare "inventory_level" del prodotto, ma permetterà di farlo ..Come aggiornare "inventory_level" del prodotto con sku id in Bigcommerce?

<?php 

require "bigcommerce.php"; 
use Bigcommerce\Api\Client as Bigcommerce; 


Bigcommerce::configure(array(
    'store_url' => 'https://store-nos85a.mybigcommerce.com/', 
    'username' => 'admin', 
    'api_key' => '4b7c4bba19f290a728e00be6ae7133cda71f477b' 
    )); 

Bigcommerce::setCipher('RC4-SHA'); 
Bigcommerce::verifyPeer(false); 
      $product = Bigcommerce::getProduct(76); 
      print_r($product->skus); 
         foreach($product->skus as $sku) 
         { 

          if($sku->id==5) 
           { 
           $fields = array("inventory_level"=>112); 
           Bigcommerce::updateProduct(76,$fields); 
           } 
          echo "id : ".$sku->id; 
          echo " Invntory Level: ".$sku->inventory_level."<br/>"; 
          echo " SKU : ".$sku->sku."<br/>"; 

         } 


?> 

Here " Bigcommerce::updateProduct(76,$field); " is not working.. 
Please Help me.. 
Thanks.. 

risposta

4

che sto cercando di fare la stessa cosa (diverso linguaggio di programmazione). Ho una chiamata al loro supporto. Sembra che tu debba ancora fare riferimento a product_id.

Non è possibile aggiornare semplicemente tramite SKU. Devi conoscere product_id. Ho risolto questo problema richiedendo tutti i prodotti e caricando la risposta in un array (product_id, sku, ecc.). Poi leggo attraverso la matrice, ottengo la quantità dal nostro sistema usando la SKU, e post (PUT) il livello di inventario usando il product_id associato.

IMHO questo è un enorme svista da parte loro. A chi importa cosa sia product_id sul sito web?

Ho chiesto un miglioramento che consenta l'aggiornamento da parte di SKU.

+1

Li ho contattati anche per questo problema. Non sembravano troppo interessati a risolverlo velocemente (o altro). Quindi, abbiamo implementato la stessa soluzione. –

+0

sì, li ho anche contattati per questo errore ma non penso che cambieranno queste cose nel prossimo futuro. Dobbiamo aggiornare "inventory_level" solo per product_id e non per sku :( –

8

Non è necessario scaricare TUTTI i prodotti, perché non recuperare JUST il prodotto che ha lo sku necessario?

GET: /api/v2/products?sku=sku-that-I'm-interested-in 

analizzare la risposta per l'id (che è l'ID del prodotto per il prodotto con quello SKU)

poi fare un PUT utilizzando tale ID del prodotto.

+1

okay sembra quasi ok .. lo farò molto .. Molto .. :) –

+1

Sono d'accordo con questa risposta, iterare sugli SKU, e ottenere gli ID dagli SKU, quindi updateProduct() sull'ID risultante. Posso fornire una risposta CURL pura che potrebbe essere più semplice da implementare/comprendere se necessario. Anche se questa risposta sembra semplice. – JPMC

+0

Questo non funziona purtroppo quando si tratta di prodotti in cui ogni opzione di prodotto ha un SKU diverso e livelli di inventario separati. –

Problemi correlati