> ## Documentation Index
> Fetch the complete documentation index at: https://docs.so-me.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK-Übersicht

> Betten Social-Media-Kontoverbindungen und Beitragsplanung von Social media studio in deine Anwendung ein

`@social-media-scheduler/sdk` ist das serverseitige TypeScript-SDK für Plattformen, die ihren eigenen Kunden Social-Konto-Verbindungen und Beitragsplanung anbieten möchten. Social media studio hostet den OAuth-Ablauf und die Veröffentlichungsinfrastruktur, während deine Anwendung die Hoheit über das Kundenerlebnis behält.

> [!WARNING]
>
> Partner-Schlüssel können auf jeden Endnutzer ihres Projekts zugreifen. Verwende das SDK nur in vertrauenswürdigem Servercode. Nimm einen `pk_test_`- oder `pk_live_`-Schlüssel niemals in Browser-, Mobil-, Desktop- oder anderen an Kunden ausgelieferten Code auf.

> [!NOTE]
>
> Die Embedded Platform ist derzeit nur eingeschränkt verfügbar, und die gehostete Kontoverbindung unterstützt aktuell Threads. Kontaktiere Social media studio, um ein Partnerprojekt und einen API-Schlüssel einrichten zu lassen.

## SDK oder CLI

| Paket | Gedacht für | Zugangsdaten | Typischer Einsatz |
| - | - | - | - |
| `@social-media-scheduler/sdk` | Anwendungsentwickler, die viele Endnutzer bedienen | Partner-Schlüssel (`pk_test_` oder `pk_live_`) | Verbindungen und Planung in ein Produkt einbetten |
| `@social-media-scheduler/cli` | Ein direkter Social-media-studio-Kunde | Persönlicher API-Schlüssel (`sk_live_`) | Die eigene Organisation im Terminal oder in CI verwalten |

Die Pakete sind voneinander unabhängig. Die Installation des SDK installiert nicht den Befehl `so-me`, und die CLI stellt das Partner-SDK nicht bereit.

## Voraussetzungen

* Node.js 20 oder neuer
* Ein Social-media-studio-Partnerprojekt
* Ein Test- oder Live-Partner-API-Schlüssel
* Jeder Anwendungs-Origin, der einen OAuth-Rücksprung erhalten kann, ist im Partnerprojekt registriert

## Installation

```bash npm theme={null}
npm install @social-media-scheduler/sdk
```

```bash pnpm theme={null}
pnpm add @social-media-scheduler/sdk
```

```bash yarn theme={null}
yarn add @social-media-scheduler/sdk
```

Das SDK liefert ESM- und CommonJS-Builds mit, enthält TypeScript-Deklarationen und hat keine Laufzeitabhängigkeiten.

## Den Client initialisieren

```ts theme={null}
import { SoMePlatformClient } from "@social-media-scheduler/sdk";

export const soMe = new SoMePlatformClient({
  apiKey: process.env.SOME_PARTNER_API_KEY!,
});
```

Die Produktions-API-URL ist standardmäßig `https://api.so-me.studio`. Für eine selbst gehostete oder lokale Umgebung kannst du `baseUrl` angeben und das Request-Timeout von 30 Sekunden anpassen:

```ts theme={null}
const soMe = new SoMePlatformClient({
  apiKey: process.env.SOME_PARTNER_API_KEY!,
  baseUrl: "http://localhost:8000",
  timeoutMs: 15_000,
});
```

## Durchgängiger Ablauf

1. Lege einen Endnutzer per Upsert an, mit der stabilen Kunden-ID aus deiner Datenbank.
2. Erstelle eine kurzlebige Connect-Session und sende deren `connectUrl` an den Browser des Kunden.
3. Rufe nach Abschluss von OAuth die Session ab oder liste die Social-Verbindungen des Kunden auf.
4. Erstelle mit einer zurückgegebenen Verbindungs-ID einen sofortigen oder geplanten Beitrag.
5. Erhalte Veröffentlichungsergebnisse über signierte Webhooks.

```ts theme={null}
const customer = await soMe.endUsers.upsert({
  externalId: "customer_123",
  displayName: "Acme",
});

const session = await soMe.connectSessions.create({
  endUserId: customer.id,
  platform: "THREADS",
  returnUrl: "https://app.example.com/settings/social",
});

// Redirect the customer's browser to session.connectUrl.
```

> **[Konten verbinden](/de/sdk/connect-accounts.md)**
>
> Endnutzer anlegen und den gehosteten OAuth-Ablauf ausführen.

> **[Beiträge veröffentlichen](/de/sdk/posts-and-media.md)**
>
> Sofort veröffentlichen, Beiträge planen und Medien hochladen.

> **[Webhooks empfangen](/de/sdk/webhooks.md)**
>
> Signierte Zustellungen verifizieren und Wiederholungen sicher behandeln.

> **[Die Integration absichern](/de/sdk/security-and-errors.md)**
>
> Partner-Schlüssel schützen und API-Fehler behandeln.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.