Skip to main content

Puertas de envío

Además del consentimiento y la supresión, se ejecutan varias verificaciones regulatorias en el momento del envío. Orbit las agrupa como puertas de envío: cada una puede retener o descartar un mensaje o una llamada antes de que se despache. Esta página cubre las puertas que usted configura o consulta directamente. Todos los endpoints que aparecen a continuación tienen su raíz en https://api.orbit.devotel.io/api/v1/compliance.
DNC y RND cotejan con los registros nacionales — los registros federal y estatales de no llamar (Do-Not-Call) de la FTC y el Universal Opt-Out de TCR para DNC, y la base de datos de números reasignados de la FCC para RND. No son fuentes que usted configura o integra por tenant: cuando hay una instantánea de registro en vigor, la plataforma la mantiene de forma centralizada en lugar de leer de su propia integración. Sin embargo, el cotejo está desactivado por defecto — cada puerta reporta federal_feeds_synced / feed_synced como false hasta que se sincroniza realmente una instantánea para ella, y permanece detrás de un conmutador de activación por organización. Mientras ambas condiciones no sean verdaderas, estos endpoints devuelven una respuesta de desactivado y un número que solo figura en un registro federal se lee como de contacto desbloqueado (consulte el comportamiento exacto de cada puerta más abajo). Esta página no constituye asesoramiento legal — confirme sus obligaciones TCPA/FCC con su asesor legal.

BAA — la puerta de envío HIPAA

Cuando su organización se acoge al modo HIPAA (usted maneja PHI), todo envío saliente — tanto mensajes individuales como difusiones de campañas — queda bloqueado hasta que conste un Acuerdo de Colaborador Comercial (BAA) ejecutado y vigente. Ejecutar el BAA es el primer paso de la secuencia HIPAA; la puerta de envío es el respaldo de ejecución que no se puede eludir. Un envío bloqueado devuelve 422 HIPAA_BAA_REQUIRED con un reason de pending, expired o not_signed, y el docs_url en la carga del error apunta al flujo de ejecución del BAA. Un 500 HIPAA_BAA_GATE_DB_FAIL significa que la puerta no pudo verificar el estado del BAA — falla en modo cerrado (los envíos siguen bloqueados) en lugar de arriesgar una transmisión de PHI que no puede comprobar. Reintente en breve; si el problema persiste, póngase en contacto con soporte.
La puerta comprueba también la pista de auditoría: cuando no se puede validar la lectura del estado del BAA, el envío se bloquea y el fallo se registra en la auditoría de PHI en lugar de dejarse pasar silenciosamente.
Un BAA ejecutado tiene una vigencia de un año; la caducidad se re-deriva de la marca de tiempo de ejecución en el momento del envío, por lo que un BAA que venció vuelve a bloquear aunque el cron diario de verificación de caducidad aún no se haya ejecutado. Si su organización no atesta el modo HIPAA, esta puerta es una no operación (no-op) — solo inspecciona organizaciones que declararon que el PHI está en su alcance. Siga la secuencia completa en Incorporación HIPAA: del BAA a auditoría lista.

Horas de silencio

Las reglas de horas de silencio bloquean mensajes y llamadas que llegarían fuera de las horas locales permitidas del destinatario (p. ej. la ventana TCPA de 8 a. m. a 9 p. m.). Orbit resuelve la hora local del destinatario a partir de la región de su número de teléfono. GET /quiet-hours/preview le indica si un envío está permitido ahora mismo y cuándo es la siguiente hora permitida — utilícelo para programar alrededor de la ventana.
El control de horas de silencio se activa por canal y por organización — cada canal se entrega con el conmutador desactivado, por lo que los envíos de SMS, WhatsApp y otros de un nuevo tenant no quedan retenidos por las horas de silencio hasta que usted active la puerta para ese canal. Active por canal desde la configuración de horas de silencio de su organización en el panel de Orbit; las ventanas listadas se aplican entonces automáticamente. Una vez activado, las ventanas son 08:00–21:00 (hora local del destinatario) para SMS/voz y 09:00–21:00 para los canales de WhatsApp/Meta a menos que usted establezca sus propios start_hour/end_hour. El correo electrónico, el fax y el push no están controlados por las horas de silencio.
Ventana TCPA de voz de EE. UU.: aviso para marcados ad hoc, bloqueo estricto para campañas. Para llamadas de voz salientes a destinatarios de EE. UU. (+1), Orbit evalúa la ventana federal TCPA de marcación de 8 a. m. a 9 p. m. (hora local del destinatario) en cada llamada — pero cómo aplica el resultado depende de la ruta de la llamada:
  • El marcado ad hoc 1:1 desde el panel es de aviso por defecto. Una llamada fuera de la ventana registra un registro estructurado de aviso pero aun así se despacha. Para retener estas llamadas en su lugar, active el conmutador de horas de silencio de voz de su organización; al activarlo se aplica la ventana 8 a. m.–9 p. m. como retención estricta.
  • El tráfico de voz de campañas y marcadores se bloquea siempre de forma estricta fuera de la ventana, independientemente de la configuración de su tenant. Una llamada de campaña o de marcador realizada fuera del rango 8 a. m.–9 p. m. (hora local del destinatario) se rechaza con 422 TCPA_FEDERAL_DIALING_WINDOW_BLOCKED — no hay una exclusión por organización para voz automatizada o masiva, y el conmutador de horas de silencio de voz no lo relaja. Si no se puede resolver la zona horaria del destinatario, la llamada falla en modo cerrado y también se bloquea.
