Magento: DHL Intraship-Modul Netresearch korrekt konfigurieren

13. Januar 2015 at 12:34

magento-intraship-module-connect-screenshot

Das Magento Intraship-Module

Das von DHL angebotene Intraship-Module von Netresearch macht ggf. Probleme bei der Verwendung über das neue VLS 2.0.

Laut DHL wird Intraship derzeit abgelöst und durch das neue VLS 2.0 Versand-System ersetzt.

Das Magento-Module könnt ihr kostenfrei laden über den Magento-Connect-Manager, selbiges findet ihr hier:

http://www.magentocommerce.com/magento-connect/dhl-intraship.html

Bei dem Intraship-User tragt ihr ein im DHL-Geschäftskundenportal angelegten Benutzer an. Laut DHL-Support darf dieser nur max. 8 Zeichen haben. Das dazugehörige Passwort hinterlegt ihr bei Intraship Passwort.

Bei EKP tragt ihr die DHL-Kundennummer.

Die „Halbautomatische Sendungserstellung“ sollte auf „Ja“ gestelt werden (daher Aktiviert: ja).

Fehlermeldungen

Erhaltet ihr eine Fehlermeldung ähnlich

„Hard validation error occured. | hard validation error occured. | die ausgewählte abrechnungsnummer steht nicht zur verfügung. | die ausgewählte abrechnungsnummer steht nicht zur verfügung.“

so ist höchstwahrscheinlich die hinterlegte Abrechnungsnummer falsch.

Diese findet ihr im DHL-Geschäftskundenportal unter „Verwalten -> Stammdaten“.
Die dort angezeigte Abrechnungsnummer (14-stellig, z.b. 6XXXXXXXXXXXXX) muss in Magento bei der Konfiguration des DHL-Moduls jeweils bei den Versandoptionen im Feld DHL Paket – Teilnahme eingetragen werden.
WICHTIG: Da das Module nur zweistellige Zahlen erlaubt, müsst ihr die system.xml Konfiguration anpassen, daher die Datei

app/code/community/Dhl/Intraship/etc/system.xml wie folgt ändern:

<pre><standard translate="label comment" module="intraship">
    <label>DHL Package - Participation</label>
    <frontend_type>text</frontend_type>
    <validate>validate-digits validate-length minimum-length-14 maximum-length-14</validate>
    <sort_order>15</sort_order>
    <show_in_default>1</show_in_default>
    <show_in_website>0</show_in_website>
    <show_in_store>0</show_in_store>
</standard></pre>

Erhaltet ihr eine Fehlermeldung ähnlich

Invalid fieldlength in element ‚PartnerID‘. Please refer to documentation.

so ist die Partner-ID falsch. Diese ist in der Regel entweder 01 oder 02.

Sollte diese nicht korrekt aus der Konfig ausgelesen werden, so könnt ihr diese in der Datei

app/code/community/Dhl/Intraship/Model/Config.php in Zeile 402 setzen bzw. aus der Konfig auslesen, z.b. durch:

<pre>$partnerId = '02';
$profile->offsetSet('partnerId', $partnerId);</pre>

Schnittstellen-URLs

Die Schnittstellen-URLs sollten von dem Module schon vorkonfiguriert sein, falls nicht sind diese wie folgt:

Login Produktiv: https://www.intraship.de/intraship/jsp/Login_WS.jsp
Login Test: https://test-intraship.dhl.com/intra…p/Login_WS.jsp
WSDL Produktiv: http://www.intraship.de/ws/1_0/ISService/DE.wsdl
WSDL Test: http://test-intraship.dhl.com/ws/1_0/ISService/DE.wsdl

Support

Den Intraship-Module Support erreicht ihr per E-Mail an dhl.support@nr-apps.com

Please share this article von facebook & google plus or where you want, thank you!

Zugriff von Magento von extern über Magento-API

10. November 2009 at 11:20

Magento ermöglicht nicht nur das Verwalten der Daten über das eigene Admin-Back-End, sondern auch den Zugriff über eine sogenannte „WSDL“ eine SOAP Kommunikation zur Magento-API aufzubauen. Die Magento SOAP Schnittstelle bietet sämtliche Funktionalitäten, Artikel-Import mit Bildern, Bestellungen verwalten, Lagerverwaltung, etc..

Um die Sicherheit zu gewährleisten muss ein API-Users samt Password definiert werden. Im folgenden möchten wir Euch eine kurze Einleitung zur Verwendung geben. Vorab solltet ihr noch prüfen ob die SOAP-PHP-Extension geladen ist (siehe php.ini)

