Solea API Referansı

Bu API, Solea Veritabanına dışarıdan erişim için kullanılır. API, HTTP GET veya POST çağrılarını alır, gerekli işlemleri gerçekleştirir ve sonuç veya hata mesajı döndürür. Çoğu API çağrısı için en az Solea Server versiyon 4.30 gereklidir.

Genel Kurallar

Önerilen POST Örneği

POST /SetCommercialPlan HTTP/1.1
Host: http://192.168.1.15:9019
Content-Type: application/json; charset=utf-8

{ JSON_DATA }

Küçük GET Örnekleri


localhost:9019/GetServerDateTime?{"Format": 100}
localhost:9019/GetAPIVersion?{"Format": 100}
Her 2 örnek de Solea Sunucusu'nun çalışmakta olduğu bilgisayar üzerinde test edilebilir (herhangi bir web tarayıcının adres çubuğuna yapıştırılarak)

Parametre Tipleri

TipAçıklama
API_DateYYYYMMDD formatında tarih. Örnek: 20260329
API_Timehhmmss formatında saat. Örnek: 174500
API_DateTimeYYYYMMDD hhmmss tarih-saat
API_StringUTF-8 dizisi
API_Number0 - 4294967295 arası pozitif tam sayı
API_IntegerPozitif veya negatif tam sayı
API_FloatOndalıklı sayı
nAPI_xxxBoyutlu (array) tip (örn: nAPI_String)

Genel Girdi Parametreleri (GGP)

Alan Tip Açıklama
User API_String Solea'da tanımlı kullanıcı kodu. Örnek: CommUser1. Bu kullanıcının "Günlük Görevler" üzerinde ekleme/silme yetkisi olmalıdır. Güvenlik sebebiyle, ADM kullanıcısının okuma/yazma işlemi yapmasına izin verilmez.
Password API_String Belirtilen Kullanıcının şifresi. Örnek: abc123.
DatabaseNo API_Number 1 ile 8 arası veritabanı numarası. Varsayılan değer 1'dir. Belirtilmezse DatabaseNo olarak 1 değeri kullanılacaktır.
DomainNo
DomainName
API_Integer
API_String
DomainNo değeri 1 ile 32 arasında oabilir. Varsayılan değer 1'dir. DomainNo değeri bilinmiyorsa, DomainName kullanılabilir. Örnek: TestFM, Domain1, Radio 1. Bu ikisi de belirtilmezse DomainId olarak 1 değeri kullanılacaktır.

Genel Çıktı

Dönen veri aşağıdaki formattadır:

{
  "ReturnCode": API_Number,
  "Message": API_String,
  ...
  --- Çıktı Verisi ---
  ...
}

API Fonksiyonları

Fonksiyon Açıklama
GetAPIVersion O anki Solea Sunucusu'nun desteklediği API versiyon numarasını getirir. Önerilen yöntem GET'tir.
GetCommercialList Reklam spotlarının listesini getirir. Önerilen yöntem GET'tir.
GetCommercialPlan Bir reklama ait yayın planını getirir. Önerilen yöntem GET'tir.
GetDailyTasks Seçilen eleman tipleri (Reklamlar, Haberler, Playlist vb.) için "Günlük Görevler" listesini getirir. Önerilen yöntem GET'tir.
GetServerDateTime Solea Sunucusu'nun o anki tarih-saat bilgisini getirir. Önerilen yöntem GET'tir.
SetCommercialPlan Reklam planı verilerini Solea veritabanından siler ve ekler. Önerilen yöntem POST'tur.
Fonksiyon

GetAPIVersion

GetAPIVersion o anki Solea Sunucusu'nun desteklediği API versiyon numarasını getirir.

Girdi Parametreleri

Girdi verisi JSON formatında olmalı ve aşağıdaki bilgileri içermelidir.

Alan Tip Açıklama
FormatVersion API_Number Bu JSON veri tipi için her zaman 100 olmalıdır.

Örnek JSON Girdisi

