# Links

Antwortet eine Person dem Bot mit einem Foto, Video, Audio oder einer Datei und wird die Antwort in eine Variable gespeichert (Schalter „Antwort in eine Benutzervariable schreiben“ im Abschnitt [„Zusätzlich“](https://support.watbot.org/de/chatbots/blocks/messages#zusätzlich) des Blocks), landet in der Variable nicht die Datei selbst, sondern ein Kurzlink darauf — etwa `…/w/bK3x9`. Ein solcher Kurzlink führt auch zur Datei beim [Export einer Liste](https://support.watbot.org/de/lists/import-export#export-nach-excel) des Bots nach Excel.

Die Methode `decodeShortLink` macht aus einem solchen Link einen direkten Link zur Datei — so kann Ihr System sie herunterladen, ohne einer Weiterleitung zu folgen.

## decodeShortLink

Liefert zu einem Kurzlink den direkten Link zur Datei.

```endpoint
GET POST https://watbot.org/de/api/v1/decodeShortLink
```

| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `url` | String | ja | Der vollständige Kurzlink mit `https://` und, falls vorhanden, dem Parameter `?k=…`. Die Methode nimmt den Code nach `/w/`, die Domain wird nicht geprüft |

```bash title="Anfrage"
curl -X POST "https://watbot.org/de/api/v1/decodeShortLink" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/w/bK3x9"}'
```

```json title="Antwort 200"
{
  "data": {
    "url": "https://files.example.com/bots/12345/passport-scan.jpg"
  }
}
```

```json title="Antwort 404"
{
  "error": "Kurzlink nicht gefunden",
  "message": "Kurzlink nicht gefunden"
}
```

Aufgelöst werden nur Links auf Dateien, und nur solche, die zu Ihrem Bot oder Ihrer Liste gehören — auch zu einer Liste, die im Projekt statt im Bot angelegt ist. Kurzlinks anderer Art löst die Methode nicht auf. Ein abgelaufener Link wird nicht aufgelöst, so wie er sich auch beim Aufruf nicht öffnet.

Fehler der Methode (allgemeine unter [Fehler](https://support.watbot.org/de/api#fehler)):

| Code | Wann | Antwort |
|---|---|---|
| `403` | Der Link gehört zu einem Bot oder einer Liste eines anderen Kontos oder ist weder an einen Bot noch an eine Liste gebunden | `{"error": "…", "message": "…"}` |
| `404` | Es gibt keinen Kurzlink mit diesem Code, er ist abgelaufen, der Schlüssel `?k=` passt nicht oder die Liste, zu der er führt, wurde gelöscht | `{"error": "…", "message": "…"}` |
| `422` | Der Link führt nicht zu einer Datei | `{"error": "…", "message": "…"}` |
| `422` | `url` fehlt, ist keine URL oder enthält keinen Pfad `/w/code` | `{"message": "…", "errors": {"url": ["…"]}}` |
