محمد پارسا
4 روز پیش توسط محمد پارسا مطرح شد
2 پاسخ

آموزش API‌ های RESTful

سلام
دوستان برنامه نویس چطوری میتونم از وبسرویس API استفاده کنم.
چنتا وبسرویس دارم میخوام با استفاده از زبان PHP یک سری داده ارسال کنم و در پاسخ داده ها رو دریافت کنم و توی همون صفحه نمایش بدم.
لطفا اگر آموزش خاصی دارید یا میتونید راهنمایی کنید بهم کمک کنید.
ممنون میشم


ثبت پرسش جدید
آرش یدی
تخصص : امنیت بک اند
@dark25eye 4 روز پیش مطرح شد
1

سلام و درود خدمت شما دوست عزیز
برای استفاده از وب‌سرویس API در PHP، می‌تونی از تابع cURL استفاده کنی که یکی از روش‌های محبوب برای ارسال درخواست‌های HTTP به وب‌سرویس‌ها است. اینجا یه نمونه کد می‌زنم که بهت کمک می‌کنه داده ارسال کنی و پاسخ رو دریافت کنی:

<?php
// URL وب‌سرویس
$url = 'https://api.example.com/data';

// داده‌هایی که می‌خوای ارسال کنی (مثلا به صورت JSON)
$data = array(
    'key1' => 'value1',
    'key2' => 'value2'
);

// تبدیل داده‌ها به فرمت JSON
$json_data = json_encode($data);

// تنظیمات cURL
$options = array(
    'http' => array(
        'method'  => 'POST',
        'header'  => "Content-Type: application/json\r\n",
        'content' => $json_data
    )
);

// ایجاد context
$context = stream_context_create($options);

// ارسال درخواست و دریافت پاسخ
$response = file_get_contents($url, false, $context);

// نمایش داده‌های دریافتی
echo $response;
?>

توضیحات:

URL: آدرس وب‌سرویسی که می‌خوای باهاش ارتباط برقرار کنی.
$data: داده‌هایی که می‌خوای ارسال کنی، اینجا به صورت array تعریف شده.
json_encode: برای تبدیل داده‌ها به فرمت JSON.
stream_context_create: برای تنظیم درخواست و ارسال اون به وب‌سرویس.
file_get_contents: برای ارسال درخواست و دریافت پاسخ از وب‌سرویس.
این روش خیلی ساده و سریع هستش. حالا اگه می‌خوای داده‌ها رو نمایش بدی، می‌تونی داده‌های دریافتی رو طبق نیاز خودت پردازش کنی و توی صفحه نشون بدی.


محمد پارسا
تخصص : WordPress
@mparsa1372 4 روز پیش مطرح شد
0

بسیار عالی و ممنون از پاسخگویی جامع
این مستندات وبسرویسی هست که نیاز دارم .
گام به گام با هم پیش بریم ؟ ممنون میشم.
راهنما :
به راهنمای وب سرویس‌های زیبال خوش آمدید. این مستندات جهت آسانی استفاده شما از سرویس‌های زیبال جمع آوری شده‌اند. در صورت بروز هر گونه سوال با تیم فنی زیبال تماس بگیرید. وظیفه همکاران ما پاسخ به پیام‌های شما در اسرع وقت می‌باشد.

لطفا قبل از پیاده‌سازی به نکات زیر توجه نمایید:

تمامی درخواست‌های شما از طریق بخش توسعه‌دهندگان - فراخوانی‌ها قابل مشاهده هستند.
API‌ های زیبال RESTful می‌باشند و درخواست‌ها و پاسخ‌ها به صورت JSON رد و بدل می‌شوند.
Status Code تمامی درخواست‌های موفق،200و تمامی درخواست‌های نامعتبر400و خطاهای داخلی سرور زیبال500می‌باشد که در این صورت شما می‌توانید با توجه بهmessageوresultو بررسی پارامترهای ارسالی، علت بروز خطا را دریابید.
زیبال تنها به درخواست‌هایی که از طرف IP های اعلامی شما ارسال شوند پاسخ خواهد داد.
در صورت دریافت هر گونه خطا از جانب زیبال، پس از بررسی مقادیر ارسالی خود، این خطا را به همراه مقادیر ارسالی و مقادیر پاسخ‌ دریافتی را برای ما ارسال کنید. از امکان بروز خطا توسط زیبال باخبریم و به سرعت در راستای حل مشکل قدم برخواهیم داشت!
تیم فنی زیبال از طریق بخش پشتیبانی سایت، چت آنلاین و ایمیلinfo@zibal.ir به سوالات شما در سریعترین زمان ممکن پاسخ خواهد داد.

احراز هویت
زیبال از طریق هدر Authorization جهت احراز هویت درخواست‌ها استفاده می‌کند.
به این ترتیب تمامی درخواست‌های شما بایستی حاوی هدر به شکل زیر باشد:Authorization: Bearer {{ACCESS TOKEN}}
شما میتوانید با مراجعه به حساب کاربری/توسعه دهندگان/گزینه API Token ها، ACCESS TOKEN مربوط به خود را ایجاد نمایید.
هر پنل کاربری می‌تواند بینهایت ACCESS TOKEN از زیبال با دسترسی به API های متفاوت دریافت کند.
امکان محدودسازی برای IP های دلخواه و همچنین ایجاد محدودیت در سطح دسترسی ACCESS TOKEN ها با مراجعه به پنل کاربری امکان پذیر می‌باشد.

مثال :
استعلام اطلاعات هویتی
‌از این پایانه می‌توانید برای استعلام اطلاعات هویتی فرد با توجه به کد‌ملی و تاریخ تولد وی استفاده نمایید.

اطلاعات درخواست متد POST

https://api.zibal.ir/v1/facility/nationalIdentityInquiry/

بدنه درخواست
پارامتر ضروری نوع توضیحات
nationalCode بله رشته (String) کد‌ملی
birthDate بله رشته (String) تاریخ تولد
نمونه JSON ارسالی شما برای این پایانه

{
"nationalCode": "00XXX61745",
"birthDate": "1374/11/23"
}

بدنه پاسخ
پارامتر نوع توضیحات
message string پیغام حاوی نتیجه درخواست
result int نتیجه درخواست(جدول Resultها)
data object اطلاعات هویتی فرد

نمونه JSON پاسخ زیبال برای این پایانه

{
    "result": 1,
    "message": "موفق",
    "data": {
        "matched": true,
        "firstName": "امير",
        "lastName": "صادقی بارانی",
        "fatherName": "حميد",
        "alive": true
    }
}

این مورد رو چطوری در کدی که شما فرمودید استفاده کنیم ؟
با تشکر


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام