Passer au contenu principal
GET
/
v3
/
mobile
/
plans
Lister les Forfaits Mobile
curl --request GET \
  --url https://api.oneclickdz.com/v3/mobile/plans \
  --header 'X-Access-Token: <api-key>'
{
  "success": true,
  "data": {
    "dynamicPlans": [
      {
        "code": "<string>",
        "name": "<string>",
        "operator": "<string>",
        "cost": 123,
        "isEnabled": true,
        "min_amount": 123,
        "max_amount": 123
      }
    ],
    "fixedPlans": [
      {
        "code": "<string>",
        "name": "<string>",
        "operator": "<string>",
        "cost": 123,
        "isEnabled": true,
        "amount": 123
      }
    ]
  },
  "meta": {
    "timestamp": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.oneclickdz.com/llms.txt

Use this file to discover all available pages before exploring further.

Vue d’Ensemble

Retourne une liste complète de tous les forfaits de recharge mobile disponibles pour les opérateurs Mobilis, Djezzy et Ooredoo.
Les forfaits sont stables et changent rarement. Vous pouvez les mettre en cache dans votre base de données avec votre propre tarification.

Types de Forfaits

Forfaits à montant variable où vous spécifiez le montant dans une plage donnée. Exemples : Prépayé, Postpayé (Facture), International Champs requis : - plan_code - MSSIDN (numéro de téléphone) - amount (entre min_amount et max_amount)

Réponse

success
boolean
requis
Indique si la requête a réussi
data
object
requis
meta
object
requis

Exemples

curl https://api.oneclickdz.com/v3/mobile/plans \
  -H "X-Access-Token: YOUR_API_KEY"

Exemple de Réponse

{
  "success": true,
  "data": {
    "dynamicPlans": [
      {
        "code": "GROS_MOBILIS",
        "name": "📱 GROS MOBILIS | جملة",
        "operator": "GMobilis",
        "isEnabled": true,
        "min_amount": 5000,
        "max_amount": 300000
      },
      {
        "code": "PREPAID_DJEZZY",
        "name": "📱 PREPAID | عادي",
        "operator": "Djezzy",
        "cost": 0.9925,
        "isEnabled": true,
        "min_amount": 100,
        "max_amount": 10000
      }
    ],
    "fixedPlans": [
      {
        "code": "MIX50_DJEZZY",
        "name": "📱🌐 Auto | MIX 50",
        "operator": "Djezzy",
        "isEnabled": true,
        "cost": 0.9925,
        "amount": 50
      },
      {
        "code": "MIX1000_OOREDOO",
        "name": "📱🌐 AUTO | MIX 1000",
        "operator": "Ooredoo",
        "isEnabled": true,
        "cost": 0.99,
        "amount": 1000
      }
    ]
  },
  "meta": {
    "timestamp": "2025-10-29T00:35:59.220Z"
  }
}

Explication des Propriétés des Forfaits

Le champ cost est votre multiplicateur de prix de gros :
  • 0.98 = Vous payez 98% de la valeur nominale
  • Pour une recharge de 1000 DZD : votre coût = 1000 × 0,98 = 980 DZD
  • Votre marge bénéficiaire : 1000 - 980 = 20 DZD (2%)
Important : Supprimez cost des réponses aux utilisateurs finaux. Appliquez votre propre majoration.
Les forfaits dynamiques ont min_amount et max_amount : - Les utilisateurs peuvent choisir n’importe quel montant dans cette plage - Plage courante : 50 - 5000 DZD - Certains opérateurs permettent jusqu’à 10 000 DZD Les forfaits fixes ont un seul amount : - Pas de sélection de montant nécessaire - Active directement le service - Courant pour les offres spéciales et les packs de données
Le champ isEnabled indique :
  • true : Forfait disponible pour utilisation
  • false : Temporairement désactivé (maintenance, problèmes d’opérateur)
Vérifiez toujours ce champ avant de permettre aux utilisateurs de sélectionner un forfait.

Stratégie d’Intégration

1

Chargement Initial

Appelez cet endpoint une fois au démarrage de votre application ou lors de la configuration
2

Stocker les Forfaits

Sauvegardez les forfaits dans votre base de données avec votre propre tarification
CREATE TABLE mobile_plans (
  code VARCHAR PRIMARY KEY,
  name VARCHAR,
  operator VARCHAR,
  our_cost DECIMAL,
  sell_price DECIMAL,
  min_amount INT,
  max_amount INT,
  amount INT,
  is_enabled BOOLEAN,
  updated_at TIMESTAMP
);
3

Appliquer la Majoration

Calculez votre prix de vente :
const ourCost = faceValue * plan.cost;
const markup = 0.05; // 5% profit
const sellPrice = ourCost * (1 + markup);
4

Servir aux Utilisateurs

Affichez les forfaits avec votre tarification aux utilisateurs finaux
{
  code: plan.code,
  name: plan.name,
  operator: plan.operator,
  price: sellPrice, // Your price, not wholesale cost
  minAmount: plan.min_amount,
  maxAmount: plan.max_amount
}
5

Synchronisation Périodique

Synchronisez les forfaits quotidiennement ou lors de notifications de changements
// Daily sync at midnight
cron.schedule('0 0 * * *', syncPlans);

Filtrage des Forfaits

const mobilisPlans = [
  ...data.dynamicPlans.filter((p) => p.operator === "Mobilis"),
  ...data.fixedPlans.filter((p) => p.operator === "Mobilis")
];
const djezzyPlans = [
  ...data.dynamicPlans.filter((p) => p.operator === "Djezzy"),
  ...data.fixedPlans.filter((p) => p.operator === "Djezzy")
];

Bonnes Pratiques

Mettre en Cache les Forfaits

Stockez les forfaits dans votre base de données pour réduire les appels API et améliorer les performances

Supprimer le Coût

N’exposez jamais le cost de gros aux utilisateurs finaux. Affichez uniquement vos prix de détail

Vérifier isEnabled

Vérifiez toujours isEnabled avant d’afficher les forfaits aux utilisateurs

Synchroniser Régulièrement

Implémentez une synchronisation quotidienne ou un listener de webhook pour les mises à jour de forfaits

Endpoints Associés

Envoyer une Recharge

Envoyer une recharge mobile avec un code de forfait

Vérifier le Statut

Suivre le statut de la recharge