derionderion MemberComments: 23 Received thanks: 0 Member since: April 2015 edited May 2015
Hallo,

ich habe auf meinem Server angefangen eine API für den Import von Daten zu schreiben, aber irgendwie finde ich keinen Überblick über die Funktionen und die Gültigkeit, insbesondere hänge ich gerade an dem Aufruf von Artikeln über die ordernumber.
$client = new ApiClient(
    'http://url/api',
    'apiuser', 
    'apitoken'
);

$updateArticle = array(
    'filterGroupId' => 2,
    'propertyValues' => $propertyArray
);
$client->put("articles/$ordernumber?useNumberAsId=true", $updateArticle);
funktioniert
$articleResource = \Shopware\Components\Api\Manager::getResource('Article');
$params = array('useNumberAsId' => true);
$article = $articleResource->getOne($ordernumber, $params);
funktioniert nicht

Die Dokumentation hat mir bisher da noch keine Erleuchtung gebracht, deshalb freue ich mich über einen Hinweis in die richtige Richtung.

Vielen Dank

derion

Comments

  • Daniel NögelDaniel Nögel AdministratorsComments: 1560 Received thanks: 386 Member since: September 2012
    Hi,

    bei der lokalen Verwendung brauchst du das nicht, da kannst du auf der Artikel-Ressource direkt "getOneByNumber" aufrufen.

    Daniel
    Thanked by 1derion
  • derionderion MemberComments: 23 Received thanks: 0 Member since: April 2015
    Super, danke schön für die schnelle Antwort, das ist naheliegend, bin über github über den folgenden Code gestolpert:
    if ($useNumberAsId) {
        $article = $this->resource->getOneByNumber($id, array(
    		'language' => $this->Request()->getParam('language'),
    		'considerTaxInput' => $this->Request()->getParam('considerTaxInput'),
    ));
    
    und dann war meine Aufmerksamkeit dahin, weil ich dachte für den Aufruf von getOneByNumber wird vorher der Parameter useNumberAsId geprüft. Der zweite Blick zeigt, dass das eher schwachsinnig war. Also doch probieren und dann fragen.

    derion
Sign In or Register to comment.