FITsociety Help DE

InBody mit FITsociety verbinden

12 Min. Lesezeit

Dieser Artikel dient als vollständige Anleitung für Support, Implementierung und Kunden, die InBody über LookinBody Web/LB Web mit FITsociety verbinden möchten. Veröffentlichen Sie diesen Artikel erst, nachdem die InBody-Integration für die richtige Kundengruppe sichtbar gemacht wurde.

Kurz zusammengefasst

Mit der InBody-Integration kann FITsociety Körpermessungen von einem InBody-Gerät abrufen und beim richtigen Mitglied speichern. Die Integration verwendet kein OAuth. Es gibt daher keine Schaltfläche „Mit InBody anmelden“, über die ein Kunde selbst zustimmt. Pro Unternehmen wird ein InBody/LB Web-Konto verbunden mit:

  • einem InBody-Kontonamen/einer Konto-ID;

  • einem InBody-API-Schlüssel;

  • einer festen FITsociety-Webhook-URL;

  • einem Webhook-Secret;

  • einer IP-Freigabeliste bei InBody für unsere ausgehenden API-Aufrufe.

Nach der Einrichtung kann FITsociety:

  • Mitglieder anhand ihrer Telefonnummer automatisch mit InBody-Benutzern verknüpfen, mit zusätzlicher Prüfung von E-Mail-Adresse und Geburtsdatum, sofern InBody diese zurückgibt;

  • neue Messungen automatisch verarbeiten, sobald InBody einen Webhook sendet;

  • alle bestehenden InBody-Messungen für verknüpfte Mitglieder abrufen;

  • Werte wie Gewicht, BMI, Körperfettanteil, Fettmasse, Muskelmasse, Gesamtkörperwasser und BMR in den bestehenden FITsociety-Messungen speichern;

  • ein PDF-Ergebnis beim Mitglied speichern, wenn InBody eine PDF-URL oder eine Base64-PDF in der API-Antwort mitsendet.

Wichtig: Die aktuelle InBody-API-Dokumentation enthält keinen separaten PDF-/Berichts-Endpunkt. PDFs können nur automatisch gespeichert werden, wenn InBody die PDF selbst in der Messdatenantwort mitsendet.

Für wen ist diese Integration gedacht?

Die Integration ist für Unternehmen mit einem eigenen InBody/LB Web-Konto gedacht, die InBody-Messungen in FITsociety beim richtigen Mitglied sehen möchten.

Die Integration ist unternehmensspezifisch. Jedes FITsociety-Unternehmen erhält eine eigene Installation, eine eigene API-Schlüssel-/Kontokonfiguration und eine eigene Webhook-URL. Dadurch bleiben die Daten pro Unternehmen getrennt.

Was benötigen Sie vor der Verknüpfung?

Stellen Sie diese Punkte sicher, bevor Sie die Integration aktivieren.

Voraussetzung

Erläuterung

InBody/LB Web-Konto

Der Kontoname/die Konto-ID des Kunden in LookinBody Web.

InBody-API-Schlüssel

Ein von InBody oder in LB Web erstellter API-Schlüssel.

InBody-API-Zugriff

Das Konto muss Zugriff auf die Web-API-Endpunkte haben.

IP-Freigabeliste bei InBody

InBody akzeptiert API-Aufrufe nur von registrierten IP-Adressen.

Webhook-Einstellung in InBody

Die FITsociety-Webhook-URL muss in LB Web/InBody eingerichtet werden.

Mitglieder mit Telefonnummer

Für die automatische Verknüpfung verwendet FITsociety Telefonnummern.

Vorzugsweise E-Mail-Adresse und Geburtsdatum

Wenn InBody diese zurückgibt, verwendet FITsociety sie zur zusätzlichen Prüfung, um falsche Zuordnungen zu vermeiden.

IP-Freigabeliste

