Un producto sin definir es un estado soportado que envía gratis
Dejarproduct fuera de una credencial es configuración legal. Coincide con product:isNull: en la
tabla de enrutamiento y solo se tarifica mediante reglas de tarifa que a su vez no lleven producto.
Esa última cláusula es toda la trampa. Una regla sin producto se aplica a todos los productos, pero un
mensaje sin producto ve solo las reglas que no lo tienen. No son dos formas de escribir “cualquiera”.
Dos ajustes lo cierran, ambos desactivados por defecto:
El enrutamiento por menor coste sigue tolerando deliberadamente a un proveedor sin tarifa de coste. Esa es una cuestión
diferente de si se puede facturar al cliente, y convertir una línea olvidada de tarifa de proveedor en una
caída sería peor que lo que evita.
Por qué la comprobación es pertenencia, no no-vacío
system_type en un bind SMPP sobrescribe el producto de la credencial, y es texto libre validado
en ningún otro sitio.
Así que un cliente que hace bind prem cuando el producto es premium pasa perfectamente cualquier prueba de no-vacío, y
aterriza exactamente en el estado sin tarificar anterior. Solo comprobar el nombre contra el catálogo lo detecta.
Eso es lo que hace conf.product.required, y por eso no es simplemente “el producto debe estar establecido”.
HTTP no tiene bind y por tanto no hay sobrescritura: ahí el product de la credencial es la única fuente.
Antes de activar cualquiera de los dos, lee el informe previo en la página Servers del panel: lista los
logins que dejarían de conectarse. Ten en cuenta lo que no puede ver. Para un login SMPP comprueba el
fallback de la credencial, así que un cliente que haga bind con un system_type mal escrito no aparecerá ahí.
La página Pricing contiene la otra comprobación previa: el tráfico de las últimas 24 horas que no llevó
precio, nombrado por cuenta y producto. Eso es exactamente lo que smsg.rating.unrated.refuse empezaría
a rechazar. Cuenta mensajes cuyo CDR no tiene price_rule_id, así que una regla puesta deliberadamente a 0
no aparece. Una ruta gratuita sigue siendo gratuita y sigue enviando.
La fila del catálogo
Eximir un producto del whitelisting
- Un producto exento sobrescribe la cuenta. Una cuenta configurada como
ENFORCEsigue enviando libremente bajo un producto exento. - Ningún producto no es exento. El tráfico que no nombra ningún producto se comprueba. De otro modo, la forma de salir de
un whitelist sería dejar de enviar un
system_type. - Un producto desconocido no es exento. Un nombre sin fila en
app_productse comprueba. Es un error tipográfico en una credencial mucho más a menudo que una intención.
enabled = false) también termina con su exención: los productos exentos se leen como
enabled AND NOT whitelist_enabled. Esa dirección es la segura. El tráfico empieza a comprobarse
en lugar de detenerse. Pero puede empezar a rechazar sender IDs que nadie ha aprobado, así que desactiva un producto exento
deliberadamente y no como limpieza.
Nombrar un producto en un envío REST
Un llamador REST puede enviarproduct en /secure/send, /secure/sendbatch y /secure/rate, y se
acepta solo desde un login cuyo allowedProducts lo nombre.
Una lista de permitidos en lugar de un campo simple por la misma razón que todo lo demás en esta página: el
producto selecciona la tarifa, así que un llamador libre de nombrar su propio producto es libre de elegir su propio precio.
Cómo funciona la tarificación
Dónde se tarifica cada lado, y qué significa un importe desconocido.
Desplegar el whitelisting
Los cuatro interruptores, y el orden en que se aplican.