API چیست؟

آخرین بروزرسانی ها

97/8/12 API CORE:v2.5.3b
رفع ایراد های جزیی در بخش خطاها
96/6/24 API CORE:v2.5.2
تغییر مقدار خطا از (n و y) به (false و true)
پروتکل امنیتی HTTPS برای درخواست های API ایجاد شد.
سوالات خود را درباره API مطرح کنید...

ارسال درخواست

ارسال درخواست به سرور با دو متد GET و POST امکانپذیر است!

متد POST

آدرس درگاه (جدید)https://do0.ir/post/[key]/[ver]/[errorType] (Optional) آدرس نمونهhttps://do0.ir/post/test1324/2.5 آخرین ویرایش آدرس: 20 خرداد 1395
نکته: ارسال درخواست به صورت آجاکس بین سرور (Cross Server Ajax) میسر است.
اتصال ایمن برای ارسال درخواست به سرور دوصفر می بایست آدرس API با پروتکل https وارد شود!

پارامتر ها (ورودی)

پارامتر key مقدار این پارامتر "کلید توسعه دهنده (API KEY)" است.
برای دریافت کلید توسعه دهنده پس از ثبت نام در سایت، وارد بخش API شوید و با استفاده از فرم موجود یک API جدید ایجاد کنید و کد خود را به جای api_key قرار دهید.
پارامتر verمقدار این پارامتر شماره نسخه فعلی API است.
این شماره از طرف تیم توسعه سایت تعیین می شود و پس از هر بروزرسانی این عدد تغییر می کند.
شماره نسخه فعلی API: 2.5
پارامتر errorType (دلخواه) این پارامتر نوع پیام خطا را تعیین می کند.
مقادیر قابل قبول:
simple : پیام خطا به صورت ساده و بدون تگ های HTML
code : پیام خطا به صورت کد خطایابی
html : پیام خطا به صورت کد HTML به همراه توضیحات
مقدار این پارامتر به صورت پیشفرض برابر با html خواهد بود. مقدار این پارامتر به حروف کوچک و بزرگ حساس نیست.
پارامتر link (POST) ورودی/مقدار این پارامتر آدرسی است که می خواهید کوتاه شود.

نکته مهم (رمزگذاری)

قبل از ارسال درخواست توسط متد های گفته شده؛ آدرس ارسالی را رمزگذاری کنید.
رمزگذاری آدرس ها بر اساس زبان برنامه نویسی شما متفاوت است! همچنین مثال هایی از رمزگذاری آدرس ها را می توانید در بخش Samples/Lab مشاهده کنید.

پارامتر ها (خروجی)

idشناسه لینک
shortلینک کوتاه شده
address(فشرده) آدرس اولیه لینک
publicوضعیت نمایش (عمومی یا خصوصی بودن)
successوضعیت عملیات (دو مقدار false و true)
errorخطا (در صورت وجود)
خروجی کلی (صحیح)
{"success": true,"error": "","id": ...,"address": ...,"short": ...,"public": ...}
خروجی کلی (وجود خطا) ?
{"success": false,"error": ...}

متد GET (پیشنهاد نمی شود)

آدرس درگاه https://do0.ir/send.php?rel=api&key=[key]&ver=2.5&type=get&L=[URL] &errorType=[errorType]

API آمارگیر دوصفر

این API در حال حاضر به صورت BETA (آزمایشی) کار می کند و به زودی امکانات گسترده تری به آن اضافه خواهد شد!
همچنین نمونه ای از استفاده این API در بخش Samples موجود است!
آدرس درگاه (کوتاه) https://do0.ir/stat_api/{LINK_NAME}
آدرس درگاه (بلند) https://do0.ir/json.php?i={LINK_NAME}&type=stat
پارامتر i مقدار این پارامتر نام لینکی است که میخواهید اطلاعات آماری آن را دریافت کنید...

MINI API (کوتاه کننده کوچک)

