مستندات فاپول ویژه توسعه دهنگان

فاپول ؛ پیشرو در صنعت محتوای دیجیتال



نرم افزار شما ارزشمند است ;) پس به راحتی قفلش کن و اشتراک بفروش ...

سیستم API فاپول مورد استفاده تمام برنامه نویسان و توسعه دهندگان نرم افزاری است که قصد دارند روی نرم افزار خود امکان لایسنس گذاری، فعالسازی آنلاین و همچنین فروش اشتراک های دوره ای ایجاد کنند و فروش نرم افزار و فعالسازی ان را اتوماتیک انجام دهند. لایسنس گذاری روی نرم افزار یا مدیریت اشتراک های کاربران کار آسانی نیست و نیازمند صرف هزینه و وقت برای خرید تجهیزات سروری و توسعه کد و همچنین تامین امنیت آن می باشد. مفتخریم که اعلام کنیم در فاپول این کار را برای توسعه دهندگان بسیار آسان و با کمترین کدنویسی قابل انجام است و با استفاده از API فاپول می توانید نرم افزار خود را بفروشید و برای فعالسازی نرم افزار کدفعالسازی به مشتری بدهید و یا اشتراک های دوره تعریف کنید و کد فعال سازی لایسنس نرم افزار را ابه صورت اینترنتی با سرور فاپول چک کنید و درصورت صحت کلید فعالسازی نرم افزار را فعال کنید یا اجازه استفاده به مشتری تا پایان اعتبار در محل نصب شده بدهید.

کد فعال سازی نرم افزار و فروش اشتراک به چه صورت عمل میکند؟

جهت فروش اشتراک و یا لایسنس فعال سازی نرم افزار شما طبق این آموزش ابتدا باید یک محصول در پنل فروشندگان ثبت کنید و در ادامه از منوی "لایسنس ها" برای محصول ثبت و تایید شده خود کد فعال سازی یا اشتراک های دوره ای جهت فروش ایجاد کنید. بعد از تعریف لایسنس محصول، توکنی در اختیار شما قرار خواهد گرفت. در ادامه کاربر بعد از خرید اشتراک نرم افزار یا محصول شما، یک کلید تحت عنوان کلید فعال سازی یا لایسنس که دارای ویژگی هایی نظیر تاریخ انقضا لایسنس، محدودیت تعداد استفاده هم زمان و کلید لایسنس می باشد، دریافت خواهد کرد. با کمک مستنداتی که در ادامه برای هر زبان برنامه نویسی ارائه شده است، به راحتی میتوانید نرم افزار خود را به سرور فاپول متصل نموده و با بررسی کلید لاینس ، مدیریت کاملی روی استفاده کاربران از نرم افزار خود داشته باشید.

    به طور خلاصه برای فعال سازی لایسنس روی نرم افزار می بایست مراحل زیر را طی کنید

  1. افزودن محصول در فاپول و ثبت لایسنس یا دوره های اشتراک
  2. دریافت توکن لایسنس و تکمیل کدنویسی نرم افزار طبق مستندات API
  3. ارسال درخواست اتوماتیک از سمت نرم افزار به فاپول جهت بررسی لایسنس و دریافت پاسخ از سرور

شما می توانید از لایسنس های فاپول جهت قفل گذاری و فروش اشتراک در هر نوع نرم افزار یا اپلیکیشن با هر زبانی استفاده کنید
این سرویس کاملا رایگان ارائه شده است و بابت لایسنس گذاری روی محصول هیچ هزینه ای دریافت نمی شود

شروع کنید: ساختار API فاپول

ما تمام تلاش خود را کردیم که بررسی صحت کدفعالسازی به راحتترین شکل برای شما امکان پذیر باشد بررسی صحت کدفعالسازی توسط دو پارامتر زیر انجام میشود این نکته را در نظر بگیرید که بررسی صحت کدفعالسازی را با هربار اجرا برنامه انجام ندهید چون ممکن است کاربر نرم افزار شما همیشه به اینترنت متصل نباشد.

  1. توکن محصول | $fapool_token | (بعد از ثبت لایسنس در پنل فروشندگان قابل دریافت می باشد و ثابت است)
  2. کلید فعال سازی | $fapool_key | (کاربر بعد از خرید اشتراک یا نرم افزار، کلید فعال سازی را دریافت میکند)

