Developer API v2.1

Merivision API Dokümantasyonu

Müzik dağıtım süreçlerinizi otomatikleştirin ve uygulamalarınıza entegre edin

99.9% Uptime
<100ms Response Time
OAuth 2.0 Security

Giriş

Merivision API, müzik dağıtım süreçlerinizi programatik olarak yönetmenizi sağlar. RESTful mimarisinde olan API'miz JSON formatında veri döner.

Base URL

https://api.merivision.com/v2

Desteklenen HTTP Methodlar

  • GET - Veri okuma
  • POST - Yeni kayıt oluşturma
  • PUT - Kayıt güncelleme
  • DELETE - Kayıt silme

Response Format

{
  "success": true,
  "data": {...},
  "message": "Operation successful",
  "timestamp": "2026-01-11T10:30:00Z"
}

Kimlik Doğrulama

Merivision API, OAuth 2.0 ve API Key authentication destekler.

API Key (Basit Yöntem)

Dashboard'dan API key oluşturun ve her request'te header olarak gönderin:

curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://api.merivision.com/v2/releases

OAuth 2.0 (Önerilen)

Kullanıcı adına işlem yapmak için OAuth 2.0 kullanın:

// 1. Authorization Code Al
GET https://api.merivision.com/oauth/authorize
  ?client_id=YOUR_CLIENT_ID
  &redirect_uri=YOUR_REDIRECT_URI
  &response_type=code
  &scope=releases.read releases.write

// 2. Access Token Al
POST https://api.merivision.com/oauth/token
{
  "grant_type": "authorization_code",
  "code": "AUTHORIZATION_CODE",
  "client_id": "YOUR_CLIENT_ID",
  "client_secret": "YOUR_CLIENT_SECRET"
}

Güvenlik: API key'lerinizi asla public repository'lerde paylaşmayın. Environment variable olarak saklayın.

Rate Limits

API kullanımında aşağıdaki limitler geçerlidir:

Tier Requests/Minute Requests/Hour Requests/Day
Free 30 1,000 10,000
Pro 120 5,000 50,000
Enterprise Custom Custom Custom

Rate Limit Headers

X-RateLimit-Limit: 30
X-RateLimit-Remaining: 27
X-RateLimit-Reset: 1641900000

Releases API

Müzik yayınlarınızı yönetin.

GET /releases

Tüm yayınlarınızı listeleyin

curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://api.merivision.com/v2/releases?limit=10&offset=0

Response:

{
  "success": true,
  "data": {
    "releases": [
      {
        "id": "rel_abc123",
        "title": "My Album",
        "artist": "Artist Name",
        "release_date": "2026-02-01",
        "upc": "1234567890123",
        "status": "published",
        "platforms": ["spotify", "apple_music", "youtube"],
        "created_at": "2026-01-10T09:00:00Z"
      }
    ],
    "total": 25,
    "limit": 10,
    "offset": 0
  }
}

POST /releases

Yeni yayın oluşturun

curl -X POST \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{
       "title": "My New Single",
       "artist": "Artist Name",
       "release_date": "2026-03-15",
       "type": "single",
       "genre": "pop",
       "language": "tr",
       "platforms": ["all"]
     }' \
     https://api.merivision.com/v2/releases

GET /releases/{id}

Belirli bir yayının detaylarını alın

PUT /releases/{id}

Yayın bilgilerini güncelleyin

DELETE /releases/{id}

Yayını platformlardan kaldırın

Tracks API

Şarkılarınızı yönetin ve yükleyin.

POST /tracks/upload

Şarkı dosyası yükleyin (multipart/form-data)

curl -X POST \
     -H "Authorization: Bearer YOUR_API_KEY" \
     -F "file=@/path/to/audio.wav" \
     -F "title=Song Title" \
     -F "artist=Artist Name" \
     -F "isrc=TRMRV2600001" \
     https://api.merivision.com/v2/tracks/upload

Desteklenen Formatlar:

  • WAV (16-bit/44.1kHz veya üzeri)
  • FLAC (Lossless)
  • Maksimum boyut: 500 MB

GET /tracks/{id}/status

Yükleme ve işleme durumunu kontrol edin

