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

# Post-API-Übersicht

> Beiträge planen, Auto-Hashtags, Auto-Posts-Zeitplan und mehr

export const PlansAvailable = ({plans = [], maxPackRequired}) => {
  let displayPlans = plans;
  if (plans && plans.length === 1) {
    const lowerCasePlan = plans[0].toLowerCase();
    if (lowerCasePlan === "business") {
      displayPlans = ["Launch", "Business", "Enterprise"];
    } else if (lowerCasePlan === "premium") {
      displayPlans = ["Premium", "Launch", "Business", "Enterprise"];
    }
  }
  return <Note>
Available on {displayPlans.length === 1 ? "the " : ""}
{displayPlans.join(", ").replace(/\b\w/g, l => l.toUpperCase())}{" "}
{displayPlans.length > 1 ? "plans" : "plan"}.

{maxPackRequired && <span onClick={() => window.open('https://www.ayrshare.com/docs/additional/maxpack', '_self')} className="flex items-center mt-2 cursor-pointer">
 <span className="px-1.5 py-0.5 rounded text-sm" style={{
    backgroundColor: '#C264B6',
    color: 'white',
    fontSize: '12px'
  }}>
   Max Pack required
 </span>
</span>}
</Note>;
};

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

Der Post-Endpunkt ermöglicht es Ihnen, Beiträge in den sozialen Netzwerken zu veröffentlichen: Bluesky, Facebook, Google Business Profile, Instagram, LinkedIn, Pinterest, Reddit, Snapchat, Telegram, TikTok, X/Twitter und YouTube.
Es gibt zahlreiche Optionen, um Ihren Beitrag anzupassen, z. B. das Planen von Beiträgen, Auto-Hashtags, Auto-Posts-Zeitplan und mehr.
Häufig wird dies von Agenturen genutzt, wenn mehrere Beteiligte einen Beitrag vor der Veröffentlichung freigeben müssen.

Beginnen Sie mit dem Veröffentlichen von Beiträgen über den [/post-POST-Endpunkt](/apis/post/post).

## Freigabe-Workflow

Wenn Ihr Veröffentlichungs-Workflow eine Freigabe vor dem Versand eines Beitrags erfordert, setzen Sie das Feld `requiresApproval` auf `true`.
Dies entspricht einem Pausieren des Beitrags, bis der Parameter `approved` auf `true` gesetzt wird.

### Beispiel für den Freigabe-Workflow

Der Beitrag hat den Status „awaiting approval", bis der Parameter `approved` über den [/post-PATCH-Endpunkt](/apis/post/update-post) auf `true` gesetzt wird.

<Steps>
  <Step title="Mit Parametern veröffentlichen">
    Veröffentlichen Sie Ihren Beitrag über den [/post-Endpunkt](/apis/post/post) mit dem Feld `requiresApproval` auf
    `true`. Sie können auch Standardparameter wie `scheduleDate` angeben.
  </Step>

  <Step title="Status ist awaiting approval">
    Der Beitrag hat den Status „awaiting approval" und wird zurückgehalten, bis eine Freigabe erteilt wird.
  </Step>

  <Step title="Beitrag freigeben">
    Aktualisieren Sie den Beitrag mit der [/post-PATCH-Operation](/apis/post/update-post) und setzen Sie das Feld `approved`
    auf `true`. Der Beitrag wird nun zum geplanten Zeitpunkt gesendet.
  </Step>

  <Step title="Notizen verwenden">
    Optional: Setzen Sie `notes` am Beitrag als Referenz, z. B. wer den Beitrag freigeben muss.
  </Step>
</Steps>

```json Publish the Post with Approval theme={"system"}
{
  "requiresApproval": true,
  "notes": "need approval by John Smith" // optional
}
```

<Warning>
  Wenn `scheduleDate` angegeben ist und das Datum in der Vergangenheit liegt, wird der Beitrag unmittelbar nach der Freigabe veröffentlicht.
</Warning>

### Freigabe-Workflow-Video

Ein Beispiel für den Freigabe-Workflow sehen Sie im folgenden Video.

<div class="video-container">
  <iframe width="380" height="200" src="https://www.youtube.com/embed/DtmTGgqQ-Mo" title="Social Approval Workflow API" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" />
</div>

## Auto-Hashtags

Fügen Sie die relevantesten Hashtags zu Ihrem Beitrag hinzu.

`autoHashtag` ist ein Objekt oder ein Boolean – siehe unten – mit den folgenden Parametern:

<ul class="custom-bullets">
  <li>`max`: (optional) Ganzzahl der hinzuzufügenden Hashtags, Bereich 1–10. Standard: 2.</li>

  <li>
    `position`: (optional) String „auto" oder „end". „auto" fügt die Hashtags innerhalb des Beitrags oder am Ende ein.
    „end" fügt Hashtags nur am Ende ein.
  </li>
</ul>

*Ein kostenpflichtiger Plan ist erforderlich.*

```json theme={"system"}
{
  "hashtags": {
    "max": 3, // optional: Integer range 1-10
    "position": "auto" // optional: String "auto" or "end"
  }
}
```

Wenn Sie keine der oben genannten Optionen senden möchten, übergeben Sie den Boolean-Wert `true` anstelle eines Objekts.

```json theme={"system"}
{
  "autoHashtag": true
}
```

## Auto-Repost

Repostet Ihre Inhalte automatisch mehrfach in regelmäßigen Abständen und schafft so Evergreen-Content, der frisch bleibt und für Ihr Publikum sichtbar ist.
Ein kostenpflichtiger Plan ist erforderlich.

Parameter:

* `repeat`: (erforderlich) Die Anzahl der Male, die der Inhalt erneut gepostet wird. Muss zwischen 1 und 10 liegen.
* `days`: (erforderlich) Die Anzahl der Tage zwischen den einzelnen Reposts. Muss mindestens 2 Tage betragen.
* `startDate`: (optional) Wann der Repost-Zeitplan beginnen soll, im ISO-8601-UTC-Format. Wenn nicht angegeben, wird der erste Beitrag sofort veröffentlicht. Sie sollten den Parameter `startDate` anstelle des Top-Level-Parameters `scheduleDate` verwenden.

```json Auto Repost theme={"system"}
{
  "repeat": 2, // min 2, max 10
  "days": 5, // min 2
  "startDate": "2021-07-08T12:30:00Z"
}
```

Die Antwort enthält alle zukünftig geplanten Reposts sowie eine `autoRepostId` für jeden Repost.

```json Auto Repost Response theme={"system"}
{
  "status": "scheduled",
  "scheduleDate": "2025-06-13T12:30:00.000Z",
  "id": "eIT96IYEodNuzU4oMmwG",
  "refId": "9abf1426d6ce9122ef11c72bd",
  "autoRepostId": "F5wdoaOAAGtDQVciExSxL",
  "post": "The most important things are the hardest to say - Stephen King"
}
```

Beim Erstellen eines Auto-Reposts wird eine `autoRepostId` zugewiesen, um diese Serie von Beiträgen zu verfolgen.

Sie können alle Auto-Reposts eines Beitrags über den [History-Aufruf](/apis/history/get-history) mit der `autoRepostId` abrufen.

Wenn Sie einen Repost löschen müssen, verwenden Sie den [DELETE-Aufruf](/apis/post/delete-post) mit der Post-ID.

<Tip>
  Wichtig: Beim Einsatz von Auto-Repost stellen Sie sicher, dass Sie die Posting-Frequenz-Richtlinien der jeweiligen sozialen Netzwerke einhalten, um Kontoeinschränkungen zu vermeiden.

  Hinweis: Die Funktion `autoRepost` kann nicht zusammen mit `scheduleDate` verwendet werden. Wenn Sie beide Parameter angeben, hat `scheduleDate` Vorrang und `autoRepost` wird ignoriert. Verwenden Sie stattdessen den Parameter `startDate`.
</Tip>

## First Comment