Programe las llamadas de campaña y marcador dentro de la ventana 8 a. m.–9 p. m. (hora local del destinatario) — use GET /quiet-hours/preview para encontrar la siguiente hora permitida.

DNC — No llamar (Do Not Call)

GET /dnc/check informa si un número figura en una lista de no llamar antes de que usted lo marque o le envíe un texto. Para la postura de extremo a extremo — fuentes, frescura y la advertencia de fallo abierto — consulte Cotejo DNC.
Cuando está activado devuelve:
El source indica qué capa marcó el número (su marca DNC de contacto, la lista DNC, la lista de supresión o una cancelación de consentimiento).
La puerta aplica solo mientras no haya sincronizada ninguna fuente de no llamar. En ese estado el endpoint queda retenido detrás del ajuste de la organización dnc_sync_enabled (desactivado por defecto) y devuelve 403 DNC_SYNC_NOT_ENABLED hasta que usted se dé de alta — reconociendo que Orbit aún no está cotejando con un registro federal por usted, por lo que un número que solo figura en la lista de la FTC se lee como on_dnc: false.Una vez que Orbit tiene sincronizada una instantánea federal, estatal o de TCR, la puerta dnc_sync_enabled se omite: el endpoint sirve directamente y federal_feeds_synced devuelve true. Lea ese campo en cada respuesta para confirmar si un cotejo federal realmente respalda el resultado.

Pre-flight por lotes

POST /dnc/scrub ejecuta la misma cadena contra toda una lista en una llamada — hasta 500 números E.164 por solicitud, con un filtro de jurisdicción country opcional. Devuelve veredictos por número más conteos resumen de on_dnc / clear, está limitado a 10 solicitudes por minuto por organización y está detrás de la misma puerta descrita arriba.
Para el flujo de trabajo de campañas — el control, la fragmentación, el enrutamiento de números marcados a supresión y la cadencia de recotejo — consulte Cotejo por lotes de pre-flight DNC.

Resolución de problemas de una llamada controlada

Cuando cualquiera de los endpoints DNC se retiene en 403 DNC_SYNC_NOT_ENABLED:
  1. Confirme el estado de la puerta sin ejecutar una verificación — llame a GET /dnc/availability. Reporta la puerta exacta que ambos endpoints aplican: available, su org_opt_in y federal_feeds_synced.
  2. Active el reconocimiento de la organización — encienda dnc_sync_enabled en la configuración de cumplimiento de su panel. El indicador es por organización y falla en modo cerrado: un indicador nunca establecido, un valor almacenado como cadena o número en lugar de booleano true, o una búsqueda de ajustes que falla resuelven a DESACTIVADO — una organización que nunca ha visitado la configuración de cumplimiento siempre recibe el 403.
  3. O espere a la instantánea — una vez que la plataforma sincroniza una fuente federal, estatal o de TCR, la puerta se retira por sí misma y federal_feeds_synced cambia a true; el reconocimiento ya no se consulta.
  4. Separe las semejanzas401 es autenticación, 422 es un teléfono mal formado, y 429 en /dnc/scrub es su límite de 10 solicitudes por minuto, no la puerta.
La guía completa está en Resolución de problemas: pre-flight DNC 403.

RND — Base de datos de números reasignados

Los números de teléfono de EE. UU. se reasignan a personas nuevas. La Base de datos de números reasignados de la FCC le permite comprobar si un número se desconectó después de la fecha en que obtuvo el consentimiento — un «refugio seguro» («safe harbor») contra enviar texto o llamar a la persona equivocada. GET /rnd/check toma el phone y la consent_date (YYYY-MM-DD):
Mientras feed_synced sea false, esta es la única respuesta que el endpoint devuelve, cualquiera que sea el phone y el consent_date — aún no hay fechas de desconexión registradas, por lo que todo veredicto degrada a no_data. status es uno de yes, no o no_data — el veredicto de la base de datos de la FCC para el par (phone, consent_date): safe_harbor es true solo cuando status es no. last_disconnect_date es la fecha de desconexión permanente más reciente registrada (null cuando no hay) y feed_synced es false hasta que la ingesta de la fuente RND esté configurada — mientras sea false, todo veredicto es no_data. Controlado detrás de rnd_scrub_enabled (desactivado por defecto); devuelve 403 RND_SCRUB_NOT_ENABLED mientras esté desactivado.

