Aller au contenu

Référence API

Compte

Consultez votre solde, votre plafond de crédit et votre mode de facturation.

Alertez sur spendable, pas sur balance

Modèles de facturation et limites dépensables

PREPAID spendable = balance

Les comptes prépayés débitent directement le solde positif du portefeuille. Lorsque le solde atteint zéro, les envois sont suspendus jusqu au rechargement.

POSTPAID spendable = balance + credit_limit

Les comptes postpayés utilisent une ligne de crédit convenue (credit_limit) autorisant des soldes négatifs. Les messages sont autorisés tant que spendable reste positif.

Récupérer le solde

GET/public/v1/account/balance

Renvoie le solde du portefeuille du compte, son plafond de crédit, le montant dépensable restant et le mode de facturation.

Portée requise ACCOUNT_READ

Requête

curl https://api.smsend.net/public/v1/account/balance \
  -H "Authorization: Bearer $SMSEND_API_KEY"
<?php

$account = Http::withToken(getenv('SMSEND_API_KEY'))
    ->get('https://api.smsend.net/public/v1/account/balance')
    ->json('data');

if ($account['spendable'] < 50000) {
    alertLowBalance($account['spendable']);
}
const response = await fetch('https://api.smsend.net/public/v1/account/balance', {
  headers: { Authorization: `Bearer ${process.env.SMSEND_API_KEY}` },
})

const { data } = await response.json()

if (data.spendable < 50_000) {
  alertLowBalance(data.spendable)
}
import os
import requests

account = requests.get(
    "https://api.smsend.net/public/v1/account/balance",
    headers={"Authorization": f"Bearer {os.environ['SMSEND_API_KEY']}"},
).json()["data"]

if account["spendable"] < 50_000:
    alert_low_balance(account["spendable"])

Réponses

200La position financière du compte.
{
  "data": {
    "account_id": "01K3F5MJ0P7Q9R2S4T6V8W0X2Y",
    "billing_mode": "POSTPAID",
    "balance": -18400,
    "spendable": 231600,
    "credit_limit": 250000,
    "currency": "XOF"
  }
}

Erreurs possibles

CodeStatutSignification
UNAUTHORIZED401Aucune clé, une clé malformée, un mauvais secret, une clé révoquée ou expirée, ou un compte suspendu. Tous indiscernables par construction.
INSUFFICIENT_SCOPE403La clé est valide mais ne porte pas la portée exigée par ce point de terminaison. La portée est nommée dans le detail.
RATE_LIMITED429La limite de requêtes de la clé a été dépassée. Attendez l’intervalle indiqué dans Retry-After.
INTERNAL_ERROR500Une défaillance inattendue du côté de SMSend. Citez l’identifiant de requête à l’assistance.

Montants

Chaque montant que renvoie l’API est un nombre entier de XOF. Il n’y a pas d’unités mineures ni de décimales à gérer : les prix par message sont calculés en interne avec une précision supérieure puis arrondis exactement une fois, au total du lot, si bien que le nombre que vous recevez est celui qui a été facturé.