Laut eigener Rückmeldung unterstützt InBody keine Freigabe anhand von Hostnamen. api.fitsociety.io kann daher nicht als Hostname für ausgehende API-Aufrufe freigegeben werden.

Bei InBody muss die feste ausgehende IP-Adresse von FITsociety freigegeben werden:

3.123.63.205/32

Wo richten Sie InBody in FITsociety ein?

Gehen Sie in FITsociety zu:

Bedrijfsinstellingen > Plugins / Integraties > InBody

Direkter Pfad:

/company/settings/plugins/inbody

Die Seite heißt InBody einrichten und enthält die nachfolgend erläuterten Felder und Schaltflächen.

Felder auf der InBody-Einstellungsseite

Konto

Geben Sie hier den InBody/LB Web-Kontonamen oder die Konto-ID ein.

Beispiele:

<inbody-accountnaam><lbweb-account-id>

Verwenden Sie genau den von InBody bereitgestellten Kontonamen. Ist dieses Feld falsch ausgefüllt, kann FITsociety die InBody-API nicht aufrufen.

API-Schlüssel

Geben Sie hier den API-Schlüssel von InBody ein.

Der API-Schlüssel wird verschlüsselt gespeichert. Nach dem Speichern wird er in der Oberfläche nicht mehr angezeigt. Muss der Schlüssel ersetzt werden, geben Sie einen neuen API-Schlüssel ein und klicken Sie erneut auf Einrichtung speichern.

API-Basis-URL

Normalerweise lautet sie:

https://eur.developers.lookinbody.com

Für Sandbox/Tests lautet sie:

https://eur.developers.lookinbody.com/sandbox

Verwenden Sie für einen echten Kunden normalerweise die Live-URL.

Umgebung

Wählen Sie:

  • Live für echte Kundendaten;

  • Test für Sandbox-/Testdaten.

Achtung: Im InBody-Sandboxmodus können einige Lese-Endpunkte Demodaten liefern, während bestimmte Aktionen zum Erstellen, Aktualisieren oder Löschen dennoch echte LB Web-Daten ändern können. Verwenden Sie den Testmodus daher nur bewusst.

Schaltflächen auf der InBody-Einstellungsseite

Einrichtung speichern

Diese Schaltfläche speichert die InBody-Konfiguration:

  • Konto-ID;

  • API-Schlüssel;

  • API-Basis-URL;

  • Umgebung;

  • Installationsdaten;

  • Webhook-Secret, falls noch keines existiert.

Nach dem Speichern erstellt FITsociety eine unternehmensspezifische Webhook-URL und ein Webhook-Secret. Das Webhook-Secret wird nur unmittelbar nach dem Erstellen oder Erneuern angezeigt. Kopieren Sie es sofort in die InBody-Webhook-Einstellungen.

Webhook-Secret erneuern

Verwenden Sie diese Schaltfläche nur, wenn das bestehende Webhook-Secret ersetzt werden muss.

Nach dem Erneuern funktioniert das alte Secret nicht mehr. Die Webhook-Einstellung in InBody muss dann ebenfalls mit dem neuen Secret aktualisiert werden.

Mitglieder automatisch verknüpfen

Diese Schaltfläche versucht, FITsociety-Mitglieder automatisch mit InBody-Benutzern zu verknüpfen.

FITsociety verwendet dafür die Telefonnummer des Mitglieds und fragt InBody über den offiziellen Endpunkt ab:

POST /User/GetUser

Die Telefonnummer wird in mehreren Varianten ausprobiert. Zum Beispiel:

062436680562436680531624366805+31624366805310624366805+310624366805003162436680500310624366805

Ein Mitglied wird nur automatisch verknüpft, wenn die Zuordnung sicher und eindeutig ist:

  • eine Telefonnummer ist vorhanden;

  • dieselbe Telefonnummer gehört nicht zu mehreren lokalen Mitgliedern;

  • InBody gibt genau einen Benutzer zurück;

  • gibt InBody eine E-Mail-Adresse zurück, muss diese mit der FITsociety-E-Mail-Adresse übereinstimmen;

  • gibt InBody ein Geburtsdatum zurück, muss dieses mit dem FITsociety-Geburtsdatum übereinstimmen.

