-gelöst- Übertragen der Kunden aus der WAWI in den Shop

rhservice

Aktives Mitglied
25. Juli 2008
11
0
Hallo Zusammen,

ist es möglich die Kunden die in der WAWI existieren in den Shop zu übertragen?

Mfg

Robby
 

dvbshop

Aktives Mitglied
27. Juli 2006
187
0
München
Firma
dvbshop2006
Kannst du so nicht machen, da nur dann Kunden über den Connector übernommen werden, wenn diese eine Bestellung ab"latzen".

Du kannst aber Kunden über XTC EXPORTIEREN und dann in der Wawi importieren. Nur empfehlenswert, wenn Du fast ausschließlich deutsche Kunden hast, sonst kommst Du mit den Länderbezeichnungen in Bedrängnis.

Den Aufbau der Importdatei ist in der Wiki beschrieben als auch in der Importfunktion
 

rhservice

Aktives Mitglied
25. Juli 2008
11
0
Hallo.

Danke für deine Hilfe.
Leider brauche ich gerade den Weg: Import aus der Wawi IN den Shop.
Dann würde ich jedem Kunden eine Automatische Email mit einem zufällig generiertem Passwort versenden usw.

Robby
 

dvbshop

Aktives Mitglied
27. Juli 2006
187
0
München
Firma
dvbshop2006
Naja, das Script gibt es:

Passwort.


Code:
Code:
<?php

define('GZIP_COMPRESSION','false');

include ('includes/application_top.php');

require_once (DIR_FS_INC.'xtc_get_country_list.inc.php');
require_once (DIR_FS_INC.'xtc_validate_email.inc.php');
require_once (DIR_FS_INC.'xtc_encrypt_password.inc.php');
require_once (DIR_FS_INC.'xtc_get_geo_zone_code.inc.php');
require_once (DIR_FS_INC.'xtc_write_user_info.inc.php');

function getpass($laenge=10)
{
	$newpass = "";
    	$string="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

    	mt_srand((double)microtime()*1000000);

    	for ($i=1; $i <= $laenge; $i++)
    	{
    		$newpass .= substr($string, mt_rand(0,strlen($string)-1), 1);
    	}
	return $newpass;
}

$lines = 0;
$lines_ok = 0;

$importfile="kunden_import.csv";

$fh = fopen($importfile, "r") or die ("Kann Datei nicht lesen.");

