Shoptrader API docs

Image Description

Post - Product

Met deze API call is het mogelijk om een nieuwe product toe te voegen of een product te wijzigen

Parameters

Parameter Type Verplicht Omschrijving
token string Ja Token, wordt verstrekt door Shoptrader op verzoek
product_id int Nee Een product wordt gewijzigd wanneer u een product_id opgeeft. Zonder product_id wordt er een nieuw product toegevoegd. Er wordt een controle uitgevoerd of de product_id bestaat.
De product_id valt buiten de products array. Alle andere waardes moeten in de products array staan. Bekijk het voorbeeld voor de opbouw.
isActive integer Nee Of het product actief is of niet.
products_model string Nee Het artikelnummer van het product. Bij options_stock kunt u een artikelnummer opgeven voor een artikeloptie combinatie.
products_ean string Nee De EAN code van het product. Bij options_stock kunt u een EAN opgeven voor een artikeloptie combinatie.
products_sku string Nee De SKU code van het product. Bij options_stock kunt u een SKU opgeven voor een artikeloptie combinatie.
products_quantity int Nee De voorraad van het product. Bij options_stock kunt u een voorraad opgeven voor een artikeloptie combinatie.
products_physical_quantity int Nee De voorraad die fysiek in bijvoorbeeld een magazijn ligt. De klant kan dit veld niet zien. Bij options_stock kunt u een voorraad opgeven voor een artikeloptie combinatie.
products_minimum_quantity int Nee De gehanteerde minimumvoorraad. De klant kan dit veld niet zien. Bij options_stock kunt u een voorraad opgeven voor een artikeloptie combinatie.
products_weight decimal (9,2) Nee Het gewicht van het product. U kunt hier zelf bepalen of u het als kilo of grammen invult.
products_price_ex decimal (15,2) Nee De prijs van het product exclusief btw.
offer_price array Nee De aanbiedingsprijs van het artikel.

De volgende waardes dienen in de array te zitten.
  • offer_price_ex (de aanbiedingsprijs exclusief BTW)
  • offer_price_status (1 als de aanbiedingsprijs actief, anders 0)
  • offer_price_expire_date (optioneel, de datum waarop de aanbiedingsprijs verloopt in SQL formaat)
Bekijk het voorbeeld voor de opbouw.
onHomepage bool Nee Of het product op de homepagina getoond wordt. 0 of 1.
sort_order int Nee Volgorde waarin het product getoond wordt in het artikel overzicht.
sort_order_home int Nee Volgorde waarin het product getoond wordt op de homepagina.
products_date_available date Nee De datum dat het product beschikbaar is.
products_tax_class_id int Nee De tax class id. Om de id's op te halen kunt u de API call Get/TaxClasses starten.
products_order_quantity int Nee De hoeveelheid er tegelijk besteld dient te worden. Wanneer u per 6 wilt verkopen vult u dat hier in. Aan de voorkant kan er alleen per 6, 12, 18 enz. besteld worden. Hiervoor dient de Addon Afname per artikel geactiveerd te zijn.
products_quote bool Nee Toon de offerte knop bij een product. 0 of 1.
products_free_above decimal (15,2) Nee Bedrag waarboven het product gratis wordt.
dailyOffer bool Nee Zet de dagaanbieding aan voor dit product. Hiervoor dient de Addon Dagaanbieding geactiveerd te zijn. 0 of 1.
product_available_from datetime Nee De startdatum met tijd dat het artikel in de dagaanbieding getoond wordt. Hiervoor dient de Addon Dagaanbieding geactiveerd te zijn. (Formaat: YYYY-mm-dd HH:ii:ss)
product_available_to datetime Nee De einddatum met tijd dat het artikel in de dagaanbieding getoond wordt. Hiervoor dient de Addon Dagaanbieding geactiveerd te zijn. (Formaat: YYYY-mm-dd HH:ii:ss)
manufacturers_id int Nee Merk van het artikel. Om de id's op te halen kunt u de API call Get/Manufacturers starten.
product_delivery_id int Nee Id van de leverdatum. Om de id's op te halen kunt u de API call Get/DeliveryTimes starten.
layover string Nee Layover afbeelding voor het artikel.
length decimal(6,4) Nee Lengte van het product.
width decimal(6,4) Nee Breedte van het product.
feature_template_id string Nee Id van de kenmerk template. Om de id's op te halen kunt u de API call Get/FeatureTemplates starten.
products_discounts array Nee Staffelkorting. Hiervoor dient de Addon Staffelkorting geactiveerd te zijn. Bekijk het voorbeeld voor de opbouw.
products_name_languages array Nee De product naam. Geef hierin alle talen op die bij uw winkel aanwezig zijn (voor het wijzigen alleen de taal die u wilt wijzigen).

