Başlarken

Fun API, kayıt gerektirmeyen bir API test ortamıdır. Browser sandbox istekleri tarayıcıda simüle eder; Live API gerçek ağ üzerinden eğitim sunucusuna bağlanır. Birkaç dakikada ilk testine başlayabilirsin.

Step 1: Bir API seç ve dokümantasyonunu aç

Ana sayfadaki bir API kartına tıkla. Swagger tarzı sayfada endpointler etiketlere göre gruplanır. Yeşil GET, mavi POST, turuncu PUT, kırmızı DELETE anlamına gelir.

Katalog dört gruptur: popüler kurgu evrenleri, günlük iş alanları, özgün dünyalar ve test senaryoları. Pizza siparişi veya uçuş rezervasyonu gibi bildiğin bir alanı seçerek HTTP davranışına odaklanabilirsin.

Step 2: İlk isteğini gönder

Bir endpointi genişlet, Try it out düğmesine bas, parametreleri doldur, Browser sandbox seç ve Run request ile çalıştır. Simüle edilmiş HTTP durum kodunu, JSON gövdesini, yanıt başlıklarını ve kopyalanabilir curl komutunu görürsün. Şununla başlayabilirsin:

GET /friends/v1/quotes/random

Browser sandbox API motorunu yerel olarak çalıştırır; istek için ağ bağlantısı gerekmez. Senaryoya özgü gecikme ve hız sınırı davranışları yine uygulanabilir. Live API seçeneği, Firestore kullanan Cloud Function üzerinden gerçek ağ isteği gönderir. Harici istemcilerde tam adresi kullan: https://funapi.dev/api/friends/v1/quotes/random.

Step 3: Korumalı endpointler için yetkilendir

Kilit simgeli endpointler Bearer token ister. Dokümantasyonun üstündeki Authorize düğmesinden şu eğitim tokenlarını kullan:

qa-admin-token
admin yetkileri; veri ve senaryo doğrulamaları yine geçerlidir
qa-viewer-token
okuma ve izin verilen yazma işlemleri; admin gerektiren silme işlemi 403 döndürür
diğer geçersiz değerler
401 Unauthorized; login akışından alınan geçerli tokenlar ayrı değerlendirilir

Cargo API yazma endpointleri Bearer yerine API anahtarı kullanır: X-API-Key: cargo-key-123 başlığını gönder. Böylece farklı kimlik doğrulama yöntemlerini deneyebilirsin.

Statik token yerine yaşam döngüsünü denemek için POST /auth/v1/login kullan. Live API imzalı JWT üretir; tarayıcı sandbox bu akışı yerel olarak simüle eder. OAuth 2.0 endpointleri authorization-code, client-credentials ve refresh-token akışlarını çalışmanı sağlar.

Step 4: Negatif testleri uygula

Aşağıdaki isteklerle hata yanıtlarını bilerek üret:

400
page=abc, geçersiz JSON gövdesi veya 11 puanlık değerlendirme gönder
401 / 403
geçersiz token / admin gerektiren DELETE işleminde viewer token kullan
404
999 kimliğini veya son sayfayı aşan bir sayfayı iste
418
GET /coffee/v1/teapot — kasıtlı çaydanlık yanıtı
402
GET /bank/v1/premium/statements — ödeme gerektiren örnek
500
GET /pizza/v1/oven/status — tasarım gereği her zaman hata
503 / 504
GET /protocol/v1/maintenance ve GET /protocol/v1/gateway-timeout — bakım ve zaman aşımı
413 / 415
POST /movies/v1/movies/{id}/poster — fazla büyük veya yanlış türde dosya

Her durum istemcide farklı ele alınmalıdır. 429 için varsa Retry-After başlığına uy ve sınırlı geri çekilmeyle bekle; 403 için izin sorunu düzelmeden aynı isteği tekrarlama; 400 için isteği düzelt. 503 sonrasında yeniden denemeden önce işlemin güvenle tekrarlanabildiğini veya idempotency korumasını kontrol et. Sınırsız tekrarlar kesintiyi büyütebilir.

