> For the complete documentation index, see [llms.txt](https://docs.layraweb.com.tr/merhaba/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.layraweb.com.tr/merhaba/php-tarafi/konular/api-entegrasyonlari/api-entegrasyon-ornekleri.md).

# API Entegrasyon Örnekleri

PHP, web siteleri ve uygulamaları için API entegrasyonu yapmak için çok kullanışlı bir dildir. API'ler (Application Programming Interface), bir uygulamanın veya web sitesinin başka bir uygulamaya veya web sitesine bağlanmasına olanak tanıyan bir arayüzdür. API'ler, veri alışverişinde bulunmak, üçüncü taraf hizmetlerine erişmek, oturum açmak veya diğer işlemleri gerçekleştirmek için kullanılabilir. PHP, API'leri kullanmak için birçok farklı yol sunar.

API entegrasyonları, genellikle bir API isteği yapmak, API yanıtını almak ve yanıt verilerini işlemek şeklinde üç adımdan oluşur.

API isteği yapmak için PHP'de, `curl` adlı bir kütüphane kullanılabilir. `curl`, PHP'de HTTP isteklerini gerçekleştirmek için kullanılan bir kütüphanedir ve birçok farklı HTTP yöntemini (GET, POST, PUT, DELETE vb.) destekler.

Örneğin, bir GET isteği yapmak ve API yanıtını almak için aşağıdaki kod kullanılabilir:

```php
// API isteği yapılacak URL
$url = "https://api.example.com/users";

// cURL kütüphanesi ile isteği yapma
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

// API yanıtını işleme
$data = json_decode($response, true);
echo $data["user_name"];
```

Yukarıdaki örnek, `curl` kütüphanesi kullanılarak bir GET isteği gönderir ve API yanıtını alır. Yanıt, `json_decode()` işlevi kullanılarak işlenir ve sonrasında `user_name` anahtarına sahip veri öğesi yazdırılır.

API entegrasyonları için, bazı API'lerin, özellikle de RESTful API'lerin, bir API anahtarı veya kimlik doğrulama gerektirdiği durumlarda, kimlik doğrulama bilgileri de dahil olmak üzere ek istek parametreleri gerekebilir.

Örneğin, bir POST isteği yapmak ve bir API anahtarı kullanmak için aşağıdaki kod kullanılabilir:

```php
// API anahtarı
$api_key = "my_api_key";

// POST isteği yapılacak URL
$url = "https://api.example.com/create_user";

// POST verileri
$data = [
"user_name" => "John Doe",
"email" => "john@example.com"
];

// cURL kütüphanesi ile isteği yapma
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: ApiKey {$api_key}"
]);
$response = curl_exec($ch);
curl_close($ch);

// API yanıtını işleme
$data = json_decode($response, true);
echo $data["success"];
```

Yukarıdaki örnek, bir POST isteği yapar ve `Authorization` başlığı kullanarak API anahtarı ile kimlik doğrulaması yapar. İstek verileri, `http_build_query()` işlevi kullanılarak bir dizeye dönüştürülür ve POST isteği olarak gönderilir. Yanıt verisi, `json_decode()` işlevi kullanılarak işlenir ve sonrasında `success` anahtarına sahip veri öğesi yazdırılır.

API entegrasyonları için diğer bir seçenek de, PHP'nin `file_get_contents()` işlevini kullanmaktır. Bu işlev, bir URL'den veri almak için kullanılabilir. Örneğin:

```php
// API isteği yapılacak URL
$url = "https://api.example.com/users";

// API yanıtını alma
$response = file_get_contents($url);

// API yanıtını işleme
$data = json_decode($response, true);
echo $data["user_name"];
```

Yukarıdaki örnek, `file_get_contents()` işlevini kullanarak bir API isteği yapar ve yanıtı alır. Yanıt verisi, `json_decode()` işlevi kullanılarak işlenir ve sonrasında `user_name` anahtarına sahip veri öğesi yazdırılır.

API entegrasyonları yaparken, API belgelerinde belirtilen yöntemleri kullanmak, istek parametrelerini doğru bir şekilde yapılandırmak ve yanıt verilerini doğru bir şekilde işlemek önemlidir.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.layraweb.com.tr/merhaba/php-tarafi/konular/api-entegrasyonlari/api-entegrasyon-ornekleri.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
