REST ve JSON
Mobil, web ve büyük ekranlar için sade HTTP çağrıları.
PIXCHARP ALTIN API · V1
Harem kaynaklı altın, döviz ve değerli maden fiyatlarını tek API anahtarıyla uygulamanıza, web sitenize veya ekranlarınıza taşıyın.
https://api.pixcharp.com/v1Mobil, web ve büyük ekranlar için sade HTTP çağrıları.
Her müşteri kendi anahtarı ve kotasıyla izole edilir.
Rate limit ve aylık kullanım header'larda geri döner.
Harem WebSocket'i müşteriye açılmaz, snapshot sunulur.
Başlangıç
Bu akış, satın alma sonrası verilen API anahtarıyla ilk fiyat snapshot'ını almanız için yeterlidir.
Planınız etkinleştirildiğinde müşteri panelindeki anahtar üretim ekranını açın.
X-API-Key veya Authorization: Bearer seçeneklerinden birini kullanın.
GET /v1/prices tüm güncel sembolleri tek JSON response içinde döndürür.
Rate limit ve aylık kota kalanını her başarılı yanıttaki header'lardan okuyun.
curl -sS https://api.pixcharp.com/v1/prices \
-H 'X-API-Key: pxa_live_...'Ham secret, üretildiği yanıtta görünür. Güvenli bir parola kasasına kaydedin. Kaybolursa mevcut anahtarı iptal edip yeni bir key üretin.
Güvenlik
Her dış API çağrısı aktif bir müşteri anahtarıyla yetkilendirilir. Anahtarlar log'lara ham olarak yazılmaz.
Sunucu tarafı uygulamalarda anahtarı ortam değişkeninden okuyun.
X-API-Key: pxa_live_...SDK veya mevcut auth katmanınız Bearer kullanıyorsa aynı anahtarı taşıyabilirsiniz.
Authorization: Bearer pxa_live_...API anahtarını mobil uygulamanın içine gömmeyin. Mobil istemci için kendi backend'iniz üzerinden proxy kullanın.
const response = await fetch("https://api.pixcharp.com/v1/prices", {
headers: { "X-API-Key": process.env.PIXCHARP_API_KEY },
});
if (!response.ok) {
throw new Error(`Pixcharp Altın API: ${response.status}`);
}
const payload = await response.json();
console.log(payload.data);import os
import requests
response = requests.get(
"https://api.pixcharp.com/v1/prices",
headers={"X-API-Key": os.environ["PIXCHARP_API_KEY"]},
timeout=10,
)
response.raise_for_status()
prices = response.json()["data"]using System.Net.Http.Headers;
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", apiKey);
var response = await client.GetAsync("https://api.pixcharp.com/v1/prices");
response.EnsureSuccessStatusCode();
var json = await response.Content.ReadAsStringAsync();Referans
API yalnızca okuma amaçlı fiyat snapshot'ı sunar. Dört uç aynı yetkilendirme ve kota sözleşmesini paylaşır.
/pricesTüm güncel fiyatlarGET/prices/{symbol}Tek sembol fiyatıGET/symbolsSembol listesiGET/statusAkış durumu/v1/pricesYetkiniz olan sembollerin alış ve satış değerlerini tek bir snapshot içinde verir. Fiyatlar arasında tutarlı bir asOfUtc zamanı bulunur.
curl -sS https://api.pixcharp.com/v1/prices \
-H 'X-API-Key: pxa_live_...'{
"version": "v1",
"asOfUtc": "2026-08-05T10:24:13Z",
"source": "harem",
"stale": false,
"data": [
{
"symbol": "HAS",
"alis": 6127.46,
"satis": 6155.99,
"kapanis": null,
"acilis": null,
"asOfUtc": "2026-08-05T10:24:13Z",
"source": "harem",
"stale": false
}
]
}/v1/prices/{symbol}Tek bir sembol için daha küçük response alın. ALTIN, GRAMALTIN ve XAUUSD gibi bilinen alias'lar canonical koda çevrilir.
curl -sS https://api.pixcharp.com/v1/prices/HAS \
-H 'Authorization: Bearer pxa_live_...'/v1/prices/HAS cevabında symbol değeri HAS olarak döner./v1/symbolsSnapshot içinde bulunan canonical sembolleri keşfedin.
curl -sS https://api.pixcharp.com/v1/symbols \
-H 'X-API-Key: pxa_live_...'/v1/statusFeed'in hazır olup olmadığını ve verinin bayatlık durumunu kontrol edin.
curl -sS https://api.pixcharp.com/v1/status \
-H 'X-API-Key: pxa_live_...'{
"status": "ok",
"version": "v1",
"symbolCount": 18,
"lastPriceUpdateUtc": "2026-08-05T10:24:13Z",
"stale": false,
"source": "harem"
}Veri modeli
Fiyat response'u, ekranda göstermek için gereken değerleri ve snapshot'ın tazeliğini birlikte taşır.
{
"version": "v1",
"asOfUtc": "2026-08-05T10:24:13Z",
"source": "harem",
"stale": false,
"data": [
{
"symbol": "HAS",
"alis": 6127.46,
"satis": 6155.99,
"kapanis": null,
"acilis": null,
"asOfUtc": "2026-08-05T10:24:13Z",
"source": "harem",
"stale": false
}
]
}symbolstringCanonical sembol kodu. Örnek: HAS veya GRAM_ALTIN.
alisnumberAlış fiyatı. Türk lirası cinsinden sayısal değer.
satisnumberSatış fiyatı. Türk lirası cinsinden sayısal değer.
kapanisnumber | nullKapanış değeri upstream tarafından gelmezse null olabilir.
acilisnumber | nullAçılış değeri upstream tarafından gelmezse null olabilir.
asOfUtcISO 8601Bu satırın fiyat snapshot'ına alındığı UTC zamanı.
sourcestringVerinin upstream kaynağı. Bu sürümde harem.
stalebooleanSnapshot, tanımlı bayatlık süresini geçtiyse true.
Operasyon
HTTP status kodunu ve title alanını birlikte kontrol edin. 429 cevaplarında Retry-After değerine uyun.
api_key_requiredKimlik doğrulama header'ı yok.
invalid_api_keyAnahtar bulunamadı veya geçersiz.
revoked_api_keyAnahtar iptal edilmiş.
inactive_clientMüşteri pasif veya süresi dolmuş.
unknown_symbolİstenen sembol snapshot içinde yok.
rate_limit_exceededDakikalık istek penceresi doldu.
monthly_quota_exceededAylık istek kotası doldu.
price_feed_emptyİlk canlı fiyat snapshot'ı henüz oluşmadı.
Başarılı ve limit cevaplarında mümkün olduğunda aşağıdaki header'lar bulunur. Aylık dönem UTC ayının ilk günü başlar.
X-API-Version: 1
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29
X-Quota-Limit: 100000
X-Quota-Used: 42
X-Quota-Remaining: 99958Kota seçenekleri
Plan limitleri varsayılan değerlerdir. Müşteri hesabı açılırken işletmenize göre farklılaştırılabilir.
demostarterprobusinessBu sürümde müşteriye Harem WebSocket bağlantısı açılmaz. WebSocket sütunu plan bilgisidir; dış tüketim REST snapshot ile yapılır.
Yayına alma
İlk entegrasyonda bu kontrolleri uygulayın. Mobil uygulamalar için mevcut Railway adresi değişmez.
stale: true geldiğinde veriyi hemen silmek yerine ekranda son güncelleme zamanını gösterin. Gerekirse yenileme isteğini geciktirin.
/v1/status ile uygulama açılışında feed durumunu kontrol edin. 503 durumunu kısa bir backoff ile tekrar deneyin.
Anahtar kaybolduğunda eskisini iptal edip yeni key üretin. Destek talebinde müşteri adı ve key prefix bilgisini paylaşın, ham secret'ı değil.
Entegrasyonu gerçek müşteriye açmadan önce şu sırayı izleyin:
/health/live ve /health/ready yanıtlarını doğrulayın./v1/status ve /v1/prices çağrısı yapın.stale durumları için ekranda anlaşılır bir yedek durum oluşturun.Hazır olduğunuzda
Demo, plan ve müşteri hesabı için Pixcharp ekibine ulaşın. Teknik sorularınızı da aynı kanaldan iletebilirsiniz.