while(!feof($fh))
{
	// zeile einlesen & werte zuweisen
	$zeile=fgets($fh);
	list($anrede, $firstname, $lastname, $company, $geburtsdatum, $street_address, $lkz, $postcode, $city, $suburb, $telephone, $fax, $email_address, $password) = split(";", $zeile);
	$lines+=1;

	// neues zufallspasswort erstelllen.
	$password = getpass(10);
	
	// vorhandene Daten aufbereiten.
	switch($anrede)
	{
		case "01":
			$gender = "m";
			break;

		case "02":
			$gender = "f";
			break;

		default:
			$gender = "m";
	}

	// [url]http://www.didihome.de/html/tab-lkz.htm[/url]
	// Problemkinder: BAL, EI

	switch(strtoupper($lkz))
	{
		case "D":
			$lkz = "DE";
			break;

		case "GB":
			$lkz = "GB";
			break;

		case "EST":
			$lkz = "EE";
			break;

		case "FIN":
			$lkz = "FI";
			break;

		case "BG":
			$lkz = "BG";
			break;

		case "CH":
			$lkz = "CH";
			break;

		case "CY":
			$lkz = "CY";
			break;

		case "A":
			$lkz = "AT";
			break;
		case "CZ":
			$lkz = "CZ";
			break;

		case "DK":
			$lkz = "DK";
			break;

		case "F":
			$lkz = "FR";
			break;

		case "WD":
			$lkz = "DM";
			break;

		case "CDN":
			$lkz = "CA";
			break;

		case "I":
			$lkz = "IT";
			break;

		case "N":
			$lkz = "NO";
			break;

		case "U":
			$lkz = "UY";
			break;

		// ?? P = POLEN!?
		case "P":
			$lkz = "PL";
			break;

		case "J":
			$lkz = "JP";
			break;

		case "E":
			$lkz = "ES";
			break;

		case "H":
			$lkz = "HU";
			break;

		case "AUS":
			$lkz = "AU";
			break;

		case "FL":
			$lkz = "LI";
			break;

		case "S":
			$lkz = "SE";
			break;

		case "L":
			$lkz = "LU";
			break;

		case "RB":
			$lkz = "BW";
			break;

		case "FIN":
			$lkz = "FI";
			break;

		case "RI":
			$lkz = "ID";
			break;

		case "B":
			$lkz = "BE";
			break;

		case "SGP":
			$lkz = "SG";
			break;

		case "EST":
			$lkz = "EE";
			break;

		case "IRL":
			$lkz = "IE";
			break;

		case "RUS":
			$lkz = "RU";
			break;

		case "SLO":
			$lkz = "SI";
			break;

		case "USA":
			$lkz = "US";
			break;
	}	
	$country_query = xtc_db_query("SELECT * FROM `countries` WHERE `countries_iso_code_2` = '".strtoupper($lkz)."'");
	$country_data = xtc_db_fetch_array($country_query);
	$country = $country_data['countries_id'];

	if(!is_numeric($country_data['countries_id']))
	{
		echo "   [b]ERROR:[/b] LKZ_CONVERT_ERROR
\n";
		echo "lkz=".$lkz." countries_id=".$country_data['countries_id']. " countries_name=".$country_data['countries_name']."
\n";
	}

	if ($geburtsdatum != ".000000000" && $geburtsdatum != "")
	{
		list($jahr, $monat, $tag) = sscanf($geburtsdatum,"%4d%2d%2d.%d");
		
		$dob = sprintf("%02d.%02d.%4d",$tag,$monat,$jahr);
		//echo $geburtsdatum . " = " . $dob ."
\n";
	}
	else
		$dob='';

	// sonnstige variablen
	$customers_status = DEFAULT_CUSTOMERS_STATUS_ID;
	$newsletter = "0";
	$do_not_report = false;

	// daten in db eintragen
	require_once(DIR_WS_CLASSES.'vat_validation.php');

	$vatID = new vat_validation($vat, '', '', $country);
	$customers_status = $vatID->vat_info['status'];
	$customers_vat_id_status = $vatID->vat_info['vat_id_status'];
	$error = $vatID->vat_info['error'];

	if($error==1)
	{

		//$messageStack->add('create_account', ENTRY_VAT_ERROR);
		echo "   [b]ERROR:[/b] ENTRY_VAT_ERROR
\n";
		$error = true;

	}

	if(!is_numeric($country_data['countries_id']))
		$error = true;

	$email_exists = false;
	$check_email_query = xtc_db_query("select count(*) as total from ".TABLE_CUSTOMERS." where customers_email_address = '".xtc_db_input($email_address)."' and account_type = '0'");
	$check_email = xtc_db_fetch_array($check_email_query);

	if ($check_email['total'] > 0) {

		$email_exists = true;
	}

	if($email_exists == true)
	{
		$error = true;
		$do_not_report = true;

		//$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR_EXISTS);
		//echo "   [b]ERROR:[/b] ENTRY_EMAIL_ADDRESS_ERROR_EXISTS
\n";
	}
	elseif (strlen($email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH)
	{

		$error = true;
		//$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_ERROR);
		echo "   [b]ERROR:[/b] ENTRY_EMAIL_ADDRESS_ERROR
\n";

	}

	elseif (xtc_validate_email($email_address) == false)
	{

		$error = true;
		//$messageStack->add('create_account', ENTRY_EMAIL_ADDRESS_CHECK_ERROR);
		echo "   [b]ERROR:[/b] ENTRY_EMAIL_ADDRESS_CHECK_ERROR
\n";
/*
	        $fp3 = fopen("kunden_import_mail-check-fail.csv", "a");
	        fputs($fp3, $zeile);
	        fclose ($fp3);
*/

	}

	if($dob != '')
	{
		if (checkdate(substr(xtc_date_raw($dob), 4, 2), substr(xtc_date_raw($dob), 6, 2), substr(xtc_date_raw($dob), 0, 4)) == false)
		{

			$error = true;
			echo "   [b]ERROR:[/b] ENTRY_DATE_OF_BIRTH_ERROR
\n";

			//$messageStack->add('create_account', ENTRY_DATE_OF_BIRTH_ERROR);

		}
	}
	
	if($error != true)
	{
		$lines_ok += 1;

		$sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_added' => 'now()','customers_last_modified' => 'now()');


		$sql_data_array['customers_gender'] = $gender;
		$sql_data_array['customers_dob'] = xtc_date_raw($dob);
		xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);
		$user_id = xtc_db_insert_id();

		//xtc_write_user_info($user_id);

		$sql_data_array = array ('customers_id' => $user_id, 'entry_firstname' => $firstname, 'entry_lastname' => $lastname, 'entry_street_address' => $street_address, 'entry_postcode' => $postcode, 'entry_city' => $city, 'entry_country_id' => $country,'address_date_added' => 'now()','address_last_modified' => 'now()');



		$sql_data_array['entry_gender'] = $gender;
		$sql_data_array['entry_company'] = $company;

		if (ACCOUNT_SUBURB == 'true')
			$sql_data_array['entry_suburb'] = $suburb;


		if (ACCOUNT_STATE == 'true')
		{

			if ($zone_id > 0)
			{

				$sql_data_array['entry_zone_id'] = $zone_id;
				$sql_data_array['entry_state'] = '';

			}
			else
			{
				$sql_data_array['entry_zone_id'] = '0';
				$sql_data_array['entry_state'] = $state;
			}
		}


		xtc_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array);
		$address_id = xtc_db_insert_id();

		xtc_db_query("update ".TABLE_CUSTOMERS." set customers_default_address_id = '".$address_id."' where customers_id = '".(int) $user_id."'");

		xtc_db_query("insert into ".TABLE_CUSTOMERS_INFO." (customers_info_id, customers_info_number_of_logons, customers_info_date_account_created) values ('".(int) $user_id."', '0', now())");


		// create smarty elements

		$smarty = new Smarty;

		$smarty->assign('GENDER', $gender);
		$smarty->assign('FIRSTNAME', $firstname);

		$smarty->assign('LASTNAME', $lastname);
		$smarty->assign('EMAIL', $email_address);
		$smarty->assign('PASSWORT', $password);

		$smarty->caching = false;
		$txt_mail_customer = $smarty->fetch(DIR_FS_CATALOG.'kunden_import_mail.txt');

		$mail_subject = "Unser neuer Onlineshop - Our new onlineshop";

/*
		echo "<pre>\n";
		echo $txt_mail_customer;
		echo "</pre>\n";
*/
		// mail versenden
		xtc_php_mail(STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER, $email_address, $firstname.' '.$lastname, '', STORE_OWNER_EMAIL_ADDRESS, STORE_OWNER, '', '', $mail_subject, '', $txt_mail_customer);

	}
	else
	{
		if(!$do_not_report==true)
		{
			echo "<b color=\"red\">fehler beim anlegen von $firstname, $lastname, $company, $email_address[/b]
\n";
			echo "[b]------------------------------------------------------------------------------------------------------[/b]
\n";
		}
	}
	
	flush();

}
fclose($fh);

