Modul: Freiaufträge (Release: 2025)

Anmerkung: Dieses Modul wird befindet sich in Entwicklung und wird voraussichtlich 2025 veröffentlicht.


Nur in Verbindung mit dem Modul DRUCKSHOP Order-API Methoden

Mit dem Modul Freiaufträge, hast du die Möglichkeit, automatisiert Auftrage in deinem Shop aus anderen Quellen zu erstellen.

Zusätzlich lassen sich auch personalisierte Produkte übermitteln, wodurch automatisch der Position das personalisierte Druckdokument zur Verfügung gestellt wird. Dafür benötigst du lediglich einen Closedshop / eine PRINT LOUNGE, mit aktivierter API-Schnittstelle, personalisierbare Artikel und einen freigeschalteten Benutzer.

Um die personalisierte Druckdatei korrekt abrufen zu können, musst du das Modul unter Module / Freiaufträge konfigurieren:

Einstellungen.png

Feldbeschreibung der Einstellungen

Bezeichnung

Wert

Bezeichnung

Wert

Printlounge API Domain

Bitte tragen hier deine Shop-Domain des Closedshops / der PRINT LOUNGE ein

Benutzername

Benutzername aus der eingetragenen API-Schnittstelle

Passwort

Passwort aus der eingetragenen API-Schnittstelle

Benutzer-ID

Benutzer-ID des Printlounge Shop, zu finden unter Shops. Dort nun unter “Printlounge API Domain” ausgewählten Shop wählen und über “Aktionen” die Benutzergruppen anklicken. Im nächsten Schritt wählst du die Benutzergruppe, in der Ssch der Benutzer befindet, den du benutzen möchtest. In der nun erscheinenden Liste kannst du für den Benutzer die ID kopieren und eintragen.

 

Uber folgender URL kannst du nun Freiaufträg anlegen:

{{domain}}/api/component/Order

Bitte beachte das korrekte Format, welches Übergeben werden muss.
Für eine bessere Übersicht über Pflichtfelder, Schema und Beispieldaten, nutze bitte die Schnittstellenbeschreibung.

Für die Erstellung der personalisierten Druckdatei, muss die korrekte “persId” übertragen werden.
Bei der “persId” handelt es sich um die Artikel-ID aus deinem Closed Shop / PRINT LOUNGE Shop.
Bei der Verwendung der “persId”, muss “persData” gefüllt sein. Bei “persData” handelt es sich um ein Key / Value-Paar mit den im Artikel konfigurierten Personalisierungsvariablen und baut sich wie folgt auf:

"persData": { "VARIABLENNAME1": "WERT1", "VARIABLENNAME2": "WERT2" }

 

Auftragsdetailansicht

Wir haben die Auftragsdetailansicht erneuert und übersichtlicher gestaltet:

Auftragsübersicht_gesamt.png
Auftragsdetailansicht

Auftragshistorie

 

Barcode

 

 

Weitere bestellte Artikel

 

 

Bestelldetails

Info: Es sind neue Vorlagenvariablen hinzugekommen, die du hier in der Liste findest.

Bezeichnung

Beschreibung

Shop

Shop in dem die Bestellung eingegangen ist

Bestelldatum

Datum/Uhrzeit der Bestellung

Jobnummer

Eindeutige Jobnummer

Externe Referenz-ID

übermittelte externe Referenznummer

Neue Variable: {externalReferenceId}

Auftragsnummer

generierte Auftragsnummer

Paketnummer

Paketnummer

Rechnungsnummer

generierte Rechnungsnummer

allgemeine Bestelldaten

übermittelte allgemeine Bestelldaten, diese stehen jeder Position des Auftrages zur Verfügung.

Neue Variable: {additionalOrderData}

Artikel / Bezeichnung

übermittelte Artikelbezeichnung

Artikelnummer

übermittelte Artikelnummer

Artikel-Zusatzfelder

Auflistung der Artikelzusatzfelder, sofern vorhanden.