Activación y desactivación del cotejo RND

Use PUT /api/v1/compliance/rnd/settings para controlar el indicador rnd_scrub_enabled:
La activación se bloquea con HTTP 409 RND_FEED_NOT_CONFIGURED hasta que la fuente de la Base de datos de números reasignados de la FCC (la fuente reassigned.us de SomosGov) esté conectada a su despliegue. Encender la función antes de que la fuente esté ingerida crearía un control de cumplimiento que no realiza ninguna detección real de números reasignados — usted encendería el indicador, pero cada búsqueda de /rnd/check seguiría devolviendo no_data. El bloqueo 409 evita esta falsa sensación de protección. La desactivación (enabled: false) siempre está permitida, incluso si aún no hay fuente conectada.

RMD — Base de datos de mitigación de robollamadas

Los originadores de voz de EE. UU. deben presentar un registro en la Base de datos de mitigación de robollamadas (Robocall Mitigation Database) que describa su estado STIR/SHAKEN y su plan de mitigación. Orbit almacena y realiza seguimiento de su presentación.
  • GET /rmd — lea su registro más un bloque recertification con renewal_deadline y action_required.
  • POST /rmd — cree o actualice la presentación.
  • POST /rmd/submit → estado submitted.
  • POST /rmd/certify → estado active.
  • POST /rmd/remediation (con un reason) → estado remediation_required.
  • POST /rmd/resolve → vuelve a active.
  • POST /rmd/withdraw → estado withdrawn.
stir_shaken_status es complete, partial o none. Un mitigation_plan es obligatorio a menos que el estado sea complete. El ciclo de vida es draft → submitted → active → remediation_required → active | withdrawn.

Parada de emergencia

La parada de emergencia es un interruptor de corte de toda la organización que detiene inmediatamente todo el tráfico saliente de SMS, MMS, voz y marcador — úselo durante un incidente (una campaña mal configurada, una clave comprometida, un error de contenido). Para la guía completa del operador, consulte la guía de parada de emergencia.
GET /emergency-stop devuelve el indicador active actual más activated_at, activated_by y reason. La activación y la desactivación requieren una clave de administrador/propietario.
Mientras la parada de emergencia está activa, todo el tráfico saliente de SMS, MMS, voz y campañas de marcador de la organización está bloqueado. Los envíos transaccionales Verify/OTP y el correo electrónico no están controlados por la parada de emergencia — funcionan en rutas de entrega separadas, por lo que un contacto aún puede recibir un código de inicio de sesión mientras el interruptor está activo. Si también necesita pausar esos, desactive el perfil Verify relevante o el remitente de correo electrónico. Desactive la parada tan pronto como se resuelva el incidente.

Centro de preferencias

El centro de preferencias es una página pública, firmada con token, donde un contacto gestiona sus propias suscripciones de canal, frecuencia de mensajes y (si está activada) solicita la eliminación de datos — sin iniciar sesión. Las actualizaciones fluyen directamente al consentimiento, la supresión y el vallado STOP. Configúrelo una vez y luego genere un enlace por contacto. La guía completa — cada campo de configuración, la colocación del enlace y las superficies del flujo de actualización — está en la guía del centro de preferencias:
  • POST /preference-center (administrador/propietario) — establezca la marca, los channels ofrecidos, las opciones de frecuencia y el conmutador de eliminación GDPR.
  • GET /preference-center — lea la configuración actual.
  • POST /preference-center/link con { "contactId": "cnt_…" } — acuñe un enlace firmado (HMAC-SHA256, TTL de 30 días) para enviar por correo electrónico o texto al contacto.
El contacto luego usa el enlace público (GET/PUT /compliance/preferences/{token}) para ver y actualizar sus preferencias. La cancelación aquí registra una revocación de consentimiento, agrega una entrada de supresión y establece el vallado STOP; la resuscripción lo revierte.
Solicitar la eliminación desde el centro de preferencias registra solo una solicitud de eliminación GDPR heredada — marca el contacto para eliminación pero no inicia la pipeline DSAR rastreada. No tiene reloj SLA, exportación de datos descifrada ni certificado de borrado del artículo 17. Para presentar una solicitud de derecho de borrado que se rastrea con SLA, exporta los datos del contacto y produce un certificado de borrado, use el endpoint DSAR (POST /compliance/dsar, solo propietario/administrador) — consulte Solicitudes de Acceso de Sujetos de Datos.

Reglas por país

GET /country-rules es la referencia regulatoria de solo lectura detrás de estas puertas — por país y canal reporta los tipos de remitente permitidos, si el registro de Sender-ID es none / recommended / required, los requisitos de palabras clave STOP, el soporte de dos vías, el soporte de DLR y el rendimiento por defecto.
Úselo para entender, antes de lanzarse en un mercado, lo que cada destino requiere — consulte Requisitos de cumplimiento por país para una guía campo a campo de cómo leer esta referencia.

Referencias relacionadas