Bei Zweifeln wird das Mitglied nicht automatisch verknüpft; der Support oder der Coach muss dies prüfen.

Alle Messungen abrufen

Diese Schaltfläche ruft alle verfügbaren InBody-Messungen für verknüpfte Mitglieder ab.

Was technisch geschieht:

  1. Wird die Schaltfläche auf Unternehmensebene verwendet, versucht FITsociety zuerst, Mitglieder automatisch zu verknüpfen.

  2. Anschließend werden alle verknüpften InBody-Benutzer verarbeitet.

  3. Pro verknüpftem Benutzer ruft FITsociety alle verfügbaren InBody-Zeitstempel ab über:

POST /InBody/GetDatetimesByID

  1. Pro Zeitstempel ruft FITsociety die vollständigen Messdaten ab über:

POST /InBody/GetFullInBodyDataByID

  1. FITsociety wandelt den InBody-Zeitstempel in einen UTC-Messzeitpunkt um.

  2. FITsociety ordnet die Werte bestehenden FITsociety-Messtypen zu.

  3. FITsociety speichert die Messungen beim Mitglied.

  4. Enthält die Antwort eine PDF, wird diese bei den Dokumenten des Mitglieds gespeichert.

Diese Schaltfläche erstellt keine doppelten Messungen. Bestehende InBody-Messungen werden per Upsert anhand folgender Angaben gespeichert:

  • Unternehmen;

  • Mitglied;

  • Messtyp;

  • Messzeitpunkt;

  • Quelle inbody.

War ein früherer InBody-Import unvollständig, kann eine erneute vollständige Synchronisierung die Messwerte ergänzen oder aktualisieren, ohne doppelte Zeilen zu erstellen.

Webhook in InBody/LB Web einrichten

InBody muss nach jeder Messung einen Webhook an FITsociety senden. Der Webhook ist lediglich ein Auslöser. FITsociety vertraut dem Webhook-Body nicht als endgültigen Messdaten, sondern verwendet den Webhook, um anschließend die offizielle InBody-API aufzurufen.

Webhook Name

Verwenden Sie einen eindeutigen Namen, zum Beispiel:

FITsociety - <bedrijfsnaam>

Webhook URL

Verwenden Sie die Webhook-URL, die FITsociety auf der InBody-Einstellungsseite anzeigt.

Ohne Query-Secret sieht sie so aus:

https://api.fitsociety.io/public/v1/webhooks/inbody/<installatiesleutel>

Unterstützt InBody keine benutzerdefinierten Header, verwenden Sie die Webhook-URL mit dem Secret in der URL:

https://api.fitsociety.io/public/v1/webhooks/inbody/<installatiesleutel>?secret=<webhook-secret>

Verwenden Sie immer die URL aus FITsociety selbst. Tippen Sie den Installationsschlüssel nicht unnötig manuell ab.

Custom Header

Wenn InBody benutzerdefinierte Header unterstützt, verwenden Sie vorzugsweise ein Header-Secret statt eines Query-Secrets.

Header name:

x-fitsociety-inbody-secret

Header value:

<webhook-secret>

Das Webhook-Secret stammt aus FITsociety und wird nur angezeigt, nachdem Sie die Einrichtung speichern oder das Secret erneuern.

