Aller au contenu principal
1PANEL PLUS

Utiliser l'API d'un panel SMM : guide d'intégration de l'API v2 pour revendeurs

Par 1PANEL PLUSLecture : 19 min YouTubeDernière mise à jour


À retenir

Le format des requêtes de l'API v2 standard des panels SMM, ses 6 actions, des exemples de réponses, les messages d'erreur et les limites de requêtes, pour les revendeurs.

L'API d'un panel SMM est une connexion qui passe des commandes et vérifie leur statut automatiquement depuis un autre panel ou votre propre logiciel. 1PANEL PLUS utilise l'API v2 standard des panels SMM : si vous avez déjà du code connecté à un autre panel, changez simplement l'adresse et la clé pour vous connecter tout de suite. L'API et le site utilisent les mêmes services, les mêmes prix pour 1 000 et le même solde.

Qui utilise l'API d'un panel SMM ?

  • Revendeurs : proposent les services sur leur propre panel et transmettent automatiquement les commandes de leurs clients
  • Agences : passent d'un coup les commandes de nombreuses chaînes à heures fixes
  • Développeurs : créent des scripts qui commandent au lancement d'un direct ou à la mise en ligne d'une vidéo
  • Gestionnaires : réunissent le solde et le statut des commandes dans leur propre tableau de bord

Comment obtenir une clé API ?

Créez-la sur l'écran Clé API de votre tableau de bord une fois votre première recharge créditée. La clé ne s'affiche qu'une fois, au moment de sa création : copiez-la tout de suite et conservez-la en lieu sûr. Quand vous créez une nouvelle clé, l'ancienne cesse aussitôt de fonctionner : si vous pensez qu'une clé a été exposée, créez-en simplement une nouvelle pour la remplacer.

Comment envoyer des requêtes API ?

Envoyez chaque requête en POST à l'adresse unique https://1panelplus.com/api/v2. Utilisez au choix des champs de formulaire (application/x-www-form-urlencoded ou multipart) ou un corps JSON (Content-Type: application/json), et incluez key et action dans chaque requête. Toutes les réponses sont en JSON.

Exemple de requête (champs de formulaire) : key=YOUR_API_KEY&action=balance

Exemple de requête (JSON) : {"key": "YOUR_API_KEY", "action": "balance"}