echo "$lines_ok von $lines Daten importiert!";

include ('includes/application_bottom.php');
?>

Dazu brauchst Du jedoch wieder eine CSV Datei (im Root des Webservers, wo du die obige PHP Datei auch ablegst), die nach dem Schema aufgebaut ist:

$anrede, $firstname, $lastname, $company, $geburtsdatum, $street_address, $lkz, $postcode, $city, $suburb, $telephone, $fax, $email_address, $password)

Das Importfile muß heißen: kunden_import.csv

Zudem mußt Du mit ADMIN Rechten eingeloggt sein!

Er überschreibt KEINE Kunden - wenn also die Email adresse schon vorhanden ist, legt er den Kunden nicht mehr an!

GGfls. mußt Du die Länderdefinitionen im Script noch überarbeiten, wenn Du aber nur deutsche Kunden hast, ist es fast schon "Plug & Play" ;)
 

dvbshop

Aktives Mitglied
27. Juli 2006
187
0
München
Firma
dvbshop2006
Ooops,

im Root dann auch noch eine Datei anlegen mit Namen
kunden_import_mail.txt

In die kannste dann folgendes noch einfügen:

Code:
{if $GENDER == 'f'}
Sehr geehrte Frau {$LASTNAME},
{else}
Sehr geehrter Herr {$LASTNAME},
{/if}

{if $GENDER == 'f'}
Dear Mrs.  {$LASTNAME},
{else}
Dear Mr. {$LASTNAME},
{/if}