Was geschieht nach einer neuen InBody-Messung?

  1. Das Mitglied stellt sich auf das InBody-Gerät.

  2. Das Mitglied gibt auf dem Gerät seine Telefonnummer oder InBody-Benutzer-ID ein, abhängig von der Einrichtung des InBody-Kontos.

  3. InBody verarbeitet die Messung in LB Web.

  4. InBody sendet einen Webhook an FITsociety.

  5. FITsociety prüft den Installationsschlüssel und das Webhook-Secret.

  6. FITsociety gibt sofort 202 Accepted an InBody zurück.

  7. Im Hintergrund ruft FITsociety die Messdaten über die InBody-API ab.

  8. Enthält der Webhook eine userID und datetimes , importiert FITsociety genau diese Messung.

  9. Enthält der Webhook keinen bestimmten Zeitstempel, prüft FITsociety die heutigen Messungen für verknüpfte Mitglieder.

  10. FITsociety speichert die Werte in den Fortschrittsmessungen des Mitglieds.

  11. Die Messungen werden im Mitgliederprofil unter Fortschritt/Messung sichtbar, sofern der Messtyp für dieses Mitglied aktiv sichtbar ist. Neu importierte InBody-Messtypen werden automatisch zu den Mitgliedereinstellungen hinzugefügt.

Welche Messwerte rufen wir ab?

FITsociety ruft Werte ab, wenn InBody diese in der vollständigen Datenantwort mitsendet und ein passender Messtyp existiert.

InBody-Wert

FITsociety-Messtyp

Einheit

Weight

Gewicht

kg

BMI / BMI(BodyMassIndex)

BMI

keine

PBF / PBF(PercentBodyFat)

Körperfettanteil

%

BFM / BFM(BodyFatMass)

Fettmasse

kg

VFL / VFL(VisceralFatLevel)

Viszeralfett

Anbieterwert

FFM / FFM(FatFreeMass)

Fettfreie Masse / Lean Body Mass

kg

SMM / SMM(SkeletalMuscleMass)

Muskelmasse / Skelettmuskelmasse

kg

TBW / TBW(TotalBodyWater)

Gesamtkörperwasser

kg

Protein

Proteinmasse

kg

Minerals

Mineralstoffgehalt

kg

BMR / BMR(BasalMetabolicRate)

Grundumsatz

kcal

BodyAge / metabolicAge

Stoffwechselalter

Jahre

Nicht jedes InBody-Gerät oder -Konto gibt immer alle Werte zurück. Sendet InBody einen Wert nicht mit, kann FITsociety ihn nicht speichern.

Wo werden die Messungen gespeichert?

Die Werte werden als gewöhnliche FITsociety-Messungen beim Mitglied gespeichert.

Die Messungen haben folgende Quelle:

inbody

Die Notiz zur Messung lautet:

Imported from InBody

Die Messungen erscheinen anschließend wie andere Messwerte in der Fortschrittsansicht des Mitglieds.

Wie funktioniert die Verknüpfung von Mitgliedern?

FITsociety speichert pro Mitglied eine externe InBody-Verknüpfung. Diese Verknüpfung besteht aus der InBody- userID.

Die automatische Verknüpfung funktioniert so:

  1. FITsociety prüft alle Mitglieder des Unternehmens.

  2. Pro Mitglied werden Telefonnummernvarianten erstellt.

  3. FITsociety fragt InBody pro Telefonnummernvariante nach dem Benutzer.

  4. Stimmt genau ein InBody-Benutzer überein, wird dieser Kandidat geprüft.

  5. Weichen E-Mail-Adresse oder Geburtsdatum ab, erfolgt keine Verknüpfung.

  6. Bei einer sicheren Übereinstimmung wird die InBody- userID beim Mitglied gespeichert.

In folgenden Fällen erfolgt keine automatische Verknüpfung:

  • keine Telefonnummer;

  • mehrere lokale Mitglieder mit derselben Telefonnummer;

  • mehrere InBody-Benutzer für dieselbe Telefonnummer;

  • abweichende E-Mail-Adresse;

  • abweichendes Geburtsdatum;

  • kein InBody-Benutzer gefunden.

Was geschieht, wenn Mitglieder bereits verknüpft sind?

