Skip to main content

Ruhezeiten: organisationsweite Kanal-Gates vs. das Kampagnen-Fallback-Fenster

Das Ruhezeiten-Gate von Orbit gehört dem Mandanten: Alles auf dieser Seite ist eine Einstellung, die Sie konfigurieren (oder bewusst deaktiviert lassen). Die einzige Ausnahme ist das TCPA-Bundesfenster für US-Empfänger, das in einem eigenen Abschnitt unten behandelt wird. Ruhezeiten zu aktivieren ist Ihre Entscheidung — nichts davon ist durch CAN-SPAM oder DSGVO vorgeschrieben. Diese Seite ist das Betriebshandbuch für dieses Gate. Drei Flächen bestimmen Ihre Haltung:
  1. Das organisationsweite Kanal-Gate — Kanalschalter in den Organisationseinstellungen (settings → quiet_hours.<channel>.enabled), geschrieben über PUT /api/v1/settings/general und gespiegelt in den Organisationseinstellungen des Dashboards (siehe auch Compliance-Haltung).
  2. Das Kampagnen-Fallback-Fenster — ein einzelnes organisationsweites Start/Ende-Paar für Drip- und Journey-Sendungen, deren Kampagnenzeile kein eigenes Fenster trägt. Im Dashboard: Einstellungen → Kampagnenlimits → Standard-Ruhezeiten; über die API: GET/PUT /api/v1/campaigns/quiet-hours/settings.
  3. Der Vorschau-EndpunktGET /api/v1/compliance/quiet-hours/preview, eine schreibgeschützte Prüfung, die beantwortet: „Würde diese Sendung an diesen Empfänger jetzt durchgehen?” Führen Sie sie vor jeder Einführung aus; sie wird im Runbook unten durchgespielt.

Die zwei Fenster

Das Kampagnen-Fallback ist genau das, was der Name sagt — ein Fallback, kein zweites Gate. Auflösungsreihenfolge für eine Kampagnensendung: zuerst das eigene Fenster der Kampagnenzeile, dann das Organisations-Fallback, dann der Plattform-Standard 21:00 → 09:00 (Ruhezeiten laufen von 21 Uhr bis 9 Uhr Empfänger-Ortszeit). Die beiden Regler können auseinanderlaufen. Eine kampagnenversendete Sendung wertet das Fenster des Kampagnenpfads als eine Ebene aus; das Organisations-Kanal-Gate — sofern Sie diesen Kanal aktiviert haben — ist eine separate Ebene, die am Sendeort ausgewertet wird. Behandeln Sie das Organisations-Gate als Haltung für 1:1-Verkehr und das Kampagnen-Fallback als Standardregime für Massenverkehr. Eine blockierte Sendung meldet next_allowed_at — planen Sie um das Fenster herum statt wiederholt zu senden. Die Fallbacks, die Sie auf einer der beiden Ebenen setzen, können die Hüllkurve nur verengen; sie erweitern niemals ein Kanal-Gate, das Sie aktiviert haben.

Organisationsweites Kanal-Gate pro Kanal

Das Kanal-Gate ist pro Kanal opt-in. Jeder Kanal-Eintrag unterstützt: Organisationsschlüssel (gelten für alle Kanäle gemeinsam):

Standardhaltung pro Kanal

Solange Sie einen Kanal nicht aktivieren, wird nichts zurückgehalten. Wenn Sie einen Kanal ohne Stundenangabe einschalten, greifen die Plattform-Stunden: Der vollständige Kanalsatz, den das Gate akzeptiert: sms, mms, whatsapp, rcs, viber, telegram, voice, email, instagram, messenger, line, apple_messages, fax, push, web_chat.

Zwei Ausnahmen, die wesentlichen Verkehr fließen lassen

  • Vorherige ausdrückliche Einwilligung — mit consent_overrides_quiet_hours auf true (Standard) passiert ein Empfänger mit ausdrücklichem Einwilligungsnachweis auf jedem Nicht-Voice-Kanal. Voice nimmt diese Ausnahme nie in Anspruch.
  • Transaktionale Verkehrsspur — Sendungen, die der Aufrufer als transaktional kennzeichnet (OTPs, Alarme, Kontobenachrichtigungen), sind vom Gate ausgenommen, selbst auf einem aktivierten Kanal. Voice nimmt auch diese Ausnahme nie in Anspruch.
