> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# SENDUPLOADLINK- (Uploadlink per E-Mail verschicken)

> Dem Kunden ein Formular anbieten, mit dem er den Uploadlink zu einem seiner Aufträge an eine beliebige E-Mail-Adresse schickt, und den Link im Mailtemplate ausgeben.

Lädt ein Kunde Druckdaten oder Unterlagen zu einem Auftrag hoch, macht das oft nicht er selbst, sondern seine Grafikabteilung oder eine Agentur. Dafür gibt es das Formular "Uploadlink per E-Mail verschicken": der Kunde gibt eine Auftragsnummer und eine E-Mail-Adresse ein, und der Shop schickt den passenden Uploadlink dorthin.

Die `SENDUPLOADLINK-`Tags bauen dieses Formular auf und geben den Link in der versendeten E-Mail aus. Sieben Tags reichen dafür, denn es gibt nur zwei Eingabefelder.

Wegweiser: [Upload von Dateien](https://dokumentation.websale.de/v8s/upload-modul/upload-modul-integrieren.md)

> [!WARNING]
>
> Alle Tags dieser Seite setzen einen **angemeldeten** Käufer voraus. Ist niemand angemeldet, gelten sie als ungültiges Tag.

## Das Formular

Zwei Felder, ein Knopf, eine Form.

| Tag | Liefert |
| - | - |
| `FORM-SendUploadLink` | das Ziel der Form |
| `SENDUPLOADLINK-OrderNumber_name` | den HTML-Namen des Felds für die Auftragsnummer |
| `SENDUPLOADLINK-OrderNumber` | die bisher eingegebene Auftragsnummer |
| `SENDUPLOADLINK-EmailTo_name` | den HTML-Namen des Felds für die Empfängeradresse |
| `SENDUPLOADLINK-EmailTo` | die bisher eingegebene Empfängeradresse |
| `BT-SendUploadLink` | den HTML-Namen des Absendeknopfes |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<form action="~FORM-SendUploadLink~" method="post">
   <label>
      Auftragsnummer
      <input type="text" name="~SENDUPLOADLINK-OrderNumber_name~" value="~SENDUPLOADLINK-OrderNumber~">
   </label>

   <label>
      E-Mail-Adresse des Empfängers
      <input type="email" name="~SENDUPLOADLINK-EmailTo_name~" value="~SENDUPLOADLINK-EmailTo~">
   </label>

   <input type="submit" name="~BT-SendUploadLink~" value="Uploadlink senden">
</form>
```

Die beiden Wert-Tags geben zurück, was der Kunde zuletzt eingetragen hat. Nach einer fehlerhaften Eingabe füllt sich das Formular damit von selbst wieder. Als Klammerung greifen sie, wenn überhaupt etwas eingegeben wurde, was sich für eine Vorschau der Angaben eignet.

Die `_name`-Tags liefern die festen Namen `ws_input_upload_sendlink_ordernumber` und `ws_input_upload_sendlink_email`. Verwenden Sie trotzdem die Tags, damit das Template auch nach einer Umbenennung weiterläuft.

Die beiden `_name`-Tags und der Absendeknopf sind reine Einzel-Tags. Als Klammerung gelten sie als ungültiges Tag.

* Referenz: `FORM-SendUploadLink` auf der Seite FORM- (Formulare)
* Referenz: `BT-SendUploadLink` auf der Seite [BT- (Buttons)](https://dokumentation.websale.de/v8s/referenz/tags/bt/adressen.md)

## Fehlerhafte Eingaben

Beide Felder werden geprüft, sobald der Kunde absendet. Zu jedem gibt es eine Klammerung.

| Tag | Greift |
| - | - |
| `SENDUPLOADLINK-OrderNumber_error` | wenn die Auftragsnummer nicht zulässig ist |
| `SENDUPLOADLINK-EmailTo_error` | wenn die E-Mail-Adresse nicht zulässig ist |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{SENDUPLOADLINK-OrderNumber_error}
   <p class="fehler">Zu dieser Auftragsnummer finden wir keinen Auftrag in Ihrem Konto.</p>
{/SENDUPLOADLINK-OrderNumber_error}

{SENDUPLOADLINK-EmailTo_error}
   <p class="fehler">Bitte geben Sie eine gültige E-Mail-Adresse an.</p>
{/SENDUPLOADLINK-EmailTo_error}
```

> [!WARNING]
>
> Die Auftragsnummer gilt nur dann als zulässig, wenn sie zum Konto des angemeldeten Kunden gehört. Niemand kann sich also den Uploadlink zu einem fremden Auftrag schicken lassen. Formulieren Sie den Fehlertext entsprechend, denn "Auftragsnummer ungültig" trifft die Lage nicht.

Beide Tags gibt es nur als Klammerung, und sie greifen erst nach dem Absenden. Beim ersten Aufruf des Formulars melden sie keinen Fehler.

Als Antwortadresse der versendeten E-Mail trägt das Shopsystem die Adresse des angemeldeten Kunden ein. Der Empfänger kann also direkt antworten.

## Der Link in der E-Mail

Die E-Mail entsteht aus einem eigenen Mailtemplate. Darin steht genau ein Tag dieser Seite.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
Hier können Sie die Daten zum Auftrag ~SENDUPLOADLINK-OrderNumber~ hochladen:
<a href="~SENDUPLOADLINK-UploadLink~">~SENDUPLOADLINK-UploadLink~</a>
```

> [!WARNING]
>
> `SENDUPLOADLINK-UploadLink` gehört ausschließlich in das Mailtemplate. Nur dort steht die Auftragsnummer zur Verfügung, mit der der Link gebaut wird. Auf dem Formulartemplate liefert das Tag nicht den Link zu dieser Auftragsnummer.

Der erzeugte Link enthält die Auftragsnummer und eine Prüfsumme. Er funktioniert ohne Anmeldung, denn der Empfänger hat ja kein Konto im Shop. Entsprechend sollte die Mail nur an Adressen gehen, denen der Kunde vertraut.

Welches Template verwendet wird, wie der Betreff lautet und von welcher Adresse die Mail kommt, steht im Abschnitt `SendUploadLinkMail` der Shopkonfiguration.

Referenz: Abschnitt [`SendUploadLinkMail`](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/e-mails#senduploadlinkmail) in der Shopkonfiguration

## Nach dem Versand

Hat der Versand geklappt und ist die Bestellung bereits abgeschlossen, führt das Shopsystem den Kunden auf die Bestelleingangsbestätigung weiter, statt das Formular erneut anzuzeigen. Bei einem Aufruf im Hintergrund per JavaScript bleibt es dagegen beim Formular, sodass Sie die Rückmeldung selbst setzen können.

Für eine eigene Erfolgsmeldung auf dem Formular eignet sich der Weg über den Hintergrundaufruf. Dann bleibt der Kunde auf der Seite, und Sie zeigen ihm an Ort und Stelle, dass die Mail unterwegs ist.

## Ohne Formular verschicken

Soll der Kunde nicht tippen müssen, gibt es den Weg über `WS-SendUploadLink()`. Das Tag gehört zum Präfix `WS-` und erzeugt einen Link auf das Formular. Es nimmt bis zu drei Argumente entgegen: die Auftragsnummer, die E-Mail-Adresse und `yes`, womit der Versand ohne weiteres Zutun ausgelöst wird.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<a href="~WS-SendUploadLink(~WS-UploadOrderNumber~)~">
   Uploadlink an eine andere Adresse schicken
</a>
```

Mit der Auftragsnummer als Argument kommt der Kunde auf ein bereits ausgefülltes Formular. Das ist der übliche Weg aus der Bestellhistorie heraus.

Referenz: `WS-SendUploadLink` auf der Seite WS- (Allgemeine Tags)

## Die Tags im Überblick

| Tag | Einzel-Tag | Bereichs-Tag | negatives Bereichs-Tag | Schleifen-Tag |
| - | - | - | - | - |
| `SENDUPLOADLINK-OrderNumber` | ja | ja | ja | – |
| `SENDUPLOADLINK-OrderNumber_name` | ja | – | – | – |
| `SENDUPLOADLINK-OrderNumber_error` | – | ja | ja | – |
| `SENDUPLOADLINK-EmailTo` | ja | ja | ja | – |
| `SENDUPLOADLINK-EmailTo_name` | ja | – | – | – |
| `SENDUPLOADLINK-EmailTo_error` | – | ja | ja | – |
| `SENDUPLOADLINK-UploadLink` | ja | – | – | – |

Die ersten sechs Tags gehören auf das Formulartemplate, `SENDUPLOADLINK-UploadLink` in das Mailtemplate. Alle sieben setzen einen angemeldeten Käufer voraus.

## Verwandte Themen

* Wegweiser: Upload von Dateien
* Referenz: [FORM- (Formulare)](https://dokumentation.websale.de/v8s/referenz/tags/form-formulare.md)
* Referenz: BT- (Buttons)
* Referenz: [WS- (Allgemeine Tags)](https://dokumentation.websale.de/v8s/referenz/tags/ws/shop-seite-und-technik.md)


## Related topics

- [Upload-Modul: Tags](https://dokumentation.websale.de/v8s/referenz/tags/upload-modul-tags.md)
- [Upload-Modul mit gesichertem Link aufrufen](https://dokumentation.websale.de/v8s/upload-modul/upload-modul-mit-gesichertem-link-aufrufen.md)
- [Bewertungserinnerungen per E-Mail versenden](https://dokumentation.websale.de/v8s/websale-produktbewertung/bewertungserinnerungen-per-e-mail-versenden.md)
- [Schaltflächen für Kundenkonto und Anmeldung](https://dokumentation.websale.de/v8s/referenz/tags/bt/kundenkonto-und-anmeldung.md)
- [Merkzettel, Vergleich, Upload und externe Dienste](https://dokumentation.websale.de/v8s/referenz/tags/ws/merkzettel-vergleich-upload-und-externe-dienste.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.