Shopsysteme

Verbinden Sie Ihren Onlineshop mit der Shopgate-Plattform.

Swisscart

Shopgate unterstützt Swisscart.

Nachdem Sie das Shopgate-Plugin für Ihren Swisscart-Shop eingerichtet haben, können Sie von einer ganzen Reihe an Features profitieren:

 Support   Import zu Swisscart  
 Version 4 Bestellungen
 Kundenkonto   Export zu Shopgate   
 Login mit Desktop-Shop-Konto Produkte
 Login mit mobilem Konto Kategorien
 Kundengruppen/Staffelpreise ✘ / ✘ Bewertungen
 Desktop-Bestellhistorie mobil   anzeigen    
 Sync   Live-Warenkorb-Validierung  
 Lieferstatus "versendet" Gutschein
 Bestellstatus "storniert" Versand & Kosten
 Lagerbestand (Produkt-Detailseite) Produktverfügbarkeit
 Unterstützte Zahlungsarten    Anmerkungen  
 –    –  

Shopgate-Plugin installieren

Das Shopgate-Plugin für Swisscart kann für alle Swisscart-Shops ab Version 4.0 installiert werden. Laden Sie einfach das Plugin in Ihren Swisscart-Dateiordner und aktivieren Sie beides in Ihrem Swisscart-Adminbereich. In den nächsten Schritten wird Ihnen detailliert erklärt, wie Sie vorgehen.

Das Plugin herunterladen

Laden Sie das Plugin unter diesem Link herunter: http://files.shopgate.com/plugins/oscommerce.zip
(Das Plugin für Swisscart entspricht dem Plugin für osCommerce). Extrahieren Sie anschließend den Inhalt der Zip-Datei.

Das Plugin hochladen

Sie benötigen einen FTP-Tool, um das Plugin in das Stammverzeichnis Ihres Swisscart-Shops zu kopieren. Viele FTP-Tools können Sie im Internet finden. Falls Sie nicht sicher sind, welches Tool Sie verwenden sollen, empfehlen wir Ihnen FileZilla. (Download FileZilla)

  1. Verbinden Sie FileZilla bzw. Ihr gewähltes FTP-Programm mit Ihrem Server.
  2. Gehen Sie zum Shopgate-Plugin, das Sie im Schritt zuvor extrahiert haben. Dort markieren Sie die Dateien und ziehen diese in Ihren Shop-Hauptordner. Falls Sie in einem Dialogfenster gefragt werden, ob Sie die bestehenden Dateien überschreiben möchten, stimmen Sie bitte zu.

Berechtigungseinstellungen

Vergeben Sie die Lese- und Schreibrechte (774)* für die Ordner config und temp, die Sie in ext/modules/shopgate/shopgate_library finden. Markieren Sie alle Checkboxes im Pop-up-Fenster und wählen Sie Für alle Dateien und Ordner übernehmen. Klicken Sie auf OK, um diese Einstellungen zu übernehmen.

*Wenn sich Ihre Einstellungen bzw. Änderungen nicht speichern lassen, definieren Sie bitte die Zugriffsrechte mit dem Wert (777). 

Code bearbeiten

Damit das Shopgate-Plugin in Ihrem Swisscart System funktioniert, müssen in Ihrem Swisscart-Backend einige Codezeilen zu 9 Dateien hinzugefügt werden. Hier finden Sie eine detaillierte Beschreibung, wie Sie Code in Ihren Backend-Ordnern bearbeiten können. 

Bearbeiten Sie bitte alle Dateien, die unten aufgelistet sind. Kopieren Sie den markierten Code und fügen Sie diesen in die entsprechende Zeile der Datei ein. Die Zeilennummerierung in den folgenden Code-Abschnitten bezieht sich auf die unbearbeitete Version der Dateien. Falls Sie Ihre Dateien bereits bearbeitet haben, kann die Zeilennummerierung abweichen. In diesem Fall müssen nur die hervorgehobenen Abschnitte übernommen werden.