Hat ein Mitglied bereits eine aktive InBody-Verknüpfung, bleibt diese bestehen. Die automatische Verknüpfung zählt dieses Mitglied als bereits verknüpft und überschreibt die Verknüpfung nicht ohne Weiteres.

Eine manuelle oder technische Verknüpfung kann erneut gespeichert werden, wenn der Support die InBody-Benutzer-ID bewusst ändert.

Was geschieht, wenn Messungen bereits existieren?

FITsociety erstellt für denselben Messtyp und denselben Messzeitpunkt keine doppelten InBody-Messungen.

Beim erneuten Import verwendet FITsociety einen Upsert. Das bedeutet:

  • existiert die InBody-Messung noch nicht, wird sie erstellt;

  • existiert die InBody-Messung bereits, wird die bestehende Zeile aktualisiert;

  • fehlende Messtypen können nachträglich hinzugefügt werden;

  • eine PDF kann später noch verknüpft werden, wenn InBody sie nachträglich bereitstellt.

Dies ist für historische Importe und Korrekturen wichtig.

PDFs von InBody-Messungen

Leider ist dies derzeit nicht möglich. Wir haben bei InBody bereits eine Anfrage gestellt. Wenn Sie die Ergebnisse digital mit Ihren Kunden teilen möchten, können Sie sie derzeit manuell bei den Dokumenten ablegen. Sie können auch InBody kontaktieren und fragen, ob dies künftig unterstützt wird.

Was bietet die Integration nicht?

Die aktuelle InBody-Integration bietet Folgendes nicht:

  • keinen OAuth-Ablauf, bei dem Kunden sich selbst über InBody anmelden;

  • keine automatische Registrierung von FITsociety als Connected App in LB Web;

  • keine automatische Konfiguration des Webhooks in InBody;

  • keine Garantie für verfügbare PDFs, solange InBody keine PDF in der API-Antwort mitsendet;

  • keine Synchronisierung von Zahlungen oder Abonnements;

  • keine gemeinsame Nutzung von Daten zwischen verschiedenen FITsociety-Unternehmen.

Sicherheit und Datentrennung

Die Integration ist pro Unternehmen getrennt:

  • jedes Unternehmen hat eine eigene InBody-Installation;

  • jede Installation hat einen eigenen Installationsschlüssel;

  • jede Installation hat ein eigenes Webhook-Secret;

  • API-Schlüssel werden verschlüsselt gespeichert;

  • Webhook-Secrets werden als Hash gespeichert;

  • Messdaten werden mit der richtigen companyId und clientId;

  • Importe werden getrennt nach Unternehmen, Installation, InBody-Benutzer und Zeitstempel protokolliert.

Fehler bei der Webhook- oder Importverarbeitung werden an Sentry gemeldet, ohne unverschlüsselte API-Schlüssel, Webhook-Secrets oder Authorization-Header.

Häufige Probleme

Die InBody-Integration ist nicht sichtbar

Die InBody-Integration kann privat oder im Pilotbetrieb sein. Prüfen Sie, ob das Unternehmen für den InBody-Anbieter freigegeben ist und ob die Integration in der Pluginliste verfügbar ist.

InBody meldet beim Webhook-Test „Connection failed“

Prüfen Sie:

  • ist die Webhook-URL exakt so eingetragen, wie FITsociety sie anzeigt?

  • verwendet der Kunde https://api.fitsociety.io/... und nicht die Elastic-Beanstalk-Backend-URL?

  • ist das Webhook-Secret richtig eingetragen?

  • unterstützt InBody benutzerdefinierte Header? Falls nicht, verwenden Sie die URL mit ?secret=<webhook-secret>;

  • wurde das Webhook-Secret erneuert, ohne InBody zu aktualisieren?

  • blockiert InBody oder eine Netzwerkschicht den ausgehenden Test?

Achtung: Die IP-Freigabeliste wird für unsere ausgehenden Aufrufe an InBody benötigt. Der Webhook-Aufruf von InBody an FITsociety verwendet die Webhook-URL.

