Guides
Usage et facturation
Qui paie quoi, comment lire votre consommation, et ce qui change entre le sandbox et la production.
Mis à jour le 12 novembre 2026Voir en Markdown
Bref Point Inbox sépare toujours deux sortes de coûts, que vous voyez sur des lignes distinctes.
| Qui facture | Pour quoi | |
|---|---|---|
| Coûts Meta | Meta, directement au propriétaire du compte WhatsApp | Les conversations : selon la catégorie du message et le pays du destinataire |
| Frais Bref Point Inbox | Bref Point Inbox | L'infrastructure : un abonnement, et un frais par message au-delà du quota de votre plan |
Bref Point Inbox ne refacture pas les conversations. Si vous voulez que votre client paie à travers vous, c'est un choix commercial de votre côté : le propriétaire du compte WhatsApp reste redevable envers Meta.
Lire votre consommation#
curl "$INBOX_API/usage" \
-H "Authorization: Bearer $INBOX_KEY"const res = await fetch(`${process.env.INBOX_API}/usage`, {
headers: {
Authorization: `Bearer ${process.env.INBOX_KEY}`,
},
});
const data = await res.json();import os
import requests
res = requests.get(
f"{os.environ['INBOX_API']}/usage",
headers={
"Authorization": f"Bearer {os.environ['INBOX_KEY']}",
},
)
print(res.json())<?php
$ch = curl_init(getenv('INBOX_API') . '/usage');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('INBOX_KEY'),
],
]);
$data = json_decode(curl_exec($ch), true);{
"from": "2026-11-01T00:00:00.000Z",
"to": "2026-12-01T00:00:00.000Z",
"groupBy": "day",
"totals": {
"messages": 0,
"billableMessages": 0,
"notBillableMessages": 0,
"unpricedMessages": 0,
"metaCostEstimate": {},
"platformFee": {}
},
"buckets": [],
"metaCostIsEstimate": true
}Regroupez avec groupBy : day (par défaut), category, country ou phone_number. La période par défaut est le mois en cours (UTC) ; from et to la bornent.
{
"from": "2026-11-01T00:00:00.000Z",
"to": "2026-12-01T00:00:00.000Z",
"groupBy": "category",
"totals": {
"messages": 120,
"billableMessages": 100,
"notBillableMessages": 20,
"unpricedMessages": 0,
"metaCostEstimate": { "USD": 1.2 },
"platformFee": {}
},
"buckets": [ { "key": "utility", "messages": 100, "billableMessages": 100, "metaCostEstimate": { "USD": 1.2 } } ],
"metaCostIsEstimate": true
}| Champ | Signification |
|---|---|
billableMessages / notBillableMessages | Selon ce que Meta annonce pour chaque message (certains messages, comme une réponse dans la fenêtre de service, ne sont pas facturés). |
metaCostEstimate | Une estimation, par devise, calculée avec la grille tarifaire configurée sur la plateforme. Jamais le montant de votre facture Meta. |
unpricedMessages | Messages facturables pour lesquels aucun tarif n'est configuré. Ils ne sont jamais chiffrés au hasard. |
platformFee | Les frais Bref Point Inbox (dépassement du quota inclus). Séparés du coût Meta, jamais additionnés. |
metaCostIsEstimate | Toujours true : rappel que le coût Meta est estimé. |
Le pays est déduit du numéro du destinataire ; il peut être inconnu.
Essai gratuit#
Chaque nouveau compte bénéficie de 7 jours d'essai gratuit, sans carte bancaire, à partir de sa création. Pendant l'essai, les limites du plan Starter s'appliquent en production (2 numéros inclus, jusqu'à 5 numéros, 1 000 messages par numéro et par mois), et rien n'est facturé. Le quota de messages y est un plafond : au-delà, l'envoi est refusé (402 quota_exceeded) plutôt que facturé. GET /billing/overview renvoie alors trial (endsAt, daysLeft) et aucun monthlyAmount.
À la fin de l'essai, le compte revient au plan par défaut, très limité, tant qu'un plan payant n'est pas activé par l'équipe. Le sandbox reste illimité et gratuit, avant, pendant et après l'essai.
Votre plan#
curl "$INBOX_API/billing/overview" \
-H "Authorization: Bearer $INBOX_SESSION"const res = await fetch(`${process.env.INBOX_API}/billing/overview`, {
headers: {
Authorization: `Bearer ${process.env.INBOX_SESSION}`,
},
});
const data = await res.json();import os
import requests
res = requests.get(
f"{os.environ['INBOX_API']}/billing/overview",
headers={
"Authorization": f"Bearer {os.environ['INBOX_SESSION']}",
},
)
print(res.json())<?php
$ch = curl_init(getenv('INBOX_API') . '/billing/overview');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('INBOX_SESSION'),
],
]);
$data = json_decode(curl_exec($ch), true);{
"plan": {
"id": "654e934f-a17e-4c05-8964-b1febb33b2b5",
"code": "free",
"name": "Gratuit",
"monthlyPriceAmount": null,
"currency": null,
"includedMessages": 100,
"hardMessageLimit": 100,
"maxConnectedBusinesses": 1,
"maxNumbersPerBusiness": 1,
"overageFeePerMessage": 0,
"logRetentionDays": 3
},
"period": {
"start": "2026-11-01T00:00:00.000Z",
"end": "2026-12-01T00:00:00.000Z"
},
"messages": {
"used": 0,
"included": 100,
"hardLimit": 100
},
"connectedBusinesses": {
"used": 0,
"max": 1
}
}La réponse contient le plan, la consommation de la période, vos numéros (connectés, facturés, inclus, plafond) et le montant mensuel du plan : le prix de base plus les numéros supplémentaires.
| Starter | Pro | Business | |
|---|---|---|---|
| Prix par mois | 5 000 FCFA | 10 000 FCFA | 30 000 FCFA |
| Numéros inclus dans le prix | 2 | 3 | 5 |
| Chaque numéro supplémentaire, au-delà de ceux inclus | 2 000 FCFA | 1 500 FCFA | 1 200 FCFA |
| Plafond de numéros, en production | 5 | 15 | 100 |
| Messages inclus par mois et par numéro | 1 000 | 10 000 | 35 000 |
| Frais de plateforme au-delà du quota inclus (hors tarif de Meta) | 1 FCFA par message | 0,5 FCFA par message | 0,25 FCFA par message |
| Conservation des journaux | 7 jours | 30 jours | 90 jours |
Un plan Enterprise (numéros illimités, volumes négociés, engagement de service) est proposé sur devis. Le détail et les prix actuels sont sur la page des tarifs ; tant que le paiement en ligne n'est pas disponible, l'activation d'un plan payant est faite par l'équipe. Un compte sans abonnement reste sur un plan par défaut très limité.
Exemple : en Starter avec 3 numéros connectés en production, le montant mensuel est 5 000 + 1 × 2 000 = 7 000 FCFA (2 numéros sont inclus), et le quota de messages est 3 × 1 000 = 3 000 par mois. Ce montant est une estimation d'après vos numéros connectés : il ne comprend pas les frais de Meta.
- La période de facturation est le mois calendaire UTC.
- Le sandbox n'est ni limité ni facturé, quel que soit le plan, et ne compte pas dans vos numéros.
- Un plafond atteint donne
402 plan_limit_reached(nouveau numéro au-delà du plafond du palier) ou402 quota_exceeded(envoi, pour un plan avec plafond dur), avec un message qui indique la limite et votre consommation. - Les messages au-delà du quota inclus sont facturés au frais par message de votre plan, sur la ligne
platformFee, séparée du coût Meta.
À propos des paiements#
Le paiement en ligne des abonnements n'est pas encore disponible dans la console : les plans sont attribués par l'équipe Bref Point Inbox.