Skip to main content
La misma gramática que routingTable.conf, con el importe por unidad donde el enrutamiento pone el objetivo.
Las reglas se agrupan bajo una cabecera [scope] y se evalúan de arriba a abajo dentro de ella. La primera coincidencia gana, así que las reglas específicas van arriba del catch-all.

Un ámbito es un lado de la operación

[*] es solo lado de venta. Un proveedor nunca lo hereda, así que un coste sin regla permanece desconocido en lugar de convertirse silenciosamente en el precio de venta. Que reportaría un margen de cero en tráfico por el que de hecho estás pagando.
Nada en el esquema distingue un ámbito de proveedor de un ámbito de cuenta; la pasarela los distingue por cuál búsqueda pregunta. fireflo import --dry-run clasifica cada ámbito y nombra los que no puede clasificar como ninguno. Que es cómo un ámbito que cargará y coincidirá silenciosamente con nada se atrapa.

Importes

Decimal, con como mucho 4 lugares decimales. Parseado exactamente, nunca por punto flotante, así que 0.0450 significa 0.0450.
smsg.money.scale controla con cuántos lugares se publica un total. Las tarifas por mensaje siempre mantienen cuatro, porque 0.0450 mostrado como 0.05 es 11% de desviación en cada mensaje. Consulta Tarificación.

Condiciones

Los atributos son los del motor de enrutamiento: to, from, body, product, systemId, owner_id, type y el resto. matches es una expresión regular y está anclada. ^61.* coincide con un número completo, un simple 61 no. Combina condiciones con ~~, que debe aparecer en las tres posiciones:

El catch-all

Sin un default, un mensaje que no coincide con nada se registra como una tarifa UNKNOWN, no como gratis. Ese es el resultado honesto, y significa que el mensaje se entrega y factura a nadie hasta que te percatas. smsg.rating.unrated.refuse lo convierte en un rechazo en su lugar.

Forma trabajada

Coste y precio viven en el mismo archivo y son la misma gramática, que es por lo que el panel de control los agrupa como What we pay y What we charge en lugar de mezclarlos en una lista. En modo base de datos este archivo no se lee tras el arranque; los mismos datos viven en app_rate_rule y sus tablas de condición. Consulta Base de datos y Cómo funciona el precio.