Definición de Oferta Comercial (Plans/Bundles)
Depende de lo que se releve de los limites por plan, quizas en fase 1 algo tenga que entrar de este OUT.
Definición de Oferta Comercial (Plans/Bundles)
Depende de lo que se releve de los limites por plan, quizas en fase 1 algo tenga que entrar de este OUT.
Ejecución del "Reset" de contadores al inicio del ciclo (ej. día 1 del mes calendario para MVP), liberando las restricciones de las SIMs que estaban cortadas por consumo, permitiendo su reactivación automática o manual según configuración.
Ver manejos de ciclos entre, los ciclos de telecty y el ciclo de los proveedores.
Definición de Políticas de Uso (Límites Operativos) Gestión de reglas de límite de consumo ("Thresholds") por SIM (Volumen de Datos MB/GB y Cantidad de SMS). Configuración de la acción a tomar al alcanzar el límite: TRAFFIC_CUT (Suspender), NOTIFY_ONLY (Alertar), o NO_ACTION. Persistencia del estado de la política por ciclo ("Límite alcanzado: Sí/No").
Relevar como esta al día de hoy la api, respecto a los limites por plan
. Si falla, busca en Inventario/Reglas
el 2 paso seria de llamar a sim, apra que le de el binding y lo cachee
idempotency_key
faltaria correlation_id
integration_id
Sacar intregation id y agregar los datos a bindear
Este código de proveedor se inyecta en la Spec de la versión como primary_provider.
Tener en cuenta en flujo de sim change profile
Campo Crítico: apn_configuration (Nombre del APN, usuario, pass). Validación: Si el provider requiere un formato específico (ej. "apn id" vs "apn string"), se valida aquí (Schema Validation por Provider).
consultar con ivan como vienen estos apn , o hacemos una lista de los apn con selector
xistan en la CapabilityLibrary
lista con capacidades predefinidas ( fase 1) no hay abm de libreria capacidades
Casos de Uso
SACAR CAPACACIDAD
Casos de Uso Código UCCapacidadCaso de UsoActorDescripciónFaseCAT-UC-01-01CAT-CAP-01Definir Capability TécnicaAdmin MVNARegistrar una capability técnica global en el diccionario maestro del catálogo para ser utilizada en la construcción de Service Profiles.MVP Flujos Administrativos Normalizados FAN-CAT-01 — Registrar Capability Técnica Usado por: CAT-UC-01-01 Precondiciones El code de la capability no debe existir previamente en la CapabilityLibrary (Unicidad). Pasos canónicos Se ingresa ingresa el código normalizado, descripción y categoría. El sistema debe canonizar el code (trim, uppercase) para evitar duplicados por formato. El sistema valida que la categoría pertenezca al Enum definido: NETWORK, FEATURE o RESTRICTION. Se registra la entidad Capability en estado active: true por defecto. El sistema emite el evento de dominio CapabilityDefined. Resultado Capability disponible en la CapabilityLibrary para ser referenciada en cualquier ProfileSpec. FAN-CAT-02 — Modificar Capability Técnica Precondiciones La Capability existe en la CapabilityLibrary. Pasos Canónicos El sistema bloquea la edición del campo code. El código es inmutable una vez creado para no romper las referencias en los ProfileSpec. Se modifica la description o la category. Se guardan los cambios. Esta acción no afecta a los Service Profiles activos, ya que estos referencian al code, que no ha cambiado. El sistema emite el evento de dominio CapabilityUpdated. FAN-CAT-03 — Desactivar Capability Técnica Precondiciones La Capability existe y está en estado active: true. Pasos Canónicos El sistema marca la Capability como active: false. A partir de este momento, la capacidad deja de ser visible/seleccionable en el flujo de CAT-UC-06 "Configurar Definición Técnica de una Versión". El sistema no elimina la capacidad de la base de datos ni de las versiones de Service Profile (activas o inactivas) que ya la contienen. Esto garantiza que el histórico y la provisión técnica sigan funcionando para las SIMs activas. El sistema emite el evento de dominio CapabilityDeactivated.
SACAR TODA LA CAPACIDAD, Ya que esto las capabilitys deberan estar precargadas en una entidad, con los atributos que necesite serviceprofile-
Validación de Delta Crítico: El sistema compara el coverage y provider_code entrante vs. el existente. Si hay cambios en coverage (Geografía/RATs) o provider_code: RECHAZA la actualización de este ítem específico. // CONSULTAR IVAN Error: 409 Conflict - Immutable Coverage in Use.
preguntar ivan
asos de Uso Código UCCapacidadCaso de UsoActorDescripciónFaseCAT-UC-01-02CAT-CAP-02Crear Footprint TécnicoAdmin MVNADefinir un Footprint técnico que represente una zona de cobertura geográfica y tecnológica reutilizable por múltiples Service Profiles.MVPCAT-UC-02-02CAT-CAP-02Modificar Footprint TécnicoAdmin MVNAActualizar la definición de un Footprint técnico existente.MVP Flujos Administrativos Normalizados FAN-CAT-01 --- Creación de Footprint Técnico Usado por: CAT-UC-01-02 Precondiciones El nombre del footprint debe ser único semánticamente para evitar confusión operativa. Pasos Canónicos Se ingresa un name descriptivo (ej. "Global Tier 1 - Data Only"). Composición de Cobertura (CoverageZone): Se ingresa la lista de países usando código estándar ISO-3166 (ej. AR, BR, US). Para cada país, se define la lista de RATs (Radio Access Technologies) permitidas (ej. 4G, NB-IoT, LTE-M). Validación: El sistema valida que los códigos de país y tecnologías existan en los diccionarios maestros. Se genera el footprint_id (UUID) y se guarda la estructura coverage como un JSONB inmutable. El Footprint queda disponible para ser asociado a múltiples Service Profiles. Resultado: El Footprint queda disponible para ser asociado a múltiples Service Profiles. FAN-CAT-02 --- Modificación de Footprint Técnico Usado por: CAT-UC-02-02 Precondiciones El Footprint existe. Pasos Canónicos El sistema consulta si este footprint_id está referenciado por alguna Versión de Service Profile que esté en estado ACTIVE. Caso A: Footprint "Libre" (Uso = 0): Permite la edición completa de la estructura coverage (países y tecnologías). Permite edición de name. Persiste los cambios y emite evento FootprintUpdated. - Caso B: Footprint "En Uso" (Uso > 0): Bloqueo de Estructura: El sistema rechaza (Error 409 Conflict) cualquier intento de modificar coverage (agregar/quitar países o RATs). Razón: Modificar esto alteraría el contrato técnico de productos que ya están vendidos/activos sin pasar por el ciclo de versionado del perfil. Excepción: Se permite modificar solo el name (metadato descriptivo) para correcciones ortográficas o de claridad. Si se rechaza por estar en uso, el mensaje debe instruir: "Este Footprint está en uso. Para cambiar la cobertura, cree un nuevo Footprint y asócielo a una nueva versión del Service Profile". Resultado: El Footprint queda actualizado.
dejar solmante los pasos para usar el json de footprint (usar precondicion de validar eschema de JSON)
consultar a IVAN que decisión tomamos sobre este punto: Bloqueo de Estructura: El sistema rechaza (Error 409 Conflict) cualquier intento de modificar coverage (agregar/quitar países o RATs). Razón: Modificar esto alteraría el contrato técnico de productos que ya están vendidos/activos sin pasar por el ciclo de versionado del perfil. Excepción: Se permite modificar solo el name (metadato descriptivo) para correcciones ortográficas o de claridad. Si se rechaza por estar en uso, el mensaje debe instruir: "Este Footprint está en uso. Para cambiar la cobertura, cree un nuevo Footprint y asócielo a una nueva versión del Service Profile".
CUANDO CREAMOS EL FOOTPRINT ( VA A TENER UN IDENTIFICADOR DE PROVEEDOR QUE LO ADMITE) ENTONCES CUANDO GENERO UN SERVICE PROFILE CON ESE FOOTPRINT, HEREDA LOS PROVEEDORES QUE ADMITEN ESE SERVICE PROFILE. --> DAR VUELTA CON IA, EN CASO DE QUE CIERRE, HABRIA QUE SACAR LA CAP 07
Opción B (Clone): El Admin puede solicitar "Basar en v2". El sistema copia la Spec (Footprint + Capabilities + References) de la versión anterior hacia la nueva v3.
lo sacamos por fase 1
CAT-CAP-01Gestionar capacidades técnicasDefinir y mantener un catálogo maestro de capacidades técnicas normalizadas con semántica consistente.
sacarlo, se deja hardcodeado json
Crear y mantener la identidad lógica de un Service Profile que agrupa versiones técnicas.
mejorar explicacion
con reglas de integridad e inmutabilidad cuando están en uso.
sacar, solamente vamos a dejar creacion
CAT-UC-03-06CAT-CAP-06Publicar Cambios del CatálogoSistemaNotificar a otros dominios del ecosistema sobre cambios relevantes en el catálogo técnico, como la publicación o retiro de Service Profiles.
EN CU 01
ColumnaTipo SQLAtributos / Notas
agregar correlation_id (UUID)
GetProviderBinding
el caso de uso de binding directamente deriva a un servicio .12 sacar de query y command
Servicios
sacar de responsabilidad una columna de workflow de cada servicio.
**Monitor de Salud de Workers:**Busca registros en network_operations con estado PROCESSING cuya última actualización (updated_at) sea mayor a X minutos (ej. 10m).**Acción:**1. Asume que el worker murió. 2. Si tiene reintentos disponibles, la vuelve a poner en QUEUED (Dead Letter recovery). 3. Si excedió el tiempo máximo de vida (TTL), la marca como FAILED y emite el evento de falla para que el usuario n
tiene que verificar en cola de peristencia y cola de redis para que no se vuelva a ejecutar.
tenerlo en cuenta para usar un flujo de alertas para nosotros en n8n, capturando el evento.
provider_webhooks_dumpBitácora de Eventos EntrantesAlmacena tal cual llega cualquier notificación asíncrona (Callback/Webhook) enviada por los proveedores, antes de intentar procesarla. Permite re-procesamiento (Replay) si el worker falla.
ssacarlo
Op API
pedir a ivan, especificación de microservicios
uery: GetSimTechnicalSnapshot
-agregar precondiciones para las queries ( Por ejemplo: 1° binding 2° resolver macheo de estados del provider con el estado tecnico nuestro)
ernal Provider API (Proxy Síncrono).Consulta directa al HLR/PGW del carrier (ej. GET /sessions).
consulta al adapter ( llama al metodo tal del adapter nuestro)
External Provider API (Proxy Síncron
Aclarar mejor que usa el adapter,
ROV-UC-07-02Aplicar Acción Tecnica de Límites (Throttling)PolicyMedia
provider no conoce de limites, sacar cu y todo lo asociado al mismo.
LimitConfigurationDefine técnicamente cómo se aplica una restricción de tráfico (CU: Throttling). Abstrae si es por cambio de plan o por QoS.- targetRatePlan: String - qosClass: Enum (LOW, BASIC) - dataRoaming: Boolean- Consistencia: Debe proveer al menos una estrategia de limitación (targetRatePlan o qosClass). No puede ser un objeto vacío.
EL LIMITE NUNCA SE RELACIONA CON EL PLAN, EL LIMITE SE RELACIONA CON EL SIM. VER ESTE OBJECT
Comando Reactivo (Acción)
tener en cuenta para el spec del dominio SIM. TIENEN QUE ESTAR en ese dominio
HTTP/SOAP a Telco
no hace falta aclarar
provider_code
binding
ObjectNoOpcional. Configuración específica si la reactivación requiere re-aplicar parámetros (ej. volver a setear el APN correcto si se borró al suspender).reactivation_profile.rate_plan
sacar
API (Controller)Retorna HTTP 202 con operation_id al SIM Service.5WorkerConsume mensaje. Obtiene credenciales del Provider. Ejecuta lógica del Adapter (HTTP/SOAP a Telco).6WorkerActualiza NetworkOperation (status: SUCCESS / FAILED). Guarda Raw Response en MongoDB (Auditoría).
Revisar workflow, si se va a separar en dos comandos o un solo comando.
activation_profile.rate_planStringSí- No vacío. Debe ser un código válido del carrier (o mapeado).activation_profile.apnStringNo- Formato APN válido (ej: m2m.movistar.ar).activation_profile.static_ip
esto no se necesita para activar
El provider_code debe corresponder a una integración activa y saludable.
1° TIENE QUE CONSULTAR BINDING SI ESTA LIGADO, RECIEN RECONOCE PROVIDER_CODE SIM_TYPE LO TIENE BINDING
ExecuteSimActivation -iccid por le momento -idempotency_key
PROV-CAP-12 | Resolución de Binding de Línea | Resolver y mantener en caché la asociación entre una línea (ICCID / IMSI / MSISDN / EID) y el proveedor/adaptador técnico correspondiente, con el objetivo de enrutar correctamente las operaciones técnicas. Gestiona cache, invalidación y fallback de resolución cuando el binding no está disponible localmente. | Sistema | 1 |
Native Payload
FALTARIA RESPONSE RAW ( PARA AUDITORIA)
. Lenguaje Ubicuo (Canonical Vocab
ACTUALIZAR - RESPECTO A LA RAMA NUEVA