De volgende waardes kunnen in de array te zitten.
  • name (de product naam)
Bekijk het voorbeeld voor de opbouw.
description array Nee De beschrijvingen van de product. Geef hierin alle talen op die bij uw winkel aanwezig zijn (voor wijzigen alleen de taal die u wilt wijzigen).

De volgende waardes kunnen in de array te zitten.
  • description (de beschrijving van het product)
  • shortDescription (de korte beschrijving van het product)
  • extraInformation (extra informatie over dit product)
Bekijk het voorbeeld voor de opbouw.
meta array Nee Hierin kunt u uw meta gegevens van het product opgeven. Geef hierin alle talen op die bij uw winkel aanwezig zijn (voor wijzigen alleen de taal die u wilt wijzigen).

De volgende waardes kunnen in de array te zitten.
  • products_seo_url (de url van het product, geen spaties of gekke tekens)
  • products_meta_title (de meta titel die getoond wordt bij dit product)
  • products_meta_description (de meta beschrijving die getoond wordt bij dit product)
  • products_meta_keywords (de meta keywords die getoond worden bij dit product)
Bekijk het voorbeeld voor de opbouw.
images array Nee Geef hier op waar de afbeelding vandaan moet komen en de alt tekst De afbeelding wordt dan van die locatie opgehaald en opgeslagen in de winkel.
Een product kan 12 afbeeldingen bevatten. Scheidt de images dan ook met images1, images2 enz.

De volgende waardes dienen in de array te zitten.
  • image_source_url (url waar de afbeelding vandaan gekopieërd moet worden)
  • image_alt (de alt tekst van de afbeelding)
  • image_name (optioneel, indien je de afbeelding een andere naam wenst te geven)
  • action (add of delete). LET OP: Bij delete wordt de afbeelding alleen uit de database gehaald. De afbeelding blijft op de server staan.
Bekijk het voorbeeld voor de opbouw.
categories array Nee Geef hier de categorieën op waarin dit product getoond moet worden. Wanneer u meerdere categorieën tegelijk wilt toevoegen dan dient u dit te scheiden door category1, category2 enz.

De volgende waardes dienen in de array te zitten.
  • category_id (id van de categorie)
  • is_main_category (of het de hoofdcategorie is. Er kan maar 1 hoofdcategorie zijn. 0 of 1.)
Bekijk het voorbeeld voor de opbouw.
alternatives array Nee Geef de id's op van producten die u bij alternatieve producten wilt tonen. U kunt de array direct opbouwen met de id's.

Bekijk het voorbeeld voor de opbouw.
recommended array Nee Geef de id's op van producten die u bij aanbevolen producten wilt tonen. U kunt de array direct opbouwen met de id's.

Bekijk het voorbeeld voor de opbouw.
options array Nee Geef hier de opties op met de waardes die voor dit product gelden.

De volgende waardes dienen in de array te zitten.
  • option_id (id van de optie)
  • values (de waardes die bij de optie horen)
Values is een array en kan de volgende waardes bevatten.
  • action (add of delete)
  • option_value_id (de id van de waarde)
  • option_value_price (meerprijs voor deze optie)
  • price_prefix (+ of -, of de meerprijs bij het product komt of eraf gaat)
Bekijk het voorbeeld voor de opbouw.
options_stock array Nee Geef hier de voorraad, artikelnummer, ean of sku op voor een artikeloptie combinatie. Wanneer u meerdere regels tegelijk wilt toevoegen dan dient u dit te scheiden door stock1, stock2 enz.