Setzen Sie consent_overrides_quiet_hours nur dann auf false, wenn Sie gestoppte Sendungen ohne Einwilligungsausnahmen wollen.

Kampagnen-Fallback-Fenster

Jeder authentifizierte Aufrufer liest es; nur Inhaber/Admin schreibt es. Das aktuelle Fallback-Fenster lesen:
platform_default_start / platform_default_end spiegeln die Stunden, die Drip- und Journey-Sendungen verwenden, solange die Überschreibung aus ist — übernehmen Sie sie oder ersetzen Sie sie, Ihre Wahl. Im Dashboard ist dieses Formular Einstellungen → Kampagnenlimits → Standard-Ruhezeiten. Setzen Sie Ihr eigenes Fenster (beide Stunden sind erforderlich, wenn enabled true ist):
Zurück auf den Plattform-Standard setzen:
Übernacht-Fenster (z. B. Start 22, Ende 7) werden auf beiden Ebenen akzeptiert — ein start > end-Paar läuft über Mitternacht hinweg.

Auflösung der Empfänger-Zeitzone

Das Gate arbeitet in Empfänger-Ortszeit. Die Zeitzonenauflösung folgt dieser Kette:
  1. Ein expliziter recipientTimezone-Hinweis des Aufrufers, sofern angegeben.
  2. US-Vorwahl → IANA-Zeitzone, für +1-Nummern.
  3. E.164-Ländercode → eine repräsentative IANA-Zeitzone (Europa, Asien, die Amerikas und übliche Betreibermärkte).
  4. Für E-Mail-Empfänger die Standard-Zeitzone der Organisation.
  5. Wenn nichts davon auflöst — die unknown_timezone_policy der Organisation (im Dashboard ebenfalls konfigurierbar unter Einstellungen → Voice):
Wenn der Empfänger sich zu einer Zeitzone auflöst, gibt ein normaler Aktivierter-Kanal-Block 422 QUIET_HOURS_BLOCKED zurück (Voice: TCPA_DIALING_WINDOW_BLOCKED) mit dem Fenster und next_allowed_at in den Fehlerdetails.

TCPA-Bundes-Voice-Ausnahme

Kampagnen- und Dialer-Voice an US-Empfänger wird außerhalb des Bundesfensters 8–21 Uhr Empfänger-Ortszeit hart blockiert — kein Organisations-Gate, kein Fallback-Fenster und kein Einwilligungs-Flag lockert es, und ein US-Empfänger, dessen Zeitzone nicht aufgelöst werden kann, wird fail-closed blockiert. Dies ist der eine Regler, den die Plattform besitzt; es gilt nur für Kampagnen- und Dialer-Voice, nicht für 1:1-Ad-hoc-Anrufe oder Messaging-Kanäle. Nicht-US-Empfänger folgen dem normalen Gate: die fail-open-Richtlinie skip gilt für Empfänger außerhalb der US-Gerichtsbarkeit, und Ihr eigenes Voice-Kanal-Gate (falls aktiviert) schichtet sich darüber. Sie können das Bundesfenster immer verschärfen — etwa ein Voice-Gate von 09:00–20:00 Empfänger-Ortszeit — aber niemals erweitern. Ad-hoc-1:1-Voice aus dem Dashboard außerhalb des Bundesfensters wählt mit einem Hinweis-Log durch, es sei denn, Sie haben den voice-Kanal auf dem Organisations-Gate aktiviert, was ihn zu einem harten Halt macht (422 TCPA_DIALING_WINDOW_BLOCKED).

Einwilligung überschreibt Ruhezeiten

Mit consent_overrides_quiet_hours: true (Standard) passiert ein Empfänger, für den Sie eine ausdrückliche Einwilligung halten, das Gate auf Nicht-Voice-Kanälen — die TCPA-Ausnahme „prior express consent”. Ein erlaubter Empfänger bleibt innerhalb Ihrer geschlossenen Stunden erreichbar; ein Kontakt ohne Einwilligungsnachweis wird zurückgehalten, bis das Fenster öffnet. Setzen Sie es auf false, wenn Einwilligung Ihr Fenster nie lockern darf. Das Gate ignoriert das Flag auf dem voice-Kanal vollständig — Voice hängt am Bundesfenster und an Bundesstaat-Overlays, nicht an der Einwilligungsausnahme.

