API DOKÜMANTASYONU

Açık REST API. Anahtarla kimlik doğrulaması, OpenAPI ile belgelenmiş.

OGRECORDS katalogunu oku ve Smartlink'lerini ve Draft Yayınlarını programatik olarak yönet — basit bir REST API üzerinden. Panelden bir Sınırlı API Anahtarı ile kimlik doğrulaması yap. Erken erişim istek üzerine.

API ReferansıAPI Anahtarlarını YönetErken Erişim Talep Et

Genel Bakış: REST API, Sınırlı Anahtarlar, Hız Sınırlamaları, OpenAPI

REST Oku + Yaz

Yayınları, parçaları, Smartlink’leri ve istatistikleri görüntüle — basit HTTPS üzerinden Smartlink’lerini veya taslak yayınlarını oluştur veya düzenle — JSON yanıtları, limit/offset sayfalama, tahmin edilebilir şemalar. Dağıtım ve gönderim API dışında kalır.

Sınırlı API Anahtarları

ogr_pk_ anahtarını taşıyan bir Bearer Token olarak veya X-API-Key başlığı içinde kimlik doğrulaması yap. Her anahtar açıkça tanımlanmış izinler taşır — read:releases, read:smartlinks, read:stats, write:smartlinks, write:releases — ve her zaman panelden döndürülebilir ve iptal edilebilir.

Hız Sınırlamaları + Başlıklar

Her yanıt X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset başlıklarını içerir. Kotaların üzerinde 429 hatası ve Retry-After ile gelir. Ücretsiz anahtarlar 1.000 istek/gün, İş anahtarları 100.000 istek/gün alır.

Kendi Sunucunda Barındırılan OpenAPI 3.0

Tamamen makine okunabilir belge, /api/v1/public/openapi.json adresinde bulunur ve bu sayfada etkileşimli referans olarak görüntülenir — üçüncü taraf dokümantasyon sunucusu yok, dış çağrılar yok.

SONUCA YÖNELİK BİLGİ

Yayınlanma için uç noktalar.

Her uç nokta bir Sınırlı API Anahtarı ile kimlik doğrulaması yapar ve https://api.og-records.com adresinden sunulur. Okuma uç noktaları ve sahip sınırlı yazma izinleri Smartlink'ler ve Draft Yayınları için — Dağıtım ve Gönderim API'de görünmez.

Yayınlar

  • GET/api/v1/public/releasesYayınlarını listele. limit ve offset ile sayfalama.
  • GET/api/v1/public/releases/{id}ID ile tek bir yayın.
  • POST/api/v1/public/releasesDraft Yayın oluştur (write:releases). KYC ve Onboarding gerekli.
  • PATCH/api/v1/public/releases/{id}Draft meta verilerini güncelle (write:releases). Sadece Göndermeden Önce Draft'lar için.
  • DELETE/api/v1/public/releases/{id}Draft Yayın sil (write:releases).

Parçalar

  • GET/api/v1/public/tracks?release_id={id}Senin sahip olduğun bir yayının parçaları.
  • GET/api/v1/public/tracks/{id}ID ile tek bir parça.

Smart Linkler

  • GET/api/v1/public/smartlinksSmart linklerini listele.
  • POST/api/v1/public/smartlinksKendi çıkartımın için bir Smart Link oluştur (write:smartlinks).
  • PATCH/api/v1/public/smartlinks/{id}Kendi Smart linklerinden birini güncelle (write:smartlinks).
  • DELETE/api/v1/public/smartlinks/{id}Bir Smart Linki devre dışı bırak (write:smartlinks).

İstatistikler & Özellikler

  • GET/api/v1/public/stats/release/{id}Her DSP ve ülke için ayrı ayrı akış, dinleyici ve kaydetme sayısı. range = 7d, 14d, 30d, 90d, 1y veya ytd.
  • GET/api/v1/public/openapi.jsonOpenAPI-3.0 belgesi. Açık ve önbelleğe alınabilir — anahtar gerekmiyor.

Sanatçılar & Kazançlar

  • GET/api/v1/public/artistsRoster sanatçılarını listele (read:artists).
  • GET/api/v1/public/earnings/balanceUSD cüzdan bakiyenin anlık durumu (read:earnings).
WEBHOOK'LER

Bir çıkartımın durumu değiştiğinde bildirim al.

HTTPS uç noktası kaydet ve çıkartımın mağazalara teslim edildiğinde, reddedildiğinde veya kaldırıldığında, imzalı bir JSON olayı POST edelim. Uç noktalarını panel üzerinden yönetiyorsun — her biri kendi imzalama gizli anahtarına sahip olacak ve bu anahtar sadece bir kez gösterilecek.

Yayınlayış Olayları

  • release.delivered — Çıkartım mağazalara teslim edildi.
  • release.rejected — Bir mağaza veya kalite kontrol adımı çıkartımı reddetti.
  • release.takedown — bu yayın kaldırıldı.
  • release.live — bu yayın artık mağazalarda aktif.

Her teslimat bu başlıkları taşır

  • X-Webhook-Signature — imzalama sırrın (Signing-Secret) anahtar olarak kullanılarak, ham istek gövdesinin küçük harf hex HMAC-SHA256'sı.
  • X-Webhook-Timestamp — ISO-8601 formatında gönderim zamanı, gövdedeki created_at ile aynı.
  • X-Webhook-Event — olay adı, örneğin release.delivered.
  • X-Webhook-Id — bu teslimat için benzersiz bir kimlik.

Payload, id, event, created_at ve release_id içeren bir data nesnesi olan bir JSON gövdesidir. Doğrulamak için imzalama sırrınla tam ham gövde üzerinde HMAC-SHA256 yeniden hesaplayıp X-Webhook-Signature ile zaman açısından güvenli karşılaştır; ardından X-Webhook-Timestamp'in yaklaşık beş dakika içinde olup olmadığını kontrol et, böylece tekrarlanan istekleri reddet.

Başarısız teslimatlar üstel geri bildirim (exponential backoff) ile tekrarlanır. 15 ardışık hata sonrası uç nokta otomatik devre dışı kalır ve devam etmek için yeniden kaydolmalısın.

Webhook’ları yönet panon içinde.

OTURUM AÇMA

Alanlara (Scopes) sahip API anahtarları.

Bir anahtar oluştur panon üzerinden ve Authorization: Bearer ogr_pk_… başlığı veya X-API-Key başlığı olarak gönder. Her anahtar alanlara göre sınırlıdır — read:releases, read:smartlinks, read:stats, write:smartlinks, write:releases — böylece bir entegrasyon sadece ihtiyaç duyduğu şeyi alır. Anahtarlar her zaman döndürülebilir ve iptal edilebilir. Yazma erişimi sahiplik (owner-scoped) alanına aittir ve dağıtım başlatmaz; OAuth bu çıkışta yer almaz.

HIZ SINIRLAMALARI

Anahtarın yapabilecekleri.

Ücretsiz
1.000 İstek / Gün

Her yeni anahtar için standart. Panolar, Cron senkronizasyonları ve prototipler için uygundur.

İş
100.000 İstek / Gün

Üretim entegrasyonları için daha yüksek günlük sınır. Talep üzerine.

Her yanıt X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset içerir. Günlük sınır dolmuşsa, 429 yanıtı ve Retry-After başlığı gelir — pencerenin sıfırlanmasına kadar geçen saniyeler.

ERKEN ERİŞİM

Kataloğuna göre geliştir.

Genel API erken erişimde. Ne inşa etmek istediğine dair bize yaz, hesabına API anahtarlarını etkinleştirelim.

Erken erişim isteReferansı oku