Entegrasyon örnekleri

Aşağıdaki örneklerde BASE_URL ve API_KEY değerlerini kendi ortamınıza göre değiştirin.

PHP / Laravel — senkron doğrulama

use Illuminate\Support\Facades\Http;

$baseUrl = config('services.tcdogrula.base_url');
$key = config('services.tcdogrula.api_key');

$response = Http::withToken($key)
    ->acceptJson()
    ->post("{$baseUrl}/v1/verify", [
        'id_number' => '10000000146',
        'first_name' => 'Test',
        'last_name' => 'Kullanici',
        'birth_date' => '1990-01-15',
        'mode' => 'sync',
    ]);

$data = $response->json();
$requestId = $response->header('X-Request-Id');

PHP / Laravel — async + polling

$accept = Http::withToken($key)->post("{$baseUrl}/v1/verify", [
    'id_number' => '50000000500',
    'first_name' => 'Test',
    'last_name' => 'Kullanici',
    'birth_date' => '1990-01-15',
    'mode' => 'async',
]);

$requestId = $accept->json('request_id');
$delay = 2;
for ($i = 0; $i < 5; $i++) {
    sleep($delay);
    $delay = min($delay * 2, 16);
    $status = Http::withToken($key)->get("{$baseUrl}/v1/requests/{$requestId}");
    if ($status->json('status') !== 'processing') {
        $final = $status->json();
        break;
    }
}

Node.js (axios)

const axios = require('axios');

const client = axios.create({
  baseURL: process.env.TCDOGRULA_BASE_URL,
  headers: {
    Authorization: `Bearer ${process.env.TCDOGRULA_API_KEY}`,
    'Content-Type': 'application/json',
  },
});

const { data, headers } = await client.post('/v1/verify', {
  id_number: '10000000146',
  first_name: 'Test',
  last_name: 'Kullanici',
  birth_date: '1990-01-15',
  mode: 'sync',
});
console.log(headers['x-request-id'], data);

Python (requests)

import os
import requests

base = os.environ['TCDOGRULA_BASE_URL']
key = os.environ['TCDOGRULA_API_KEY']
headers = {'Authorization': f'Bearer {key}'}

r = requests.post(
    f'{base}/v1/verify',
    headers=headers,
    json={
        'id_number': '10000000146',
        'first_name': 'Test',
        'last_name': 'Kullanici',
        'birth_date': '1990-01-15',
        'mode': 'sync',
    },
    timeout=30,
)
print(r.headers.get('X-Request-Id'), r.json())

cURL — tüm uç noktalar

POST /v1/verify

curl -sS -X POST "$BASE_URL/v1/verify" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id_number":"10000000146","first_name":"Test","last_name":"Kullanici","birth_date":"1990-01-15","mode":"sync"}'

GET /v1/requests/{request_id}

curl -sS "$BASE_URL/v1/requests/$REQUEST_ID" \
  -H "Authorization: Bearer $API_KEY"

GET /v1/account/credits

curl -sS "$BASE_URL/v1/account/credits" \
  -H "Authorization: Bearer $API_KEY"

GET /v1/account/usage

curl -sS "$BASE_URL/v1/account/usage" \
  -H "Authorization: Bearer $API_KEY"