Router

Router — Facturation CAD

Crédits prépayés, suivi d'usage en temps réel, polling /balance, alertes seuil et facturation mensuelle en dollars canadiens.

Router — Facturation CAD

Router facture en dollars canadiens. Pas de conversion de devises, pas de frais de change, une facture mensuelle (ou à l'usage), TPS/TVQ correctement appliquées.

Modèle de facturation

Deux modes au choix :

Mode prépayé (par défaut)

  • Vous achetez des crédits CAD d'avance (ex. 100 $, 500 $, 1 000 $)
  • Chaque appel API consomme des crédits selon la grille des modèles (voir Router — Catalogue)
  • Router refuse les requêtes si la balance descend à zéro (HTTP 402)
  • Configurez l'auto-recharge pour éviter les coupures

Avantages : prévisible, pas de mauvaise surprise, idéal pour les organisations avec budget IA fixe.

Mode post-payé (forfait + dépassement)

  • Forfait mensuel (ex. 200 $/mois inclus pour 50 $ de crédits)
  • Dépassement facturé à l'usage en fin de mois
  • Convient aux workloads variables ou aux clients avec lignes de crédit ouvertes

Disponible sur demande pour les comptes à volume soutenu — écrivez à [email protected].

Vérifier sa balance

curl https://router.signalorange.ca/api/v1/billing/balance \
  -H "Authorization: Bearer $ROUTER_API_KEY"

Réponse :

{
  "balance_cents": 47350,
  "currency": "CAD"
}

balance_cents est en cents canadiens (47 350 = 473,50 $ CAD).

Stratégie de polling : interrogez /billing/balance au démarrage de votre application puis toutes les 60 minutes. Pas plus fréquent — la balance ne change que lors des appels chat completions et des recharges, et la valeur peut être mise en cache 60s côté client sans risque.

Suivi d'usage

curl https://router.signalorange.ca/api/v1/billing/usage \
  -H "Authorization: Bearer $ROUTER_API_KEY"

Réponse :

{
  "summary": {
    "total_requests": 12450,
    "total_tokens": 8472301,
    "total_cost_cents": 12500,
    "period_start": "2026-04-01T00:00:00Z",
    "period_end": "2026-04-20T15:32:11Z"
  },
  "by_model": [
    {
      "model": "anthropic/claude-sonnet-4",
      "requests": 8200,
      "input_tokens": 4500000,
      "output_tokens": 2100000,
      "cost_cents": 9800
    },
    {
      "model": "openai/gpt-5-mini",
      "requests": 4250,
      "input_tokens": 1700000,
      "output_tokens": 172301,
      "cost_cents": 2700
    }
  ]
}

L'usage est calculé pour le mois courant. Pour des plages personnalisées, ajoutez ?from=2026-04-01&to=2026-04-15.

Alertes de seuil

⚠️ En cours d'implémentation.

Configurez dans Paramètres → Facturation Router → Alertes :

  • Notification courriel quand la balance passe sous X $
  • Notification quand l'usage du mois atteint N % du budget
  • Webhook (POST vers une URL de votre choix) sur low_balance et monthly_threshold

Format webhook (futur) :

{
  "event": "low_balance",
  "organization_id": "org_abc123",
  "balance_cents": 1500,
  "threshold_cents": 5000,
  "timestamp": "2026-04-20T15:32:11Z"
}

Recharge

Manuelle

Paramètres → Facturation Router → Recharger — Stripe Checkout, paiement par carte (Visa, Mastercard, AMEX) ou Interac (transferts ~30 secondes).

Reçu envoyé immédiatement par courriel + disponible dans Paramètres → Facturation Router → Reçus (PDF avec TPS/TVQ).

Auto-recharge

Paramètres → Facturation Router → Auto-recharge — configurez :

  • Seuil de déclenchement (ex. balance < 100 $ → recharger)
  • Montant à recharger (ex. + 500 $)
  • Méthode de paiement par défaut

Garanti pour ne jamais déclencher 2 recharges dans la même heure (anti-runaway).

Factures mensuelles

Vos factures sont émises automatiquement le 1er de chaque mois pour le mois écoulé, qu'il y ait eu des recharges manuelles ou de l'auto-recharge.

Format : PDF avec ligne par recharge + dépassement (mode post-payé), TPS et TVQ ventilées, totaux CAD.

Téléchargeables depuis Paramètres → Facturation Router → Factures, conservées 7 ans (obligation fiscale canadienne).

Comprendre les coûts

Le coût d'une requête = (tokens d'entrée × prix/M tokens d'entrée) + (tokens de sortie × prix/M tokens de sortie), le tout converti USD → CAD avec marge Router (~15%).

Exemple concret : une requête à claude-sonnet-4 qui consomme 1 500 tokens d'entrée et 800 tokens de sortie :

  • Entrée : 1 500 × 4,00 $ / 1 000 000 = 0,006 $ CAD
  • Sortie : 800 × 20,00 $ / 1 000 000 = 0,016 $ CAD
  • Total : ~0,022 $ CAD = 2 cents

Pour 10 000 requêtes similaires/mois : ~220 $ CAD/mois.

Estimation préalable (preflight)

Endpoint dédié pour estimer le coût avant de lancer la requête — aucun appel upstream, aucun token consommé.

curl https://router.signalorange.ca/api/v1/chat/completions/estimate \
  -H "Authorization: Bearer $ROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [
      {"role": "user", "content": "Résume cet article en 3 points..."}
    ],
    "max_tokens": 500
  }'

Réponse :

{
  "model": "anthropic/claude-sonnet-4",
  "estimated_prompt_tokens": 142,
  "max_completion_tokens": 500,
  "cost_usd_cents": 62,
  "cost_cad_cents": 96,
  "exchange_rate": 1.35,
  "disclaimer": "Estimation based on character-count/4 heuristic + configured max_tokens. Actual cost depends on real tokenization and upstream billing."
}

Utile pour :

  • UI qui affiche le coût au client avant d'envoyer (« Cette analyse coûtera ~1,20 $ CAD, continuer ? »)
  • Workloads avec budget strict (abandonner si l'estimé dépasse un seuil)
  • Comparer le coût estimé entre modèles sans faire les vrais appels

Limitations :

  • Heuristique char-count / 4 — précis à ~15% pour le texte français/anglais, moins bon pour les langues à glyphes denses
  • max_completion_tokens est la limite haute, pas une prédiction — la réponse réelle peut être plus courte
  • Les taxes (TPS/TVQ) ne sont pas incluses — appliquées sur les factures mensuelles

Et après ?