seit 01.11.2007 ist unser neuer Onlineshop unter [url]http://www.blabla.com[/url] erreichbar.
Since 1st of November our new Onlineshop is active at http://www.blabla.com!

Da Sie bereits Kunde bei uns sind, haben wir Ihre Daten in den neuen Shop übernommen. Sie können sich mit folgenden Login-Daten anmelden: 
As you are/were already a customer of BLABLA, you may now sign in into your account with the following Username and password:

Benutzer/Username: {$EMAIL}
Password: {$PASSWORT}

Bitte überprüfen Sie bei Gelegenheit, ob die Angaben, wie Name, Adresse usw. noch korrekt sind und ändern diese ggfls. in Ihrem Shopaccount.

Please check your account, if Name, address, ZIP-code, City etc. are still up to date. Otherwise you may correct your account online!

Wir danken für Ihre Mithilfe und verbleiben

Thanks for your attention

mit freundlichen Grüßen
 

dvbshop

Aktives Mitglied
27. Juli 2006
187
0
München
Firma
dvbshop2006
Ergänzung:

IM FALLE daß er einen Kunden im Shop dann anlegt, geht gleichzeitig eine Mail an den Kunden mit den Daten raus, den Text oben kannste ja beliebig anpassen.

Hoffe, es paßt 8)
 

rhservice

Aktives Mitglied
25. Juli 2008
11
0
also könnte ich die kunden aus der wawi exportieren. in eine csv meine ich und dann mit dem script importieren?
 

dvbshop

Aktives Mitglied
27. Juli 2006
187
0
München
Firma
dvbshop2006
ja, das ist doch das, was Du wolltest.

Mußt nach dem EXPORT mit EXCEL oder OpenOffice etc. halt die Spalten in die richtige Reihenfolge bringen.

