doguab / trapi-client
TRApi resmi PHP/Laravel istemcisi — Türkiye'ye özel API'ler | Official PHP/Laravel client for TRApi — Turkey-specific REST APIs (phone, TCMB, calendar, IBAN, company, Islamic)
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
README
TRApi resmi PHP / Laravel istemcisi. Official PHP / Laravel client for TRApi.
Türkiye'ye özel REST API'leri: telefon doğrulama, TCMB döviz kuru ve altın fiyatları, iş takvimi, şirket sorgulama, IBAN/BIN/TCKN doğrulama, İslami servisler.
Turkey-specific REST APIs: phone validation, TCMB exchange rates & gold prices, business calendar, company lookup, IBAN/BIN/TCKN validation, Islamic services.
Kurulum / Install
composer require doguab/trapi-client
PHP 8.1+ ve Guzzle 7+ gereklidir.
Requires PHP 8.1+ and Guzzle 7+.
Laravel Kurulumu / Laravel Setup
1. Config dosyasını yayınlayın / Publish config
php artisan vendor:publish --tag=trapi-config
2. .env dosyasına ekleyin / Add to .env
TRAPI_RAPIDAPI_KEY=your-rapidapi-key TRAPI_RAPIDAPI_HOST=turkey-business-calendar-api.p.rapidapi.com
Doğrudan erişim için / For direct access:
TRAPI_PROXY_SECRET=your-proxy-secret
3. Facade veya injection ile kullanın / Use via Facade or injection
use TRApi\Facades\TRApi; // Döviz kurları / Exchange rates $rates = TRApi::marketExchangeRates(); // IBAN doğrulama / IBAN validation $iban = TRApi::financeValidateIban('TR330006100519786457841326'); // Namaz vakitleri / Prayer times $times = TRApi::islamicPrayerTimes('Istanbul'); // İş günü kontrolü / Business day check $check = TRApi::calendarIsBusinessDay('2026-04-14'); // Şirket sorgulama / Company lookup $company = TRApi::companyVknLookup('1234567890'); // Altın fiyatları / Gold prices $gold = TRApi::marketGoldPrices();
Dependency Injection
use TRApi\TRApiClient; class InvoiceController extends Controller { public function store(TRApiClient $trapi) { $company = $trapi->companyVknLookup('1234567890'); // ... } }
Saf PHP (Laravel olmadan) / Vanilla PHP (no Laravel)
use TRApi\TRApiClient; $client = new TRApiClient( rapidApiKey: 'YOUR_KEY', rapidApiHost: 'turkey-business-calendar-api.p.rapidapi.com', ); $holidays = $client->calendarHolidays(2026); $phone = $client->phoneValidate('05301234567'); $gold = $client->marketGoldPrices(); $rates = $client->marketExchangeRates();
Mevcut Metodlar / Available Methods
| Metod / Method | Endpoint | Açıklama / Description |
|---|---|---|
| Telefon / Phone | ||
phoneValidate($number) |
/v1/phone/validate |
Numara doğrulama / Number validation |
phoneOperator($number) |
/v1/phone/operator |
Operatör tespiti / Operator detection |
phoneFormat($number) |
/v1/phone/format |
Formatlama / Formatting |
phoneCity($number) |
/v1/phone/city |
Şehir tespiti / City lookup |
| Piyasa / Market | ||
marketExchangeRates() |
/v1/market/exchange-rates |
TCMB döviz kurları / Exchange rates |
marketExchangeRate($currency) |
/v1/market/exchange-rate/{c} |
Tek döviz kuru / Single rate |
marketGoldPrices() |
/v1/market/gold-prices |
Altın fiyatları / Gold prices |
marketConvert($amount) |
/v1/market/convert |
Döviz çevirici / Converter |
| Finans / Finance | ||
financeValidateIban($iban) |
/v1/finance/iban/validate |
IBAN doğrulama / Validation |
financeLookupBin($bin) |
/v1/finance/bin/lookup |
BIN sorgulama / Lookup |
financeValidateTckn($tckn) |
/v1/finance/tckn/validate |
TC Kimlik / Identity validation |
financeValidateVkn($vkn) |
/v1/finance/vkn/validate |
Vergi kimlik / Tax ID validation |
| Şirket / Company | ||
companyVknLookup($vkn) |
/v1/company/vkn-lookup |
Şirket sorgulama / Company lookup |
companyTaxOffices($city) |
/v1/company/tax-offices |
Vergi daireleri / Tax offices |
| Takvim / Calendar | ||
calendarHolidays($year) |
/v1/calendar/holidays/{y} |
Resmi tatiller / Holidays |
calendarIsBusinessDay($date) |
/v1/calendar/is-business-day |
İş günü mü? / Business day? |
calendarBusinessDays($s, $e) |
/v1/calendar/business-days |
İş günleri / Business days |
calendarNextBusinessDay($date) |
/v1/calendar/next-business-day |
Sonraki iş günü / Next biz day |
calendarBistTradingDays($year) |
/v1/calendar/bist-trading-days/{y} |
BIST takvimi / BIST calendar |
| İslami / Islamic | ||
islamicPrayerTimes($city) |
/v1/islamic/prayer-times |
Namaz vakitleri / Prayer times |
islamicLocationsCities() |
/v1/islamic/locations/cities |
Şehir listesi / City list |
islamicHijriToday() |
/v1/islamic/hijri/today |
Hicri tarih / Hijri date |
islamicQuranRandom() |
/v1/islamic/quran/random |
Rastgele ayet / Random verse |
Tüm metodlar opsiyonel $lang parametresi kabul eder ('tr' veya 'en').
All methods accept an optional $lang parameter ('tr' or 'en').
Lisans / License
MIT