# Rufzeichen → Route

Live-ADS-B-Rufzeichen in Abflug- und Zielflughafen auflösen — exakte Übereinstimmung oder Fallback auf Ebene der Fluggesellschaft.



Ordnen Sie ein Live-**Rufzeichen** (das über [ADS-B](https://www.faa.gov/air_traffic/technology/adsb) gesendete Rufzeichen eines Flugs, z. B. `BAW178`) Abflug- und Zielflughafen zu. Findet SkyLink eine exakte Übereinstimmung für das Rufzeichen, enthält die Antwort `departure_icao` und `arrival_icao` mit `confidence: "high"`. Fehlt das exakte Rufzeichen, greift die API auf eine Routenliste auf Ebene der Fluggesellschaft im Array `routes` zurück (gleiche Struktur wie bei den [Flughafenrouten](/docs/v31/routes-airport)).

<DocRequirements>
  <DocRequirementAuth />
</DocRequirements>

## Anfrage [#request]

<DocApiPath method="GET" path="/routes/callsign/{callsign}" />

| Parameter  | Typ    | Erforderlich | Beschreibung                                                                                                      |
| ---------- | ------ | ------------ | ----------------------------------------------------------------------------------------------------------------- |
| `callsign` | string | Ja           | Pfadparameter für das Rufzeichen des Flugs — Kennung der Fluggesellschaft plus numerisches Suffix, z. B. `BAW178` |

## Antwort [#response]

**Beispiel für eine exakte Übereinstimmung:**

```json
{
  "callsign": "BAW178",
  "callsign_prefix": "BAW",
  "airline_code": "BAW",
  "departure_icao": "KJFK",
  "arrival_icao": "EGLL",
  "airports": ["KJFK", "EGLL"],
  "confidence": "high",
  "source": "vrs"
}
```

**Beispiel für einen Fallback** (keine exakte Zeile für das Rufzeichen — es werden Routen auf Ebene der Fluggesellschaft zurückgegeben):

```json
{
  "callsign": "BAW999",
  "callsign_prefix": "BAW",
  "airline_code": "BAW",
  "departure_icao": null,
  "arrival_icao": null,
  "airports": null,
  "confidence": "low",
  "source": "vrs",
  "routes": [
    {
      "departure": "LHR",
      "arrival": "JFK",
      "airlines": ["British Airways"],
      "km": 5555,
      "duration_min": 430
    }
  ]
}
```

| Feld              | Typ    | Erforderlich                | Null?                           | Beschreibung                                                                                                                                                                                         |
| ----------------- | ------ | --------------------------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `callsign`        | string | **Ja**                      | Nie                             | Echo des angefragten Rufzeichens                                                                                                                                                                     |
| `callsign_prefix` | string | **Ja**                      | Nie                             | Aus dem Rufzeichen extrahiertes ICAO-Präfix der Fluggesellschaft                                                                                                                                     |
| `airline_code`    | string | **Ja**                      | Nie                             | Aufgelöster ICAO-Code der Fluggesellschaft                                                                                                                                                           |
| `departure_icao`  | string | Bei exakter Übereinstimmung | **Ja** (Fallback)               | ICAO-Code des Abflughafens, sofern bekannt                                                                                                                                                           |
| `arrival_icao`    | string | Bei exakter Übereinstimmung | **Ja** (Fallback)               | ICAO-Code des Zielflughafens, sofern bekannt                                                                                                                                                         |
| `airports`        | array  | Bei exakter Übereinstimmung | **Ja** (Fallback)               | Geordnete ICAO-Codes `[departure, arrival]`                                                                                                                                                          |
| `confidence`      | string | **Ja**                      | Nie                             | Qualität der Übereinstimmung — `high` bei exakten Treffern für das Rufzeichen                                                                                                                        |
| `source`          | string | **Ja**                      | Nie                             | Opaker Bezeichner der Routendatenquelle aus der API                                                                                                                                                  |
| `routes`          | array  | Beim Fallback               | **Ja** (exakte Übereinstimmung) | Routenliste auf Ebene der Fluggesellschaft, wenn keine exakte Zeile für das Rufzeichen existiert — gleiche Elementstruktur wie bei den [Flughafenrouten](/docs/v31/routes-airport#route-item-routes) |

**Wichtig:** Behandeln Sie `confidence: "high"` als zuverlässiges Städtepaar mit `departure_icao`/`arrival_icao`. Ist nur `routes[]` vorhanden, zeigen Sie die oberste Route als Vorschlag an und lassen Sie den Nutzer bestätigen — gehen Sie nicht davon aus, dass die erste Zeile dem aktiven Flug entspricht.

## Client-Typen [#client-types]

<DocClientTypes id="v31/routes/routes-types" />

## Integration [#integration]

Lösen Sie ein Live-[ADS-B](https://www.faa.gov/air_traffic/technology/adsb)-Rufzeichen in eine Schätzung von Abflug- und Zielflughafen für Karten-Overlays und Flugkarten auf.

Das folgende Beispiel speichert Rufzeichen-Abfragen 24 Stunden im Cache, da sich zugewiesene Routen selten ändern. Jede Anfrage verwendet explizite Timeouts (10 s Verbindungsaufbau / 15 s Lesen). Die Hilfsfunktion normalisiert sowohl Antworten mit exakter Übereinstimmung als auch Fallback-Antworten in ein einheitliches `RouteGuess`-Objekt für den UI-Code.

<DocExample id="v31/routes/callsign-fetch" />

### Hinweise zur Implementierung [#implementation-notes]

**Normalisierung der Codes.** Wandeln Sie Rufzeichen vor der Abfrage in Großbuchstaben um (`baw178` → `BAW178`). Entfernen Sie Leerzeichen aus [ADS-B](https://www.faa.gov/air_traffic/technology/adsb)-Feeds.

**Gemischte Flughafencodes.** Routenzeilen können je nach Quellzeile IATA- oder ICAO-Codes verwenden — normalisieren Sie diese über [Flughäfen](/docs/v31/airports), bevor Sie sie mit anderen Datensätzen verknüpfen.

## Fehlerantworten [#error-responses]

Validierungsfehler `422`: [Übersicht Routen](/docs/v31/routes#error-responses).

<APIPage document="&#x22;https://api.skylinkapi.com/v3.1/openapi.json&#x22;" operations="[{&#x22;path&#x22;:&#x22;/routes/callsign/{callsign}&#x22;,&#x22;method&#x22;:&#x22;get&#x22;}]" />