{
  "FormatVersion": 100
}

Yanıt

Dönen veri aşağıdaki gibidir:

Alan Tip Açıklama
ReturnCode
Message
API_Number
API_String
Bkz. Hata Kodları ve Mesajlar
APIVersionNo API_String

Örnek JSON Çıktısı

{
  "ReturnCode": 0,
  "Message": "Success",
  "APIVersionNo": "1.01"
  ]
}
Fonksiyon

GetCommercialList

GetCommercialList reklam spotlarının listesini Solea veritabanından getirmek için kullanılır.

Girdi Parametreleri

Girdi verisi JSON formatında olmalı ve aşağıdaki bilgileri içermelidir.

Alan Tip Açıklama
FormatVersion API_Number Bu JSON veri tipi için her zaman 100 olmalıdır.
GGP Genel Parametreler her fonksiyonda girdi olarak kullanılmalıdır.
ReceivedDateFrom
ReceivedDateUpTo
API_Date Kayıtları spotların alınış tarihine göre filtrelemek için kullanılırlar.
Her iki alan da tercihe bağlıdır. Bu alanlardan herhangi biri belirtilmek zorunda değildir.
StartDateFrom
StartDateUpTo
API_Date Kayıtları spotların ilk planlandıkları tarihe göre filtrelemek için kullanılırlar.
Her iki alan da tercihe bağlıdır. Bu alanlardan herhangi biri belirtilmek zorunda değildir.
EndDateFrom
EndDateUpTo
API_Date Kayıtları spotların son planlandıkları tarihe göre filtrelemek için kullanılırlar.
Her iki alan da tercihe bağlıdır. Bu alanlardan herhangi biri belirtilmek zorunda değildir.
Eğer EndDateUpto değeri o günkü tarihten büyük veya eşitse, sadece yayını devam eden reklam spotları listelenir.
Columns nAPI_String "CommId", "CommCode", "CommName, "ProductId", "ProductName", "NetDuration", "ReceivedDate", "StartDate, EndDate, "NumPlanned", "NumBroadcasted" alanlarının bir kombinasyonu olabilir.

Örnek JSON Girdisi

{
  "FormatVersion": 100,
  "User": "CommUser1",
  "Password": "abc123",
  "StartDate": "20260224",
  "Columns": ["CommId", "CommName", "NetDuration", "StartDate", "NumPlanned"]
}

Yanıt

Dönen veri aşağıdaki gibidir:

Alan Tip Açıklama
ReturnCode
Message
API_Number
API_String
Bkz. Hata Kodları ve Mesajlar
RowCount API_Number
Columns nAPI_String Geri döndürülen kolon isimleri (girdideki gibi)
Rows Karışık Tipte Boyutlu Veri Aşağıdaki kolonların (alanların) bir kombinasyonu olabilir:
CommId as API_Number
CommCode as API_String
CommName as API_String
ProductId as API_Number
ProductName as API_String
NetDuration as API_Number
ReceivedDate as API_Date
StartDate as API_Date
EndDate as API_Date
NumPlanned as API_Number
NumBroadcasted as API_Number

Örnek JSON Çıktısı

{
  "ReturnCode": 0,
  "Message": "Success",
  "RowCount": 4,
  "Columns": ["CommId", "CommName", "NetDuration", "StartDate", "NumPlanned"],
  "Rows": [
    [6787, "ABC Bank April Campaign Spot A", 32000, "20260226", 1320],
    [6788, "DEF Airlines April Spot A", 24000, "20260302", 784],
    [6789, "GHI Telecom", 26500, "20260302", 858],
    [6792, "JKL Automobiles April", 41000, "20260303", 1167]
  ]
}
Fonksiyon

GetCommercialPlan

GetCommercialPlan bir reklam spotuna ait "Yayın Planı" kayıtlarını Solea veritabanından getirmek için kullanılır.

Girdi Parametreleri

Girdi verisi JSON formatında olmalı ve aşağıdaki bilgileri içermelidir.

