Skip to main content

Hey,

wir wollen unsere Avocadostore Bestellungen automatisiert importieren. Dazu nutzen wir das Übertragungsmodul im Eingang.

Die Testdaten sind wie folgt und in der Struktur von Avocadostore festgelegt:

order-id;order-item-id;purchase-date;payment-date;buyer-name;sku;product-name;quantity-purchased;currency;item-price;item-tax;shipping-price;shipping-tax;shipping-service-level;recipient-name;ship-address-1;ship-address-2;ship-city;ship-postal-code;ship-country;bill-address-1;bill-address-2;bill-city;bill-postal-code;bill-country;ship-address-additional;ship-address-street;ship-address-no;bill-address-additional;bill-address-street;bill-address-no;buyer-id
ORDER ID TEST 1;ORDER ITEM TEST 1;2023-02-04 08:34:09 +0100;2023-02-04 08:34:09 +0100;BUYER NAME TEST 1;SKU TEST 1;PRODUCT NAME TEST 1;2;EUR;4,9;0,78;6,9;1,1;Standard;RECIPIENT NAME 1;SHIP ADRESS 1 TEST 1;SHIP ADRESS 2 TEST 1;SHIP CITY TEST 1;SHIP POSTAL CODE TEST 1;SHIP COUNTRY TEST 1;BILL ADDRESS 1 TEST 1;BILL ADDRESS 2 TEST 1;BILL CITY TEST 1;BILL POSTAL CODE TEST 1;DE;SHIP ADDRESS ADDITIONAL TEST 1;;SHIP ADDRESS NO TEST 1;BILL ADDRESS ADDITIONAL TEST 1;BILL ADDRESS STREET TEST 1;BILL ADDRESS NO TEST 1;BUYER ID TEST 1
ORDER ID TEST 2;ORDER ITEM TEST 2;2023-02-04 08:34:09 +0100;2023-02-04 08:34:09 +0100;BUYER NAME TEST 2;SKU TEST 2;PRODUCT NAME TEST 2;1;EUR;4,9;0,78;6,9;1,1;Standard;RECIPIENT NAME 2;SHIP ADRESS 1 TEST 2;SHIP ADRESS 2 TEST 2;SHIP CITY TEST 2;SHIP POSTAL CODE TEST 2;SHIP COUNTRY TEST 2;BILL ADDRESS 1 TEST 2;BILL ADDRESS 2 TEST 2;BILL CITY TEST 2;BILL POSTAL CODE TEST 2;DE;SHIP ADDRESS ADDITIONAL TEST 2;;SHIP ADDRESS NO TEST 2;BILL ADDRESS ADDITIONAL TEST 2;BILL ADDRESS STREET TEST 2;BILL ADDRESS NO TEST 2;BUYER ID TEST 2
ORDER ID TEST 3;ORDER ITEM TEST 3;2023-02-08 17:21:29 +0100;2023-02-08 17:21:30 +0100;BUYER NAME TEST 3;SKU TEST 3;PRODUCT NAME TEST 3;1;EUR;28,9;4,61;6,9;1,1;Standard;RECIPIENT NAME 3;SHIP ADRESS 1 TEST 3;SHIP ADRESS 2 TEST 3;SHIP CITY TEST 3;SHIP POSTAL CODE TEST 3;SHIP COUNTRY TEST 3;BILL ADDRESS 1 TEST 3;BILL ADDRESS 2 TEST 3;BILL CITY TEST 3;BILL POSTAL CODE TEST 3;DE;SHIP ADDRESS ADDITIONAL TEST 3;;SHIP ADDRESS NO TEST 3;BILL ADDRESS ADDITIONAL TEST 3;BILL ADDRESS STREET TEST 3;BILL ADDRESS NO TEST 3;BUYER ID TEST 3
ORDER ID TEST 4;ORDER ITEM TEST 4;2023-02-04 08:34:09 +0100;2023-02-04 08:34:09 +0100;BUYER NAME TEST 4;SKU TEST 4;PRODUCT NAME TEST 4;1;EUR;4,9;0,78;6,9;1,1;Standard;RECIPIENT NAME 4;SHIP ADRESS 1 TEST 4;SHIP ADRESS 2 TEST 4;SHIP CITY TEST 4;SHIP POSTAL CODE TEST 4;SHIP COUNTRY TEST 4;BILL ADDRESS 1 TEST 4;BILL ADDRESS 2 TEST 4;BILL CITY TEST 4;BILL POSTAL CODE TEST 4;DE;SHIP ADDRESS ADDITIONAL TEST 4;;SHIP ADDRESS NO TEST 4;BILL ADDRESS ADDITIONAL TEST 4;BILL ADDRESS STREET TEST 4;BILL ADDRESS NO TEST 4;BUYER ID TEST 4

 

Unser bisheriger Code in Smarty:

<?xml version="1.0" encoding="UTF-8"?>
<response>
<xml>
{assign var="letztebestellnummer" value=0}{assign var="ersterbeleg" value=1}

<auftrag_list>{foreach from=$object key=keyrow item=Ab}{if $letztebestellnummer <> $position->beleg_belegnr and $ersterbeleg == 0}
</auftrag_position_list>
</auftrag>
{/if}

{if $letztebestellnummer <> $position->beleg_belegnr or $ersterbeleg == 1}
<auftrag>
{$ersterbeleg = 0}{$letztebestellnummer= $position->beleg_belegnr}
<datum>{$smarty.now|date_format|date_format:"%d.%m.%Y"}</datum>
<versandart>SO101</versandart>
<status>FREIGEGEBEN</status>
<projekt>AVOCADOSTORE</projekt>
<name>{$Ab->buyer-name}</name>
<adresszusatz>{$Ab->bill-address-2}</adresszusatz>
<strasse>{$Ab->bill-address-1}</strasse>
<plz>{$Ab->bill-postal-code}</plz>
<ort>{$Ab->bill-city}</ort>
<ihrebestellnummer>{$Ab->order-id}</ihrebestellnummer>
<internebezeichnung></internebezeichnung>
<email></email>
<telefon></telefon>
<lieferunterabteilung></lieferunterabteilung>
<internebemerkung></internebemerkung>
<auftrag_position_list>{/if}
<auftrag_position>
<name_de>{$Ab->product-name}</name_de>
<menge>{$Ab->quantity-purchased}</menge>
<nummer>{$Ab->sku}</nummer>
</auftrag_position>
{/foreach}

</auftrag>
</auftrag_list>
</xml>
</response>

 

Wir erhalten einmal täglich eine CSV mit allen Auftragsdaten. Eine Zeile enthält eine Position je Order. Das heißt wir brauchen folgende Abfragen:

 

  • Pro Datei können mehrere Aufträge mit unterschiedlichen Order ID geschickt werden.
  • Zusammenfassen von gleichen Order ID zu einem Auftrag, das heißt es muss gecheckt werden, ob es die gleiche Order ID gibt, deren Positionen in einen Auftrag geschrieben werden müssen

 

Kann jemand helfen?

 

Liebe Grüße

Hinterlasse den ersten Beitrag!

Antworten