Mini-TCPA-Overlays der Bundesstaaten

Einige US-Bundesstaaten schichten ein strengeres Anruffenster oder ein Wochentagsverbot auf die Bundesstunden (Floridas Sonntagsverbot, Oklahoma-/Mississippi-Fenster und andere). Overlays kombinieren sich nach dem strengsten gewinnt: Eine Sendung muss das Bundesfenster und jedes anwendbare Bundesstaat-Overlay passieren; das Overlay kann verschärfen, aber niemals erweitern. Voice-Blockaden melden diese Fehlergründe zurück:
  • outside_state_window — ein Bundesstaat-Overlay hat das Fenster verschärft, und diese Stunde lag außerhalb.
  • state_blocked_day — das Overlay verbietet das Wählen an diesem Wochentag vollständig.
Die vollständige Tabelle pro Bundesstaat und welche Empfänger-Bundesstaaten in welches Overlay auflösen, steht in US-Bundesstaat-Anruffenster.

Operationales Runbook

Einführungs-Checkliste. Bevor Sie einen Kanal aktivieren oder eine große Liste pushen:
  1. Eine Stichprobe von Empfängern mit GET /api/v1/compliance/quiet-hours/preview?phone=<E.164>&channel=<channel> vorschaubar prüfen; timezone_override=<IANA> nur hinzufügen, wenn Ihr CRM einen besseren Hinweis liefert als die Nummer auflöst.
  2. Den Organisations-Gate-Block bestätigen: GET /api/v1/settings/general aufrufen und den quiet_hours-Baum vor dem PUT lesen — Schreibvorgänge mergen auf der obersten Ebene, aber der quiet_hours-Schlüssel selbst wird vollständig ersetzt (siehe den Schreibabschnitt unten).
  3. Bei Massen-Einführungen GET /api/v1/settings/compliance-health im Blick behalten — dessen Warnungen rängen den schlimmsten Verursacher (am häufigsten zurückgehaltener Absender, Fehlercluster) zuerst, damit Sie die lautesten Spur zuerst fixen.
Halte sind pro Empfänger, nicht pro Mandant. Ein Kontakt, der um 21:05 Empfänger-Ortszeit zurückgehalten ist, blockiert nur dessen Sendungen; der Rest Ihres Batches läuft parallel weiter. Eine zurückgehaltene 1:1-Sendung wirft 422 QUIET_HOURS_BLOCKED mit next_allowed_at in den Fehlerdetails — planen Sie auf diesen Zeitstempel statt in einer Schleife zu wiederholen. Eine zurückgehaltene Sendung verbraucht keine Quote oder Slot-Reservierung, sodass Wiederholungen sauber wieder zugelassen werden, sobald das Fenster öffnet. Schreibvorgänge brauchen bis zu etwa einer Minute, um jeden Sendeort zu erreichen — Organisationseinstellungen werden im Sendepfad kurz gecacht. Lesezugriffe sind sofort; verifizieren Sie die gemergte Haltung mit einem GET zurück, bevor Sie ausrollen.

Durchgespielte Beispiele

Massen-einführung um 21:05 — Verhalten der Halte-Queue

Sie pushen eine Liste mit 1.000 Empfängern über die API zu einem Zeitpunkt, an dem ein Teil Ihrer Liste außerhalb Ihres 08:00–21:00-Organisations-Gates Empfänger-Ortszeit liegt. Jeder Empfänger löst unabhängig gegen Ihren aktivierten sms-Gate auf:
  • In-Fenster-Empfänger geben sofort zugelassen.
  • Zurückgehaltene Empfänger bekommen einen 422 mit next_allowed_at; Ihr Worker parkt sie und setzt den Batch fort. Der Batch selbst pausiert nicht — Halte sind pro Empfänger.
  • Wenn das Fenster jedes Empfängers wieder öffnet, reichen Sie die geparkte Zeile erneut ein; während der Haltezeit wurde kein Slot verbrannt.
