# İstekler ve yanıtlar

> YesCaptcha API'nin ortak kuralları: POST JSON, clientKey ile kimlik doğrulama, errorId yanıt biçimi, senkron ve asenkron görevler, 5 saniyede bir yoklama, 110 saniye zaman aşımı, sonucun yaklaşık 10 dakika saklanması, mesaj dilinin Accept-Language'e göre seçilmesi.

Source: https://docs.yescaptcha.com/tr/api/overview/ · Last verified: 2026-10-15

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/api/overview/

Tüm yöntemler gövdesinde JSON bulunan bir HTTPS `POST` isteği alır (yalnızca `/useragent` `GET` kullanır), gövdedeki `clientKey` ile kimlik doğrular ve JSON döndürür: `errorId` 0 ise başarılı, 1 ise başarısızdır ve bir `errorCode` içerir. Bir CAPTCHA’yı çözmek iki adımdır: `createTask` görevi oluşturur, `getTaskResult` ise sonuç için 5 saniyede bir sorgulanır. Senkron türlerde sonuç doğrudan `createTask` yanıtında döner.

## İstek

```bash
curl -s https://api.yescaptcha.com/createTask \
  -H 'Content-Type: application/json' \
  -d '{"clientKey": "YOUR_CLIENT_KEY", "task": {"type": "ImageToTextTaskOcrBase", "body": "BASE64_IMAGE"}}'
```

-   Uç nokta: `https://api.yescaptcha.com` (global) veya `https://cn.yescaptcha.com` (Çin). Bkz. [Bağlantı adresleri](https://docs.yescaptcha.com/tr/getting-started/endpoints.md).
-   Gövde JSON olmalı, `Content-Type: application/json` başlığıyla gönderilmeli ve 6 MB’ı aşmamalıdır. JSON içinde yorum satırı yazılamaz.
-   Her istekte `clientKey` bulunmalıdır; Panel’de görünen değeri eksiksiz kopyalayın.

> **Dikkat:** Python requests ile `json=data` kullanın, `data=data` kullanmayın. İkincisi form olarak gönderir ve `ERROR_TASK_ABSENT` veya `ERROR_REQUIRED_FIELDS` döndürür.

## Yanıt

Başarılı:

```json
{
  "errorId": 0,
  "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}
```

Başarısız:

```json
{
  "errorId": 1,
  "errorCode": "ERROR_ZERO_BALANCE",
  "errorDescription": "帐户余额不足"
}
```

| Alan | Açıklama |
| --- | --- |
| `errorId` | 0 başarılı, 1 başarısız |
| `errorCode` | Başarısızlık durumundaki hata kodu; anlamı ve çözümü için bkz. [Hata kodları](https://docs.yescaptcha.com/tr/api/errors.md) |
| `errorDescription` | Başarısızlık nedeninin metin açıklaması |
| `taskId` | Görev ID’si |
| `status` | `processing` (işleniyor) veya `ready` (tamamlandı) |
| `solution` | Tanıma sonucu; alanlar görev türüne göre değişir, bkz. her görev türünün sayfası |

Sonucu değerlendirirken `errorId` ve `errorCode` değerlerine bakın; `errorDescription` metnini ayrıştırmayın, değişebilir.

## Senkron ve asenkron

|  | Asenkron | Senkron |
| --- | --- | --- |
| Hangi türler | Token döndüren görev türleri (reCAPTCHA, hCaptcha, Turnstile, FunCaptcha), Cloudflare doğrulama sayfası, `ImageToTextTask`, `ImageToTextTaskM1` | Görsel tanıma (adı `Classification` ile biten türler), `ImageToTextTaskOcrBase`, `ImageToTextTaskMuggle` |
| `createTask` döndürür | `taskId` | `status: "ready"` ve `solution` |
| Sonucu alma | `getTaskResult` 5 saniyede bir çağrılır | Ek sorgu gerekmez |

Her türün hangisine girdiği için bkz. [Görev türleri ve fiyatlar](https://docs.yescaptcha.com/tr/tasks.md) sayfasındaki “Dönüş yöntemi” sütunu.

## Yoklama

1.  `createTask` bir `taskId` döndürdükten sonra 5 saniye bekleyip `getTaskResult` çağırın.
2.  `status: "processing"` dönerse 5 saniye daha bekleyip yeniden deneyin; `status: "ready"` dönerse sonuç `solution` içindedir.
3.  `errorId: 1` dönerse bu görev için yoklamayı durdurun ve `errorCode` değerine göre işlem yapın.

-   Aynı `taskId` için 5 saniye içinde yapılan tekrar sorgular doğrudan `processing` döndürür; daha sık sorgulamak sonucu daha erken getirmez.
-   Bir görev en fazla yaklaşık 110 saniye işlenir (bazı türlerde 180 ile 220 saniye); zaman aşımında `ERROR_TASK_TIMEOUT` döner ve puan otomatik iade edilir.
-   Sonuç sunucuda yaklaşık 10 dakika saklanır; sonrasında `taskId` geçersiz olur ve sorgu `ERROR_TASKID_INVALID` döndürür.
-   Sonuç sorgulama puan düşmez; puan yalnızca görev oluşturulurken düşülür.

## Mesaj dili

Otomatik duraklatma, geçersiz parametre önbelleği ve yoklamayı durdurma uyarılarında `errorDescription` dili `Accept-Language` istek başlığına göre seçilir: `zh` ile başlıyorsa Çince, diğer dillerde İngilizce döner; başlık yoksa her ikisi de döner. Diğer hata kodlarının açıklamaları bundan etkilenmez.

## Sonraki adımlar

-   [createTask ile görev oluşturma](https://docs.yescaptcha.com/tr/api/create-task.md)
-   [getTaskResult ile sonuç alma](https://docs.yescaptcha.com/tr/api/get-task-result.md)
-   [Eşzamanlı görev sınırı ve otomatik duraklatma](https://docs.yescaptcha.com/tr/api/rate-limits.md): çok fazla hata olursa hesabınız birkaç dakika duraklatılır