Step 5: Kendi araçlarınla çalış

Her dokümantasyon sayfasından OpenAPI 3.1 tanımı veya Postman koleksiyonu indirilebilir. Postman, Insomnia veya Bruno gibi araçların desteklediği biçimi içe aktar; OpenAPI tanımını Swagger Editor ile inceleyebilirsin. Çalıştırılan istek için dokuz biçimde örnek sunulur: curl, fetch, axios, Python, HTTPie, Playwright, RestAssured, C# ve k6.

API başına indirmelerin yanında tüm API’leri kapsayan birleştirilmiş tanım da bulunur. Tek bir sözleşme dosyasıyla çalışmak istediğinde bunu kullan.

Step 6: Eşzamanlılık ve idempotency davranışını test et

Karakter, kahraman ve film kaynaklarında desteklenen PUT ve DELETE işlemleri isteğe bağlı If-Match başlığını kabul eder. Eski ETag göndererek 412 Precondition Failed üret. Bu kontrol, bir istemcinin diğerinin değişikliğini sessizce ezmesini önlemeye yarar.

Destekleyen POST endpointlerinde Idempotency-Key kullan. Aynı anahtarı aynı istek için yeniden gönderdiğinde yinelenen kayıt yerine ilk yanıtı alırsın. Katalogda başlığı destekleyen endpointi seç. Bu iki kontrolü öğrenmek, kayıp güncellemeleri ve ağ tekrarı nedeniyle iki kez yapılan işlemleri test etmeyi sağlar.

Step 7: Testlerini otomatikleştir

Tarayıcı sandbox için Test settings içindeki Deterministic mode seçeneği rastgele değerleri tekrarlanabilir kılar. CI testlerinde sabit başlangıç verisi ve açık beklentiler kullan. Tarayıcıdaki test çalıştırıcısından window.__funApiReset() çağrısını bekleyerek yerel veriyi arayüze dokunmadan sıfırlayabilirsin; bu çağrı Live API verisini sıfırlamaz.

OpenAPI tanımını Dredd veya Schemathesis gibi sözleşme test araçlarıyla, aracın desteklediği OpenAPI sürümünü kontrol ederek kullan. GET /pizza/v1/oven/preheat yaklaşık üç saniye gecikir; istemci zaman aşımını test etmek için uygundur.

Live API testlerinde her bağımsız çalışma için benzersiz bir X-Sandbox-ID üret ve o çalışmanın tüm isteklerinde aynı değeri gönder. Böylece oluşturduğun ve sildiğin veriler başka bir test çalışmasıyla karışmaz. Bu kimlik bir parola veya erişim sırrı değildir; gerçek kişisel veri kullanma.

Good to know

POST, PUT ve DELETE seçilen ortamdaki sandbox verisini gerçekten değiştirir: bir karakter oluşturup GET ile geri okuyabilirsin. Tarayıcı sandbox verisini sayfayı yenileyerek veya Reset sandbox data ile sıfırlayabilirsin. Canlı veriyi sıfırlamak için admin Bearer token ile POST /api/_reset kullan; yalnız kendi sandbox verin sıfırlanır.

Where to go next

Doğrudan API'ye geçin: Arkadaşlar API'si · Pokémon API · Yıldız Savaşları API'si · Banka API'si · Kimlik Doğrulama Oyun Alanı API'si · Webhooks API

Bir tekniği daha detaylı inceleyelim: Sayfalama testi · Hız sınırlama testi · İdempotans anahtar testi · ETag ve If-Match testleri · Webhook imza testi · OAuth ve JWT testleri · Negatif test · Asenkron iş testi

Veya bir durum kodu arayın: all 53 of them

Browse all 39 APIs

Son güncelleme