Se utilizará solo un subconjunto de las tablas de Doppler:
Ver script-contact-policies.sql para un esquema básico.
Contiene la configuración básica de políticas de contacto. Si no existe o UserShippingLimit.Active = 0
se considera que está desactivado.
Campo UserShippingLimit.Amount
: Define la cantidad de emails a enviar en el período de tiempo.
Campo UserShippingLimit.Interval
: Define el período de tempo medido en días.
Por el momento, si se intenta editar las políticas de contacto y la fila UserShippingLimit
relacionada al usuario no existe, se podría manejar como un error.
Contiene las listas seleccionadas para excluir del límite de envíos (el nombre no es muy descriptivo)
Cuando se asocia una lista, se crea la fila correspondiente con los IDs correspondientes a la relación y la columna SubscribersListXShippingLimit.Active = 1
.
Cuando se desasocia una lista, se elimina la fila.
Si bien en la documentación se habla de Usuarios Free, Usuarios Pagos y Usuarios Plus, en realidad el comportamiento se basará en flags más granulares devueltos por el nuevo servicio Doppler Users API en base al token JWT del usuario.
Determinado flag indicará que el usuario no tiene disponible la funcionalidad, otro que tiene la funcionalidad básica y otro que tiene la funcionalidad avanzada.
A continuación se detallan algunos escenarios a modo de ejemplo y aclaratorio, los detalles del comportamiento se encuentran en el documento Políticas de Contacto V2.
Actualmente:
- cuando no existe la fila
UserShippingLimit
- o cuando
UserShippingLimit.Enabled = 0
- o cuando
UserShippingLimit.Enabled IS NULL
Pero mejor: vamos a utilizar la respuesta del nuevo servicio Doppler Users API, que ya va a indicar si el usuario tiene la funcionalidad disponible y con que nivel.
Cuando:
- tiene permisos (Ver Doppler Users API) y:
- cuando no existe la fila
UserShippingLimit
- o cuando
UserShippingLimit.Active = 0
- cuando no existe la fila
Cuando:
- tiene permisos (Ver Doppler Users API)
- y no tiene permisos de funcionalidades avanzadas (plus) (Ver Doppler Users API) NO EXISTE AÚN
- y existe la fila
UserShippingLimit
- y
UserShippingLimit.Active = 1
Cuando:
- tiene permisos (Ver Doppler Users API)
- y tiene permisos de funcionalidades avanzadas (plus) (Ver Doppler Users API) NO EXISTE AÚN
- y existe la fila
UserShippingLimit
- y
UserShippingLimit.Active = 1