GGfls. kann man das Script so umschreiben, daß es sich der Vorgabe von JTL anpaßt, also "ready to go", aber dafür habe ich momentan nicht die Zeit, sorry.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Gelöst - Keine Label & Worker startet nicht JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu [GELÖST] OnePage Composer funktioiert nicht mehr JTL-Shop - Fehler und Bugs 11
Neu Fehler beim Übertragen von Bildern JTL - Shopware Thumbnail Problem height width dürfen nicht leer sein Shopware-Connector 5
Neu Rechnungsnummer an JTL-Shop übertragen Technische Fragen zu Plugins und Templates 0
Neu BUG! eBay Lieferadresse wird als Rechnungsadresse übertragen eBay-Anbindung - Fehler und Bugs 8
Neu Curl Connection Timeout beim übertragen Shopify-Connector 7
Deutsche Post Brief Sendungsnummer wird nicht an eBay übertragen JTL-Wawi 1.9 0
Neu Bilder werden nicht übertragen. Shopware-Connector 0
Neu Ich habe eben einen neuen Shop erstellt und alle Artikel übertragen, aber leider werden mir bei den Versandarten die Versandklassen nicht angezeigt User helfen Usern - Fragen zu JTL-Wawi 1
Bilder komprimieren und an Shop übertragen JTL-Wawi 1.10 15
Neu Bilder werden beim Webshop-abgleich nicht übertragen User helfen Usern - Fragen zu JTL-Wawi 11
Neu Sendungsverfolgungsnummern werden nur teilweise übertragen JTL-Wawi - Fehler und Bugs 1
Rechnungen werden nicht zu Amazon übertragen Amazon-Anbindung - Fehler und Bugs 3
Neu DATEV Rechnungsdatenservice Otto, Rechnungen werden nicht übertragen Schnittstellen Import / Export 0
Kaufland AT Aufträge kommen werden nicht übertragen. kaufland.de - Anbindung (SCX) 7
Neu Zustandsbeschreibung wird beim auflisten von Produkten nicht übertragen Amazon-Anbindung - Fehler und Bugs 1
Neu Kundendaten inkl Login Daten auf neuen Shop übertragen inkl Blowfish Key. Fehlerhafte Adressen etc mit Sonderzeichen etc Allgemeine Fragen zu JTL-Shop 1
Neu JTL FFN - wie ändert ihr einen Auftrag, nachdem er von Plenty in JTL FFN übertragen wurde? Schnittstellen Import / Export 0
Neu Umsatzsteuerfreie Shopify-Bestellungen an JTL-Wawi übertragen – wie macht ihr das? Shopify-Connector 1
Versandgruppe wird nicht sauber übertragen kaufland.de - Anbindung (SCX) 0
Zahlungsart Guthaben in die WaWi übertragen JTL-Wawi 1.10 5
Neu Nach Update von WaWi 1.6 auf WaWi 1.10 kein Abgleich der Artikeldaten mehr möglich WooCommerce-Connector 0
Neu Fehlerhafte Darstellung der Box Stücklistekomponenten, wenn Konfigurationsartikel enthalten JTL-Wawi - Fehler und Bugs 0
Neu Ameise Übertrag der Textbeschreibung in den amz 2.0 Lister JTL-Ameise - Fehler und Bugs 4
Neu Unerklärliches Verhalten bei der Bestimmung der Seitenanzahl im Versandetikett Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Statistik über Zahlungsmoral der Kunden / Zahlungsverzug möglich? JTL-Wawi 1.9 4
Neu Shop 5 globale Variable die aus der Wawi gefüllt wird? Allgemeine Fragen zu JTL-Shop 0
Neu Änderung der Kundengruppe kein Einfluss im Shop Allgemeine Fragen zu JTL-Shop 2
Neu Sortieren und Ausgeben / Speichern / Drucken der externen Belege seit 1.10. Amazon-Anbindung - Fehler und Bugs 0
Neu Alarm SMS/E-Mail wenn der Worker nicht läuft Allgemeines zu den JTL-Connectoren 2
Neu Shopify Basic mit JTL? Wie einrichten? Ist der JTL Guide noch aktuelle wegen PII Einschränkung? Shopify-Connector 2
Neu Gibt es eine Möglichkeit Copilot Studio mit der JTL-Datenbank zu verbinden? User helfen Usern - Fragen zu JTL-Wawi 0
Zahlungsmodul in Kombination mit der Deutschen Bank funktioniert nicht JTL-Wawi 1.10 3
In Bearbeitung Kompakte Kasse gesucht mit der auch Kartenzahlung über 50 € funktioniert? JTL-POS - Fragen zu Hardware 4
Neu JTL Wawi braucht viel RAM und CPU wenn der Prozess lange läuft, ohne dass gearbeitet wird JTL-Wawi - Fehler und Bugs 2
Neu JTL Shop 5: ein Kundenkonto in der WAWI mit mehreren Konten im Webshop Allgemeine Fragen zu JTL-Shop 7
Nach Update auf 1.10.13.2 Probleme mit der POS Kasse JTL-Wawi 1.10 7
Neu Behandlung der Kasseneinnahmen als Händler statt als Endkunde im Wawi JTL-POS - Fehler und Bugs 0
Neu Rechnungsexport und Gutschriftenexport in der Ameise erzeugt doppelte Rechnungen / Gutschriften JTL-Ameise - Fehler und Bugs 1
kann man inzwischen aus der Wawi auf kaufland Varianten bilden, wenn ja, ab welcher Version? kaufland.de - Anbindung (SCX) 0
Neu Übermittlung der DHL Retourenetiketten ins DHL Geschäftsportal zum Druck JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu Hilfe bei Anpassung der JTL-Rechnung (v1.9.4.6) – EK pro Stück × Menge als Summe je Position + Privateinlage-Hinweis Dienstleistung, Jobs und Ähnliches 1
Neu PayPal V 2.0.2 mit Shop 5.5.2: Ablauf der Zahlung Plugins für JTL-Shop 13
Unterkategorien im Megamenü - Inaktiv in der Desktopversion, aktiv in der Mobilversion Einrichtung JTL-Shop5 1
Neu Hat jemand Erfahrung mit der Anbindung von TikTok Shop über Shopify? Einrichtung und Installation von JTL-eazyAuction 0
Probleme mit wawi, in der leiste wird kein onlineshop angezeigt JTL-Wawi 1.10 8
Neu Zurück/Abbrechen-Button nach Auswahl der Zahlungsart JTL-POS - Ideen, Lob und Kritik 1
Spalte "Verantwortliche Person" in der Artikelübersicht? JTL-Wawi 1.10 4
Neu Änderung des Layouts der Kategorieboxen im Nova Template Templates für JTL-Shop 6
Neu Ist es nicht möglich unter Plattformen - Neukunden sich die Mobilnummer anzeigen zu lassen, mit der die Kunden sich regsitriert haben? User helfen Usern - Fragen zu JTL-Wawi 2

Ähnliche Themen