زمان کنونی: 2019/10/24، 09:53 AM درود مهمان گرامی! (ورودثبت نام)
کاربران عزیز برای طرح هر گرونه سوال مرتبط با موضوع انجمن لطفا ابتدا در انجمن عضو شده و سپس با ورود ب بخش مورد نظر سوالتان را مطرح کنید.



امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ارسال درخواست به صورت جیسون در زبان php
#1
ارسال درخواست json به همراه پارامتر های مورد نظر

برای ارتباط با api وب سایت ها و دریافت سرویس مورد نظر، گاهی لازم است تعدادی پارامتر ب همراه مقدارشان را به یک ادرس خاص ارسال کرده و پاسخ مورد نظر خود را دریافت کنید.

به عنوان یک مثال ساده، درگاه پرداخت poolam در بخش مستنداد خود برای دریافت شناسه پرداخت چنین چیزی را از کاربران خواسته است:


نقل قول: دریافت شناسه پرداخت:
برای این منظور باید یک درخواست به صورت JSON یا FORM_DATA به آدرس زیر ارسال کنید. مقادیری که باید ارسال شوند به شرح زیر می‌باشد:

کد php:
https://poolam.ir/invoice/request
}
,
"api_key":"api_key"
,"amount":amount
"return_url":"return_url"



و پارامتر های ارسالی را نیز ب شرح زیر تعریف کرده است:


نقل قول: api_key: شناسه ترمینال
 
amount: مبلغ (به ریال)
 
 return_url: آدرس بازگشت

برای ارسال درخواست به صورت json می توانید به شکل زیر عمل کنید:


کد php:
$result json_decode(file_get_contents("https://poolam.ir/invoice/request?api_key=yourapi_key&amount=youramount&return_url=yourreturn_url
"
),true); 


یعنی بعد از ادرس مورد نظر یک علامت سوال ? قرار داده و سپس پارامتر ها را به همراه مقادیرشان قرار می دهیم
بین هر پارامتر و مقدارش یک علامت = قرار داده ایم و پارامتر ها را با علامت & از هم جدا کرده ایم
نتیجه حاصل را نیز بر روی متغیر result ذخیره کرده ایم تا بتوانیم از آن استفاده کنیم.

اما حالا سایت مورد نظر چگونه به ما پاسخ خواهد داد و ما چگونه از ان استفاده کنیم؟
وب سایتی ک مثال زدیم در ادامه توضیحاتش پاسخ بازگشتی را ب این صوررت توضیح داده:


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

status: وضعیت (عدد 1 )
 invoice_key: شناسه پرداخت


یعنی وب سایت در پاسخ درخواست ارسالی ما دو پارامتر status و nvoice_key را برای ما ارسال می کند که طبق توضیحاتش در صورت درست بودن اطلاعات ارسالی ما پارامتر status مقدار 1 و پارامتر nvoice_key هم شناسه پرداخت را دارا خواهد بود.
برای دریافت این پارامتر ها ما می توانیم به یکی از دو روش زیر عمل کنیم:


کد php:
$status $result['status'];
$invoice_key $result['status']; 

یا 

کد php:
$status $result->status;
$invoice_key $result->status
امضاء hamzeh
لیست خدمات ما در تلگرام



شماره تماس

09172088446

پاسخ




کاربرانِ درحال بازدید از این موضوع: 1 مهمان