> ## 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.

# Webhooks-Übersicht

> Webhook-API-Endpunkte zur Registrierung von Webhooks, um Updates zu Ereignissen zu erhalten

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} />

## Was ist ein Webhook?

Ein Webhook ermöglicht es Ihnen, benachrichtigt zu werden, wenn bestimmte System-*Aktionen* auftreten, indem eine von Ihnen bereitgestellte URL aufgerufen wird. Webhooks werden auch als „URL-Callbacks“ oder „HTTP-Push-Aufrufe“ bezeichnet. Ihre URL muss SSL verwenden und mit HTTPS beginnen.

<Card title="Webhook-Aktionen" icon="link" href="/apis/webhooks/actions" horizontal>
  Sehen Sie sich die verfügbaren Aktionen für Webhooks an.
</Card>

### Ayrshare-Webhooks verstehen

Webhooks werden nach der jeweiligen Aktion kategorisiert und *auf Ebene des Primary Profiles oder des User Profiles registriert*. Alle Updates für das Primary Profile oder das User Profile werden zuerst an den für das User Profile registrierten Webhook gesendet. Verfügt das User Profile über keinen registrierten Webhook, wird das Update an den für das Primary Profile registrierten Webhook gesendet.

Zum Beispiel:

<ul class="custom-bullets">
  <li>
    Wenn ein User Profile einen registrierten Social-Action-Webhook hat und TikTok trennt,
    wird die für das User Profile registrierte Social-Action-Webhook-URL
    aufgerufen. Der Webhook des Primary Profiles *wird nicht* aufgerufen.
  </li>

  <li>
    Wenn ein User Profile TikTok trennt und *keinen* registrierten Social-
    Action-Webhook hat, das Primary Profile aber über einen registrierten Webhook verfügt, wird die
    für das Primary Profile registrierte Social-Action-Webhook-URL aufgerufen.
  </li>
</ul>

### Einen Webhook registrieren

Registrieren Sie einen Webhook, indem Sie eine Endpunkt-URL und den Aktionstyp an den POST-Endpunkt [`/hook/webhook`](/apis/webhooks/register) übergeben. Wenn die Aktion eintritt, wird eine `HTTP POST`-Nachricht an die angegebene URL gesendet.
Z. B. Registrieren einer URL, um über den Status eines geplanten Beitrags benachrichtigt zu werden.

Die Webhook-Endpunkt-URL sollte keine Weiterleitungen verwenden und muss die endgültige Ziel-URL sein.

Wenn Sie nur den Webhook des Primary Profiles registrieren, erben die User Profiles automatisch den Webhook des Primary Profiles.
Um für jedes User Profile einen eigenen Webhook zu haben, müssen Sie einen Webhook für jedes User Profile registrieren.

<Note>
  Nachdem Ihr Webhook den `HTTP POST` empfangen hat, **muss** Ihr Server mit
  einem HTTP-Status `200` antworten, um den Aufruf als erfolgreich zu markieren. Wenn Ihr Server
  nicht innerhalb von 10 Sekunden antwortet, wird eine `503`-Antwort protokolliert.
</Note>

Sie können Webhooks auch im Developer Dashboard registrieren.

### Webhook-Wiederholungen

Wenn die HTTP-Antwort Ihres Servers nicht im Erfolgsbereich `200-299` liegt, wiederholt das System den Webhook-Aufruf automatisch zwei weitere Male. Der erste Wiederholungsversuch erfolgt nach 5 Sekunden, der zweite 30 Sekunden später. Die Wiederholungsversuche haben dieselbe `hookId` und werden als Wiederholungsversuche markiert.

## Webhook-Sicherheit

Sie können zusätzliche Sicherheit hinzufügen, indem Sie eine HMAC-Authentifizierung als HTTP-Request-Header setzen. Dies wird häufig verwendet, um Replay-Angriffe zu verhindern. Ayrshare verwendet [HMAC-SHA256](https://en.wikipedia.org/wiki/HMAC), um den Body der Nachricht zu hashen, und fügt diesen Hash zusammen mit dem UNIX-Zeitstempel in den Header des POST ein.

```bash theme={"system"}
X-Authorization-Timestamp : <Unix Timestamp In Seconds>
X-Authorization-Content-SHA256 : <HashedContent>
```

Basierend auf einem beim [Registrieren Ihres Webhooks](/apis/webhooks/register) gesetzten geheimen Schlüssel können Sie den POST validieren, indem Sie den Header X-Authorization-Content-SHA256 mit dem SHA256-Hash des POST-Bodys vergleichen. Der geheime Schlüssel wird über alle Webhook-Aktionen hinweg verwendet, sodass das Setzen für eine Aktion das Secret für alle Aktionen ändert.

## Webhook-Logs

Im Ayrshare-Dashboard können Sie die [aktiven Webhooks](https://app.ayrshare.com/webhooks) einsehen, die Details des gesendeten Webhooks und den Antwortstatus Ihres Servers anzeigen und den Webhook erneut an die registrierte URL senden.
Wechseln Sie zu einem bestimmten User Profile, um die Webhook-Logs dieses Profils anzuzeigen.

### HTTP-Antwortcodes

Die erste Spalte zeigt eine erfolgreiche HTTP-Antwort ✔️ (200, 300) vom Webhook oder eine fehlgeschlagene Antwort ✖️ (400, 500) an.

Wechseln Sie zu einem bestimmten User Profile, um die Webhook-Logs dieses Profils anzuzeigen.

### Fehlerquote

Die „Fehlerquote“ der letzten 1.000 Beiträge können Sie sowohl auf der Actions-Seite als auch auf der Webhook-Logs-Seite im Dashboard einsehen. Jede Webhook-Antwort Ihres Servers im Bereich 400–500 gilt als Fehler.
