# OpenAPI Faturalandırma ve Hatalar

Platform bakiyesini, istek ve sonuç ücretlerini, sayfa faturalandırmasını ve güvenli yeniden denemeleri anlayın.

Bu sayfa `/api/v1/data/*`, yani Felo OpenAPI platforma özel uç noktaları için geçerlidir. Çağrılar, USD cinsinden hizmet kredisi bakiyesi olan **platform bakiyesini** kullanır. Felo Pro kredilerini tüketmezler. `/v2` altındaki eski [Felo API’leri](https://openapi.felo.ai/tr/docs/api-reference/felo-apis.md) Pro kredileri kullanır.

## Güncel fiyatları okuyun

```bash
curl -sS https://openapi.felo.ai/api/v1/data/prices
```

Bu herkese açık uç nokta herhangi bir anahtar gerektirmez. Girdilerini işlem kimliğine göre eşleştirin ve güncel oranı ile faturalandırma birimini okuyun; her işlemin aynı maliyete sahip olduğunu varsaymayın veya örnekteki bir oranı uygulamanıza sabitlemeyin.

| İşlem kimliği | Faturalandırma birimi |
|---|---|
| `web.search`, `web.read`, `chat` | İstek |
| `x.user.info`, `x.user.search`, `x.user.tweets`, `x.tweet.search`, `x.tweet.replies` | Dönen sonuç |
| `ppt.generate` | Oluşturulan sayfa |
| `ppt.export` | Dışa aktarma isteği |
| `ppt.generate.status`, `ppt.generate.historical`, `ppt.export.status`, `ppt.delete` | Yeni ücret yok |

Ücretsiz bir durum sorgusu, alttaki oluşturmayı veya dışa aktarmayı ücretsiz yapmaz. X için sayfalandırma ve iç içe dönen kayıtlar faturalandırılabilir kullanımı artırabilir.

## Bakiye ve rezervasyonlar

Çalıştırmadan önce hizmet, işlem için yeterli bakiyeyi rezerve edebilir. Başarılı iş, bu rezervasyona karşı kesinleşir; doğrulanmış başarısızlık rezervasyonu serbest bırakır. Eşzamansız görevlerde, bir kimliğin dönmesi faturanın zaten nihai olduğu anlamına gelmez.

PPT sayfa fiyatlandırması, oluştururken on sayfa rezerve eder. Başarılı oluşturma gerçek çıktıyı kesinleştirir ve kullanılmayan fonları serbest bırakır. Oluşturma ve dışa aktarma ayrı ücretlerdir. Tekrarlanan dışa aktarma davranışı için [PPT iş akışına](https://openapi.felo.ai/tr/docs/data-api/guides/felo-ppt.md) bakın.

Çalıştırma veya kesinleşme belirsizse, hizmet uzlaştırma yaparken bir rezervasyon beklemede kalabilir. Her zaman aşımını veya 5xx’i, işin hiç yapılmadığının ya da tekrarlanan isteğin ücretsiz olduğunun kanıtı olarak görmeyin.

Kullanılabilir bakiyenizi ve kullanımınızı [Console Billing](https://openapi.felo.ai/console/billing) içinde inceleyin. Hesap düzeyinde bakiye yükleme rehberi için [Billing and Credits](https://openapi.felo.ai/tr/docs/faq/billing-and-credits.md) bölümüne bakın.

## API üzerinden cüzdan kullanımını sorgulayın

Hesap sahipleri, cüzdan çağrı kayıtlarını bir **Felo giriş belirteci** kullanarak inceleyebilir. Bu kimlik bilgisi, Data API çağrılarında kullanılan API Anahtarından farklıdır; `FELO_API_KEY` ile değiştirmeyin.

```bash
curl -sS 'https://openapi.felo.ai/api/wallet/usage?call_type=data' \
  -H 'Authorization: Bearer YOUR_FELO_LOGIN_TOKEN'
```

Kayıtlar `data.items` altındadır; `call_type=data` yetenek çağrılarını filtreler. Kullanımı hesabın güncel fiyatlarıyla karşılaştırın. Kayıtları okumak başka bir oluşturma görevi göndermez. Console Billing, hesap incelemesi ve bakiye yükleme için kullanılabilir durumda kalır.

## Hataları güvenli şekilde okuyun

Önce HTTP durumunu kontrol edin. Hatalar aşağıdaki iki biçimden birini kullanabilir; aşağıdaki değerler açıklayıcıdır:

```json
{"error":{"code":"invalid_parameter","message":"Check the request fields"},"request_id":"example-request-id"}
```

```json
{"status":402,"code":"INSUFFICIENT_BALANCE","message":"Insufficient balance","request_id":"example-request-id"}
```

Var olduğunda `error.code` / `error.message`, aksi halde `code` / `message` okuyun. Döndürüldüğünde `request_id` değerini saklayın. Başarılı yanıtlar işleme göre değişir; hepsini aynı hata veya `data` zarfına zorlamayın.

## Sonra ne yapacağınıza karar verin

| HTTP durumu | Yaygın neden | Sonraki adım |
|---|---|---|
| 400 | Eksik veya geçersiz parametre | Yeniden denemeden önce isteği düzeltin |
| 401 | Eksik, geçersiz, iptal edilmiş veya süresi dolmuş anahtar | Anahtarı ve kimlik doğrulama başlığını kontrol edin |
| 402 | Yetersiz platform bakiyesi | Kullanılabilir bakiyeyi ve bekleyen rezervasyonları kontrol edin; gerekirse bakiye yükleyin |
| 404 | Kaynak eksik veya bu hesap için erişilemez | Kimliği ve oluşturan hesabı kontrol edin |
| 409 | İşlem mevcut görev durumu ile çakışıyor veya yürütme doğrulanmamış | Hata kodunu okuyun ve mevcut görevi sorgulayın; hemen kopyalamayın |
| 410 | Kaynağın süresi dolmuş veya silinmiş | Kaydedilmiş bir dosya kullanın; yalnızca gerekliyse yeni bir görev oluşturun |
| 429 | Hız sınırı veya API anahtarı kotası aşıldı | Sıfırlama bilgilerini inceleyin; yavaşlayın veya kota sıfırlanmasını bekleyin |
| 502 / 503 / 504 | Üst akış, kullanılabilirlik, zaman aşımı veya kesinleşme hatası | Ödenen bir işlemi yeniden denemeden önce işin zaten var olup olmadığını kontrol edin |

`execution_unconfirmed` (409) ve `billing_settlement_pending` (503) özel dikkat gerektirir: ödenen işi hemen yeniden göndermeyin. Bilinen görevleri sorgulayın veya istek kimliğiyle destekle iletişime geçin. Boş sonuçla gelen başarılı bir HTTP durumu, hata yanıtından farklıdır.

## Çift iş oluşturmadan yeniden deneyin

- Yalnızca okunabilir görev ve dışa aktarma-durumu sorguları için, sınırlandırılmış geri çekilme kullanın ve varsa `Retry-After` başlığına uyun.
- Kaydedilmiş bir `task_id` ile başarısız bir oluşturma isteği için, başka bir tane oluşturmadan önce o görevi sorgulayın.
- Bağlantı size bir kimlik gelmeden önce başarısız olduysa, sonuç bilinmiyor olabilir. Yeniden göndermenin isteği tekilleştireceğini varsaymayın.
- 429 için, kısa bir hız sınırını API anahtarı kota penceresinden ayırın; tekrar tekrar denemek kotayı sıfırlayamaz.
- Yeniden denemeleri yapılandırılmış bir son tarihten sonra durdurun ve çağırana uygulanabilir bir hata gösterin.

Destek için uç noktayı, yaklaşık zamanı, HTTP durumunu ve istek kimliğini verin. Tam API anahtarını asla eklemeyin.
