# Einführung in die API

> Die REST-API von Memberfy: Adresse, Format, Header und wo du mit der Integration anfängst.

Alles, was die Oberfläche von Memberfy tut, läuft über eine REST-API, und die steht auch dir offen: Du kannst die Community automatisieren, sie mit anderen Systemen verbinden oder deine eigene Oberfläche bauen.

## Das Wichtigste

| | |
|---|---|
| **Adresse** | `https://api.memberfy.net` |
| **Format** | JSON, in UTF-8 |
| **Authentifizierung** | JWT-Token im Header `Authorization: Bearer <token>`. Siehe [Authentifizierung](/api/autenticacao) |
| **Community** | Header `X-CommunityId` in fast jedem Aufruf. Siehe [X-CommunityId](/api/x-community-id) |
| **Antworten** | Immer im Umschlag `{ success, message, data }`. Siehe [Antworten und Fehler](/api/respostas-e-erros) |
| **Listen** | `page` und `limit`. Siehe [Paginierung](/api/paginacao) |
| **Spezifikation** | OpenAPI 3 unter [`/docs.json`](https://api.memberfy.net/docs.json) |
| **SDK** | Fertiges JavaScript unter [`/sdk.js`](https://api.memberfy.net/sdk.js). Siehe [JavaScript-SDK](/api/sdk-js) |

## Die Header

| Header | Wann |
|---|---|
| `Authorization: Bearer <token>` | Bei allem außer Login, Registrierung und öffentlichen Routen |
| `X-CommunityId: <uuid>` | Fast immer: legt fest, in welcher Community die Operation stattfindet |
| `X-ProfileId: <uuid>` | Optional: im Namen eines anderen Profils handeln, für alle mit der Berechtigung dazu |
| `Accept-Language` | Optional: die Sprache der Meldungen (`pt-BR`, `pt-PT`, `en-US`, `es-ES`, `es-MX`, `es-AR`, `it-IT`, `de-DE`, `de-AT`, `de-CH`). Standard `pt-BR` |

## Der erste Aufruf

```bash
# 1. login
curl -s -X POST https://api.memberfy.net/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"du@memberfy.net","password":"dein-passwort"}'

# 2. mit dem Token und der Community-ID
curl -s https://api.memberfy.net/api/spaces \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID"
```

## Wo du anfängst

1. [Authentifizierung](/api/autenticacao): der Token.
2. [X-CommunityId](/api/x-community-id): die Community jedes Aufrufs.
3. [Reihenfolge beim Anlegen](/api/ordem-de-criacao): was vor jedem Aufruf existieren muss und woher jede ID kommt.
4. [Antworten und Fehler](/api/respostas-e-erros) und [Paginierung](/api/paginacao).
5. [JavaScript-SDK](/api/sdk-js), wenn du JavaScript nutzt.
6. Die [API-Referenz](/api/referencia), für jeden Endpunkt.

## Wofür Communities die API nutzen

| Fall | Beispiel |
|---|---|
| CRM-Anbindung | Die Verkäufe des Tages lesen und den Kontakt im CRM anlegen |
| Zugang automatisieren | Eine Teilnehmerin einladen, sobald die Anmeldung in einem anderen System erfolgt ist |
| Inhalte im Paket anlegen | Einen Kurs mit 30 Lektionen auf einmal erstellen |
| Berichte | Den Kontoauszug in die Tabelle der Buchhaltung exportieren |
| Eine eigene Oberfläche | Die Veranstaltungen der Community auf der Unternehmenswebsite zeigen |
| Suche | Einen Beitrag, eine Veranstaltung, einen Kurs, einen Bereich oder einen Call for Papers über den Titel finden, unabhängig von Akzenten und Groß-/Kleinschreibung, mit [`GET /api/search`](/api/referencia/feed/get-search) |

## Was deine Rolle erlaubt

Die API wendet dieselben Regeln an wie die Oberfläche: Der Token gehört einer Person, und was sie tun darf, hängt von ihrer [Rolle](/conceitos/papeis-e-permissoes) in der Community aus `X-CommunityId` ab. Ein normales Mitglied liest und macht mit; wer verwaltet, legt an und konfiguriert.

## Wie sich die API verändert

Die API wächst durch Ergänzungen: Neue Endpunkte und neue Felder kommen ohne Vorankündigung hinzu, und dein Code sollte Felder ignorieren, die er nicht kennt. Die Referenz in diesem Hilfe-Center wird bei jeder Veröffentlichung aus der Spezifikation selbst erzeugt und zeigt daher immer, was live ist.

## Referenz

Jeder Endpunkt mit Parametern, Body, Antworten und curl-Beispiel steht in der [API-Referenz](/api/referencia), erzeugt aus der Spezifikation selbst.

## Für KI und Codegenerierung

- [`/docs.txt`](https://api.memberfy.net/docs.txt): kompakte Referenz, gut zum Einfügen in einen Assistenten. Akzeptiert `?tags=Auth,Events`, um nur das Relevante zu schicken.
- [`/docs.json`](https://api.memberfy.net/docs.json): die vollständige Spezifikation, um typisierte Clients zu erzeugen.

> [!NOTE]
> Ein Teil der schreibenden Endpunkte (Multipart-Uploads und einige POSTs) deklariert die Felder des Bodys nicht in der Spezifikation. In diesen Fällen weist die Seite des Endpunkts darauf hin, und der Leitfaden zum Thema erklärt die Felder.
