Un template coûte des crédits selon sa catégorie (lisez GET /v1/pricing) et Meta vous facture en plus sur votre compte Meta ; une réponse libre ou interactive dans les 24 h coûte 1 crédit pour 4 messages par défaut, sans jamais bloquer.
Astuce
Un template coûte des crédits selon sa catégorie (lisez GET /v1/pricing) et Meta vous facture en plus sur votre compte Meta ; une réponse libre ou interactive dans les 24 h coûte 1 crédit pour 4 messages par défaut, sans jamais bloquer.
Vous voulez chiffrer un envoi avant de lancer une campagne, ou comprendre pourquoi votre solde baisse. Il y a deux factures distinctes : la vôtre chez Geskap, en crédits, et celle de Meta, sur votre propre compte Meta. Ne cherchez pas un prix unique.
| Message | Frais Geskap (crédits) | Facture Meta |
|---|---|---|
| Template (POST /v1/messages) | Un montant fixe par catégorie : utility, authentication, marketing | Oui, directement sur votre compte Meta |
| Réponse libre (/v1/messages/reply) ou interactive (/v1/messages/interactive), dans les 24 h | 1 crédit pour N messages (N = 4 par défaut, réglé par compte) | Depuis le 1er octobre 2026, au-delà de 1 000 messages de service par mois et par numéro |
| Message reçu | Inclus dans un quota mensuel, puis 1 crédit par tranche de messages reçus (voir plus bas) | Voir la grille Meta |
| Créer ou lister un template, GET /v1/ping, lire le solde | Aucun débit | — |
Un tiret (—) signifie que cette API ne facture rien et n'affiche rien : la facture Meta éventuelle se lit dans votre compte Meta.
Les montants sont des réglages que l'administrateur peut changer. Lisez-les :
curl
curl -X GET "https://wa-api.geskap.com/v1/pricing" \
-H "Authorization: Bearer $GESKAP_API_KEY"
Node.js
const res = await fetch("https://wa-api.geskap.com/v1/pricing", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.GESKAP_API_KEY}`,
},
});
console.log(res.status, await res.json());
PHP
$ch = curl_init("https://wa-api.geskap.com/v1/pricing");
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("GESKAP_API_KEY"),
],
]);
$res = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), " ", $res;
Python
import os, requests
res = requests.request(
"GET",
"https://wa-api.geskap.com/v1/pricing",
headers={"Authorization": f"Bearer {os.environ['GESKAP_API_KEY']}"},
timeout=15,
)
print(res.status_code, res.json())
La réponse donne, par catégorie, platform_fee_credits et platform_fee_xaf. Les frais Meta ne sont jamais dans cette réponse : ils sont facturés par Meta, selon la grille officielle de Meta.
Campagne de 500 templates utility
frais Geskap = 500 × platform_fee_credits(utility) (lu dans GET /v1/pricing)
frais Meta = selon la grille Meta, sur votre compte Meta
Conversation de 40 réponses libres dans les 24 h
frais Geskap = 40 ÷ 4 = 10 crédits (si N = 4)
Suivez le solde réel : chaque envoi de template renvoie credits_charged et credits_remaining, et l'en-tête X-Credits-Remaining. GET /v1/balance donne credit_balance, low_balance_threshold et low_balance.
Recevoir ne bloque jamais, même sans crédit. Un quota mensuel de messages reçus est inclus ; au-delà, la facturation se fait par tranche, sans jamais refuser un message. La valeur de départ du quota est de 1 000 messages par mois, à raison de 1 crédit pour 20 messages ensuite, mais ces deux valeurs sont réglables : en cas de gros volume entrant, demandez la grille en vigueur au support.
Attention
Piège : une réponse dans les 24 h, déjà facturée à tarif réduit par Geskap, peut aussi devenir payante chez Meta au-delà de 1 000 par mois et par numéro depuis le 1er octobre 2026. Cette facture arrive sur votre compte Meta, pas dans vos crédits Geskap.
Attention
Piège : un statut failed reçu après l'envoi (via message.status) n'est pas remboursé automatiquement par le code actuel : seul le refus immédiat de Meta (502) l'est. Gardez la trace de vos envois (voir Statut de livraison).
Attention
Piège : une catégorie marketing n'est pas forcément ouverte à votre clé : l'envoi répond 403 « Catégorie MARKETING non activée pour cette clé » tant qu'elle n'est pas activée sur le compte.
Pour les crédits bas et la recharge automatique, voir Crédits bas et recharge automatique. Pour tester sans dépenser, voir Tester sans payer.
Preuve — vérifié dans le code de l'API : public_api.py, api_send.py, api_credits.py.