Betreibst du einen eigenen Observer? Dann kannst du deine Routen hier melden und bekommst dafür Links auf diese Karte.
Dein Bot beantwortet einen Funktest nicht selbst. Er meldet, was er empfangen hat, und bekommt von hier den fertigen Link zurück, den er dann in den Testkanal schreibt. So entstehen alle Links an einer Stelle, und dahinter liegt immer dieselbe Karte.
Zusätzlich kann dein Bot die Adverts weitergeben, die er hört. Damit kennen wir Stationen aus deiner Gegend, die sich hier nie melden, und die Karten werden für alle vollständiger.
Du bekommst eine Mail mit einem Bestätigungslink. Erst danach wird der Schlüssel erzeugt. Ohne Bestätigung passiert nichts.
Schick die Stationen aus dem Funkpaket in Laufrichtung, vom Absender zu deinem Observer. Zurück kommt der fertige Link.
POST https://ping.funkmesh.de/api/route
Content-Type: application/json
{
"observerId": "<dein Public Key>",
"apiKey": "<dein Schlüssel>",
"route": ["A1B2", "C3D4", "E5F6"],
"time": 1756600000,
"scope": "de-nw",
"snr": 6.5,
"rssi": -91,
"sender": "DE-NW-ME Achim",
"packetHash": "2b48bfab47c91112",
"observer": { "name": "Observer Münster", "lat": 51.9607, "lon": 7.6261 }
}
Pflicht sind observerId, apiKey und
route. Jede Station ist ein bis vier Byte als Hex, höchstens 64 Stationen.
time ist eine Unix-Zeit in Sekunden, ohne Angabe gilt jetzt. Die Angaben unter
observer gelten nur für diese eine Route. Antwort:
{ "id": "abc123", "link": "https://ping.funkmesh.de/abc123" }sender ist der Name der Station, die den Test geschickt hat.
Damit erscheint der Test bei ihr in der Suche. packetHash
ist der Paket-Hash des Funktests. Meldungen mehrerer Observer mit demselben Hash werden
zusammengeführt. Beide Felder sind freiwillig.
Die rohen Advert-Pakete als Hex, so wie das Gerät sie ausgibt.
POST https://ping.funkmesh.de/api/adverts
Content-Type: application/json
{
"observerId": "<dein Public Key>",
"apiKey": "<dein Schlüssel>",
"adverts": ["1000...", "1000..."]
}
Höchstens 200 je Aufruf. Die Signatur jedes Adverts wird geprüft, ungültige werden verworfen. Antwort:
{ "accepted": 12, "new": 3, "rejected": 0 }Fehler stehen im Feld error.
| Antwort | Bedeutung |
|---|---|
400 | Angaben unvollständig oder unplausibel, der Text nennt das Feld |
401 | Schlüssel unbekannt, gesperrt, oder er passt nicht zur observerId |
503 | Es ließ sich keine freie Kennung finden, bitte später erneut |