Überblick
Die Launch Pad Partner-Integration ermöglicht es Ihrer Plattform, Wegplanung, Routenoptimierung und Feldoperationen einzubinden, ohne die zugrunde liegenden Systeme selbst aufbauen oder betreiben zu müssen. Vier Integrationsstufen reichen von einem einfachen Deep Link bis zur vollständigen Identitätsföderation, alle gestützt auf eine öffentliche REST-API und eine standardbasierte OAuth 2.0-Authentifizierung.
Jede Stufe funktioniert eigenständig. Die meisten Partner beginnen mit Stufe 1 (Ein-Klick-Start) und ergänzen später höhere Stufen, wenn sich ihre Anforderungen ändern. Die folgenden Abschnitte beschreiben, was Ihre Endnutzer erleben, was Sie als Unternehmen erhalten, die vollständige Aufschlüsselung aller vier Stufen sowie eine eingehende Betrachtung von Stufe 1. Der Abschnitt Technische Details weiter unten enthält die technische Spezifikation.
Entwicklerportal & API-Referenz
Vollständige REST-API-Referenz, Authentifizierungsmuster und Einstiegsleitfäden für die öffentliche Launch Pad-API. Greifen Sie darauf zurück, sobald Sie eine Stufe oberhalb von Stufe 1 zu planen beginnen, oder immer dann, wenn Sie Details auf Endpoint-Ebene benötigen, die über das hinausgehen, was diese Seite abdeckt.
Entwicklerportal besuchenWas Ihre Nutzer erleben
In Stufe 1 fungiert Launch Pad als Begleit-App zu Ihrem Produkt. Es öffnet sich in einem neuen Browserfenster, wobei die gesamte Einrichtung im Hintergrund erfolgt, sodass der Nutzer sofort mit der Arbeit beginnen kann.
Keine neue Registrierung
Nutzer legen kein Launch Pad-Konto an. Ihre Identität stammt aus Ihrem Produkt.
Keine zweite Anmeldung
Nutzer werden automatisch angemeldet, wenn sie Launch Pad aus Ihrer Anwendung öffnen.
Kein Datei-Upload für den Einstieg
Das richtige Feld und seine Feldgrenze sind bereits geladen, wenn der Nutzer ankommt. Der Umgang mit Feldgrenzen ist eine der größten Hürden, wenn Grower externe Farming-Tools einführen; eine Übergabe nach dem Muster "Hyperlink, anmelden, Datei hochladen" verschenkt den größten Teil des Werts, den eine Integration eigentlich liefern soll.
Rückweg (zunächst manuell)
Wenn Nutzer fertig sind, laden sie die Wegplan-Datei aus Launch Pad herunter und in Ihr Produkt hoch. Ein naheliegender Punkt, um dies später per Webhook Push oder einer Custom-Push-Integration zu automatisieren, indem Sie den API-Client wiederverwenden, den Sie bereits für Stufe 1 erstellen.
Was Sie als Partner erhalten
Entwickelt für Unternehmen und Engineering-Teams, die Precision-Routing einbinden möchten, ohne die dafür nötige Infrastruktur selbst aufzubauen.
Eine Admin-Identität
Ein einziger Admin-Nutzer ist Ihre Identität innerhalb von Launch Pad. Derselbe Nutzer hält den API-Schlüssel für Server-zu-Server-Aufrufe und kann sich direkt bei Launch Pad anmelden, um einen Kunden zu prüfen, zu auditieren oder zu unterstützen.
Konsolidierte Abrechnung
Die gesamte Nutzung wird unter einem einzigen Partner-Abrechnungskonto zusammengeführt. Endnutzer sehen in Launch Pad niemals Guthaben oder Rechnungen. Sie sind die abgerechnete Partei; die Preisgestaltung ist volumenbasiert und wird ausgehandelt.
Kundenübergreifende Admin-Ansicht
Ihr Admin sieht Nutzung, Pläne, Feldgrenzen und die Aktivität pro Nutzer für jeden Kunden, den Sie onboarden, an einem Ort. Das ist die Transparenz, die Sie benötigen, um Kunden zu unterstützen und die Abrechnung abzustimmen.
Vier Integrationsstufen
Jede Stufe funktioniert eigenständig. Die meisten Partner beginnen mit Stufe 1 und ergänzen später höhere Stufen, wenn sich ihre Anforderungen ändern.
Stufe 1: Ein-Klick-Start
Nutzer öffnen Launch Pad aus Ihrem Produkt, ohne sich zu registrieren, anzumelden oder eine Feldgrenze hochzuladen. Das richtige Feld ist bereits auf dem Bildschirm. Die fertige Wegplan-Datei kehrt über Ihren bestehenden Datei-Import-Ablauf in Ihr Produkt zurück.
Sie bauen: API-Aufrufe, um den Nutzer anzulegen, einen Start-Link anzufordern, die Feldgrenze zu senden und den Browser weiterzuleiten. Ihr bestehender Datei-Import-Ablauf akzeptiert die zurückgegebene Datei.
Stufe 2: API-Integration
Vollständiger programmatischer Zugriff auf Unternehmen, Grower, Betriebe, Felder, Feldgrenzen, Wegpläne und Routen über eine REST-API. Ereignisbenachrichtigungen bei wichtigen Aktionen.
Sie bauen: eine Synchronisationsschicht zwischen Ihrem Produkt und Launch Pad. Einen Webhook-Empfänger (bevorzugt) oder ein geplantes Polling für den Rückweg.
Stufe 3: Eingebettete Oberfläche
Launch Pad-Bildschirme werden innerhalb Ihres Produkts in einem iframe angezeigt. Ausgeblendete Navigation, in Ihren Markenfarben.
Sie bauen: einen iframe-Host. Einen kleinen Handshake, um Ihre Markenfarben zu übergeben.
Stufe 4: Identitätsföderation
"Mit Launch Pad anmelden" (oder umgekehrt) mithilfe von standardbasiertem OpenID Connect. Die Einwilligung der Endnutzer und die Kontoverknüpfung werden von Launch Pad verwaltet.
Sie bauen: eine OpenID Connect-Client-Bibliothek und einen Token-Speicher.
Wie Stufe 1 Reibung beseitigt
Warum es Stufe 1 gibt
Stufe 1 ist der Unterschied zwischen einer Integration und einem Hyperlink. Aus Sicht des Nutzers ist die Wegplanung Teil Ihres Produkts: Er klickt auf eine Schaltfläche, erledigt die Aufgabe und bringt das Ergebnis zurück.
Damit das funktioniert, beseitigt Stufe 1 die beiden Momente mit der höchsten Reibung bei der Einführung eines externen Farming-Tools:
- Kontoeinrichtung (Registrierung, Anmeldung, Unternehmensauswahl). Ihr Backend erstellt den Nutzer und meldet ihn im Hintergrund an.
- Hochladen der Feldgrenze. Ihr Backend sendet die Feldgrenze über die API an Launch Pad, bevor das Fenster geöffnet wird, sodass der Nutzer mit dem richtigen Feld bereits auf dem Bildschirm ankommt.
Der Umgang mit Feldgrenzen ist der wirkungsvollere der beiden Punkte. Er ist eine der größten Hürden, wenn Grower externe Farming-Tools einführen.
Kontomodell
Ein Stufe-1-Engagement ist wie folgt aufgebaut:
Ihre Identität in Launch Pad ist ein einziger Admin-Nutzer
Dieser Nutzer hält Ihren API-Schlüssel, verfügt über Admin-Einblick in jede Kunden-Organisation, die Sie anlegen, und kann sich zudem direkt bei Launch Pad anmelden, um einen Kunden zu prüfen, zu auditieren oder zu unterstützen. Endnutzer sehen diesen Nutzer niemals.
Jeder Kunde wird zu seiner eigenen Organisation innerhalb von Launch Pad
Befüllt mit den Endnutzern, die Sie anlegen. Ein Endnutzer sieht immer nur seine eigene Organisation; er sieht niemals die Daten von Kunden anderer Partner.
Die Abrechnung wird unter Ihrem Abrechnungskonto konsolidiert
Endnutzer sehen in Launch Pad niemals Guthaben oder Rechnungen; Sie sind die abgerechnete Partei.
Kundenübergreifende Admin-Ansicht
Ihr Admin-Nutzer sieht die Nutzung pro Kunden-Organisation, die Anzahl der Pläne und Feldgrenzen sowie die Aktivität pro Nutzer für jeden Kunden an einem Ort. Das ist die Transparenz, die Sie benötigen, um Kunden zu unterstützen und die Abrechnung abzustimmen.
Was Nutzer in Launch Pad sehen
Wenn ein Nutzer Launch Pad über Stufe 1 öffnet, treffen einige Launch Pad-Optionen nicht zu und werden ausgeblendet:
- Keine Passwortänderung, keine E-Mail- oder Kontoverwaltung, keine Registrierung. Der Nutzer hat kein Launch Pad-Passwort; die Anmeldung stammt aus Ihrem Produkt. Der Bildschirm zur Passwortänderung zeigt die Meldung "Passwort verwaltet von [Partner]" an, genauso wie Launch Pad bereits Nutzer behandelt, die sich über John Deere, Trimble oder CNH anmelden.
- Kein Unternehmenswechsler. Die Sitzung ist für diesen Besuch auf eine einzige Kunden-Organisation festgelegt.
- Die Abmeldung wird durch "Zurück zu [Partner]" ersetzt, was die Registerkarte schließt oder den Nutzer zu einer von Ihnen angegebenen URL zurücksendet, anstatt ihn auf der Launch Pad-Anmeldeseite zu belassen.
Das Hauptmenü für die Arbeit (Pläne, Wegplanung, Maschinen, Vergleichen) bleibt verfügbar, da Nutzer es benötigen, um die Arbeit zu erledigen. Nur Optionen für Identität, Abrechnung, Administration und Kontoverwaltung werden ausgeblendet.
Rückgabe eines Wegplans
Sobald ein Nutzer einen Wegplan in Launch Pad fertiggestellt hat, muss das Ergebnis zurück in Ihr Produkt gelangen. Vier Optionen stehen zur Verfügung, und sie funktionieren bei jeder Stufe. Push-Optionen werden gegenüber dem Polling deutlich bevorzugt.
Manueller Download / Upload
Der Nutzer klickt in Launch Pad auf Herunterladen und lädt die Datei dann in Ihr Produkt hoch.
Am besten, wenn: es der schnellste Weg zum Start ist.
Webhook Push
Launch Pad sendet jeden fertigen Plan an eine von Ihnen angegebene URL, signiert mit HMAC.
Am besten, wenn: Sie eine Echtzeit-Zustellung wünschen und einen generischen Webhook-Endpoint hosten können.
Custom Push
Verge schreibt eine einmalige Integration, die fertige Pläne in Ihre bestehende API liefert.
Am besten, wenn: Sie eine eingehende API haben, die Anmeldedaten akzeptiert, aber keinen Webhook-Empfänger bauen möchten.
Polling Pull
Ihr Backend ruft in regelmäßigen Abständen fertige Pläne von der Launch Pad-API ab.
Am besten, wenn: keine der Push-Optionen umsetzbar ist. Die Taktung muss konservativ sein.
Zwingende Voraussetzung für manuellen Download/Upload: Ihr Import-Ablauf muss mindestens ein Format akzeptieren, das Launch Pad ausgibt (ISOXML, Shapefile, KML oder partnerspezifische Formate; beim Scoping bestätigt). Ohne diese Überschneidung kann Stufe 1 keinen nutzbaren End-to-End-Ablauf liefern.
Technische Details
Ein nicht-technischer Leser kann hier aufhören. Der Rest dieser Seite ist die technische Spezifikation: End-to-End-Ablauf, Aufbau der Weiterleitungs-URL und Mechanik des Rückwegs.
End-to-End-Ablauf
Was Schritt für Schritt passiert, wenn ein Partner-Nutzer Launch Pad öffnet:
sequenceDiagram
autonumber
participant YU as Partner UI
participant YB as Partner-Backend
participant LA as Launch Pad API
participant LU as Launch Pad UI
YU->>YB: Nutzer klickt auf "Wegplan öffnen"
note over YB,LA: Schritt 1: LP-Nutzer anlegen, falls nicht vorhanden
YB->>LA: POST /api/users (idempotent auf externalUserId)
YB->>LA: POST /api/company-accesses (idempotent auf Nutzer + Org)
note over YB,LA: Schritt 2 (optional): eine Feldgrenze senden
YB->>LA: POST /api/vBoundary/upsert
note over YB,LA: Schritt 3: einen Start-Code anfordern
YB->>LA: POST /api/partner/launch ({ userId, companyId, returnUrl })
LA-->>YB: { code, expiresInSec: 600 }
YB-->>YU: 302 Weiterleitung zu https://your-app.vergeag.com/launch?code=...
YU->>LU: Browser navigiert zu /launch?code=...
LU->>LA: POST /api/partner/launch/{code}/exchange
LA-->>LU: JWT + refresh token
note over LU: JWT in localStorage speichern,
Code aus URL entfernen,
zu returnUrl navigieren
Zentrale Eigenschaften
- Sie authentifizieren sich Server-zu-Server mit einer langlebigen Anmeldeinformation (dem API-Schlüssel Ihres Admin-Nutzers). Der Browser sieht den API-Schlüssel niemals.
- Der Browser sieht in der URL nur einen kurzlebigen, einmalig verwendbaren, undurchsichtigen Code (10 Minuten Lebensdauer, beim Eintausch verbraucht).
- Der Eintausch-Endpoint erfordert keine Anmeldung; der Code selbst ist die Anmeldeinformation. Die Launch Pad-Oberfläche ruft ihn auf, sobald der Nutzer ankommt.
- Launch Pad gibt eine normale Nutzersitzung aus (JWT + refresh token), speichert sie in localStorage und leitet den Nutzer zu der von Ihnen angegebenen URL.
Ausrichtung an Standards
Das Muster ist der OAuth 2.0 Authorization Code Grant, wobei der interaktive Einwilligungsbildschirm durch einen Server-zu-Server-Autorisierungsaufruf aus Ihrem Backend ersetzt wird. Die moderne OAuth-Terminologie nennt diese Back-Channel-Variante den Pre-Authorized Code Flow (eingeführt in der Spezifikation OpenID for Verifiable Credential Issuance).
Der kurzlebige Code in der URL und der Back-Channel-Eintausch gegen ein JWT verhalten sich genau wie im klassischen OAuth; die Einwilligung wird durch die Partnerschaftsvereinbarung anstatt durch einen Einwilligungsdialog bei jedem Start hergestellt.
Wie die Weiterleitungs-URL aussieht
Was der Browser des Nutzers empfängt (in einer Zeile, als Location:-Header):
https://your-app.vergeag.com/launch?code=lc_R3w9q-Kx7VtNm2bH8sLpYj4eQ6gZc1aXfU0dT5nMoP&returnUrl=%2Fpath-planning%2Fboundary%2Fb3f47e1c-8a02-4d59-9c6e-2f7a8b1d6e09
Zur besseren Lesbarkeit dekodiert:
| Komponente | Wert | Hinweise |
|---|---|---|
| Origin | https://your-app.vergeag.com |
Verge stellt die Produktions-Origin während des Onboardings bereit. HTTPS ist erforderlich; einfaches HTTP wird abgelehnt. |
| Pfad | /launch |
Öffentliche, nicht authentifizierte Route. Keine vorherige Launch Pad-Sitzung erforderlich. |
code |
lc_R3w9q-... |
Das Präfix lc_ kennzeichnet diesen Wert als Start-Code (unterscheidbar von einem LP--API-Schlüssel in den Logs). Der Payload besteht aus 32 Bytes kryptografischer Zufallsdaten, base64url-codiert. Einmalig verwendbar, 10 Minuten TTL, bei der Ausgabe an einen Nutzer, eine Organisation und eine returnUrl gebunden. |
returnUrl |
/path-planning/boundary/... |
Der relative Launch Pad-Pfad, zu dem der Nutzer geleitet wird, nachdem das JWT ausgegeben wurde. Verwendet Routensegmente (z. B. /path-planning/boundary/:id), damit die Feldgrenze automatisch geladen wird. Muss mit / beginnen. Absolute URLs, protokollrelative //host-URLs und \ werden bei der Ausgabe abgelehnt. |
Was die Launch Pad-Oberfläche beim Ankommen tut
Sie implementieren dies nicht; es ist als Referenz aufgeführt, damit Sie nachvollziehen können, was Ihre Nutzer zwischen dem Klick und dem dargestellten Feld sehen:
- Liest
codeundreturnUrlaus der Query-Zeichenfolge. - Tauscht den Code bei Launch Pad gegen eine Nutzersitzung ein.
- Meldet den Nutzer bei der richtigen Kunden-Organisation an.
- Entfernt den Code aus der Adressleiste, damit er nicht im Browserverlauf verbleibt.
- Sendet den Nutzer zu der von Ihnen angegebenen
returnUrl.
Wenn code fehlt, abgelaufen oder bereits verwendet ist, landet der Nutzer auf einer Fehlerseite, die ihn auffordert, zu Ihrem Produkt zurückzukehren und es erneut zu versuchen.
Rückgabe-Optionen im Detail
Manueller Download / Upload
Der Nutzer klickt in Launch Pad auf Herunterladen, die Datei landet auf seinem Gerät, und er lädt sie über Ihren bestehenden Datei-Import-Ablauf in Ihr Produkt hoch. Standard für Stufe 1. Keine neue Infrastruktur auf Ihrer Seite. Erfordert, dass Ihr Import-Ablauf mindestens ein Format akzeptiert, das Launch Pad ausgibt (ISOXML, Shapefile, KML oder partnerspezifische Formate).
Webhook Push
Launch Pad sendet HTTPS-POSTs an eine von Ihnen angegebene URL. Jede Anfrage trägt eine HMAC-SHA256-Signatur, berechnet gegen ein gemeinsames Geheimnis, das Verge beim Onboarding ausgibt. Sie überprüfen die Signatur, verarbeiten den Payload und antworten innerhalb von 10 Sekunden mit einem 2xx.
Zentrale Eigenschaften
- Sie authentifizieren sich für diesen Ablauf nicht bei Launch Pad. Kein OAuth-Handshake, kein JWT, kein Launch Pad-API-Schlüssel auf Ihrer Seite. Das gemeinsame HMAC-Geheimnis ist das gesamte Authentifizierungsmodell.
- Ein Geheimnis pro Abonnement, rotierbar. Wird einmal beim Onboarding ausgegeben. Die Rotation nutzt ein Überlappungsfenster mit zwei Geheimnissen, damit Zustellungen während der Umstellung nicht fehlschlagen.
- Die Dateizustellung skaliert mit der Payload-Größe. Kleine Artefakte (unter 1 MB) werden inline als base64 im Webhook-Body übertragen. Größere Artefakte werden als kurzlebige vorsignierte Download-URL im Body übertragen; Sie führen ein GET auf diese URL direkt aus, ohne dass Launch Pad-Anmeldedaten erforderlich sind.
-
At-least-once-Zustellung. Launch Pad versucht es mit exponentiellem Backoff bei Nicht-2xx-Antworten und Timeouts erneut. Jedes Ereignis trägt einen
Verge-Webhook-Id-Header, damit Sie deduplizieren können.
Was Sie bauen
- Einen öffentlichen HTTPS-Endpoint, der POSTs akzeptiert. Über die Überprüfung der Signatur hinaus ist auf dem Endpoint keine Anmeldung oder Sitzung erforderlich.
- HMAC-Überprüfung mithilfe des gemeinsamen Geheimnisses (etwa zehn Zeilen Code in jeder Sprache).
- Eine Idempotenzprüfung auf
Verge-Webhook-Id, damit ein erneuter Versuch niemals doppelt verarbeitet. - Eine schnelle 2xx-Antwort. Verarbeiten Sie aufwendige Arbeit asynchron, damit Timeouts keine Retry-Stürme auslösen.
Was Verge betreibt
- Den ausgehenden Emitter und die Retry-Warteschlange.
- Dead-Letter-Handling für dauerhaft fehlgeschlagene Zustellungen.
- Eine Admin-Oberfläche, in der Sie Zustellungsprotokolle einsehen und fehlgeschlagene Ereignisse erneut abspielen können.
- Einen veröffentlichten Satz ausgehender IP-Bereiche, die Sie an der Firewall auf eine Allowlist setzen können.
Custom Push (Engineering pro Partner)
Wenn Sie bereits eine authentifizierte eingehende API haben, aber keinen generischen Webhook-Empfänger bauen möchten, kann Verge eine einmalige Push-Integration schreiben, die Ihre API direkt aufruft. Sie teilen sichere Anmeldedaten mit Verge (vorzugsweise einen API-Schlüssel); der Emitter von Verge authentifiziert sich bei jedem Push bei Ihnen.
Diese Option existiert aufgrund einer Asymmetrie in der Vertrauensrichtung. Bei großen FMIS-Partnern (John Deere, Trimble, CNH) authentifizieren sich Endnutzer mit ihrem OEM-Konto bei Launch Pad, sodass Launch Pad bereits über sichere Tokens verfügt, um Daten zurückzuschicken. Launch Pad betreibt dieses OEM-Push-Modell heute. Bei einer Stufe-1-Integration ist die Vertrauensrichtung umgekehrt (Sie authentifizieren sich bei Launch Pad), sodass Launch Pad keine vorhandene Anmeldeinformation zu Ihrem System hat. Custom Push schließt diese Lücke mit einer maßgeschneiderten Vereinbarung.
Abwägungen
- Maßgeschneidertes Engineering auf Verges Seite. Die API jedes Partners ist anders. Dies ist Arbeit pro Partner, kein generisches Feature, und die Preisgestaltung spiegelt das wider.
- Vertrauenswürdige Partnervereinbarung. Sie teilen einen API-Schlüssel (oder eine gleichwertige sichere Anmeldeinformation) mit Verge und betreiben diese Anmeldeinformation auf Ihrer Seite.
- Gemeinsame Wartung. Beide Seiten halten die Integration über API-Änderungen und Rotationen von Anmeldeinformationen hinweg funktionsfähig.
Geeignet, wenn Sie eine bestehende eingehende API haben, keinen generischen Webhook-Empfänger bauen möchten und ausreichend engagiert sind, um die Arbeit pro Partner zu finanzieren.
Polling Pull (sparsam einsetzen; Push wird bevorzugt)
Wenn keine der Push-Optionen umsetzbar ist, kann Ihr Backend in regelmäßigen Abständen die Launch Pad-API aufrufen (mit demselben X-API-KEY, der bereits für das Provisioning ausgegeben wurde), um Wegpläne abzurufen, die seit der letzten Abfrage veröffentlicht oder aktualisiert wurden.
Behandeln Sie dies als letztlich konsistente Batch-Abholung, nicht als Echtzeit-Zustellung. Eine typische Taktung ist stündlich oder seltener. Hochfrequentes Polling, das einem Busy-Wait gegen eine Nutzeraktion ähnelt, wird nicht unterstützt und kann einem Rate Limiting unterliegen. Stundenlanges kontinuierliches Polling in Erwartung eines einzelnen vom Nutzer ausgelösten Ereignisses ist genau das Muster, das diese Option nicht bedient.
- Was Sie bauen: eine Polling-Schleife mit konservativer Taktung, Deduplizierung anhand der Wegplan-ID und Aufnahme in Ihren Dateispeicher.
- Abwägung: erhebliche Latenz zwischen Nutzeraktion und Eintreffen der Daten; zusätzliche Last auf der Launch Pad-API.
- Push wird deutlich bevorzugt. Verwenden Sie Polling nur dann, wenn weder Webhook Push noch Custom Push umsetzbar ist.
Höhere Stufen
Diese Seite ist die vollständige Referenz für Stufe 1. Für höhere Stufen:
Stufe 2 (API-Integration)
Das öffentliche API-Schema finden Sie unter vergeag.com/developers. Sobald Stufe 1 eingerichtet ist, können Sie die Integration erweitern, indem Sie mehr von der API direkt aufrufen, mit demselben API-Schlüssel, den Sie bereits halten.
Stufe 3 (Eingebettete Oberfläche)
Kontaktieren Sie Verge zum Scoping. Die eingebettete Oberfläche umfasst Vereinbarungen zu Marken-Tokens, die Einrichtung eines iframe-Hosts und einen Build der Oberfläche pro Partner. Sie ist nicht im Self-Service verfügbar.
Stufe 4 (Identitätsföderation)
Kontaktieren Sie Verge zum Scoping. Die Identitätsföderation erfordert eine standardbasierte OIDC-Client-Registrierung und eine Föderationsvereinbarung zwischen beiden Seiten.