Personalisierungs-ID

Übermittelte Personalisierungs-ID, sofern vorhanden

Neue Variable: {personalisationId}

Personalisierungsdaten

Daten der Personalisierung. Nur vorhanden, wenn auch eine Personalisierungs-ID vorhanden ist

Neue Variable: {personalisationData}

Liefertermin

übermittelter Liefertermin

Preis

übermittelter Preis

Beispielaufruf der Variablen anhand der Rechnungsvorlage :

minimalistische Vorlage:

{literal} <style> #rgBlock p, .nopadmarg{padding: 0;margin: 0;} .headline {font-size:24px; font-weight:bold; color:#000000; display: block; padding: 5mm 0 10mm 0; } .billingInformation{padding:0px!important;width: 100%;} .orderHeader td{background-color:#d9d9d9;} .tablePadding > td{padding:0 5px;} .leftSpace{padding-left: 10px;} </style> {/literal} <div style="width:170mm; margin-top:30mm; margin-left:18.5mm"> <div id="rgBlock"> {if $r.firma}<p>{$r.firma}</p>{/if} <p> {if $bestellung.0.rg_geschlecht == "m"} Herr {elseif $bestellung.0.rg_geschlecht == "w"} Frau {/if} {if $r.vorname or $r.nachname} {$r.vorname} {$r.nachname} {/if} </p> {if $r.strasse}<p>{$r.strasse}</p>{/if} {if $r.plz or $r.ort} <p>{$r.plz} {$r.ort}</p> {if $r.land}<p>{$r.land}</p>{/if}<br><br> {/if} {if $r.ustid}<p>USt- ID .: {$r.ustid}</p>{/if} </div> <div class="headline"><p>Rechnung</p></div> <table class="billingInformation" cellspacing="0" cellpadding="0" border="0"> <tr> <td style="width: 25%;"> <!--Auftragsnummer--> {if $bestellung.0.auftragsnummer} <span>Auftrags-Nr.:<br>{$bestellung.0.auftragsnummer}</span> {/if} </td> <td style="width: 25%;"> <!--Rechnungsnummer--> {if $bestellung.0.rechnungsnummer} <span>Rechnungs-Nr.:<br>{$bestellung.0.rechnungsnummer}</span> {/if} </td> <td style="width: 25%;"> <!-- Lieferscheinnummer--> {if $bestellung.0.lieferscheinnummer} <span>Lieferschein-Nr.:<br />{$bestellung.0.lieferscheinnummer}</span> {/if} </td> <td style="width: 25%; text-align: right;"> <!--Datum--> {if $bestellung.0.lieferscheinnummer_datum} <span>Datum:<br>{$bestellung.0.lieferscheinnummer_datum}</span> {/if} </td> </tr> </table> <br> <div class="orderData"> <p><b>externe Referenz-Id</b>: {$bestellung.0.externalReferenceId}</p> <p style="padding: 0;margin: 0"><b>allgemeine Bestelldaten</b>:</p> {foreach from=$bestellung.0.additionalOrderData item=item key=key} <p style="padding: 0;margin: 0">{$key}:{$item}</p> {/foreach} <br/> </div> {foreach from=$bestellung item=item_best key=key_best} <table class="tablePadding" style="border-spacing: 2px; width: 100%;"> <tr class="orderHeader"> <td style="width: 75%;" nowrap align="left"><strong>{$item_best.bezeichnung}</strong></td> <td style="width: 10%;" nowrap align="center">USt.</td> <td style="width: 15%;" nowrap align="right">Preis</td> </tr> <tr><td colspan="3"></td></tr> <tr> <td nowrap> <strong>Auftrags-Nr.: </strong>{$item_best.jobnummer}<br> </td> <td align="center"></td> <td align="right"></td> </tr> </table> <table class="tablePadding" style="border-spacing: 2px; width: 100%;"> <tr><td colspan="3"></td></tr> <tr> <td style="width: 75%;" nowrap align="left"> Material + Verarbeitung ({$item_best.preis.orig_druckpreis} {$item_best.waehrung})<br> {assign var="rep" value="0"} {assign var="rep_ges" value="0"} {foreach from=$item_best.zusatz item=item_zusatz key=key_zusatz} {assign var="rep" value=$item_zusatz.aufschlag|replace:",":"."} {assign var="rep_ges" value="`$rep_ges|replace:",":"."+$rep`"} {$item_zusatz.wert} ({$item_zusatz.aufschlag} {$item_best.waehrung}) <br /> {/foreach}</td> <td style="width: 10%;" nowrap align="center">{$item_best.mwst}%</td> <td style="width: 15%;" nowrap align="right"> {assign var="preis_ges" value="0"} {assign var="rep2" value="0"} {assign var="rep2" value=$item_best.preis.orig_druckpreis|replace:",":"."} {assign var="preis_ges" value="`$preis_ges+$rep_ges+$rep2`"} {$preis_ges|number_format:2:",":"."} {$item_best.waehrung}</td> </tr> {if $item_best.option || $item_best.option_dyn || $item_best.zusatzfelder} <tr><td colspan="3"></td></tr> <tr> <td style="width: 75%;" nowrap align="left"> {if $item_best.zusatzfelder}<br /> {foreach from=$item_best.zusatzfelder item=item_zusatzfelder key=key_zusatzfelder} <strong>{$item_zusatzfelder.bezeichnung}: </strong>{$item_zusatzfelder.value}<br /> {/foreach} {/if} {if $item_best.personalisationId} <br><b>Personalisierungs-ID</b>: {$item_best.personalisationId}<br /><b>Personalisierungsdaten:</b> {foreach from=$item_best.personalisationData item=item_personalisationData key=key_personalisationData}<br /> <b>{$item_personalisationData.bezeichnung}: </b>{$item_personalisationData.value} {/foreach} {/if}</td> <td style="width: 10%;" nowrap align="center"></td> <td style="width: 15%;" nowrap align="right"></td> </tr> {/if} </table> <br> {/foreach} <table class="tablePadding" style="border-spacing: 2px; width: 100%;"> <tr> <td style="width: 25%;"></td> <td style="width: 25%;"> vorgesehenes Lieferdatum:<br><br> {$bestellung.0.liefertermin} </td> <td style="width: 50%; padding:0px;"> <table style="border-spacing: 2px; width: 100%;"> <tr> <td style="width: 50%;"><strong>Summe Waren</strong></td> <td style="width: 50%;" align="right"> <strong> {$bestellung.0.preisWarenkorb.gesamtdruckpreis} {$bestellung.0.waehrung} </strong> </td> </tr> <tr> <td>Versand (19% USt.)</td> <td align="right">{$bestellung.0.preisWarenkorb.versand} {$bestellung.0.waehrung}</td> </tr> {if $bestellung.0.preisWarenkorb.gesamtpreis_netto} {if $bestellung.0.bruttpreise_jn != "1"} <tr> <td nowrap ><strong>Nettobetrag</strong></td> <td align="right" ><strong>{$bestellung.0.preisWarenkorb.gesamtpreis_netto} {$bestellung.0.waehrung}</strong></td> </tr> {/if} {/if} {if !$bestellung.0.ARR_MwstAbweichend} <tr> <td nowrap>Ust. {$bestellung.0.mwst} %</td> <td align="right"> {$bestellung.0.preisWarenkorb.gesamtpreis_enth_mwst} {$bestellung.0.waehrung}</td> </tr> {/if} <tr> <td nowrap><strong>Rechnungsbetrag</strong></td> <td align="right"><strong>{$bestellung.0.preisWarenkorb.gesamtpreis_brutto} {$bestellung.0.waehrung}</strong></td> </tr> </table> </td> </tr> </table> </div>

Ausgabe

 

 

Druckdaten

 

 

Statuswechsel

 

Auftragsdokumente

 

Adressen