Alan Tip Açıklama
FormatVersion API_Number Bu JSON veri tipi için her zaman 100 olmalıdır.
GGP Genel Parametreler her fonksiyonda girdi olarak kullanılmalıdır.
CommId
CommCode
API_Integer
API_String
CommId, spotun Id'sidir. Eğer bilinmiyorsa CommCode (reklam spotunun kodu) tercih edilebilir.
ListFrom
ListUpTo
API_DateTime ListFrom ve ListUpTo arasındaki plan kayıtları listelenecektir..
Her iki alan da isteğe bağlıdır. Biri veya ikisi belirtilmese de olur.
Status nAPI_Number Kayıtların yayınlanma durumudur. 0 = tümü, 1 = yayınlanmış olanlar, 2 = yayınlanmamış olanlar. Eğer belirtilmezse, 0 değeri uygulanacaktır.
Columns nAPI_String "TimeType", "PlannedDateTime" ve "BroadcastedDateTime" alanlarının bir kombinasyonu olabilir.

Örnek JSON Girdisi

{
  "FormatVersion": 100,
  "User": "CommUser1",
  "Password": "abc123",
  "CommId": 35,	
  "ListFrom": "20260422 070010",
  "ListUpTo": "20260422 235959",
  "Columns": ["TimeType", "PlannedDateTime", "BroadcastedDateTime"]
}

Yanıt

Dönen veri aşağıdaki gibidir:

Alan Tip Açıklama
ReturnCode
Message
API_Number
API_String
Bkz. Hata Kodları ve Mesajlar
RowCount API_Number
Columns nAPI_String Geri döndürülen kolon isimleri (girdideki gibi)
Rows Karışık Tipte Boyutlu Veri Aşağıdaki kolonların (alanların) bir kombinasyonu olabilir:
TimeType as API_Number
TimeType değerleri: 1 = Normal Kuşak, 2 = Prime Time, 3 = Özel Kuşak, 4 = Ücretsiz Kuşak.

PlannedDateTime as API_DateTime
BroadcastedDateTime as API_DateTime

Örnek JSON Çıktısı

{
  "ReturnCode": 0,
  "Message": "Success",
  "RowCount": 5,
  "Columns": ["TimeType", "PlannedDateTime", "BroadcastedDateTime"],
  "Rows": [
    [2, "20260426 071000", "20260426 071105"],
    [2, "20260426 081000", "20260426 081135"],
    [1, "20260426 091000", "20260426 091218"],
    [1, "20260426 101000", "20260426 101105"],
    [1, "20260426 111000", "20260426 111224"]
  ]
}
Fonksiyon

GetDailyTasks

GetDailyTasks, Solea veritabanındaki "Günlük Görevler"e ait kayıtları almak için kullanılır.

Girdi Parametreleri

Girdi verisi JSON formatında olmalı ve aşağıdaki bilgileri içermelidir.

Alan Tip Açıklama
FormatVersion API_Number Bu JSON veri tipi için her zaman 100 olmalıdır.
GGP Genel Parametreler her fonksiyonda girdi olarak kullanılmalıdır.
ListFrom
ListUpTo
API_DateTime ListFrom ve ListUpTo arasındaki plan kayıtları listelenecektir. ListUpTo ve ListFrom arasındaki en büyük fark 7 gün olabilir.
ItemTypes nAPI_Number ItemType 3 Reklamlar, 4 Haberler, 5 Promolar için kullanılır.
Columns nAPI_String "Rank", "ItemType", "ItemId", "ItemCode", "ItemName", "PlannedDateTime" ve "BroadcastedDateTime" alanlarının bir kombinasyonu olabilir.
Rank, o kaydın kendi kuşağındaki sıra numarasıdır.

Örnek JSON Girdisi

{
  "FormatVersion": 100,
  "User": "CommUser1",
  "Password": "abc123",
  "ListFrom": "20260422 070010",
  "ListUpTo": "20260422 235959",
  "ItemTypes": [3, 5],
  "Columns": ["ItemCode", "PlannedDateTime", "BroadcastedDateTime", "ItemName"]
}