Die Pfade stehen relativ zu Ihrem Basisordner. Wenn also Swisscart in /public_html/catalog/ installiert wurde, verweist der Pfad includes/filenames.php auf /public_html/catalog/includes/filename.php.

Beachten Sie bitte auch, dass unten Ihr Standard-Ordnername admin verwendet wird. Falls Sie Ihren admin-Ordner umbenannt haben, benutzen Sie die Dateien dieses Ordners.

 

----------------------------------- file 1 -----------------------------------

File: includes/filenames.php

define('FILENAME_SHOPPING_CART', 'shopping_cart.php');
define('FILENAME_SPECIALS', 'specials.php');
define('FILENAME_SSL_CHECK', 'ssl_check.php');
define('FILENAME_TELL_A_FRIEND', 'tell_a_friend.php');
define('FILENAME_UPCOMING_PRODUCTS', 'upcoming_products.php');

/******** SHOPGATE **********/
define('FILENAME_SHOPGATE', 'shopgate.php');
/******** SHOPGATE **********/

 

----------------------------------- file 2 -----------------------------------

File: admin/includes/filenames.php

define('FILENAME_TAX_CLASSES', 'tax_classes.php');
define('FILENAME_TAX_RATES', 'tax_rates.php');
define('FILENAME_VERSION_CHECK', 'version_check.php');
define('FILENAME_WHOS_ONLINE', 'whos_online.php');
define('FILENAME_ZONES', 'zones.php');

/******** SHOPGATE **********/
define('FILENAME_SHOPGATE', 'shopgate.php');
/******** SHOPGATE **********/

 

----------------------------------- file 3 -----------------------------------

File: admin/includes/column_left.php

if (tep_session_is_registered('admin')) {
$cl_box_groups = array();

include(DIR_WS_BOXES . 'configuration.php');
include(DIR_WS_BOXES . 'catalog.php');
include(DIR_WS_BOXES . 'modules.php');
include(DIR_WS_BOXES . 'customers.php');
include(DIR_WS_BOXES . 'taxes.php');
include(DIR_WS_BOXES . 'localization.php');
/******** SHOPGATE **********/
include(DIR_WS_BOXES . 'shopgate.php');
/******** SHOPGATE **********/
include(DIR_WS_BOXES . 'reports.php');
include(DIR_WS_BOXES . 'tools.php');

 

----------------------------------- file 4 -----------------------------------

File: admin/includes/languages/english.php

define('ERROR_DESTINATION_DOES_NOT_EXIST', 'Error: Destination does not exist.');
define('ERROR_DESTINATION_NOT_WRITEABLE', 'Error: Destination not writeable.');
define('ERROR_FILE_NOT_SAVED', 'Error: File upload not saved.');
define('ERROR_FILETYPE_NOT_ALLOWED', 'Error: File upload type not allowed.');
define('SUCCESS_FILE_SAVED_SUCCESSFULLY', 'Success: File upload saved successfully.');
define('WARNING_NO_FILE_UPLOADED', 'Warning: No file uploaded.');

/******** SHOPGATE **********/
include(DIR_FS_CATALOG . "ext/modules/shopgate/base/admin/includes/languages/english.php");
/******** SHOPGATE **********/

 

----------------------------------- file 5 -----------------------------------

File: admin/orders.php

if ( ($check_status['orders_status'] != $status) || tep_not_null($comments)) {
tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . tep_db_input($status) . "', last_modified = now() where orders_id = '" . (int)$oID . "'");

$customer_notified = '0';
if (isset($HTTP_POST_VARS['notify']) && ($HTTP_POST_VARS['notify'] == 'on')) {
$notify_comments = '';
if (isset($HTTP_POST_VARS['notify_comments']) && ($HTTP_POST_VARS['notify_comments'] == 'on')) {
$notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";
}

$email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);

tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, $email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

$customer_notified = '1';
}

tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('" . (int)$oID . "', '" . tep_db_input($status) . "', now(), '" . tep_db_input($customer_notified) . "', '" . tep_db_input($comments) . "')");