De volgende waardes dienen in de array te zitten.
  • options (de opties met waardes die de combinatie vormen
  • action (add of delete)
  • stock (de voorraad van de artikel combinatie)
  • article_nr (het artikelnummer van de artikel combinatie)
  • ean (de EAN code van de artikel combinatie)
  • sku (de SKU code van de artikel combinatie)
Filters is een array en kan de volgende waardes bevatten. Scheidt deze opties altijd door option1, option2 enz.
  • option_id (de id van de optie)
  • option_value_id (de id van de waarde)
Bekijk het voorbeeld voor de opbouw.
features array Nee Geef hier de waardes op van kenmerken die voor dit product gelden. U kunt alleen kenmerken sturen die bij het kenmerk template horen die aan het product gekoppeld is. Dit is de feature_template_id.
Wanneer u meerdere regels tegelijk wilt toevoegen dan dient u dit te scheiden door feature1, feature2 enz.

De volgende waardes dienen in de array te zitten.
  • action (add of delete)
  • feature_id (de id van het kenmerk)
  • feature_values (de waardes van het kenmerk)
Feature_values is een array en kan de volgende waardes bevatten. Geef hierin alle talen op die bij uw winkel aanwezig zijn (voor wijzigen alleen de taal die u wilt wijzigen).
  • feature_value (de waarde van het kenmerk)
Bekijk het voorbeeld voor de opbouw.
filters array Nee Geef de id's op van de filters die bij dit product horen. U kunt de array direct opbouwen met de id's.

Bekijk het voorbeeld voor de opbouw.
products_admarkt bool Nee Tonen in de Marktplaats feed.
products_advertentieplanet bool Nee Tonen in de Advertentieplanet feed.
products_beslist bool Nee Tonen in de Beslist feed.
products_beslist_origineel bool Nee Of het een origineel product is. Voor de Beslist feed.
products_google_shopping bool Nee Tonen in de Google shopping feed.
products_google_shopping_gtin bool Nee Gtin exists. Voor de Google shopping feed.
products_google_shopping_identifier_exists bool Nee Identifier exists. Voor de Google shopping feed.
products_kieskeurig bool Nee Tonen in de Kieskeurig feed.
products_tweakers bool Nee Tonen in de Marktplaats feed.
products_tweakers bool Nee Tonen in de Tweakers feed.
products_kelkoo bool Nee Tonen in de Kelkoo feed.

PHP Example

<?php
ini_set
('max_execution_time'0);

$strApiBaseUrl 'uwdomein.uwdomeinextentie';
$strOutput 'xml';
$strUrl 'http://' $strApiBaseUrl '/Api/Post/Product/?' $strOutput;        

// standaard parameters
$arrParams = array();
$arrParams['token']         = '8f00f89310945a0ca35666c8c9ced2e314e37aa6c32e900932e19902b42208767';

// $arrParams['product_id'] = 1;

$arrParams['products']['product'] = array(
    
'images'                => array(
        
'image1'    => array(
            
'image_source_url'            => 'https://www.domeinnaam.nl/images/productimages/big/afbeelding_groot.jpg',
            
'image_alt'                    => 'Afbeelding Alt tekst',
            
'image_name'                => 'Afbeelding naam',
            
'action'                    => 'add'
        
)
    ),
    
'products_name_languages'    => array(
        
'dutch'    => array(
            
'name'                    => 'Api product NL wijzig'
        
),
        
'english'    => array(
            
'name'                    => 'Api product EN wijzig'
        
)
    ),
    
'description' => Array (
        
'dutch' => Array (
            
'description' => '<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>',
            
'shortDescription' => '<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>',
            
'extraInformation' => '<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>'
        
)
    ),
    
'meta'    => array(
        
'dutch'    => array(
            
'products_seo_url'        => 'api_product_nl wijzig'
        
),
        
'english'    => array(
            
'products_seo_url'        => 'api_product_en wijzig'
        
)
    ),
    
'products_discounts'    => array( // aantal => prijs
        
2        => 9.00,
        
3        => 8.00,
        
4        => 7.00,
        
5        => 6.00
    
),
    
'manufacturers_id'        => 1,
    
'products_price_ex'        => 10.00,
    
'categories'    => array(
        
'category1'        => array(
            
'category_id'         => 73,
            
'is_main_category'     => 0
        
),
        
'category2'        => array(
            
'category_id'         => 72,
            
'is_main_category'     => 1
        
)
    ),
    
'alternatives'        => array(
        
123
    
),
    
'recommended'        => array(
        
456
    
),
    
'offer_price' => array(
        
'offer_price_ex' => 64.0000,
        
'offer_price_status' => 1,
        
'offer_price_expire_date' => "2018-07-19"
    
),
    
'options'            => array(
        
'option1'            => array(
            
'option_id'    => 1,
            
'values'            => array(
                
'value1'            => array(
                    
'action'                => 'add',
                    
'option_value_id'        => 1,
                    
'option_value_price'    => 12.4500,
                    
'price_prefix'            => '+'
                
),
                
'value2'            => array(
                    
'action'                => 'add',
                    
'option_value_id'        => 6,
                    
'option_value_price'    => 25.5500,
                    
'price_prefix'            => '+'
                
)
            )
        )
    ),
    
'options_stock'        => array(
        
'stock1'            => array(
            
'options'            => array(
                
'option1'            => array(
                    
'option_id'            => 2,
                    
'option_value_id'    => 11
                
),
                
'option2'            => array(
                    
'option_id'            => 1,
                    
'option_value_id'    => 1
                
)
            ),
            
'action'        => 'add',
            
'stock'            => 4,
            
'article_nr'    => 'ART123456_wijzig',
            
'ean'            => 'EAN123456_wijzig',
            
'sku'            => 'SKU123456_wijzig'
        
),
        
'stock2'            => array(
            
'options'            => array(
                
'option1'            => array(
                    
'option_id'            => 1,
                    
'option_value_id'    => 1
                
),
                
'option2'            => array(
                    
'option_id'            => 2,
                    
'option_value_id'    => 12
                
)
            ),
            
'action'            => 'add',
            
'stock'                => 7,
            
'article_nr'        => 'ART67890_wijzig',
            
'ean'                => 'EAN67890_wijzig',
            
'sku'                => 'SKU67890_wijzig',
            
'purchase_price'    => 0.0000
        
)
    ),
    
'features'    => array(
        
'feature1'    => array(
            
'action'        => 'add',
            
'feature_id'    => 1,
            
'feature_values'    => array(
                
'dutch'            => array(
                    
'feature_value'    => 'Feature Nieuw NL_wijzig'
                
),
                
'english'        => array(
                    
'feature_value'    => 'Feature Nieuw EN_wijzig'
                
)
            ),
        ),
        
'feature2'    => array(    
            
'action'        => 'add',
            
'feature_id'    => 3,        
            
'feature_values'    => array(
                
'dutch'            => array(
                    
'feature_value'    => 'Feature 2 Nieuw NL_wijzig'
                
),
                
'english'        => array(
                    
'feature_value'    => 'Feature 2 Nieuw EN_wijzig'
                
)
            ),
        )
    ),
    
'filters'        => array(
        
4812
    
)
);

$objCurl curl_init();
curl_setopt($objCurlCURLOPT_URL$strUrl);
curl_setopt($objCurlCURLOPT_RETURNTRANSFERtrue);
curl_setopt($objCurlCURLOPT_TIMEOUT30);
curl_setopt($objCurlCURLOPT_USERAGENT'Shoptrader');
curl_setopt($objCurlCURLOPT_POSTtrue);
curl_setopt($objCurlCURLOPT_POSTFIELDShttp_build_query($arrParams));

// execute cURL, array, xml output
$strCurlData curl_exec($objCurl);
if (
$strCurlData === FALSE) {
    echo 
"cURL Error: " curl_error($objCurl);
} else {
    
print_r($strCurlData);
}

// execute cURL, array, xml output
// $strCurlData = curl_exec($objCurl);
// if ($strCurlData === FALSE) {
//    echo "cURL Error: " . curl_error($objCurl);
// } else {
//    $arrShopResult = json_decode($strCurlData, true);
//    print_r($arrShopResult);
// }
?>

Resultaat (array)