# Tarifbegrenzungen

Kanonische URL: https://texttree.ai/de/docs/ratenlimits/
Markdown-URL: https://texttree.ai/de/docs/ratenlimits.md
Seitentyp: docs
Translation status: draft
Legal status: english_controls

## Zusammenfassung

Versteht API-Ratenbegrenzungen, Sendeleistung, Wiederholungsversuche und Live-Modus-Kontrollen.

## Seiteninhalt

Tarifobergrenzen schützen die Lieferantenzuverlässigkeit, die Ausgabenkontrolle und das Kundenerlebnis.

TextTree zeigt Ratengrenzfehler an mit:

- ID anfordern
-Endpunkt
- Anleitung zum erneuten Versuch
- Zugehörige Webhook-Nachricht oder -Ereignis

Die Leistung in der Produktion hängt von der Absenderregistrierung, den Anbieterbeschränkungen und dem Arbeitsbereichsplan ab.

## Konto-Bootstrap-Einschränkung

Der Headless-Konto-Bootstrap ist genauso stark wie der normale API-Verkehr:

-`POST /api/v1/accounts` 
-`POST /mcp/accounts` 

Jede IP-Adresse kann alle fünf Minuten erfolgreich ein Konto erstellen. TextBaum
Speichert nur einen Hash der IP-Adresse für diesen Drosselungsdatensatz. ein Versuch
Erfolgreiche Erstellung innerhalb des Fensters wiederholt:

```json
{
  „error“: „account_creation_rate_limited“,
  „retry_after_seconds“: 300
}
```

## Begrenzung der Nachrichtenversandrate

Für `POST /api/v1/messages` ist die Rate pro API-Anmeldeinformation (pro Zugriffstoken) begrenzt
dass ein einzelner Schlüssel die gemeinsame Sendewarteschlange nicht überfluten kann. Das Limit liegt im Token-Bucket:
Kurze Bursts sind ohne zulässig und dann sind die Anforderungen auf eine anhaltende Rate beschränkt.

| Planebene | Burst-Fähigkeit | Token-Aufladung |
| --- | ---: | --- |
| Anlasser | 1 Nachricht | 1 Token alle 1.200 ms |
| Wachstum | 5 Nachrichten | 1 Token alle 1.200 ms |
| Maßstab | 10 Nachrichten | 1 Token alle 1.200 ms |
| Unternehmen | 20 Nachrichten | 1 Token alle 1.200 ms |

Bei allen Stufen bleibt die standardmäßige nachhaltige Wiederaufladung der API-Zulassung gleich oder niedriger
Die Standardobergrenze des Wählanbieters beträgt ein Token alle 1.200 ms. Das Gehaltsniveau steigt
die Zulassung kurze Ausbrüche; die eigentliche Zustellung steht noch hinter dem Absenderdatensatz,
Einwahlratenbegrenzungen, Ausgabenkontrollen und Workspace-Absendereinstellungen.

Wenn der Bucket gelesen wird, antwortet der Endpunkt mit `429 Too Many Requests` , a
header`Retry-After` (in Sekunden) und:

```json
{
  „error“: „message_send_rate_limited“,
  „message“: „Zu viele Anfragen zum Senden von Nachrichten. Versuchen Sie es nach der angegebenen Verzögerung erneut.“
  „retry_after_seconds“: 1,
  „Limit“: {
    „tier“: „starter“,
    „Kapazität“: 1,
    „refill_ms“: 1200
  }
}
```

Lesevorgänge (`GET /api/v1/messages/:id`) und Vorschauen sind von dieser Beschränkung nicht betroffen.
Nach der Registrierung ist pro Arbeitsbereichsplan eine höhere Dauerleistung verfügbar
Der Absender ist stabil – wenden Sie sich an den Support.

## Antwortformat

```json
{
  „error“: „message_send_rate_limited“,
  „message“: „Zu viele Anfragen zum Senden von Nachrichten. Versuchen Sie es nach der angegebenen Verzögerung erneut.“
  „retry_after_seconds“: 30,
  „Limit“: {
    „tier“: „Wachstum“,
    „Kapazität“: 5.
    „refill_ms“: 1200
  }
}
```

Verwenden Sie `retry_after_seconds`, sofern vorhanden. Wenn das Feld fehlt, verwenden Sie die exponentielle Rücktaste mit
Zittern, anstatt es sofort noch einmal zu versuchen.

## Wiederholungsmuster

```js
asynchrone Funktion sendWithBackoff(payload, try = 1) {
  const Antwort = Warten auf fetch(" https://api.texttree.ai/api/v1/messages", {
    Methode: „POST“,
    Referenzen: {
      Autorisierung: `Bearer ${process.env.TEXTREE_ACCESS_TOKEN}`,
      „Content-Type“: „application/json“,
    },
    Körper: JSON.stringify(Nutzlast),
  });

  if (response.status !== 429) {
    Rückantwort;
  }

  const retryAfter = Number(response.headers.get("retry-after") || 2 ** Versuch);
  warte new Promise((resolve) => setTimeout(resolve, retryAfter * 1000));
  return sendWithBackoff(payload, try + 1);
}
```

## Idempotenz

Schließen Sie immer `idempotency_key` ein, wenn Sie Workflow-Übermittlungen wiederholen. Dadurch kann TextTree die zurückgeben
Originalnachricht, anstatt doppelte SMS-Datensätze zu erstellen, wenn die erste Anfrage erfolgreich war, aber
Bei Ihrem Kunden ist eine Zeitüberschreitung aufgetreten.

```json
{
  „Telefonnummer“: „+15551234567“,
  „body“: „Ihr Termin ist morgen um 9 Uhr.“
  „idempotency_key“: „appointment-123-reminder“
}
```

## Bedienungsanleitung

- Führen Sie Burst-Tests im Testmodus durch, bevor Sie den Datenverkehr auf Live umstellen.
- Webhook-Empfänger schnell halten und `2xx` schnell zurückgeben.
– Verwenden Sie Nachrichtenprotokolle und Anforderungs-IDs, um eingeschränkte Sendungen zu debuggen.
- Fordern Sie Unterstützung für eine höhere Produktionsleistung an, sobald der Absenderdatensatz stabil ist.
