Seitentyp: docs
Tarifbegrenzungen
Versteht API-Ratenbegrenzungen, Sendeleistung, Wiederholungsversuche und Live-Modus-Kontrollen.
Direkte Antwort
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.