Zum Inhalt springen

JavaScript-SDK

Der Client, den die API unter /sdk.js und /sdk.mjs veröffentlicht, erzeugt aus der Spezifikation selbst. Wie du ihn im Browser und in Node lädst, die Methoden nach Thema, wie du Parameter und Body übergibst, die Fehlerbehandlung und die Client-Optionen.

Die API veröffentlicht ein JavaScript-SDK, das aus ihrer eigenen OpenAPI-Spezifikation erzeugt wird. Es deckt alle Operationen ab, schickt die Header für dich mit, packt den Umschlag der Antworten aus und macht aus Fehlern Exceptions.

DateiVerwendung
/sdk.jsUMD: <script src> (stellt Memberfy bereit) oder require() in Node
/sdk.mjsESM: import { createClient } from '…/sdk.mjs'

Start im Browser

<script src="https://api.memberfy.net/sdk.js"></script>
<script>
  const api = Memberfy.createClient({ baseUrl: 'https://api.memberfy.net' });

  const session = await api.auth.login({ email, password });
  api.setToken(session.token).setCommunity(communityId);

  const me = await api.auth.getMe();
</script>

Übergib baseUrl immer mit https://.

Start in Node

Lade die Datei ins Projekt und importiere sie lokal (Node 18 oder neuer, das fetch schon mitbringt):

curl -s https://api.memberfy.net/sdk.mjs -o memberfy-sdk.mjs
import { createClient } from './memberfy-sdk.mjs';

const api = createClient({ baseUrl: 'https://api.memberfy.net' });
const session = await api.auth.login({ email: process.env.MEMBERFY_EMAIL, password: process.env.MEMBERFY_PASSWORD });
api.setToken(session.token).setCommunity(process.env.MEMBERFY_COMMUNITY_ID);

Lade sie neu herunter, wenn du aktualisieren willst.

Was es dir abnimmt

HeaderAuthorization, X-CommunityId, X-ProfileId und Accept-Language, aus setToken, setCommunity, setProfile und setLanguage
UmschlagGibt data direkt zurück; Listen geben { data, pagination } zurück
FehlerWirft MemberfyError mit .status, .body und .errors
SitzungonUnauthorized wird bei einem 401 aufgerufen, damit du dich neu anmelden kannst

Die Methoden

Die Methoden sind nach Thema gruppiert (wie in der Referenz): api.auth, api.products, api.subscriptions, api.coupons, api.sectionsSpaces, api.events … Der Methodenname kommt aus der operationId der Operation: api.products.postCommunitiesByCommunityIdProducts, api.profiles.getList, api.auth.login.

Manche Namen tragen noch CommunitiesByCommunityId aus der Zeit, als die Route die Community im Pfad hatte. Seit dem 6. Oktober 2026 trägt keine Route die Community mehr im Pfad, aber die Namen sind geblieben, damit in deinem Code nichts bricht. Die Community geht immer über setCommunity. Siehe X-CommunityId.

Auf der Seite jedes Endpunkts in der Referenz steht die operationId.

Parameter und Body

Pfad- und Query-Parameter werden über ihren Namen übergeben; der Rest wird zum Body:

api.setCommunity(communityId); // die Community geht in den Header X-CommunityId

await api.products.putCommunitiesByCommunityIdProductsById({
  id: productId,               // geht in den Pfad
  type: 'SUBSCRIPTION',        // Body
  title: 'Aluno · Mensal',     // Body
  price: 49,                   // Body
  billingInterval: 'MONTHLY',  // Body
  allowedPaymentMethods: ['PIX', 'CREDIT_CARD', 'BOLETO'],
});

Du kannst auch trennen: { id, body: { … } }. Übergib communityId nicht in den Argumenten: Da es kein Pfadparameter mehr ist, würde es im Body landen. Weitere Optionen pro Aufruf: headers (zusätzliche Header), query (zusätzliche Query-Parameter) und signal (ein AbortController).

Für jede beliebige Route gibt es api.request({ httpMethod, path, pathParams, queryParams, hasBody }, args).

Fehler behandeln

try {
  await api.coupons.postCommunitiesByCommunityIdCouponsValidate({ code: 'LANCAMENTO20' });
} catch (error) {
  if (error.name === 'MemberfyError') {
    console.log(error.status);  // 400
    console.log(error.errors);  // [{ param: 'code', message: 'Gutschein ist abgelaufen' }]
  }
}

Client-Optionen

OptionWofür
baseUrlDie Adresse der API. Nutze https://api.memberfy.net
token, communityId, profileId, languageAnfangswerte der Header
raw: trueGibt den rohen Body mit Umschlag zurück
onUnauthorizedFunktion, die bei einem 401 aufgerufen wird
fetchEine fetch-Implementierung für Umgebungen ohne native

Immer aktuell

Das SDK wird bei jeder Auslieferung aus den Routen der API erzeugt. Neu herunterladen heißt aktualisieren.

Für KI

Damit ein Assistent korrekte Aufrufe erzeugt, gib ihm auch /docs.txt: Das SDK sagt, wie aufgerufen wird; /docs.txt sagt, was geschickt wird.

Verwandte Artikel