نحوه چک کردن صحت کدفعالسازی

ابتدا باید پارامترهای فوق را با متود POST به آدرس زیر ارسال کنید

https://fapool.ir/api/v1/licenses/check
نمونه کد PHP برای ارسال درخواست به سرور فاپول

$curl = curl_init();

$fapool_token = 'd8a3fb943bb24d044b5ac2a962566f5050f1';
$fapool_key = '7d49gVg';

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://fapool.ir/api/v1/licenses/check',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => array('key' => $fapool_key),
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer $fapool_token"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
                                

نکته مهم: دقت داشته باشید مقدار $fapool_key را باید از کاربر هنگام نصب یا باز کردن نرم افزار درخواست کنید

تعاریف کدهای بازگشتی

چنانچه بعد از ارسال درخواست فوق، اتصال به درستی ایجاد شود یکی از کدهای زیر در بازگشت قابل دسترس خواهد بود

کد توضیحات وضعیت
200 لایسنس کاملا معتبر است و دارای اعتبار زمانی می باشد فعال
404 کلید فعال سازی یا لایسنس معتبر نیست و وجود ندارد فعال
410 کلید فعال سازی یا لایسنس وجود دارد اما تاریخ انقضا آن به پایان رسیده است فعال
420 اشتراک یا لایسنس فعال و معتبر است اما بیش از تعداد کاربر مجاز در حال استفاده می باشند به زودی!

نمونه کد های آماده برای استفاده در تمامی زبان ها

ویژه توسعه دهندگان نرم افزار و اپلیکیشن


روش اتصال و بررسی لایسنس ویژه زبان PHP

توضیحات زبان PHP به زودی در این قسمت قرار خواهد گرفت