Anlegen einer Rolle für die API-User

Unter System->Web Dienste->Gruppenberechtigungen vergebt ihr ein Namen für die Gruppe und bei Gruppenberechtigung Quellen das entsprechende Zugriff-Level auf die entsprechenden Ressourcen bzw. wählt ggf. Alle bei Quellenzugriff aus (speichern nicht vergessen).

Anlegen des API-Benutzers

Das geht im Admin-Bereich unter System -> Web Dienste-> Benutzer, dort auf den Button neuer Benutzer klicken und die entsprechenden Daten eingeben. Unter Benutzer Gruppenberechtigung wählt ihr die eben neu angelegte Gruppe um das Zugriffs-Level zu managen (speichern nicht vergessen).

Zugriff über externen PHP-Script auf Magento API

Mit dem folgenden PHP-Script könnt ihr Euch nun mit der Magento-API connecten und anschließend eine Übersicht der zur Verfügung stehenden Funktionen ausgeben lassen (SOAP V1 Zugriff):

<?php
/**
 * fly2mars-media
 * http://www.fly2mars-media.de
 * http://www.fly2mars-media.de/seoblog
 */
$host= '127.0.0.1';  // host name der magento installation
$options = array();
$proxy = new SoapClient('http://' . $host . '/index.php/api/soap/?wsdl');
// show available function
$avail = $proxy->__getFunctions();
foreach($avail as $func)
{
 echo "<p>" . $func . "</p>";
}
$proxy->endSession($session);
?>

Bei $host ist logischerweise der Hostname einzutragen unter welchem die Magentoinstallation aufgerufen werden kann.

Mit dem folgenden PHP-Script könnt ihr Euch nun mit der Magento-API connecten und anschließend eine Übersicht der zur Verfügung stehenden Funktionen ausgeben lassen (SOAP V2 Zugriff):

<?php
/**
 * fly2mars-media
 * http://www.fly2mars-media.de
 * http://www.fly2mars-media.de/seoblog
 */
$host= '127.0.0.1';  // host name der magento installation
$options = array();
$proxy = new SoapClient('http://' . $host . '/api/v2_soap?wsdl=1', $options);
// show available function
$avail = $proxy->__getFunctions();
foreach($avail as $func)
{
 echo "<p>" . $func . "</p>";
}
$proxy->endSession($session);
?>

Wie ihr seht, gibt es zwei Möglichkeiten des Zugriffs über SOAP auf die Magento-API.
V2 wurde um die Kompatibilität mit Java und .NET erweitert samt mehr Funktionen zum Aufruf (vergleicht einfach die Funktions-Listen beider Versionen).

Soweit so gut … als nächstes lassen wir uns eine  Katalog-Liste als Baumstruktur ausgeben, dazu verwendet ihr folgenden PHP-Code:

<?php
/**
 * fly2mars-media
 * http://www.fly2mars-media.de
 * http://www.fly2mars-media.de/seoblog
 */
$host= '127.0.0.1';
$options = array();
$proxy = new SoapClient('http://' . $host . '/index.php/api/soap/?wsdl');
// add or edit this in Magento-Admin -> Web Services
$apiuser= 'apiuser';
$apikey = 'efjiwofjioefjio234789f3h7ed789fh';
try
{
 $session = $proxy->login($apiuser, $apikey);
 $proxy->startSession();
 $catalog = $proxy->call($session, "catalog_category.tree");
} catch (Exception $e)
{
 echo "==> Error: ".$e->getMessage();
 exit();
}
foreach($catalog['children'] as $child)
{
 echo $child['name'] . " (id:" . $child['category_id'] . ")\n";
}
//Logout
$proxy->endSession($session);
?>

Bei $host ist logischerweise der Hostname einzutragen unter welchem die Magentoinstallation aufgerufen werden kann. Bei $apiuser und $apikey tragt ihr die entsprechend im Admin-Back-End eingegebenen Daten des API-Users ein.

Nach dem ausführen des Scriptes erhaltet ihr folgende Ausgabe:

Mit dem Zugriff über die API lassen sich problemlos externe ERP- oder CRM-Anwendungen an Magento anschließen oder Daten (Warenbestand) importieren.

Sie Benötigen Unterstützung bei der Erstellung oder Anpassung eines Magento eCommerce Shop System?

Fly2Mars-Media unterstützt Sie in diesem und vielen anderen Bereichen rund um das Thema Internet & IT!

Für ein individuelles Angebot nehmen Sie noch heute Kontakt mit uns auf.