Yanıt

Dönen veri aşağıdaki gibidir:

Alan Tip Açıklama
ReturnCode
Message
API_Number
API_String
Bkz. Hata Kodları ve Mesajlar
RowCount API_Number
Columns nAPI_String Geri döndürülen kolon isimleri (girdideki gibi)
Rows Karışık Tipte Boyutlu Veri Aşağıdaki kolonların (alanların) bir kombinasyonu olabilir:
Rank as API_Number
ItemType as API_Number
ItemId as API_Number
ItemCode as API_String
ItemName as API_String
PlannedDateTime as API_DateTime
BroadcastedDateTime as API_DateTime

Örnek JSON Çıktısı

{
  "ReturnCode": 0,
  "Message": "Success",
  "RowCount": 5,
  "Columns": ["ItemCode", "PlannedDateTime", "BroadcastedDateTime", "ItemName"],
  "Rows": [
    ["C-789", "20260426 071000", "20260426 071105", "ABC Bank April Campaign Spot A"],
    ["C-391", "20260426 071000", "20260426 071135", "DEF Airlines April Spot A"],
    ["C-210", "20260426 071000", "20260426 071218", "GHI Telecom"],
    ["C-643", "20260426 071000", "20260426 071105", "JKL Automobiles April"],
    ["P-023", "20260426 071500", "20260426 071600", "Promo 1"]
  ]
}
Fonksiyon

GetServerDateTime

GetServerDateTime Solea Sunucusunun o anki tarih-saat bilgisini getirir. Tüm Solea'ların saati bu saatle aynıdır.

Girdi Parametreleri

Girdi verisi JSON formatında olmalı ve aşağıdaki bilgileri içermelidir.

Alan Tip Açıklama
FormatVersion API_Number Bu JSON veri tipi için her zaman 100 olmalıdır.

Örnek JSON Girdisi

{
  "FormatVersion": 100
}

Yanıt

Dönen veri aşağıdaki gibidir:

Alan Tip Açıklama
ReturnCode
Message
API_Number
API_String
Bkz. Hata Kodları ve Mesajlar
CurrentDateTime API_DateTime

Örnek JSON Çıktısı

{
  "ReturnCode": 0,
  "Message": "Success",
  "CurrentDateTime": "20260426 194521"
  ]
}
Fonksiyon

SetCommercialPlan

SetCommercialPlan, reklam plan verisini Solea veritabanına eklemek, mevcutları silmek için kullanılır.

Girdi Parametreleri

Girdi verisi JSON formatında olmalı ve aşağıdaki bilgileri içermelidir.

Alan Tip Açıklama
FormatVersion API_Number Bu JSON veri tipi için her zaman 100 olmalıdır.
GGP Genel Parametreler her fonksiyonda girdi olarak kullanılmalıdır.
DeleteFrom
DeleteUpTo
API_DateTime DeleteFrom ve DeleteUpTo arasındaki plan kayıtları silinecektir. DeleteFrom o anki tarih-zamandan küçük olamaz. Genellikle ilk satırın PlannedDateTime değerine eşittir. DeleteFrom belirtilmemişse, o anki tarih-saat veya ilk satırın PlannedDateTime bilgisi otomatik olarak dikkate alınacaktır. DeleteUpTo genellikle son satırın PlannedDateTime bilgisine eşittir. DeleteUpTo belirtilmemişse, o anki tarihin 23:59:59'u otomatik olarak dikkate alınacaktır.
InsertFrom
InsertUpTo
API_DateTime InsertFrom belirtilmemişse, ilk satırın PlannedDateTime bilgisi dikkate alınacaktır. InsertUpTo belirtilmemişse son satırın PlannedDateTime bilgisi dikkate alınacaktır.
RowCount API_Number Satır sayısıdır. Rows alanındaki satır adedine eşit olmalıdır. Tutarlık kontrolü için kullanılır.
Columns nAPI_String "PlannedDateTime", "ItemCode", "ItemId", "ItemName", "Locations" ve "Stations" alanlarının bir kombinasyonu olabilir.
Rows Karışık Tipte Boyutlu Veri It can be combination of following columns (fields):
PlannedDateTime: Spotun API_DateTime biçiminde tarih-saat bilgisidir .
ItemCode: Spotun API_String biçiminde Solea'daki Kodudur. ItemId bilgisi bilinmiyorsa tercih edileblir.
ItemId: Spotun API_Number biçiminde Solea'daki Id'sidir. ItemId ibilinmiyorsa ItemCode tercih edilebilir.
ItemName: Spotun API_String biçiminde Solea'daki adıdır. Şu anda kullanılmamaktadır.
Locations: Lokasyonların API_Number biçiminde bit-paketli değeridir. Bir spot birden fazla lokasyon için planlanabilir. Lokasyon-0, Radyo'yu temsil eder. Lokasyon-1 ile Lokasyon-31 arası Çoklu-Yayın Modülü lokasyonlarını temsil eder. Locations değeri 1 ile 4294967295 arasında olabilir.
Stations: Planlanan istasyonların nAPI_String biçiminde kodlarıdır. Çoklu-İstasyon Modülü'nde kullanılır.