نکات مهم:
  • افزودن محصول در فاپول و ثبت لایسنس یا دوره های اشتراک
  • دریافت توکن لایسنس و تکمیل کدنویسی نرم افزار طبق مستندات API
  •  
    $curl = curl_init();
    
    $fapool_token = 'd8a3fb943bb244d04f4f466f5050f1';
    $fapool_key = '7d9g4Vg';
    
    curl_setopt_array($curl, array(
      CURLOPT_URL => 'https://fapool.ir/api/v1/licenses/check',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => '',
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => 'POST',
      CURLOPT_POSTFIELDS => array('key' => $fapool_key),
      CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer $fapool_token"
      ),
    ));
    
    $response = curl_exec($curl);
    
    curl_close($curl);
    echo $response;
                                    

    نمونه کد دوم ویژه زبان PHP

    
    $url = "https://fapool.ir/api/v1/licenses/check";
    
    $fapool_token = 'd8a3fb943bb24d044f4c2a962566f5050f1';
    $fapool_key = '7d49gVg';
    
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    
    $headers = array(
       "Authorization: Bearer $fapool_token",
       "Content-Type: application/json",
    );
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    
    $data = '{"key" : "$fapool_key"}';
    
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    
    //for debug only!
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    
    $resp = curl_exec($curl);
    curl_close($curl);
    var_dump($resp);
                                



    روش اتصال و بررسی لایسنس ویژه زبان Python

    نمونه کد اتصال به سرور فاپول بررسی صحت لایسنس ویژه نرم افزار های Python

  • عبارت FskR73 لایسنس کاربر می باشد، این کلید را هنگام اجرای نرم افزار باید از کاربر اخذ کنید
  • به جای عبارت d8a3f6f5050f1 توکن اختصاصی خود ، از پنل فروشندگان را جایگزین کنید
  • import requests
    from requests.structures import CaseInsensitiveDict
    
    url = "https://fapool.ir/api/v1/licenses/check"
    
    headers = CaseInsensitiveDict()
    headers["Authorization"] = "Bearer d8a3f6f5050f1"
    headers["Content-Type"] = "application/json"
    
    data = '{"key" : "FskR73"}'
    
    resp = requests.post(url, headers=headers, data=data)
    
    print(resp.status_code)
                                    



    روش اتصال و بررسی لایسنس ویژه زبان Curl/Bash

    نمونه کد اتصال به سرور فاپول بررسی صحت لایسنس ویژه نرم افزار های Curl

  • عبارت FskR73 لایسنس کاربر می باشد، این کلید را هنگام اجرای نرم افزار باید از کاربر اخذ کنید
  • به جای عبارت d8a3f6f5050f1 توکن اختصاصی خود ، از پنل فروشندگان را جایگزین کنید
  • #!/bin/bash
    
    curl
    -X POST https://fapool.ir/api/v1/licenses/check
    -H "Authorization: Bearer d8a3f6f5050f1"
    -H "Content-Type: application/json"
    -d "{\"key\" : \"FskR73\"}"
                                    



    روش اتصال و بررسی لایسنس ویژه زبان JavaScript/AJAX

    نمونه کد اتصال به سرور فاپول بررسی صحت لایسنس ویژه نرم افزار های JavaScript

  • عبارت FskR73 لایسنس کاربر می باشد، این کلید را هنگام اجرای نرم افزار باید از کاربر اخذ کنید
  • به جای عبارت d8a3f6f5050f1 توکن اختصاصی خود ، از پنل فروشندگان را جایگزین کنید
  • var url = "https://fapool.ir/api/v1/licenses/check";
    
    var xhr = new XMLHttpRequest();
    xhr.open("POST", url);
    
    xhr.setRequestHeader("Authorization", "Bearer d8a3f6f5050f1");
    xhr.setRequestHeader("Content-Type", "application/json");
    
    xhr.onreadystatechange = function () {
       if (xhr.readyState === 4) {
          console.log(xhr.status);
          console.log(xhr.responseText);
       }};
    
    var data = '{"key" : "FskR73"}';
    xhr.send(data);
                                    



    روش اتصال و بررسی لایسنس ویژه زبان JAVA

    نمونه کد اتصال به سرور فاپول بررسی صحت لایسنس ویژه نرم افزار های JAVA

  • عبارت FskR73 لایسنس کاربر می باشد، این کلید را هنگام اجرای نرم افزار باید از کاربر اخذ کنید
  • به جای عبارت d8a3f6f5050f1 توکن اختصاصی خود ، از پنل فروشندگان را جایگزین کنید
  • URL url = new URL("https://fapool.ir/api/v1/licenses/check");
    HttpURLConnection http = (HttpURLConnection)url.openConnection();
    http.setRequestMethod("POST");
    http.setDoOutput(true);
    http.setRequestProperty("Authorization", "Bearer d8a3f6f5050f1");
    http.setRequestProperty("Content-Type", "application/json");
    
    String data = "{\"key\" : \"FskR73\"}";
    
    byte[] out = data.getBytes(StandardCharsets.UTF_8);
    
    OutputStream stream = http.getOutputStream();
    stream.write(out);
    
    System.out.println(http.getResponseCode() + " " + http.getResponseMessage());
    http.disconnect();
                                    



    روش اتصال و بررسی لایسنس ویژه زبان C#/NET

    نمونه کد اتصال به سرور فاپول بررسی صحت لایسنس ویژه نرم افزار های C#/NET

  • عبارت FskR73 لایسنس کاربر می باشد، این کلید را هنگام اجرای نرم افزار باید از کاربر اخذ کنید
  • به جای عبارت d8a3f6f5050f1 توکن اختصاصی خود ، از پنل فروشندگان را جایگزین کنید
  • var url = "https://fapool.ir/api/v1/licenses/check";
    
    var httpRequest = (HttpWebRequest)WebRequest.Create(url);
    httpRequest.Method = "POST";
    
    httpRequest.Headers["Authorization"] = "Bearer d8a3f6f5050f1";
    httpRequest.ContentType = "application/json";
    
    var data = "{\"key\" : \"FskR73\"}";
    
    using (var streamWriter = new StreamWriter(httpRequest.GetRequestStream()))
    {
       streamWriter.Write(data);
    }
    
    var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
    {
       var result = streamReader.ReadToEnd();
    }
    
    Console.WriteLine(httpResponse.StatusCode);
    
                                    



    روش اتصال و بررسی لایسنس ویژه زبان MQL5

    با این روش به راحتی می توانید اکسپرت های MQL5 را قفل گذاری کنید و ضمن محافظت از کپی نشدن آن، نبست به فروش اشتراک های ماهیانه اقدام کنید

  • لایسنس فاپول به صورت input از کاربر اخذ شود
  • برای عدم ایجاد مزاحمت برای کاربر میتوانید بررسی را فقط یکبار در هنگام اجرا شدن اکسپرت از کاربر درخواست کنید
  • به جای عبارت d8a3fb06f5050f1 در کد زیر، توکن اختصاصی خود را از پنل فروشندگان جایگزین نمایید
  • برای چک کردن لایسنس کاربر باید لینک "https://fapool.ir/api/v1/licenses/check" را از منوی tools/expert advisor وارد و فعال کند
  • input string    Fapool_Token = 0; // لایسنس فاپول
    bool access=false;
    
    int OnInit()
    {
    //--- create timer
    
       EventSetTimer(60*60);
       if(Fapool_Token==0){
       Alert("لطفا لایسنس دریافتی از سایت فاپول را وارد نمایید");
       return(INIT_SUCCEEDED);
       }
       CJAVal Myjason;
       char post[];
       char res_data[];
       string res_headers=NULL;
       string key = "{\"key\":\"" + Fapool_Token + "\"}";
       ArrayResize(post,StringToCharArray(key,post,0,WHOLE_ARRAY,CP_UTF8)-1);
       string header="Content-Type:application/json;\r\nAuthorization: Bearer d8a3fb06f5050f1";
       int r=WebRequest("POST","https://fapool.ir/api/v1/licenses/check",header,5000,post,res_data,res_headers);
       Myjason.Deserialize(res_data);
       Print("r=",r);
    
       if(r==404)
       {
          Alert("متاسفانه این لایسنس معتبر نیست، لطفا از فاپول لایسنس خود را دریافت نمایید");
       }
       else if(r==1001){
       Alert("اکسپرت امکان دسترسی به اینترنت ندارد، لطفا اینترنت خود را بررسی نمایید");
       }
       else if(r==-1){
       Alert("لینک بررسی لایسنس در تنظیمات وارد نشده است");
       }
       else if(r==410){
       Alert("اشتراک شما به پایان رسیده است، لطفا با تمدید اشتراک از سایت فاپول ، لایسنس جدید را وارد نمایید.");
       }
       else if(r==420){
       Alert("تعداد کاربران استفاده کننده از اکسپرت بیش از حد  مجاز است، لطفا از نشر غیرقانونی اکسپرت خودداری بفرمایید");
       }
       else if(r==200)
       {
             access=true;
            // shartha inja darj shavad
          }
          else{
          Alert("error ", r);
          }
    //---
       return(INIT_SUCCEEDED);
    }
    
                                    



    روش اتصال و بررسی لایسنس ویژه زبان MQL4

    توضیحات زبان MQL4 به زودی در این قسمت قرار خواهد گرفت. چنانچه شما نمونه کدی با این زبان نوشته اید و دارای عملکرد صحیح است احتراما جهت درج در این صفحه برای ما ارسال کنید

  • نکته اول
  • نکته دوم
  •                                 ......
                                    



    روش اتصال و بررسی لایسنس ویژه زبان cTrader

    توضیحات زبان cTrader به زودی در این قسمت قرار خواهد گرفت. چنانچه شما نمونه کدی با این زبان نوشته اید و دارای عملکرد صحیح است احتراما جهت درج در این صفحه برای ما ارسال کنید

  • نکته اول
  • نکته دوم
  •                                 ......
                                    

    تاریخچه نسخه ها

    ...


    تغییرات

    نسخه 1.0 / 15 مرداد 1401
    • + نسخه اولیه مستندات در سایت و گیت هاب بارگزاری شد
    • + نمونه کدهای آماده برای زبان های پایه افزوده شد

    آموزش های کاربردی