یکی از آخرین امکانات دوصفر می باشد که می توانید برای هر API Key یک نسخه کوچک ایجاد کنید!
برای دیدن نمونه ای از یک Mini API اینجا کلیک کنید...
با استفاده از این امکان برای سایت/وبلاگ خود یک کوتاه کننده اختصاصی و 100% رایگان بسازید! آن هم در سرور های ایران...!!!
آدرس اصلی https://do0.ir/m/{"MINI_KEY"}/2.5.1
نسخه فعلی (پایدار) 2.5.1
شیوه ساخت 1. ابتدا طبق روش گفته شده در ابتدا همین صفحه برای خودتان یک API Key ایجاد کنید...
2. پس از ایجاد کد افزونه خودتان به بخش API در پنل کاربریتان مراجعه فرمائید.
3. سپس برای دریافت کد مخصوص mini api مانند تصویر زیر روی "دریافت کد mini" کلیک کنید.
MINI_KEY1
4. پس از کلیک روی دریافت کد مشاهده می کنید که به جای کلمه "دریافت کد" یک کلمه تصادفی به شما نمایش داده می شود که آن، درواقع همان مینی کد شماست!
MINI_KEY2
5. در نهایت مینی کد خود را در آدرس بالا جایگذاری کنید و صاحب کوتاه کننده اختصاصی خود شوید!

مشکل یا ابهامی مشاهده کردید؟

لطفا در صورتی که مشکل یا ابهامی در سرویس API دوصفر مشاهده کردید؛ آن را با تیم پشتیبانی ما در میان بگذارید... شما می توانید با رفتن به صفحه تماس با ما مشکل را به راحتی گزارش کنید! :)

ارسال درخواست در JAVASCRIPT

شیوه ارسال اطلاعات به صورت AJAX به API ارسال می شود و خروجی به صورت JSON دریافت می شود.
کتابخانه jQuery از کتابخانه jQuery استفاده می کنید؟
Ajax in jQuery را مطالعه کنید...
// api version 2.5 - stable function request() { var xhttp=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP'); console.log("STATUS: Sending Request..."); xhttp.onreadystatechange=function() { if(xhttp.readyState==4 && xhttp.status==200) { var data=JSON.parse(xhttp.responseText); if(data.success==false) console.log("ERROR: "+data.error); else console.log("SUCCESS: https://do0.ir/"+data.short); } } xhttp.open('POST','https://do0.ir/post/{APP_KEY}/2.5',true); // SSL REQUIRED!! xhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded'); xhttp.send("link="+encodeURIComponent(url)); // URL ENCRYPTION REQUIRED!! } // API Requests should meet our API Services rules! // Take a look at Terms of Services in: http://do0.ir/pages/terms#api

ارسال درخواست در PHP

شیوه ارسال اطلاعات به صورت GET به API ارسال می شود و خروجی به صورت JSON دریافت می شود.
$url="{URL}";

function enc($url) {
  return urlencode($url);
}

$url=enc($url);
if(empty($url) || is_null($url)) die("Error[1]");
else {
    $file=file_get_contents('https://do0.ir/send.php?key=<-yourKey->&ver=2.5&type=get&L='.$url);
      $get=json_decode($file);
      $short=$get->short;
      $success=$get->success;
      $error=$get->error;
      ($success==false)?die($error):die('https://do0.ir/'.$short);
}

ارسال درخواست در ANDROID/JAVA

شیوه ارسال ارسال درخواست http به وسیله کتابخانه Volley اندروید و دریافت خروجی JSON
به زودی سورس کامل به همراه کتابخانه قرار داده می شود...
JsonObject js = new JsonObject(res);
String short = js.getString("short");
Toast.makeText(getApplicationContext(), short, Toast.LENGTH_SHORT).show();

تابع jsonify برای استفاده در JSP

ارسال درخواست در Go language

شیوه ارسال درخواست http به api ارسال می شود و پاسخ دریافت می شود.
import "net/http"
	// ...
resp, err := http.PostForm("https://do0.ir/post/{APP_KEY}/2.5",
url.Values{"link": {"LINK_VALUE"}, "name": {"LINK_NAME"}})
if err != nil {
// handle error
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
// ...

مستندات داخلی GO

نمونه کد API آمارگیر (JAVASCRIPT)


	var xhttp=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');
	console.log("STATUS: Sending Request...");
	xhttp.onreadystatechange=function(){
		if(xhttp.readyState==4 && xhttp.status==200){
			var data=JSON.parse(xhttp.responseText);
			if(data.success=="n") console.log("ERROR: "+data.error);
			else {
var passCheckMessage;
var passCheck=data.passStatus;
if(passCheck=='yes') passCheckMessage='True';
else passCheckMessage='False';
          console.log("SUCCESS!\nViews: "+data.stat+"\nLast View: "+data.lastView+"\nis Encrypted: "+passCheckMessage);
                 }
		}
	}
    xhttp.open('GET','https://do0.ir/stat_api/{LINK_NAME}',true);
  xhttp.send();

مشاهده کد در ادیتور