Locations verisi için Örnekler:
Sadece Radyo = 1 (2^0)
Radio ve Lokasyon-2 = 5 (2^0 + 2^2)
Lokasyon-2, Lokasyon-3 ve Lokasyon-5 = 44 (2^2 + 2^3 + 2^5)

Stations verisi için Örnek:
[["S01", "S07"], ["S01"], ["S08", "S07", "M03"]]

Örnek JSON Girdisi

{
  "FormatVersion": 100,
  "User": "CommUser1",
  "Password": "abc123",
  "DeleteFrom": "20260422 070010",
  "DeleteUpTo": "20260422 235959",
  "InsertFrom": "20260422 070010",
  "InsertUpTo": "20260422 225000",
  "RowCount": 3,
  "Columns": ["PlannedDateTime", "ItemCode"],
  "Rows": [
    ["20260422 071000", "9458-46"],
    ["20260422 071000", "4298-51"],
    ["20260422 225000", "9458-46"]
  ]
}

Yanıt

Dönen veri Genel Çıktı biçiminde olup sadece ReturnCode ve Message bilgisi içermektedir.

Hata Kodları ve Mesajlar

Return Code Message
   0Başarı
1001JSON verisi 0 uzunlukta!
1002JSON verisinin sonunda "}" karakteri olmalı!
1003Geçersiz JSON biçimi! Düzetin ve yeniden deneyin.
1004Veritabanı okuma hatası!
1005Veritabanı yazma hatası!
1021DatabaseNo girdisi 1 ile 8 arasında olmalı!
1022DomainName karşılığı bulunamadı!
1023DomainNo girdisi 1 ile 32 arasında olmalı!
1031RowCount 0 olamaz!
1051User girdisi belirtilmemiş!
1052ADM kullanıcı API üzerinden okuma/yazma işlemi yapamaz!
1053Kullanıcı bulunamadı!
1054Kullanıcı tükenmiş (Kullanıcının Son Kullanım Tarihi bugünden küçük)!
1055Parola tükenmiş (Parolanın Son Kullanım Tarihi bugünden küçük)!
1056Parola geçersiz!
1081Alan değeri belirtilmemiş!
1082Alan değeri geçersiz!
1083Field1, Field2'ye eşit veya büyük olmalı!
1084Field1 veya Field2 belirtilmeli!
1085Boyutun eleman sayısı beklenenden farklı!
1086Field2 ve Field1 arasındaki fark sınırların dışında!
1101Kullanıcı bu işlem için yeterli yetkiye sahip değil!
1206Bu Kod(lar) Solea'da tanımlı değil!
9998Veri okuma hatası! Veri gönderirken GET yerine POST yöntemini tercih edin.
9999Bilinmeyen Hata!