Onde cada lado é liquidado
Price — na entrada
Por
submit_sm de entrada. Depende apenas da tarifa do cliente — account, product, destino —
nunca de qual vendor será eventualmente escolhido.Cost — no vendor
Uma vez que uma rota é escolhida e o corpo é dividido, porque só então a contagem de segmentos é
conhecida.
A rate table
Rates usam a gramática de roteamento com o valor onde o roteamento coloca o alvo:[scope] é ou o nome de uma instância de vendor — o que aquele vendor cobra de você — ou um
account id — o que você cobra daquele cliente. Regras são avaliadas de cima para baixo e a primeira
que casar vence, portanto um catch-all fica por último.
Atributos e operadores são os do engine de roteamento, então qualquer coisa que você pode rotear você
pode ratear, incluindo product e systemId. Combine condições com ~~ nas três posições.
O default que todos deveriam configurar
[*] precifica qualquer account sem regra própria:
* é reservado: nenhuma account ou vendor pode ser nomeada assim.
Desconhecido não é zero
Uma regra que não casa com nada deixa o valor desconhecido, nunca zero. Zero é um preço real significando gratuito, e um lado desconhecido torna a margem desconhecida em vez de errada. Essa distinção é por que um vendor sem preço aparece como uma lacuna em um relatório de margem em vez de aparecer como 100% de lucro.Precisão
Valores carregam no máximo quatro casas decimais e são parseados exatamente, nunca através de ponto flutuante. Um valor com mais precisão é rejeitado em vez de truncado. Truncar0.00001
para zero silenciosamente daria tráfego de graça.
smsg.money.scale (0–4, default 4) controla com quantas casas um total é exibido. A
Índia usa 2.
O armazenamento nunca muda: valores são inteiros de décimos de milésimos. A configuração é apenas
de apresentação e pode ser mudada a qualquer momento.
Least-cost routing
Uma tabela marcada como->function(LCR) escolhe o vendor mais barato em vez da primeira regra
que casar:
- Vendors que estão fora ou não aceitam são pulados, portanto o próximo mais barato carrega o tráfego.
- Um vendor sem rate correspondente é usado somente se nenhum outro casar. Uma linha de rate esquecida degrada em vez de causar outage.
- Regras apontando para outra tabela são ignoradas dentro de uma tabela LCR: um custo aninhado não pode ser comparado, e rotear a um preço desconhecido seria pior.
Relacionado
Tariffs
Editando rates a partir do painel, e overrides por account.
Call records
Onde os dois lados da negociação são registrados.