Oracle Oluştur
Bir fiyat oracle'ı kaydeder. Her oracle kendi connection bilgisini taşır: sağlayıcı tipi bir endpoint anlamına gelmez.
Bağlantı kaydedilmeden önce eksiksiz olup olmadığı kontrol edilir (http:// ya da https:// ile başlayan bir URL ve kimlik doğrulama şemasının gerektirdiği ad, kullanıcı adı ya da gizli değer). Bu aşamada kaynağa istek gönderilmez; önce Oracle Bağlantısını Test Et ile deneyin.
connection.auth.secret yalnızca yazılabilir: saklanır, hiçbir zaman döndürülmez; yanıt yalnızca secret_set bilgisini verir.
Gerekli izin: oracle:create
İstek
POST /v2/admin/oracles
Başlıklar
| Ad | Açıklama |
|---|---|
Authorization | Zorunlu. Bearer <access_token> |
Content-Type | Zorunlu. application/json |
Gövde
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
category_id | string | Evet | Oracle'ın ait olduğu kategori (24 karakterlik hex ID). Var olup olmadığı kontrol edilmez |
type | string | Evet | Kaynak tipi: TEFAS, TOGG ya da SHEET |
name | string | Evet | Oracle adı |
description | string | Hayır | Açıklama |
fiat_currency | string | Evet | Kaynağın fiyatladığı para biriminin ISO 4217 kodu (ör. TRY). Özetteki fiyatlar bu para biriminin aktif currency token'ı cinsinden ifade edilir |
codes | array | Hayır | Bu oracle'ın fiyatlayabildiği seriler |
codes[].code | string | Evet | Kaynağın seriyi tanıdığı kod |
codes[].name | string | Evet | Serinin görünen adı |
codes[].description | string | Hayır | Serinin açıklaması |
connection | object | Evet | Oracle'ın okuduğu yer |
connection.url | string | Evet | Kaynağın http:// ya da https:// ile başlayan temel URL'si. Sağlayıcı yalnızca kendi kaynak yolunu ekler |
connection.timeout | integer | Hayır | Saniye cinsinden istek zaman aşımı, 0–300. 0 varsayılan değer (30) demektir |
connection.cache_ttl_seconds | integer | Hayır | Alınan kaynak belgenin tek bir sunucu sürecinde yeniden kullanılma süresi, 0–86400. 0 bu önbelleği kapatır |
connection.auth | object | Hayır | Kaynağa kimlik doğrulama biçimi. Gönderilmezse NONE |
connection.auth.type | string | Hayır | NONE (herkese açık kaynak), BEARER (Authorization: Bearer <secret>), API_KEY (name adlı başlıkta gizli değer), BASIC (username + gizli değer) ya da QUERY_PARAM (name adlı query parametresinde gizli değer) |
connection.auth.name | string | Koşullu | Başlık ya da query parametresi adı. API_KEY ve QUERY_PARAM için zorunlu |
connection.auth.username | string | Koşullu | BASIC için zorunlu |
connection.auth.secret | string | Koşullu | Bearer token, API anahtarı ya da basic parolası. NONE dışındaki her şema için zorunlu; NONE için yok sayılır |
connection.headers | array | Hayır | Her istekle gönderilen sabit başlıklar. Açık metin olarak saklanır ve döndürülür; buraya kimlik bilgisi koymayın |
connection.headers[].name | string | Evet | Başlık adı |
connection.headers[].value | string | Hayır | Başlık değeri |
summary_cache_ttl_seconds | integer | Hayır | Hesaplanan özetin önbellekte tutulma süresi, 0–2592000 saniye. 0 platform varsayılanı (12 saat) demektir |
Örnek
curl --request POST \
--url '{{baseUrl}}/v2/admin/oracles' \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"category_id": "677ed6e3cc111aea14a3dfb4",
"type": "TEFAS",
"name": "Gümüş Fonu",
"description": "TEFAS Gümüş Fonu",
"fiat_currency": "TRY",
"codes": [
{ "code": "IOG", "name": "Gümüş Fonu" }
],
"connection": {
"url": "https://tefas-api.p.rapidapi.com",
"timeout": 30,
"cache_ttl_seconds": 0,
"auth": { "type": "API_KEY", "name": "x-rapidapi-key", "secret": "<rapidapi_key>" },
"headers": [
{ "name": "x-rapidapi-host", "value": "tefas-api.p.rapidapi.com" }
]
},
"summary_cache_ttl_seconds": 0
}'
Yanıt
Yeni oracle ile birlikte 201 Created. Gizli değer yanıtta geri dönmez.
{
"id": "6911b0d4e4b0f51d2c8a7e52",
"category_id": "677ed6e3cc111aea14a3dfb4",
"type": "TEFAS",
"name": "Gümüş Fonu",
"description": "TEFAS Gümüş Fonu",
"integration": {
"codes": [
{ "code": "IOG", "name": "Gümüş Fonu" }
],
"fiat_currency": "TRY",
"connection": {
"url": "https://tefas-api.p.rapidapi.com",
"timeout": 30,
"cache_ttl_seconds": 0,
"auth": {
"type": "API_KEY",
"name": "x-rapidapi-key",
"username": "",
"secret_set": true
},
"headers": [
{ "name": "x-rapidapi-host", "value": "tefas-api.p.rapidapi.com" }
]
},
"summary_cache_ttl_seconds": 0,
"default_summary_cache_ttl_seconds": 43200
},
"created_at": "2026-11-09T10:22:05.411Z",
"updated_at": "2026-11-09T10:22:05.411Z"
}
Yanıt Alanları
Oracle'ı Getir sayfasında açıklanan yapıdaki oracle.
Hatalar
| Durum | Kod | Açıklama |
|---|---|---|
| 400 | 10015 | Doğrulama başarısız (zorunlu bir alan eksik, type üç değerden biri değil, connection.url bir URL değil, bir sayı aralık dışında, bilinmeyen auth.type) — details alanına bakın |
| 400 | -1 | Bağlantı eksik: URL http:// ya da https:// ile başlamıyor veya kimlik doğrulama şemasının name, username ya da secret değeri eksik. Hangisi olduğunu message söyler |
Hata biçimi ve ortak kodlar için Hatalar sayfasına bakın.