Référence API

Référence API développeur

Documentation complète pour implémenter la vérification SMS. Toutes les réponses sont en JSON.

Note : Référence pour développeurs et intégrateurs. Chaque endpoint inclut explications, authentification, exemples de requêtes et réponses.

Authentification

Tous les endpoints exigent un Bearer token dans l'en-tête Authorization.

Obtenir votre clé API
  1. Connectez-vous à Proxnum et ouvrez votre page profil
  2. Allez à la section « Gestion des clés API »
  3. Cliquez « Créer une clé API »
  4. Copiez le token affiché

Incluez le token API dans chaque requête :

Authorization: Bearer YOUR_API_TOKEN_HERE
Accept: application/json
Content-Type: application/json

Liens rapides :

Format de réponse commun

Les erreurs utilisent une structure normalisée avec le champ code. Toutes les erreurs suivent ce modèle :

{
  "success": false,
  "code": "no_numbers",
  "message": "No numbers available for the selected service and country"
}

Endpoints

GET /api/v1/resell/price?service=&country=

Obtenir prix de base et de vente pour un service et un pays. Estimez le coût avant commande.

Paramètres (query) : service (string), country (int)

Exemple de requête :

curl -s -X GET "https://proxnum.com/api/v1/resell/price?service=ig&country=6" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Réponse succès :

{
  "country": "6",
  "service": "ig",
  "base_price": 0.0334,
  "sell_price": 0.1114892
}

GET /api/v1/prices

Tarification complète pour tous les services et pays. Retourne prix de base et prix revendeur.

Paramètres (query, optionnels) :

  • service service (string) — filtrer par code service (ex. ig, wa, tg)
  • country country (int) — filtrer par code pays

Exemple (tous les prix) :

curl -s -X GET "https://proxnum.com/api/v1/prices" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Exemple (filtré par pays) :

curl -s -X GET "https://proxnum.com/api/v1/prices?country=6" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Réponse succès (filtrée par pays) :

{
  "success": true,
  "prices": {
    "6": {
      "ig": {
        "base_price": 0.0334,
        "sell_price": 0.1114892,
        "available": 245
      },
      "wa": {
        "base_price": 0.0389,
        "sell_price": 0.1298737,
        "available": 189
      },
      "tg": {
        "base_price": 0.0223,
        "sell_price": 0.0744551,
        "available": 521
      },
      "go": {
        "base_price": 0.0278,
        "sell_price": 0.0928206,
        "available": 312
      }
    }
  }
}

Note : Réponse imbriquée : premier niveau = codes pays, second = codes service. Chaque service contient base_price, sell_price et available (ou null).


POST /api/v1/resell/virtual/buy

Acheter un numéro temporaire (virtuel). Tente d'allouer un numéro et de débiter le compte.

Corps (JSON) : {"service":"ig","country":6}

Exemple de requête :

curl -s -X POST "https://proxnum.com/api/v1/resell/virtual/buy" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"service":"ig","country":6}'

Réponse succès (normalisée) :

{
  "success": true,
  "activation": {
    "id": 737,
    "phone": "62895406203932",
    "activation_id": "4390520873",
    "msg": "Waiting Sms",
    "date_created": "2025-11-08 21:50:34",
    "amount_paid": 0.111489,
    "status": 1
  }
}

Codes d'erreur courants :

{
  "success": false,
  "code": "no_numbers",
  "message": "No numbers available for this service in the selected country"
}

{
  "success": false,
  "code": "insufficient_balance",
  "message": "Not enough balance to place the order"
}

GET /api/v1/resell/virtual/{id}/status

Vérifier le statut d'une activation. {id} accepte l'activation id retourné à l'achat.

Exemple de requête :

curl -s -X GET "https://proxnum.com/api/v1/resell/virtual/4390520873/status" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Succès (code disponible) :

{
  "success": true,
  "status": "completed",
  "code": "1234",
  "activation": { "id": 737, "phone": "628...", "activation_id": "4390520873" }
}

POST /api/v1/resell/virtual/resend

Demander un renvoi/réactivation. Utilisez l'activation id dans le corps.

Corps : {"activation_id":"4390520873"}

curl -s -X POST "https://proxnum.com/api/v1/resell/virtual/resend" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"activation_id":"4390520873"}'

Réponse (acceptée) :

{
  "success": true,
  "message": "Resend requested; new activation created",
  "activation": { "id": 738, "activation_id": "4390520874", "phone": "628..." }
}

POST /api/v1/resell/virtual/cancel

Demander annulation et remboursement. Le serveur évalue si l'activation est remboursable.

Corps : {"activation_id":"4390520873"}

curl -s -X POST "https://proxnum.com/api/v1/resell/virtual/cancel" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"activation_id":"4390520873"}'

Accepté :

{
  "success": true,
  "code": "cancel_accepted",
  "message": "Cancellation accepted, refund processed"
}

Rejeté :

{
  "success": false,
  "code": "cancel_rejected",
  "message": "Cancellation rejected — activation already completed or not refundable"
}

GET /api/v1/resell/activations

Liste des activations de l'utilisateur (paginée). Paramètres page et per_page.

curl -s -X GET "https://proxnum.com/api/v1/resell/activations?page=1&per_page=25" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Notes d'implémentation

  • Les opérations de débit sont idempotentes par commande ; vérifiez order ou transaction.
  • Utilisez l'endpoint price pour simuler les coûts avant commande.
  • Codes d'erreur : no_numbers, insufficient_balance, service_unavailable, cancel_rejected.
Bonnes pratiques :
  • Gérez toujours succès et erreurs dans votre intégration
  • Implémentez la gestion des timeouts réseau
  • Mettez en cache les listes pays et services
  • Utilisez les webhooks pour les mises à jour en temps réel

chat us