Fügt automatisch nach der Veröffentlichung des Beitrags einen ersten Kommentar (mit Medien) hinzu. Bei TikTok wird der Kommentar verzögert, bis die Videoverarbeitung abgeschlossen ist (siehe [First-Comment-Verarbeitungszeit](#first-comment-processing-time)).
Ein erster Kommentar unter Ihrem eigenen Social-Media-Beitrag kann Engagement anregen und die Tonalität der nachfolgenden Diskussion setzen.

```json theme={"system"}
{
  "firstComment": {
    "comment": "My first comment", // required
    "mediaUrls": ["https://..."] // Facebook, LinkedIn, and X/Twitter only
  }
}
```

## First-Comment-Verarbeitungszeit

Bei den meisten sozialen Netzwerken ist die API-Antwort verzögert, da unser System (1) warten muss, bis der ursprüngliche Beitrag vollständig veröffentlicht ist, und dann (2) den Kommentar zu diesem veröffentlichten Beitrag hinzufügen muss. Dieser sequenzielle Vorgang führt zu einer Verzögerung von etwa 20 Sekunden.

**TikTok wird anders behandelt.** TikTok verarbeitet Videos asynchron, sodass die `id` des Beitrags `"pending"` ist, bis das Webhook `post.publish.publicly_available` von TikTok die tatsächliche Video-ID auflöst (siehe [TikTok-Verarbeitung](/apis/post/social-networks/tiktok#tiktok-processing)). Die `/post`-Antwort gibt daher den TikTok-First-Comment sofort mit `status: "pending"` zurück, und der Kommentar wird automatisch gepostet, sobald TikTok die Verarbeitung abgeschlossen hat und das [`tikTokPublished`-Scheduled-Action-Webhook](/apis/webhooks/actions#scheduled-action) ausgelöst wird. TikTok garantiert keine Verarbeitungszeit, daher gibt es keine feste Verzögerung.

**Wichtiger TikTok-Hinweis**: Damit First Comments auf TikTok ordnungsgemäß funktionieren, muss der Parameter `visibility` des Beitrags auf `public` gesetzt sein. Ein nicht-öffentliches Video erhält das Webhook `publicly_available` nicht, sodass sein First Comment nicht gepostet werden kann; in diesem Fall gibt Ayrshare einen Kommentar-Fehler zurück, anstatt ihn im Zustand pending zu belassen.

## Idempotente Beiträge

[Idempotenz](https://en.wikipedia.org/wiki/Idempotence) ist eine optionale Funktion, die sicherstellt, dass eine Anfrage nur einmal ausgeführt wird, auch wenn sie versehentlich mehrfach gesendet wird.
Beim Posten von Inhalten über die API können Sie im Anfragetext einen optionalen Parameter `idempotencyKey` angeben, um den Vorgang eindeutig zu identifizieren. So können Sie die Post-Anfrage sicher erneut ausführen, ohne das Risiko, Duplikate zu erzeugen.

Um Idempotenz zu nutzen, fügen Sie den Parameter `idempotencyKey` zum JSON-Body der `/post`-POST-Anfrage hinzu:

```json Idempotency Key theme={"system"}
{
  "idempotencyKey": "Unique Key"
}
```

Der Wert von `idempotencyKey` sollte ein pro Benutzerprofil eindeutiger String sein. Wird für ein bestimmtes Benutzerprofil eine Anfrage mit demselben `idempotencyKey` gestellt, wird unabhängig vom Status des Beitrags (success, error, pending oder deleted) ein Fehler zurückgegeben, der auf einen doppelten Schlüssel hinweist.

<Warning>
  Die API muss die POST-Anfrage zunächst annehmen und verarbeiten, um den Idempotenz-Schlüssel zu speichern und
  auf Duplikate zu prüfen. Wenn jedoch mehrere POST-Anfragen mit demselben `idempotencyKey` gleichzeitig gesendet
  oder auf denselben Post-Zeitpunkt geplant werden, erkennt die API möglicherweise die doppelten Schlüssel nicht.
  Das liegt daran, dass die API diese gleichzeitigen oder gleichzeitig geplanten Anfragen parallel verarbeitet, bevor
  sie den Idempotenz-Schlüssel einer einzelnen Anfrage registrieren kann. Es gibt daher keine Garantie, dass
  doppelte Idempotenz-Schlüssel in solchen Szenarien gleichzeitiger Einreichung oder Ausführung geplanter Beiträge erkannt werden.
</Warning>

Idempotenz hilft, die versehentliche Erstellung doppelter Beiträge beim Wiederholen fehlgeschlagener Anfragen oder bei Netzwerkproblemen zu vermeiden. Es wird jedoch weiterhin empfohlen, in Ihrer Anwendung angemessene Fehlerbehandlungs- und Retry-Mechanismen zu implementieren, um potenzielle Fehler elegant zu handhaben.

## Bild- und Video-Anforderungen

Das Posten von Bildern und Videos hat für jedes Netzwerk unterschiedliche Anforderungen, aber keine Sorge. Unser System prüft Ihren Beitrag vor dem Senden, sodass Sie eine Fehlerantwort erhalten, falls etwas nicht stimmt. Details zu Bild- und Video-Richtlinien finden Sie unter dem folgenden Link.

<Card title="Bild- und Video-Richtlinien" icon="link" href="/media-guidelines" horizontal />

### Gültige URL

Stellen Sie sicher, dass Ihre Medien-URL(s) gültig sind und direkt auf die Medien zugreifen.
Ein erster Test ist der Aufruf der URL in einem Browser.
Wenn sich das Bild im Browser nicht laden oder herunterladen lässt, wird es wahrscheinlich fehlschlagen.
Zum Beispiel funktioniert eine DropBox-URL, die die DropBox-Web-App öffnet, nicht.

<Tip>
  Wenn Sie eine [Google-Drive-Share-URL](https://www.ayrshare.com/how-to-get-direct-download-urls-from-google-drive/) oder eine [Dropbox-Share-URL](https://www.ayrshare.com/blog/how-to-get-direct-download-urls-from-dropbox/) haben, können Sie die URL einfach im Parameter
  `mediaUrls` beim Veröffentlichen eines Beitrags oder Kommentars verwenden. Ayrshare wandelt die Share-URL automatisch in einen
  Download-Link um.
</Tip>

Wir verifizieren die Medien-URL, indem wir eine `HEAD`-Anfrage durchführen.
Stellen Sie sicher, dass der Hosting-Anbieter die `HEAD`-Anfrage nicht blockiert, sonst schlägt der Beitrag mit einem 403-Fehler fehl.

Hier ein Beispiel für eine `HEAD`-Anfrage an die Medien-URL:

```javascript Fetch HEAD Request theme={"system"}
const run = async () => {
  const url = "https://img.ayrshare.com/012/gb.jpg";
  return await fetch(url, {
    method: "HEAD"
  })
    .then((res) => {
      if (res.ok) {
        return console.log("Success:", res.status, res.statusText);
      } else {
        return console.error("Error:", res.status, res.statusText, res);
      }
    })
    .catch((error) => {
      return console.error("Error Catch:", error);
    });
};

run();
```

#### Automatisierter Medienschutz

Ayrshare enthält einen integrierten Medienschutz, der bestimmte Probleme bei der Medienübermittlung während des Postens erkennen und beheben kann. Wenn ein Beitrag erfolgreich ist, aber ein Inhaltsproblem erkannt und behoben wurde, enthält jeder betroffene Eintrag in `postIds[]` ein optionales `contentIssues`-Objekt, mit dem Sie das zugrunde liegende Problem identifizieren und beheben können:

```json theme={"system"}
{
    "postIds": [
        {
            "status": "success",
            "platform": "instagram",
            "id": "17878176260289172",
            "postUrl": "https://www.instagram.com/p/CP1dI9Hp_WO/",
            "contentIssues": {
                "originMediaHostFailed": true,
                "details": ["Media URL could not be retrieved by the social network. Successfully posted using Ayrshare automated media protection."]
            }
        }
    ]
}
```

Wenn Sie `originMediaHostFailed` in Ihren Antworten sehen, überprüfen Sie Ihre Medien-Hosting-Konfiguration. Häufige Ursachen und Lösungen finden Sie unter [Meta Media Crawler blockiert](/help-center/technical-support/meta_media_crawler_blocked).

#### Leerzeichen und Sonderzeichen

Wir empfehlen, in Ihren Medien-URLs Folgendes zu vermeiden:

<ul class="custom-bullets">
  <li>Leerzeichen in der URL.</li>
  <li>URL-kodierte Leerzeichen in der URL.</li>
  <li>Sonderzeichen in der URL, auch wenn sie URL-kodiert sind, etwa Akzente wie é.</li>
</ul>

Zum Beispiel:

```bash theme={"system"}
https://img.ayrshare.com/012/test .webp
```

Diese URL schlägt aufgrund des Leerzeichens `test .webp` fehl. Wir empfehlen außerdem, keine URL-kodierten Leerzeichen wie `%20` in der URL zu verwenden – dies kann bei manchen sozialen Netzwerken ebenfalls Probleme verursachen.

Und dieses Unsplash-Bild:

```bash theme={"system"}
https://unsplash.com/photos/a-house-in-the-middle-of-a-field-with-trees-in-the-background-znbmh2-cIj0
```

Dieses Unsplash-Bild schlägt fehl, weil es nicht direkt auf das Bild zugreift, sondern eine Web-App anzeigt.

#### Dateinamen und URLs bereinigen

Sie können Ihre Dateinamen mit einem regulären Ausdruck wie `/[^a-z0-9\/\.]/gi` bereinigen.

```javascript theme={"system"}
const sanitizeFileName = (url) => url.replace(/[^a-z0-9\/\.]/gi, "_");
sanitizeFileName("tést .webp"); // t_st_.webp
```

oder eine URL bereinigen:

```javascript theme={"system"}
const sanitizeUrl = (url) => {
  const [protocol, rest] = url.split("://");
  const [domain, ...path] = rest.split("/");
  const sanitizedPath = path.join("/").replace(/[^a-z0-9\/\.]/gi, "_");
  return `${protocol}://${domain}/${sanitizedPath}`;
};

// Output: https://img.ayrshare.com/012/t_st_.webp
sanitizeUrl("https://img.ayrshare.com/012/tést .webp");
```

### Weitere Informationen

<Info>
  <ul class="custom-bullets">
    <li>
      Wenn Sie selbst hosten, stellen Sie sicher, dass die URL extern erreichbar ist und keine
      besonderen Berechtigungen erfordert.
    </li>

    <li>
      Siehe unten, wie mit Videos mit unbekannten Endungen umgegangen wird, oft signierte URLs wie bei AWS S3.
    </li>

    <li>
      Wenn Sie eine signierte URL wie S3 verwenden, empfehlen wir, die URL-Ablaufzeit auf mindestens
      7 Tage zu setzen. So kann unser Team Sie bei Fragen zur Veröffentlichung des Beitrags unterstützen.
    </li>

    <li>
      Prüfen Sie mit unseren [Medien-Verifikationstools](/apis/media/verify-media-url), ob die Medien-URL existiert.
    </li>
  </ul>
</Info>

### Download-Geschwindigkeit

Stellen Sie sicher, dass Ihr Medien-Hosting eine schnelle Verbindung hat, insbesondere die Download-Geschwindigkeit. Sie können die Leistung Ihres Medien-Hostings unter [pingdom](https://tools.pingdom.com/) testen. Wir empfehlen mindestens eine *B-Bewertung*.

### Videoendung

Wenn Ihre URL nicht mit einer bekannten Videoendung wie `mp4` endet, können Sie im Beitrag das Feld `isVideo: true` verwenden, um festzulegen, dass es sich bei der `mediaUrl` um ein Video handelt. Ayrshare versucht, den Dateityp zu ermitteln, z. B. `MOV`. Wir empfehlen jedoch, Ihre Videodatei explizit mit einer bekannten Endung wie `mp4` zu versehen, da dies bei den sozialen Netzwerken eine höhere Erfolgsquote hat.

### Nur Bild oder Video

Einige soziale Netzwerke unterstützen das Senden von Medien ohne Beitragstext. Wenn Sie keinen Beitragstext einfügen möchten, senden Sie einen leeren String: `post: ""`

Die folgenden sozialen Netzwerke unterstützen Beiträge ohne Text/leer: Facebook, Instagram, LinkedIn, Threads, TikTok und X/Twitter.

### Bilder und Videos testen

Erwägen Sie, [zufälligen Text und zufällige Bilder oder Videos zu generieren](/quickstart#sending-test-posts-with-a-random-quote-image-or-video), um Ihre Tests zu beschleunigen. Sie müssen sich nicht für jeden Testbeitrag etwas Neues ausdenken!

## Zeilenumbrüche

<Info>
  Wenn Sie Zeilenumbrüche (neue Zeilen) in einem Beitrag verwenden möchten, verwenden Sie den unsichtbaren Zeilenumbruch `\u2063\n`. Zum Beispiel `This is a new\u2063\nline.`.

  Wir empfehlen außerdem, es in Postman zu testen, um zu sehen, wie der neue Zeilenumbruch in Ihrer bevorzugten Sprache übersetzt wird. Zum Beispiel verwendet PHP oft nur ein `\n`.

  Einige soziale Netzwerke unterstützen Zeilenumbrüche im Beitragstext derzeit nicht.
</Info>

## Multi-Plattform-Beiträge und Medien

Diese Funktion erlaubt es Ihnen, Inhalte und Medien Ihres Beitrags in einem einzigen API-Aufruf für verschiedene soziale Netzwerke anzupassen. Sie können eindeutigen Text und/oder Bilder für jede Plattform angeben, indem Sie für die Felder `post` und `mediaUrls` Objekte verwenden.

1. Verwenden Sie eine Objektstruktur für die Felder `post` und/oder `mediaUrls`.
2. Geben Sie plattform-spezifische Inhalte mit den Plattformnamen als Schlüsseln an.
3. Fügen Sie einen `default`-Schlüssel für Inhalte hinzu, die auf Plattformen verwendet werden sollen, die nicht explizit angegeben sind.

```json theme={"system"}
{
  "post": {
    "instagram": "Great IG pic!",
    "facebook": "Great FB pic!",
    "default": "Great default pic!"
  },
  "platforms": ["instagram", "facebook", "linkedin"],
  "mediaUrls": {
    "instagram": "https://img.ayrshare.com/012/gb.jpg",
    "linkedin": "https://img.ayrshare.com/012/gb.jpg",
    "default": "https://img.ayrshare.com/012/gb.jpg"
  }
}
```

Im obigen Beispiel:

<ul class="custom-bullets">
  <li>Instagram verwendet seinen spezifischen Text und die Bild-URL.</li>
  <li>Facebook verwendet seinen spezifischen Text und die Standard-Bild-URL.</li>
  <li>LinkedIn verwendet den Standardtext und seine spezifische Bild-URL.</li>
</ul>

<Info>
  Wenn Sie mehrere Bilder auf verschiedene Plattformen posten müssen, erstellen Sie separate Beiträge für jede
  Plattform, anstatt diese Multi-Plattform-Struktur zu verwenden.
</Info>

## Profile Keys

Posten Sie im Namen eines Nutzers, indem Sie den Profile Key des Nutzers als Body-Parameter angeben und die zusätzlichen Daten in der Antwort erhalten. *Business- oder Enterprise-Plan erforderlich.*

<Card title="Profiles" icon="link" href="/apis/profiles/overview" horizontal />

## Rich-Text-Beiträge

Sie können Rich Text wie „𝓗𝓮𝓵𝓵𝓸, how about a little 𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁 and 𝘪𝘵𝘢𝘭𝘪𝘤𝘴 𝘵𝘦𝘹𝘵 and an x₂?" hinzufügen. Sie können Rich Text in Netzwerken wie Twitter, Facebook, LinkedIn, Telegram und Instagram verwenden.
Bei Reddit verwenden Sie bitte [Reddit-flavored Markdown-Formatierung](https://www.reddit.com/wiki/markdown#wiki_new_reddit-flavored_markdown).

HTML-Elemente werden verwendet, um die Art des Rich Text anzugeben, der in Unicode übersetzt wird. Zum Beispiel:

```json theme={"system"}
{
    "post": "<var>Hello</var>, how about a little <b>bold text</b> and <i>italics text</i> and an x<sub>2</sub>?"
    "platforms": ["twitter"]
}
```

### HTML-Elemente

| HTML                                          | Beispiel                          |
| --------------------------------------------- | --------------------------------- |
| \<b>Nice One!\</b>                            | **Nice One!**                     |
| \<strong>Hello, world!\</strong>              | **Hello, world!**                 |
| \<em>World\</em>                              | *World*                           |
| normal \<i>italics \<b>bold italics\</b>\</i> | normal *italics **bold italics*** |
| \`\<b>Hello\</b>, world!\`                    | `Hello, world!`                   |
| \`\<b>Hello\</b>, world!\`                    | **`Hello`**`, world!`             |
| \<samp>123\</samp>                            | 𝟷𝟸𝟹                            |
| \<var>Hello\</var>                            | 𝓗𝓮𝓵𝓵𝓸                        |
| x\<sub>2\</sub>                               | x₂                                |
| x\<sup>2\</sup>                               | x²                                |

### CSS-Codes

| Code     | Beispiel                   | Ergebnis                 |
| -------- | -------------------------- | ------------------------ |
| \u00B0   | It's 25\u00B0C today!      | It's 25°C today!         |
| \u2063\n | This is a new\u2063\nline. | This is a new<br />line. |

## Beiträge planen

### Geplante Beiträge erstellen

Sie können zukünftige Beiträge planen, indem Sie den Parameter `scheduleDate` mit der Datum/Zeit in Zulu/UTC angeben. Zulu-Zeit, auch bekannt als Coordinated Universal Time (UTC), ist der weltweit standardisierte Zeitrahmen.

Verwenden Sie zum Beispiel das Format `YYYY-MM-DDThh:mm:ssZ` und senden Sie `2026-07-08T12:30:00Z`.
Weitere Beispiele finden Sie unter [utctime](https://www.utctime.net/).

```json {5} theme={"system"}
{
  "post": "Hello, world!",
  "mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"],
  "platforms": ["facebook", "instagram"],
  "scheduleDate": "2023-07-08T12:30:00Z"
}
```

Unter [https://www.utctime.net/](https://www.utctime.net/) erfahren Sie, wie Sie Ihre lokale Zeit in Zulu/UTC-Zeit umrechnen.

Liegt das geplante Datum in der Vergangenheit, wird der Beitrag sofort gesendet.

<Info>
  Wenn ein `mediaUrl` mit einem geplanten Beitrag enthalten ist, muss das Medium zum geplanten
  Veröffentlichungszeitpunkt verfügbar sein. Wenn der Beitrag beispielsweise für den 5. März 2026 geplant ist, muss das
  Medium am 5. März 2026 verfügbar sein.
</Info>

<Tip>
  Fehlerbehandlung bei geplanten vs. sofortigen Beiträgen

  Es gibt einen wichtigen Unterschied bei der Behandlung von Validierungsfehlern zwischen sofortigen und geplanten Beiträgen:

  * Sofortige Beiträge
    * Beim sofortigen Veröffentlichen (ohne scheduleDate) werden – wenn eine Plattform die Validierungsprüfungen nicht besteht – die anderen Plattformen weiterhin verarbeitet. Wenn ein Beitrag beispielsweise Twitters Zeichenlimit überschreitet, aber für Facebook und Instagram gültig ist, schlägt der Beitrag auf Twitter fehl, wird aber trotzdem auf Facebook und Instagram veröffentlicht.

  * Geplante Beiträge
    * Beim Planen von Beiträgen für die zukünftige Veröffentlichung (mit scheduleDate) müssen alle Plattformen die initialen Validierungsprüfungen bestehen, bevor der Beitrag geplant wird. Schlägt eine Plattform diese Vorabvalidierung fehl, wird der gesamte Planungsvorgang abgelehnt und es wird sofort ein Fehler zurückgegeben.
    * Einige plattform-spezifische Fehler können jedoch erst zum tatsächlichen Post-Zeitpunkt erkannt werden. In diesen Fällen versucht der geplante Beitrag, auf allen Plattformen zu veröffentlichen, und einzelne Plattform-Fehler werden in den Endergebnissen gemeldet, ohne die anderen Plattformen zu beeinflussen.
</Tip>

### Status eines geplanten Beitrags prüfen

Sie können den Status eines geplanten Beitrags auf mehrere Arten prüfen:

<ul class="custom-bullets">
  <li>
    Richten Sie das [Webhook Scheduled Action](/apis/webhooks/actions#scheduled-action) ein, um den Status
    des geplanten Beitrags automatisch zu empfangen. Dies ist im Business-Plan verfügbar und ist die
    empfohlene Methode.
  </li>

  <li>
    Rufen Sie den Status eines geplanten Beitrags mit dem [GET-Aufruf](/apis/post/get-post) und der Post-ID ab.
  </li>

  <li>
    Prüfen Sie den Status im Ayrshare-Dashboard. Wechseln Sie zunächst zum Nutzerprofil, unter dem der Beitrag
    veröffentlicht wurde, und gehen Sie dann zur Seite „Posts" und suchen Sie mit der Ayrshare-Post-ID.
  </li>
</ul>

### Geplante Beiträge pausieren

Sie können geplante Beiträge, die noch nicht veröffentlicht wurden, pausieren.
Das Pausieren eines geplanten Beitrags verhindert seine Veröffentlichung, bis er wieder fortgesetzt wird.

Verwenden Sie den [PATCH-Aufruf](/apis/post/update-post), um den geplanten Beitrag zu pausieren oder fortzusetzen.
Beachten Sie: Wird ein Beitrag fortgesetzt und das `scheduleDate` liegt in der Vergangenheit, wird der Beitrag sofort veröffentlicht. Ziehen Sie in Erwägung, das `scheduleDate` vor dem Fortsetzen zu aktualisieren.

## Links verkürzen

Links in einem Beitrag können mit dem Ayrshare-[Link-Shortener](/apis/links/overview) verkürzt werden. Sie können die automatische Link-Verkürzung mit dem Parameter `shortenLinks` beim Senden eines Beitrags aktivieren. [Max Pack erforderlich](/additional/maxpack).

```json {4} theme={"system"}
{
  "post": "Hello, world with a link https://www.ayrshare.com",
  "platforms": ["linkedin"],
  "shortenLinks": true
}
```

## Unsplash-Bilder

Die folgenden Felder sind für den Body-Parameter `unsplash` verfügbar:

<ul class="custom-bullets">
  <li>Zufälliges Bild: `random` liefert ein zufälliges Unsplash-Bild.</li>

  <li>
    Suchbasiertes Bild: Wert String Suchbegriff; z. B. `money` wählt ein zufälliges Bild basierend auf
    money aus.
  </li>

  <li>
    Bild-IDs: Wert Array von IDs; z. B. \["HubtZZb2fCM"] des Bildes
    [https://unsplash.com/photos/HubtZZb2fCM](https://unsplash.com/photos/HubtZZb2fCM)
  </li>
</ul>

```json {4,5,6} theme={"system"}
{
  "post": "Hello, world!",
  "platforms": ["instagram"],
  "unsplash": "random",
  "unsplash": "search term", // unsplash: "money"
  "unsplash": ["unsplash image ID"] // unsplash: ["HubtZZb2fCM"]
}
```

<Info>
  Wenn Sie eine Unsplash-URL in `mediaUrls` posten, achten Sie darauf, die Bildadresse zu kopieren und
  nicht nur die URL. Weitere Informationen finden Sie in diesem
  [Beispiel](/help-center/technical-support/get_an_unsplash_image_url).
</Info>
