اتصال به APIها در PHP

ارسال درخواست‌های HTTP به سرویس‌های هوش مصنوعی و وب‌سرویس‌های خارجی با استفاده از cURL و تحلیل پاسخ‌های JSON.

نمای کلی

APIها (رابط‌های برنامه‌نویسی کاربردی) به شما اجازه می‌دهند وب‌سایت خود را به سرویس‌های قدرتمند خارجی متصل کنید؛ مانند دریافت وضعیت آب‌وهوا، درگاه‌های پرداخت، یا ارسال پرامپت به مدل‌های هوش مصنوعی (مثل OpenAI یا Claude) و دریافت خروجی متنی یا تصویری.

استفاده از کتابخانه cURL

کتابخانه cURL ابزار استاندارد و قدرتمند PHP برای ارسال درخواست‌های HTTP (شامل GET, POST, PUT, DELETE) به‌همراه هدرها و توکن‌های احراز هویت است.

ai-api-demo.php
<?php

$apiKey = "YOUR_AI_API_KEY";
$url    = "https://api.openai.com/v1/chat/completions";

$payload = [
    "model" => "gpt-4o-mini",
    "messages" => [
        ["role" => "user", "content" => "Explain PHP in 1 sentence."]
    ]
];

// Initialize cURL handle
$ch = curl_init($url);

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
        "Authorization: Bearer {$apiKey}"
    ]
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
echo $data['choices'][0]['message']['content'];

?>

اشتباهات رایج در کار با APIها

قرار دادن کلید API درون کدهای فرانت‌اند یا عمومی

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

عدم کنترل کدهای وضعیت HTTP و خطاها

همواره کد وضعیت خروجی را با curl_getinfo($ch, CURLINFO_HTTP_CODE) چک کنید تا در صورت اتمام سهمیه یا خطای سرور مقصد، برنامه متوقف نشود.

تمرین عملی

با استفاده از تابع file_get_contents() یا cURL به یک API عمومی (مانند API قیمت ارز یا آب‌وهوا) درخواست GET بفرستید و یکی از مقادیر JSON دریافتی را روی صفحه چاپ کنید.

بازگشت به نقشه راه