Magento API v2 : Création de notre premier produit

Nous allons commencer par créer un produit de type ‘simple’. Ces produits pouront ensuite nous servir à créer des produit ‘configurables’.

<?php

// ==========================================================
// --- Création d'un produit simple - Magento SOAP API v2 ---
// ==========================================================

/* ->catalogProductCreate()
 * 
 * Arguments:
 * 
 * - string $sessionId  : Identifiant de session
 * - string $type       : Type de produit 
 *                        'simple', 'grouped', 'configurable', 
 *                        'virtual', 'bundle', 'downloadable'
 * 
 * - int    $set        : Identifiant du set d'attributs. 
 *                        4 = "Default"
 * 
 * - string $sku        : Chaine unique
 * - array  $productData:
 * - string $storeView  :
 * 
 * */

$urlApi   = 'http://magento.local/index.php/api/v2_soap?wsdl=1';
$username = 'username';
$apiKey   = 'apiKey';
 
$soapClient = new SoapClient($urlApi);

// Arguments :

$sessionId  = $soapClient->login($username, $apiKey);
$type       = 'simple';
$set        = '4';
$sku        = '005';
$storeView  = '';

$productData = array(
    'categories'        => array(1),
    'websites'          => array(1),
    'name'              => 'Nom du produit',
    'description'       => 'Description',
    'short_description' => 'Description courte',
    'weight'            => 100,
    'status'            => 1,
    'price'             => 99,
    'tax_class_id'      => 0
);

try {
    $soapClient->catalogProductCreate(  $sessionId, 
                                        $type, 
                                        $set, 
                                        $sku, 
                                        $productData, 
                                        $storeView      );
} catch (Exception $e) {
    
    echo '
        FILE :'.$e->getFile()           .'<br>
        ERROR: '.$e->getMessage()       .'<br>
        <tt><pre>
    ';
    
    print_r($e);
}

echo 'FIN';

?>

Voici une autre façon d’écrire l’argument « $productData »

//
// $productData écriture 2 :
//

$productData                     = new stdClass();
$productData->categories         = array(1);
$productData->websites           = array(1);
$productData->name               = 'Nom du produit';
$productData->description        = 'Description';
$productData->short_description  = 'Description courte';
$productData->weight             = 100;
$productData->status             = 1;
$productData->price              = 99;
$productData->tax_class_id       = 0;

// ---

Si vous relancez votre script, vous serez confronté à une erreur car le sku doit être unique.
Dans le prochain post nous verrons comment supprimer le produit que nous venons de créer.

Pour assouvir votre curiosité, vous pouvez consulter les différents paramètres de la variable $productData au niveau de la balise « catalogProductCreateEntity » du fichier WSDL.

Sur mon installation le fichier est accessible à l’adresse :
http://magento.local/index.php/api/v2_soap?wsdl=1

Les commentaires sont désactivés.