Einen bestimmten Empfänger ohne Verbrauch des Versuchs prüfen:
next_allowed_at ist ein DST-sicherer ISO-Zeitstempel — geben Sie ihn direkt an Ihren Scheduler weiter.

Zeituneaufgelöster US-Voice-Empfänger — fail-closed

Eine Kampagnen-Voice-Wahl an +15551234567, bei der die Vorwahl keine Zeitzone auflöst, läuft in die fail-closed-Haltung der Bundeswache: die Wahl wird mit 422 TCPA_TIMEZONE_UNKNOWN abgelehnt, bevor irgendeine Fenstermathematik beginnt. Fixen Sie die Daten — setzen Sie die Zeitzone des Kontakts am Datensatz oder übergeben Sie recipientTimezone — und reihen Sie dann erneut ein. Dieselbe unaufgelöste Eingabe auf dem sms-Kanal mit unknown_timezone_policy: "deny" endet in 422 QUIET_HOURS_TIMEZONE_UNKNOWN; mit der Standard-skip-Richtlinie passiert sie fail-open. Die deny-Richtlinie ist nur der Standard für US-Empfänger-Voice, gemäß der Bundesausnahme oben.

Einwilligungs-Override innerhalb des Fensters

Zwei Kontakte, sms-Gate aktiviert, 22:30 Empfänger-Ortszeit (außerhalb Ihres Fensters):
Mit consent_overrides_quiet_hours: false halten beide bis 08:00 Empfänger-Ortszeit. Auf voice gilt das Flag überhaupt nicht — jeder Voice-Versuch wird allein auf Fenstermathematik geprüft.

Einen Kanal über die Organisationseinstellungen-API aktivieren

Es gibt keinen dedizierten Ruhezeiten-Schreib-Endpunkt für das Kanal-Gate; es lebt im Organisationseinstellungen-Speicher, und jeder Sendeort liest es. Aktualisieren Sie es über PUT /api/v1/settings/general (Inhaber/Admin):
Lesen Sie die aktuelle Haltung mit GET /api/v1/settings/general zurück und sehen Sie sich den quiet_hours-Block in den zurückgegebenen settings an.
Merge-then-verify. PUT /settings/general mergt Einstellungen auf der obersten Ebene, sodass ein Schreibvorgang, der nur quiet_hours enthält, Ihre übrigen Einstellungen unberührt lässt — aber ein Schreibvorgang, dessen Wurzel ein vollständiges quiet_hours-Objekt trägt, ERSETZT diesen Schlüssel. Wenn Sie vorhandene Einträge behalten wollen (zum Beispiel ein default-Fenster oder die gespeicherten Blattschlüssel des Kampagnen-Fallbacks), lesen Sie den aktuellen Block zuerst und mergen Sie vor dem Schreiben.
Schreibvorgänge brauchen bis zu etwa einer Minute, um jeden Sendeort zu erreichen — Organisationseinstellungen werden im Sendepfad kurz gecacht.

Eine Haltung wählen

  1. Alles aus lassen (Standard), wenn Sie außerhalb von Ruhezeiten-Jurisdiktionen operieren oder Grenzen woanders behandeln. Ein Vorbehalt: US-Kampagnen- und Dialer-Voice bleibt hart blockiert — das lässt sich nicht ausschalten.
  2. US-Marketing-Betreiber — aktivieren Sie sms (und Voice, wenn Sie ad-hoc wählen) auf dem Organisations-Gate; die Plattform-Stunden 08:00–21:00 Empfänger-Ortszeit gelten sofort. Die Einwilligungsausnahme hält erlaubte Empfänger erreichbar.
  3. EU/APAC-Betreiber mit Drip-Kampagnen — setzen Sie das Kampagnen-Fallback auf Ihr lokales Fenster (z. B. 22:00 → 07:00) unter Einstellungen → Kampagnenlimits, damit jede Drip und Journey ohne eigenes Fenster in Ihrem Regime sendet. Fügen Sie das Organisations- Gate pro Kanal hinzu, wenn Sie auch 1:1-Verkehr zurückhalten wollen.

Siehe auch