Es werden keine Mitglieder verknüpft

Mögliche Ursachen:

  • Mitglieder haben in FITsociety keine Telefonnummer;

  • Telefonnummern sind in FITsociety falsch oder doppelt eingetragen;

  • InBody verwendet eine andere Telefonnummer/ein anderes Benutzertoken;

  • InBody gibt keinen Benutzer zurück über /User/GetUser;

  • E-Mail-Adresse oder Geburtsdatum weichen ab.

Es werden keine Messungen abgerufen

Prüfen Sie:

  • wurde die InBody-Einrichtung gespeichert?

  • ist der API-Schlüssel richtig?

  • ist die Konto-ID richtig?

  • ist die feste ausgehende IP von FITsociety bei InBody freigegeben?

  • sind Mitglieder verknüpft?

  • sind in InBody Messungen für diese verknüpften Benutzer vorhanden?

  • gibt /InBody/GetDatetimesByID Zeitstempel zurück?

Nur das Gewicht wird übertragen

Dies kann geschehen, wenn InBody andere Feldnamen als erwartet zurückgibt oder in den Mitgliedereinstellungen nur das Gewicht sichtbar ist.

FITsociety ordnet inzwischen auch die vollständigen Datenschlüssel zu, wie BMI(BodyMassIndex), PBF(PercentBodyFat), SMM(SkeletalMuscleMass) und BMR(BasalMetabolicRate). Führen Sie anschließend erneut Alle Messungen abrufen aus, um bestehende Importzeitpunkte zu ergänzen.

Support-Checkliste für einen neuen Kunden

Verwenden Sie diese Checkliste bei einer neuen InBody-Installation.

  1. Prüfen Sie, ob der InBody-Anbieter für das Unternehmen sichtbar/verfügbar ist.

  2. Bitten Sie den Kunden oder InBody um den LB Web-Kontonamen/die Konto-ID.

  3. Bitten Sie den Kunden oder InBody um den API-Schlüssel.

  4. Lassen Sie InBody die ausgehende IP von FITsociety freigeben:

3.123.63.205/32

  1. Öffnen Sie in FITsociety die InBody-Pluginseite.

  2. Geben Sie Konto ein.

  3. Geben Sie API-Schlüssel ein.

  4. Lassen Sie API-Basis-URL auf Live stehen, sofern es sich nicht um eine Sandbox handelt.

  5. Wählen Sie Live für einen echten Kunden.

  6. Klicken Sie auf Einrichtung speichern.

  7. Kopieren Sie das Webhook-Secret sofort.

  8. Kopieren Sie die Webhook-URL.

  9. Tragen Sie in InBody/LB Web ein:

Webhook Name: FITsociety - <bedrijfsnaam>Webhook URL: <webhook-url-uit-fitsociety>Header name: x-fitsociety-inbody-secretHeader value: <webhook-secret>

  1. Wenn Header nicht funktionieren, verwenden Sie:

Webhook URL: <webhook-url-uit-fitsociety>?secret=<webhook-secret>

  1. Klicken Sie in FITsociety auf Mitglieder automatisch verknüpfen.

  2. Prüfen Sie, wie viele Mitglieder verknüpft sind und welche Mitglieder überprüft werden müssen.

  3. Klicken Sie auf Alle Messungen abrufen.

  4. Prüfen Sie bei einigen Mitgliedern, ob die Messungen im Fortschritt sichtbar sind.

  5. Führen Sie eine Testmessung auf dem InBody-Gerät durch.

  6. Prüfen Sie, ob der Webhook die neue Messung automatisch importiert.

  7. Prüfen Sie, ob PDFs mitgesendet werden. Falls nicht, fragen Sie InBody, ob PDFs über die API verfügbar sind.

War dieser Artikel hilfreich? Danke für dein Feedback!

Danke, wir lesen jeden Kommentar.

Ähnliche Artikel