action
services
Valeurs à envoyer
Aucune
Valeurs renvoyées
Liste des services
action
add
Valeurs à envoyer
service, link, quantity ou comments
Valeurs renvoyées
order (numéro de commande)
action
status
Valeurs à envoyer
Un order, ou orders (jusqu'à 100, séparés par des virgules)
Valeurs renvoyées
charge, start_count, status, remains, currency
action
refill
Valeurs à envoyer
order
Valeurs renvoyées
refill (numéro de refill)
action
refill_status
Valeurs à envoyer
refill
Valeurs renvoyées
status
action
balance
Valeurs à envoyer
Aucune
Valeurs renvoyées
balance, currency

Comment obtenir la liste des services avec services ?

Envoyez action=services et vous recevez tous les services en vente sous forme de tableau. Chaque service comprend service (numéro de service), name, type, category, rate, min, max, refill et cancel. rate est le prix pour 1 000 (USD) ; quand type vaut Package, c'est le prix d'un pack. refill vaut true pour les services avec période de refill, et cancel vaut toujours false. category contient le nom de la plateforme et la catégorie : vous pouvez recréer telles quelles les catégories sur votre propre panel.

Exemple de réponse : [{"service": SERVICE_ID, "name": "Nom du service", "type": "Default", "category": "YouTube - Nom de la catégorie", "rate": "Prix pour 1 000", "min": "Quantité minimum", "max": "Quantité maximum", "refill": true, "cancel": false}]

Les prix et les services peuvent changer : en tant que revendeur, il est judicieux de récupérer services à intervalle régulier pour garder synchronisés les prix et les quantités minimum et maximum de votre panel.

Comment passer une commande avec add ?

Envoyez action=add avec service (numéro de service), link (lien public) et quantity : la commande est passée et le coût aussitôt déduit de votre solde. Le champ order de la réponse est le numéro de commande ; enregistrez-le pour l'utiliser avec status et refill. Les commandes peuvent être passées depuis les comptes dont la première recharge a été créditée.

  • Services classiques : envoyez service, link et quantity
  • Services Custom Comments : envoyez comments à la place de quantity. Un commentaire par ligne, jusqu'à 500 caractères par ligne, et le nombre de lignes est la quantité
  • Services Package : aucune quantité nécessaire. La commande porte sur un pack

Exemple de requête : key=YOUR_API_KEY&action=add&service=SERVICE_ID&link=https://www.youtube.com/watch?v=videoid&quantity=1000

Exemple de réponse : {"order": ORDER_ID}

Comment vérifier le statut d'une commande avec status ?

Envoyez action=status avec order (un seul numéro de commande) pour obtenir le statut de cette commande, ou envoyez orders avec des numéros de commande séparés par des virgules pour en consulter jusqu'à 100 à la fois. Si vous gérez beaucoup de commandes, les regrouper avec orders économise de nombreuses requêtes.

Exemple de réponse (une commande) : {"charge": "Montant facturé", "start_count": "Compteur de départ", "status": "In progress", "remains": "Quantité restante", "currency": "USD"}

Exemple de réponse (plusieurs) : {"ORDER_ID_1": {"charge": "...", "start_count": "...", "status": "Completed", "remains": "0", "currency": "USD"}, "ORDER_ID_2": {"error": "Incorrect order ID"}}

Valeur de status
Pending
Signification
Reçue et en attente de démarrage, ou en passage en traitement
Valeur de status
In progress
Signification
En cours de livraison
Valeur de status
Completed
Signification
Entièrement livrée
Valeur de status
Partial
Signification
Une partie a été livrée et le reste du montant est revenu sur votre solde
Valeur de status
Canceled
Signification
N'a pas pu être traitée et le montant total est revenu sur votre solde

charge correspond au montant payé moins les montants remboursés : après une commande partielle ou annulée, vous voyez tout de suite le montant réellement dépensé. Les statuts de commande se mettent à jour automatiquement environ toutes les minutes : interroger status à peu près toutes les minutes suffit largement.

Comment utiliser refill et refill_status ?

Envoyez action=refill avec order pour demander un refill, et vous recevez refill (le numéro de refill). La demande est acceptée pour les commandes terminées ou partielles de services avec période de refill, pendant la période de refill comptée à partir du jour où la commande s'est terminée, lorsqu'aucun refill n'est en cours et que 24 heures se sont écoulées depuis la dernière demande. Envoyez action=refill_status avec refill, et vous obtenez le statut parmi Pending, In progress, Completed ou Rejected.

Exemples de réponses : {"refill": REFILL_ID} et {"status": "Completed"}

Les règles de refill sont les mêmes que sur le site. Les conditions détaillées sont dans Les périodes de refill expliquées.

Comment vérifier mon solde avec balance ?

Envoyez action=balance et vous recevez votre solde actuel et la devise (USD). En tant que revendeur, vérifiez votre solde avant de transmettre des commandes et configurez une alerte quand il passe sous un montant défini : vos commandes continuent ainsi sans interruption.

Exemple de réponse : {"balance": "Solde actuel", "currency": "USD"}

Que signifient les messages d'erreur de l'API ?

Les erreurs sont renvoyées en JSON avec une phrase en anglais dans le champ error. Chaque phrase correspond à une cause fixe : votre logiciel peut la comparer telle quelle et la traiter.

Valeur de error
Invalid API key
Signification
La clé est absente ou incorrecte
Valeur de error
Too many requests
Signification
Vous avez dépassé la limite de requêtes par minute. Renvoyez un peu plus tard
Valeur de error
Add funds first
Signification
Vous pouvez commander une fois votre première recharge créditée
Valeur de error
Incorrect service ID
Signification
Ce n'est pas le numéro d'un service en vente
Valeur de error
Incorrect link
Signification
Le format du lien n'est pas valide
Valeur de error
Quantity out of range
Signification
La quantité est hors de la fourchette min et max du service
Valeur de error
Incorrect comments
Signification
Les lignes de commentaires sont vides ou une ligne dépasse 500 caractères
Valeur de error
Not enough funds on balance
Signification
Votre solde est inférieur au coût de la commande
Valeur de error
Incorrect order ID
Signification
Ce n'est pas un numéro de commande de ce compte
Valeur de error
Incorrect refill ID
Signification
Ce n'est pas un numéro de refill de ce compte
Valeur de error
Incorrect action
Signification
La valeur action ne fait pas partie des 6 actions

Les demandes de refill peuvent renvoyer Refill is not available for this service (le service n'a pas de période de refill), Order is not finished yet (la commande n'est pas terminée), Refill period has ended (la période de refill est dépassée) ou Refill already requested, try again later (un refill est en cours ou 24 heures ne se sont pas écoulées).

Combien de requêtes API puis-je envoyer ?

Chaque clé peut envoyer jusqu'à 300 requêtes par minute. Regroupez les consultations de statut par lots de 100 avec orders et ne récupérez la liste des services que lorsque c'est nécessaire : vous aurez une large marge. Par exemple, avec 1 000 commandes en cours, 10 requêtes une fois par minute suffisent à toutes les vérifier.

Comment les revendeurs fixent-ils leurs prix de vente ?

Le rate obtenu via l'API est le prix pour 1 000 de 1PANEL PLUS, et les revendeurs fixent eux-mêmes le prix de vente sur leur propre panel. Par exemple, si vous ajoutez 25% à un service dont le rate est de $2.00, vous vendez à $2.50 pour 1 000 ; quand un client commande 4 000, votre vente est de $10.00 et $8.00 sont déduits chez 1PANEL PLUS. Ces prix sont des exemples pour montrer le calcul.

Dans quel ordre mettre en place la connexion API ?

  1. Rechargez votre solde et créez une clé API dans votre tableau de bord
  2. Vérifiez la clé et la connexion avec balance
  3. Récupérez la liste des services avec services et publiez-la sur votre panel
  4. Envoyez un add avec la plus petite quantité et récupérez un numéro de commande
  5. Vérifiez avec status que le statut évolue, puis activez les commandes automatiques

Des exemples curl, PHP, Python et Node.js et la description complète des champs se trouvent dans la documentation API, et les autres questions dans le thème API de la FAQ.