{
  "success": true,
  "data": {
    "id": "trk_xyz789",
    "status": "processing",
    "progress": 75,
    "quality_check": "passed",
    "estimated_completion": "2026-01-11T11:00:00Z"
  }
}

Analytics API

Streaming istatistiklerinizi alın.

GET /analytics/streams

curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://api.merivision.com/v2/analytics/streams?release_id=rel_abc123&start_date=2026-01-01&end_date=2026-01-31"

Response:

{
  "success": true,
  "data": {
    "total_streams": 125430,
    "period": {
      "start": "2026-01-01",
      "end": "2026-01-31"
    },
    "by_platform": {
      "spotify": 85200,
      "apple_music": 28150,
      "youtube": 12080
    },
    "by_country": {
      "TR": 45000,
      "US": 38000,
      "DE": 18000
    },
    "daily_breakdown": [...]
  }
}

GET /analytics/audience

Dinleyici demografik bilgileri

Royalties API

Gelir ve ödeme bilgilerinizi alın.

GET /royalties/earnings

curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://api.merivision.com/v2/royalties/earnings?period=2026-01"

Response:

{
  "success": true,
  "data": {
    "period": "2026-01",
    "total_earnings": 1254.38,
    "currency": "USD",
    "by_platform": {
      "spotify": 782.50,
      "apple_music": 385.20,
      "youtube": 86.68
    },
    "payout_status": "scheduled",
    "payout_date": "2026-03-15"
  }
}

GET /royalties/statements

Aylık gelir beyanlarınızı PDF olarak indirin

SDK'lar ve Kütüphaneler

Geliştirme sürecinizi hızlandırmak için resmi SDK'larımızı kullanın:

Node.js

npm install @merivision/api-client

const Merivision = require('@merivision/api-client');
const client = new Merivision('YOUR_API_KEY');

const releases = await client.releases.list();

Python

pip install merivision

from merivision import Client
client = Client(api_key='YOUR_API_KEY')

releases = client.releases.list()

PHP

composer require merivision/php-sdk

use Merivision\Client;
$client = new Client('YOUR_API_KEY');

$releases = $client->releases->list();

Java

// Maven dependency
<dependency>
  <groupId>com.merivision</groupId>
  <artifactId>api-client</artifactId>
</dependency>

Webhooks

Önemli olaylar gerçekleştiğinde otomatik bildirim alın.

Desteklenen Events

  • release.published - Yayın platformlarda yayınlandı
  • release.taken_down - Yayın kaldırıldı
  • track.uploaded - Şarkı yükleme tamamlandı
  • royalty.payment - Ödeme yapıldı
  • copyright.claim - Telif hakkı iddiası

Webhook Endpoint Ekleme

Dashboard > Ayarlar > Webhooks bölümünden webhook URL'nizi ekleyin.

Payload Örneği

{
  "event": "release.published",
  "data": {
    "release_id": "rel_abc123",
    "title": "My Album",
    "platforms": ["spotify", "apple_music"],
    "published_at": "2026-01-15T10:30:00Z"
  },
  "timestamp": "2026-01-15T10:30:05Z",
  "signature": "sha256_signature_here"
}

Güvenlik: Webhook payload'ları HMAC-SHA256 ile imzalanır. Signature'ı doğrulayarak request'in Merivision'dan geldiğini teyit edin.

Error Codes

API hatalarını anlamak için kullanın:

Code Açıklama Çözüm
400 Bad Request Request parametrelerini kontrol edin
401 Unauthorized API key'inizi kontrol edin
403 Forbidden Bu işlem için yetkiniz yok
404 Not Found Kaynak bulunamadı
429 Rate Limit Exceeded Rate limit'e ulaştınız, bekleyin
500 Server Error Destek ekibiyle iletişime geçin

Error Response Formatı

{
  "success": false,
  "error": {
    "code": "INVALID_REQUEST",
    "message": "Missing required field: artist",
    "details": {
      "field": "artist",
      "requirement": "string, max 100 chars"
    }
  },
  "timestamp": "2026-01-11T10:45:00Z"
}

Yardıma mı İhtiyacınız Var?

API entegrasyonu sırasında sorun yaşıyorsanız developer destek ekibimiz size yardımcı olabilir.

Destek Talebi Oluştur