VPS.org API

Documentation de l'API REST

API Affiliés

Lisez votre dossier d'affiliation, références, commissions et paiements, modifiez vos paramètres de paiement et demandez un paiement. Chaque point d'arrivée agit sur le compte d'affiliation qui possède le jeton API.

Points d'extrémité 7 endpoints
Chemin de base /api/v1/affiliates

Points de fin et champs de mesure des jetons

Créer un jeton dans Compte, puis Développeurs, et lui donner les champs d'applications les paramètres ci-dessous besoin. Un compte qui n'est pas une filiale obtient 404 de chaque paramètre, sauf s'inscrire.

Point d'arrivée Portée Désignation des marchandises
GET /affiliates/me/affiliates:readVotre dossier d'affiliation, solde et lien de référence
GET /affiliates/referrals/affiliates:readComptes qui ont signé par votre lien
GET /affiliates/commissions/affiliates:readCommissions gagnées sur les paiements de vos renvois
GET /affiliates/payouts/affiliates:readPaiements demandés et payés
PATCH /affiliates/settings/affiliates:updateModifier la méthode de paiement, email PayPal, compte rayé ou montant minimum de paiement min_payout_amount ≥ 10.00
POST /affiliates/request-payout/affiliates:createDemander un paiement de votre solde une fois qu'il atteint votre minimum. Un seul paiement en attente à la fois.
POST /affiliates/signup/affiliates:createRejoignez le programme d'affiliation. Envoyez paiement_méthode (paypal ou stripe) avec paypal_email ou stripe_account_id.

Les listes de références, de commissions et de paiements sont paginées : chaque réponse compte, suit, précédente et résultats. Utilisez la page pour passer à travers eux et page_size pour modifier le nombre d'éléments que chaque page détient. Les valeurs monétaires sont retournées en chaîne décimale. page_size: 25 (default), 100 (max)

OBTENIR /api/v1/affiliates/me/

Obtenez votre dossier d'affiliation

Exemple de requête

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/affiliates/me/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
base = "https://admin.vps.org/api/v1/affiliates"

me = requests.get(f"{base}/me/", headers=headers).json()
print(me["balance"], me["total_earned"])

# Walk every page of commissions
url = f"{base}/commissions/?page_size=100"
while url:
    page = requests.get(url, headers=headers).json()
    for c in page["results"]:
        print(c["created_at"], c["amount"], c["status"])
    url = page["next"]
const res = await fetch('https://admin.vps.org/api/v1/affiliates/me/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
const me = await res.json();
console.log(me.balance, me.referral_url);

Exemple de réponse

{
  "uuid": "9f2c4e7a1b3d4c5e8f6a7b8c9d0e1f2a",
  "user_email": "you@example.com",
  "referral_code": "AB12CD34",
  "referral_url": "https://vps.org/?ref=AB12CD34",
  "status": "active",
  "commission_rate": "20.00",
  "cookie_days": 90,
  "payout_method": "paypal",
  "paypal_email": "you@example.com",
  "stripe_account_id": null,
  "min_payout_amount": "10.00",
  "balance": "42.50",
  "total_earned": "142.50",
  "total_paid": "100.00",
  "created_at": "2026-09-01T12:00:00Z"
}

Champs de réponse

Champ Taper Désignation des marchandises
statusstringen attente, actif, suspendu ou terminé. Seuls les affiliés actifs peuvent demander des paiements.
commission_ratedecimal stringCommission en pourcentage, et non en fraction 20.00 = 20%
cookie_daysintegerCombien de jours un clic sur votre lien est rappelé
balancedecimal stringGagnés et non encore payés
total_earned / total_paiddecimal stringCommission à vie gagnée et montant à vie versé

Renvois, commissions et paiements

Chaque élément dans les résultats a ces champs:

Point d'arrivée Champ
/affiliates/referrals/uuid, referred_email, status, created_at
/affiliates/commissions/uuid, referred_email, amount, rate, original_amount, status, created_at
/affiliates/payouts/uuid, amount, method, status, created_at, processed_at, error_message

Le statut de renvoi est en cours, actif ou annulé. Le statut de la Commission est en cours, approuvé, payé ou annulé. Le statut de paiement est en cours, traité, complété ou échoué.

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "3b1e9c0d2a4f4e6b8c7d5e4f3a2b1c0d",
      "referred_email": "customer@example.com",
      "amount": "2.00",
      "rate": "20.00",
      "original_amount": "10.00",
      "status": "approved",
      "created_at": "2026-09-20T08:15:00Z"
    }
  ]
}

Codes d'état de réponse

200 Succès
403 Jeton API manquant ou invalide, ou le jeton manque la permission requise
404 Ce compte n'est pas encore affilié

Spécification OpenAPI

La spécification lisible par machine pour chaque point de vente, y compris ces derniers, est ci-dessous, et vous pouvez la parcourir de manière interactive sur la page de référence de l'API.

https://admin.vps.org/api/v1/schema/

Limite tarifaire par compte: 1000 / hour