Barrières d’envoi
Au-delà du consentement et de la suppression, plusieurs vérifications réglementaires s’exécutent au moment de l’envoi. Orbit les regroupe sous le nom de barrières d’envoi : chacune peut retenir ou bloquer un message ou un appel avant sa distribution. Cette page couvre les barrières que vous configurez ou interrogez directement. Tous les endpoints ci-dessous sont enracinés surhttps://api.orbit.devotel.io/api/v1/compliance.
BAA — la barrière d’envoi HIPAA
Lorsque votre organisation opte pour le mode HIPAA (vous traitez des PHI), chaque envoi sortant — qu’il s’agisse de messages individuels ou de campagnes groupées — est bloqué jusqu’à ce qu’un Business Associate Agreement (BAA) exécuté et en vigueur soit enregistré. L’exécution du BAA est la première étape de la séquence HIPAA ; la barrière d’envoi est le garde-fou d’exécution qui ne peut être contourné. Un envoi bloqué renvoie422 HIPAA_BAA_REQUIRED avec un reason parmi pending, expired ou
not_signed, et le docs_url dans la charge utile d’erreur pointe vers le flux d’exécution du BAA. Un 500 HIPAA_BAA_GATE_DB_FAIL signifie que la barrière n’a pas pu vérifier le statut du BAA — elle échoue fermée (les envois restent bloqués) plutôt que de risquer une transmission de PHI qu’elle ne peut vérifier. Réessayez sous peu ; si le problème persiste, contactez le support.
La barrière vérifie aussi la piste d’audit : lorsque la lecture du
statut du BAA ne peut être validée, l’envoi est bloqué et l’échec est
consigné dans l’audit PHI plutôt que d’être laissé passer
silencieusement.
Heures de silence
Les règles d’heures de silence bloquent les messages et appels qui s’afficheraient en dehors des heures locales autorisées du destinataire (p. ex. la fenêtre TCPA de 8 h à 21 h). Orbit résout le temps local du destinataire à partir de la région de son numéro de téléphone.GET /quiet-hours/preview vous indique si un envoi est autorisé actuellement, et quelle est la prochaine heure autorisée — utilisez-le pour planifier en dehors de la fenêtre.
La barrière des heures de silence est opt-in par canal et par organisation — chaque canal est livré avec le commutateur désactivé, de sorte que les SMS, WhatsApp et autres envois d’un nouveau locataire ne sont pas retenus par les heures de silence tant que vous n’activez pas la barrière pour ce canal. Activez-la par canal depuis les paramètres d’heures de silence de votre organisation dans le tableau de bord Orbit ; les fenêtres répertoriées s’appliquent alors automatiquement.
Une fois activées, les fenêtres sont 08:00–21:00 (heure locale du destinataire) pour SMS/voix et 09:00–21:00 pour les canaux WhatsApp/Meta, sauf si vous définissez votre propre
start_hour/end_hour. E-mail, fax et push ne sont pas soumis aux heures de silence.
Fenêtre vocale TCPA aux États-Unis : conseil pour les appels ad-hoc,
blocage dur pour les campagnes. Pour les appels vocaux sortants vers des
destinataires américains (+1), Orbit évalue la fenêtre fédérale TCPA de
composition de 8 h à 21 h en heure locale du destinataire à chaque
appel — mais la façon dont le résultat est appliqué dépend du chemin
d’appel :
- La composition ad-hoc 1:1 depuis le tableau de bord est à titre de conseil par défaut. Un appel en dehors de la fenêtre enregistre un journal structuré de conseil mais est quand même distribué. Pour retenir ces appels plutôt, activez le commutateur d’heures de silence vocales pour votre organisation ; son activation applique la fenêtre de 8 h à 21 h comme retenue stricte.
- Le trafic vocal de campagne et de composeur est toujours dur-bloqué
en dehors de la fenêtre, indépendamment de vos paramètres de locataire.
Un appel de campagne ou de composeur placé en dehors de 8 h à 21 h en
heure locale du destinataire est rejeté avec
422 TCPA_FEDERAL_DIALING_WINDOW_BLOCKED— il n’y a pas d’opt-out par organisation pour la voix automatisée ou groupée, et le commutateur d’heures de silence vocales ne l’assouplit pas. Si le fuseau horaire du destinataire ne peut être résolu, l’appel échoue fermé et est également bloqué.
GET /quiet-hours/preview pour trouver la prochaine heure autorisée.DNC — Do Not Call
GET /dnc/check indique si un numéro figure sur une liste Do-Not-Call avant que vous ne l’appeliez ou lui envoyiez un SMS. Pour la posture de bout en bout — sources, fraîcheur et le caveat de fail-open — voir
Vérification DNC.
source indique quelle couche a signalé le numéro (votre drapeau DNC de contact, la liste DNC, la liste de suppression ou une désinscription de consentement).
La barrière s’applique uniquement tant qu’aucun flux Do-Not-Call n’est
synchronisé. Dans cet état, l’endpoint est retenu derrière le paramètre
d’organisation
dnc_sync_enabled (désactivé par défaut) et renvoie
403 DNC_SYNC_NOT_ENABLED jusqu’à ce que vous optiez — reconnaissant
qu’Orbit ne fait pas encore de vérification par rapport à un registre
fédéral pour vous, de sorte qu’un numéro présent uniquement sur la liste
FTC se lit comme on_dnc: false.Une fois qu’Orbit a synchronisé un instantané fédéral, d’État ou TCR, la
barrière dnc_sync_enabled est contournée : l’endpoint se sert
directement et federal_feeds_synced renvoie true. Lisez ce champ à
chaque réponse pour confirmer si une vérification fédérale soutient
réellement le résultat.Vérification préalable en lot
POST /dnc/scrub exécute la même chaîne sur une liste entière en un seul appel — jusqu’à 500 numéros E.164 par requête, avec un filtre optionnel de juridiction country. Il renvoie des verdicts par numéro plus des comptes de synthèse on_dnc / clear, est limité par débit à 10 requêtes par minute par organisation, et se situe derrière la même barrière décrite ci-dessus.
Dépannage de la barrière
Lorsque l’un des endpoints DNC est retenu à403 DNC_SYNC_NOT_ENABLED :
- Confirmez l’état de la barrière sans exécuter de vérification —
appelez
GET /dnc/availability. Il rapporte la barrière exacte que les deux endpoints appliquent :available, votreorg_opt_inetfederal_feeds_synced. - Activez l’accusé de l’organisation — activez
dnc_sync_enableddans les paramètres de conformité de votre tableau de bord. Le drapeau est par organisation et échoue fermé : un drapeau jamais défini, une valeur stockée comme chaîne ou nombre plutôt que booléentrue, ou une recherche de paramètres qui échoue se résolvent tous à OFF — une organisation qui n’a jamais visité les paramètres de conformité obtient toujours le 403. - Ou attendez l’instantané — une fois que la plateforme synchronise
un flux fédéral, d’État ou TCR, la barrière se retire d’elle-même et
federal_feeds_syncedbascule àtrue; l’accusé n’est plus consulté. - Distinguez les homonymes —
401est l’authentification,422est un téléphone malformé, et429sur/dnc/scrubest sa limite de 10 requêtes par minute, pas la barrière.
RND — Reassigned Numbers Database
Les numéros de téléphone américains sont réattribués à de nouvelles personnes. La Reassigned Numbers Database de la FCC vous permet de vérifier si un numéro a été déconnecté après la date à laquelle vous avez obtenu le consentement — un « abri sûr » contre le fait d’envoyer un SMS ou d’appeler la mauvaise personne.GET /rnd/check prend le phone et la consent_date
(YYYY-MM-DD) :
feed_synced est false, c’est la seule réponse que l’endpoint renvoie, quel que soit le phone et la consent_date — aucune date de déconnexion n’est encore enregistrée, donc chaque verdict se dégrade à no_data.
status est l’un de yes, no ou no_data — le verdict de la base de données de la FCC pour la paire (phone, consent_date) :
safe_harbor est true uniquement lorsque status est no. last_disconnect_date
est la date de déconnexion définitive la plus récente enregistrée (null lorsqu’aucune),
et feed_synced est false jusqu’à ce que l’ingestion du flux RND soit configurée — tant
qu’il est false, chaque verdict est no_data.
Étant donné derrière rnd_scrub_enabled (désactivé par défaut) ; renvoie
403 RND_SCRUB_NOT_ENABLED pendant que c’est désactivé.
Activation et désactivation de la vérification RND
UtilisezPUT /api/v1/compliance/rnd/settings pour contrôler le drapeau rnd_scrub_enabled :
RND_FEED_NOT_CONFIGURED jusqu’à ce que le flux de la Reassigned Numbers Database de la FCC (le flux reassigned.us de SomosGov) soit connecté à votre déploiement. Activer la fonctionnalité avant que le flux ne soit ingéré créerait un contrôle de conformité qui ne réalise aucune vérification réelle de numéros réattribués — vous basculeriez le drapeau, mais chaque recherche /rnd/check renverrait toujours no_data. Le blocage 409 empêche cette fausse impression de protection.
La désactivation (enabled: false) est toujours permise, même si aucun flux n’est encore connecté.
RMD — Robocall Mitigation Database
Les émetteurs de voix américains doivent déposer un enregistrement Robocall Mitigation Database décrivant leur statut STIR/SHAKEN et leur plan de mitigation. Orbit stocke et suit votre dépôt.GET /rmd— lire votre enregistrement plus un blocrecertificationavecrenewal_deadlineetaction_required.POST /rmd— créer ou mettre à jour le dépôt.POST /rmd/submit→ statutsubmitted.POST /rmd/certify→ statutactive.POST /rmd/remediation(avec unereason) → statutremediation_required.POST /rmd/resolve→ retour àactive.POST /rmd/withdraw→ statutwithdrawn.
stir_shaken_status est complete, partial ou none. Un
mitigation_plan est requis sauf si le statut est complete. Le cycle
de vie est draft → submitted → active → remediation_required → active | withdrawn.
Arrêt d’urgence
L’arrêt d’urgence est un commutateur d’extinction à l’échelle de l’organisation qui arrête immédiatement tout le trafic sortant SMS, MMS, voix et composeur — utilisez-le lors d’une incident (une campagne mal configurée, une clé compromise, une erreur de contenu). Pour le runbook complet de l’opérateur, voir le guide de l’arrêt d’urgence.GET /emergency-stop renvoie le drapeau active actuel plus
activated_at, activated_by et reason. L’activation et la
désactivation nécessitent une clé admin/propriétaire.
Centre de préférences
Le centre de préférences est une page publique signée par jeton où un contact gère ses propres opt-ins par canal, la fréquence des messages et (si activé) les demandes de suppression de données — sans se connecter. Les mises à jour s’écoulent directement dans le consentement, la suppression et la barrière STOP. Configurez-le une fois, puis générez un lien par contact. La démarche complète — chaque champ de configuration, emplacement du lien et surfaces de flux de mise à jour — se trouve dans le guide du centre de préférences :POST /preference-center(admin/propriétaire) — définir l’image de marque, leschannelsofferts, les options de fréquence et le commutateur de suppression GDPR.GET /preference-center— lire la configuration actuelle.POST /preference-center/linkavec{ "contactId": "cnt_…" }— générer un lien signé (HMAC-SHA256, TTL de 30 jours) à envoyer par e-mail ou SMS au contact.
GET/PUT /compliance/preferences/{token}) pour voir et mettre à jour ses
préférences. La désinscription ici enregistre une révocation de consentement,
ajoute une entrée de suppression et définit la barrière STOP ; la
réinscription l’inverse.
Règles par pays
GET /country-rules est la référence réglementaire en lecture seule derrière
ces barrières — par pays et par canal, elle rapporte les types d’expéditeurs
autorisés, si l’enregistrement de l’ID de l’expéditeur est none /
recommended / required, les exigences de mots-clés d’arrêt, le support
bidirectionnel, le support DLR et le débit par défaut.
Références connexes
- FAQ de posture de conformité — « J’ai activé le commutateur — pourquoi rien n’est encore bloqué ? » et le résumé fail-open par rapport à fail-closed pour chaque barrière de cette page.
- Barrière TCPA des plaideurs connus — la vérification de l’origine du destinataire par rapport à la liste de la plateforme des plaideurs professionnels TCPA, avec son commutateur de locataire, sa piste d’audit de contournement consenti et son mode fail-open.
- Configurez la posture de votre locataire avant le premier envoi — le runbook qui déroule ces barrières en ordre de configuration, avec la valeur par défaut et la conséquence pour chacune.
- Fenêtres d’appel par État aux États-Unis — superpositions mini-TCPA par État sur la fenêtre de composition fédérale et la façon dont un blocage se remonte à un statut.
- Exigences de conformité par pays — types d’expéditeurs, enregistrement et documentation par pays.
- Secteurs restreints et interdits — quels secteurs et contenus sont restreints ou interdits.
- Blocs automatiques des destinations vocales — les blocs vocaux automatiques par destination appliqués sur un envoi groupé de traffic-pumping ou de Wangiri, et où les lire avant qu’un appel légitime vers ce numéro ne soit rejeté.
- Listes d’exclusion et de suppression — la couche de suppression alimentée par DNC et le centre de préférences.
- Gestion du consentement — les enregistrements de consentement mis à jour par le centre de préférences.
-
Enregistrement de l’ID d’expéditeur — l’enregistrement
que
country-rulesrapporte comme requis. - Référence API → Conformité — schémas complets de requête/réponse (régénérés depuis l’API en direct).