/******** SHOPGATE **********/
include(DIR_FS_CATALOG . "ext/modules/shopgate/base/admin/orders.php");
onUpdateOrdersStatus($oID, $status);
/******** SHOPGATE **********/

$order_updated = true;
}

 

----------------------------------- file 6 -----------------------------------

File: admin/includes/functions/general.php

function tep_remove_order($order_id, $restock = false) {
if ($restock == 'on') {
$order_query = tep_db_query("select products_id, products_quantity from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'");
while ($order = tep_db_fetch_array($order_query)) {
tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = products_quantity + " . $order['products_quantity'] . ", products_ordered = products_ordered - " . $order['products_quantity'] . " where products_id = '" . (int)$order['products_id'] . "'");
}
}

tep_db_query("delete from " . TABLE_ORDERS . " where orders_id = '" . (int)$order_id . "'");
tep_db_query("delete from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'");
tep_db_query("delete from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . (int)$order_id . "'");
tep_db_query("delete from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . (int)$order_id . "'");
tep_db_query("delete from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . (int)$order_id . "'");
/******** SHOPGATE **********/
include(DIR_FS_CATALOG . "ext/modules/shopgate/plugin.php");
tep_db_query("delete from " . TABLE_ORDERS_SHOPGATE_ORDER . " where orders_id = '" . (int)$order_id . "'");
/******** SHOPGATE **********/
}

 

----------------------------------- file 7 -----------------------------------

File: includes/application_top.php

 // initialize the message stack for output messages
require(DIR_WS_CLASSES . 'message_stack.php');
$messageStack = new messageStack;

/******* SHOPGATE **********/
include_once DIR_FS_CATALOG.'ext/modules/shopgate/base/includes/application_top.php';
/******* SHOPGATE **********/

 

----------------------------------- file 8 -----------------------------------

File: includes/template_top

<script type="text/javascript" src="ext/jquery/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" type="text/css" href="ext/960gs/<?php echo ((stripos(HTML_PARAMS, 'dir="rtl"') !== false) ? 'rtl_' : ''); ?>960_24_col.css" />
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
<?php echo $oscTemplate->getBlocks('header_tags'); ?>
<?php
/******** SHOPGATE **********/
echo $shopgateJsHeader."\n";
/******** SHOPGATE **********/
?>
</head>
<body>

 

----------------------------------- file 9 -----------------------------------

File: includes/languages/english.php

define('TEXT_CCVAL_ERROR_INVALID_DATE', 'The expiry date entered for the credit card is invalid. Please check the date and try again.');
define('TEXT_CCVAL_ERROR_INVALID_NUMBER', 'The credit card number entered is invalid. Please check the number and try again.');
define('TEXT_CCVAL_ERROR_UNKNOWN_CARD', 'The first four digits of the number entered are: %s. If that number is correct, we do not accept that type of credit card. If it is wrong, please try again.');

define('FOOTER_TEXT_BODY', 'Copyright © ' . date('Y') . ' ' . STORE_NAME . '
Powered by osCommerce');

/******* SHOPGATE **********/
include_once DIR_FS_CATALOG.'ext/modules/shopgate/base/includes/languages/english.php';
/******* SHOPGATE **********/
?>

 

Das Plugin installieren

  1. Loggen Sie sich in Ihr Shop-Backend ein.
  2. Gehen Sie zu Module → Zahlung in der linken Menüleiste. Dort wählen Sie Shopgate aus der Liste aus und klicken rechts auf den "+ Installieren"-Button.
  3. Sobald das Plugin erfolgreich installiert wurde, sehen Sie es oben in der Menüleiste aufgelistet. Sollten Sie es nicht sehen, laden Sie bitte Ihre Seite neu. 
  4. Klicken Sie in der Menüleiste auf Shopgate → Installationshilfe, um die Konfigurationsseite für das Shopgate-Plugin zu öffnen (siehe Screenshot unten). Behalten Sie diese Seite zunächst geöffnet.

Verbindung herstellen

Nachdem das Shopgate-Plugin erfolgreich installiert wurde, müssen noch 2 weitere Schritte durchgeführt werden:

  • Eingabe der API-Zugangsdaten in Ihr Shop-Backend
  • Eingabe Ihrer Shop-URL in Ihren Adminbereich bei Shopgate

Die API-Zugangsdaten erhalten

  1. Loggen Sie sich in Ihren Shopgate-Adminbereich ein.
  2. Klicken Sie in der Menüleiste auf Integration  Schnittstelle installieren.
    osCommerce1.png
  3. Im Drop-down-Menü "Wählen Sie ein System" geben Sie Swisscart ein und wählen es aus der Liste aus.
  4. In dem sich öffnenden Pop-up-Fenster finden Sie unter "2. Konfigurieren" Ihre API-Zugangsdaten (Kundennummer, Shopnummer, API-Schlüssel (API-Key) und Alias). Behalten Sie bitte auch diese Seite geöffnet, bis Sie später die URL eingeben.
  5. Kopieren Sie Kundennummer, Shopnummer, API-Schlüssel (API-Key) sowie Alias und fügen Sie diese Daten einzeln auf der Konfigurationsseite bei Swisscart ein, die Sie zuvor offen behalten haben. Die anderen Optionen können Sie zu einem späteren Zeitpunkt bearbeiten (siehe "Plugin konfigurieren"). Klicken Sie auf Speichern, um die Einstellungen zu übernehmen.

Ihren Shop mit Shopgate verbinden

  1. Gehen Sie zurück in das Pop-up-Fenster in Ihrem Shopgate-Adminbereich, das Sie ebenfalls offen behalten haben. Ergänzen Sie dort Ihre Shop-URL bei "3. URL eingeben". Klicken Sie auf Verbinden, um die Schnittstelle einzurichten.
  2. Sobald die Verbindung erfolgreich hergestellt wurde, öffnet sich ein weiteres Pop-up-Fenster (siehe Grafik unten). Wir empfehlen Ihnen, zunächst alle Zuweisungen aktiviert (auf AN) zu lassen. Klicken Sie abschließend auf Speichern.
    Mapping_Shopsysteme_DE.png
  3. Nachdem Sie Ihre Eingaben gespeichert haben, wird ein Ladebalken eingeblendet, der Ihnen den Fortschritt des Produktimports anzeigt. Das Shopgate-Backend füllt in dieser Zeit Ihren mobilen Shop mit den Produkten Ihres Webshops. Je nach Anzahl Ihrer Produkte kann dieser Prozess einigen Minuten bis zu wenigen Stunden in Anspruch nehmen. Den Status des Imports können Sie jederzeit an diesem Ladebalken ablesen. Wenn der Ladebalken nicht eingeblendet ist, ist der Import abgeschlossen oder es läuft derzeit kein Import.

    Das war's – welcome to the mobile world!
    Swisscart2.png

Bestehendes Plugin aktualisieren

Das Plugin deaktivieren

Loggen Sie sich in Ihr Shop-Backend ein. Gehen Sie in der linken Menüleiste zu Module → Zahlung. Wählen Sie aus den Modulen Shopgate aus und klicken Sie auf den Löschen-Button auf der rechten Seite.

Das Plugin sichern

Nutzen Sie ein FTP-Tool wie FileZilla, um die Plugin-Installation zu sichern, indem Sie den Dateiordner ext/modules/shopgate herunterladen.

Das Plugin löschen

Nutzen Sie Ihr FTP-Tool, um den Ordner ext/modules/shopgate zu löschen: Hierfür einfach mit Rechtsklick auf den Shopgate-Ordner klicken und danach auf Löschen → Ja.

Eine neue Version installieren

Um eine neue Version für das Plugin zu installieren, wiederholen Sie die Schritte aus dem Abschnitt "Shopgate-Plugin installieren".

 

Plugin konfigurieren

Hier finden Sie detaillierte Erläuterungen zu den verschiedenen Konfigurationsmöglichkeiten.

Verbindungseinstellungen

Ihre Shopgate-Zugangsdaten werden benötigt, um eine Verbindung zu Shopgate aufzubauen.

  • Modultyp
    Wählen Sie "Nicht-US", wenn Sie auf einem Markt mit fixierten Steuersätzen aktiv sind. Diese Form gilt für die meisten europäischen Länder. Wählen Sie "US", wenn die Steuersätze von Ihrem und dem Standort Ihrer Kunden abhängig sind.
  • Kundennummer
    Ihre Kundennummer bei Shopgate.
  • Shopnummer
    Ihre Shopnummer bei Shopgate.
  • API-Key
    Ihr von Shopgate zugewiesener API-Schlüssel.

 

Mobile Weiterleitung

Dies sind die Einstellungen zu Ihrer mobilen Website und der Weiterleitung.

  • Shop Alias
    Der Alias ist eine Subdomain von shopgate.com, wie z. B. myshop.shopgate.com, unter der Ihre mobile Seite gefunden werden kann. Bis ein CNAME hinterlegt ist, wird auf den Shop Alias zurückgegriffen.
  • Custom URL für die mobile Webseite (CNAME)
    Der CNAME ist eine Subdomain Ihrer eigenen Domain, die auf Ihre Seite hinweist, z. B.  m.myawesomeshop.com. Den CNAME können Sie über Ihren Server konfigurieren.
  • Weitergeleitete Sprachen
    Wählen Sie die Sprachen aus, die Sie für Ihre mobile Seite nutzen möchten.  

Kategorien und Produkte exportieren

Wählen Sie hier die Exporteigenschaften Ihrer Produkte aus.

  • Sprache
    Wählen Sie die Sprachen aus, in denen Ihre Produkte exportiert werden sollen.
  • Währung
    Wählen Sie die Währungen aus, in die Ihre Produkt exportiert werden sollen.
  • Land
    Wählen Sie ein Land oder mehrere Länder aus, für welche(s) Ihre Produkte exportiert werden sollen.
  • Steuerzone für Shopgate
    Wählen Sie die Steuerzone aus, die für Ihre exportierten Produkte gelten soll.

Bestellungen importieren

Legen Sie fest, wie Ihre Bestellungen in Ihren Shop importiert werden sollen.

  • Versand nicht blockiert
    Legen Sie den Status für über Shopgate eingehende Bestellungen fest, die für den Versand nicht blockiert sind.
  • Versand blockiert
    Legen Sie den Status für über Shopgate eingehende Bestellungen fest, die für den Versand blockiert sind.
  • Zugestellt
    Wählen Sie einen Status für Bestellungen aus, die versandt wurden. Der Status wird verwendet, um Bestellungen mit dem jeweiligen Versandstatus von Shopgate zu synchronisieren.
  • Storniert
    Wählen Sie einen Status aus, der für stornierte Bestellungen angegeben wird. 

Systemeinstellungen

Dies sind Debug-Einstellungen, die normalerweise nur aus Kompatibilitätsgründen oder zu Test- und Entwicklungszwecken verwendet werden.

  • Shopsystem encoding
    Wählen Sie das Encoding Ihres Systems. Für Swisscart ist die Verwendung von ISO-8859-15 voreingestellt. Wenn Sie Ihren Shop bearbeitet haben, ist es möglich, dass Sie stattdessen ein anderes Encoding wählen müssen.
  • Shopgate Server
    Wählen Sie zwischen den "Live"- oder "Playground"-Shopgate-Servern für die API-Kommunikation. Alternativ können Sie eine eigene ("Custom")-Shopgate-API-URL verwenden.
  • Eigene Shopgate Server URL
    Falls Sie "Custom" in dem Drop-down-Menü ausgewählt haben, geben Sie hier eine eigene URL zur Shopgate-API an.
War dieser Beitrag hilfreich?
Sie finden nicht, was Sie suchen?
Wir helfen Ihnen gerne — erstellen Sie ein Support-Ticket.
Kontaktieren Sie den Support