VİOPFIX API ÜYE YAZILIMI SERTİFİKASYON PROGRAMI TEMEL SEVİYE Temmuz 2015, Sürüm 12
DÖKÜMAN TARİHÇESİ Tarih Versiyon Açıklama Kasım 2014 10 İlk sürüm Sözleşmeler production ortamındaki sözleşmelere göre güncellendi Şubat 2015 11 Emir numaraları güncel hale getirildi Emir numaraları güncel hale getirildi 2 SERTİFİKASYON TEST ORTAMI bölümündeki sistemi tarihinin test tarihine göre güncelleneceğine dair açıklama kaldırıldı 32 EMİR İPTALİ bölümündeki sistem uyarı mesajları Temmuz 2015 12 kaldırıldı 2
AŞ nin VİOPFIX API BAĞLANTISI TESTİ Üyelerimizin Dikkatine: Bu testin amacı üyelerimizin kendi sistemlerini mevcut haliyle VİOPFIX API ortamında test etmelerini sağlamaktır Lütfen aşağıdaki işlemleri sırasıyla yapınız ve bu işlemleri yaparken her adımda gelen mesajları mutlaka kontrol ediniz Öncelikle emrin sisteme gönderildiğinde oluşması beklenen etkiyi belirleyiniz Emri veya herhangi bir isteği sisteme gönderdikten sonra beklenen etkinin gerçekleşip gerçekleşmediğini, ilk aşamada aktiviteye ilişkin tarafınıza ulaşan cevabı; boyut, içerik, tamlık ve doğruluk açılarından, ikinci aşamada ise arkadaki her kanaldan yapılan aktivitelerin kaynağı olan ana sisteminizde doğru işlenmesi açısından kontrol ediniz Sertifikasyon programı kapsamında kılavuzda yer alan tüm adımların gerçekleştirilmesi sonrasında, Sistem Bağlantı Testleri (Bölüm 1) ve Emir İletim ve Fonksiyon Testleri (Bölüm 3) sırasında gönderilen ve alınan mesajlardan oluşan log dosyalarının BİAŞ a [8=FIXT119=32935=834=649=ISTVIOPFIX52=20140910-07:33:3720556=XXXFIX1128=91=114=037=201508030000000638=10039=040=242=20150 213-07:33:0662644=46554=255=F_COTEGE1215S059=060=20150213-07:33:0662677=C150=0151=100381=465000453=2448=XXX452=1448=XXXFM1452=12625 =31181=161300=CFAN1352=Y9757=201508030000000321002=10010=117] formatında gönderilmesi beklenmektedir Bu log dosyaları, BİAŞ tarafından hazırlanan ve senaryolar sonucunda oluşması beklenen log dosyaları ile karşılaştırılacaktır Emir iletim hızına bağlı olarak asenkron kanaldan dönen cevap mesajları gecikebilmektedir Bu durum log dosyasında mesaj sıralarında değişikliklere sebep olabilmektedir Mesajların içeriklerinin aynı olması koşuluyla mesaj loglarının sırasının değişmesi karşılaştırma açısından sorun teşkil etmemektedir Sonuç olarak beklenen çıktıların alınması durumunda, üyelerimiz 3
sertifikasyon programını tamamlamış olacaklardır Log dosyalarının kontrollerden başarılı bir şekilde geçmesi için dokümandaki tablolarda verilen alanların eksiksiz doldurulması gerekmektedir Sertifikasyon sürecinde beklenmeyen bir durum olması halinde sorunu yetkililere ivedilikle bildiriniz Testin son bölümünü de doldurduktan sonra Borsa İstanbul yetkililerine ulaştırınız Vadeli İşlem ve Opsiyon Piyasası mevcut işlem kurallarında yer alan ve Borsa İstanbul tarafından VİOPFIX API de uygulanmasına izin verilen emir ve işlem fonksiyonlarının tamamını veya bir kısmını kendi VİOPFIX API programlarında kullanmayan veya kısmen kullanan üyelerimizin ileride müşterileri ile aralarında doğabilecek uyuşmazlıklarda hukuki sorumluluk tamamen ilgili üyemize ait olacaktır Bu nedenle üyelerimize, VİOPFIX API ile emirlerini Borsa İstanbul a iletecekleri müşterilerini bu konuda bilgilendirmeleri ve müşterileri ile aralarında buna uygun hukuki dayanağı oluşturmaları tavsiye edilmektedir Üye sisteminin hatasız çalışması üyelerimizin sorumluluğundadır 4
İçindekiler 1 SİSTEM BAĞLANTI TESTLERİ 6 2 SERTİFİKASYON TEST ORTAMI 8 3 EMİR İLETİM VE FONKSİYONLARI TESTİ 9 31 YENİ EMİR GİRİŞİ 9 32 EMİR İPTALİ 11 33 MESAJ İNDİRME 12 5
1 SİSTEM BAĞLANTI TESTLERİ Lütfen BİAŞ BT-Destek i (Tel: 212-298 24 27) arayarak sertifikasyon programına başlamak istediğinizi belirtiniz BT-Destek yetkilisi onay verdiği zaman aşağıdaki adımları gerçekleştiriniz 1 Sisteme bağlı değilken Password alanını boş bırakarak Logon mesajı gönderiniz Cevap: Logout mesajında yük bilgilerinin geldiği görülür 2 BİAŞ tarafından şifreniz Qq123456 olarak ayarlanmıştır Lütfen yükü gönderilen GW lerden yükü az olanı seçiniz ve seçilen GW üzerinden NewPassword alanını göndermeksizin ve HeartbtInt(108) alanını 60 sn olarak ayarlayarak verilen şifre ile bağlanınız Bağlantı aşamasında ResetSeqNumFlag(141)=Y (sıra numarasını sıfırla) olduğundan emin olunuz Cevap: PASSWORD_EXPIRED açıklaması ile Logout mesajı geldiği görülür 3 BİAŞ tarafından verilen şifre ile Password alanını ve yeni bir şifre ile NewPassword alanını doldurarak sisteme giriniz Cevap: Sisteme Logon mesajı ile girildiği görülür 4 Logout mesajı göndererek sistemle olan bağlantınızı sonlandırın Cevap: Logout mesajı ile sistemden çıkıldığı görülür 5 Yeni şifreniz ile sisteme giriniz Cevap: Sisteme Logon mesajı ile girildiği görülür 6 İşlem yapmadan bekleyerek Heartbeat mesajının size ulaştığını kontrol ediniz 7 TestRequest mesajı gönderin Cevap: Heartbeat mesajı alındığı görülür 8 Logout mesajı göndererek sistemle olan bağlantınızı sonlandırın 6
Cevap: Logout mesajı ile sistemden çıkıldığı görülür 9 NewPassword alanını doldurarak şifre değiştirerek Logon mesajı gönderiniz Cevap: Sisteme Logon mesajı ile girildiği görülür 10 Logout mesajı göndererek sistemle olan bağlantınızı sonlandırın Cevap: Logout mesajı ile sistemden çıkıldığı görülür 11 Yeni şifre ile sisteme giriniz Cevap: Sisteme Logon mesajı ile girildiği görülür 12 BeginSeqNo = 1 ve EndSeqNo = 1 değerlerini atayarak Resend Request gönderiniz Cevap: Yeniden talep edilen mesaj oturum mesajı olduğu için SequenceReset mesajı geldiği görülür 13 Mevcuttan daha büyük bir MsgSeqNum (50) değeri girerek sekans resetleme talebi gönderiniz Cevap: MsgSeqNum değerinin verilen değere (50) set edildiği görülür 14 Logout mesajı göndererek sistemle olan bağlantınızı sonlandırın Cevap: Logout mesajı ile sistemden çıkıldığı görülür 7
2 SERTİFİKASYON TEST ORTAMI Sertifikasyon programına başlamadan önce sistem, BİAŞ tarafından testler için özel olarak hazırlanmış duruma getirilecektir Sertifikasyon programına BİAŞ tarafından aşağıda belirtilen adımlar girilerek başlanacaktır Yatırım kuruluşlarının, sertifikasyon sürecine başlamadan önce BİAŞ tarafından sisteme girilen aşağıda belirtilen senaryolara ait mesajları indirmeleri gerekmektedir Dokümandaki senaryolarda 1 nolu hesap portföy hesabı, 2 nolu hesap global hesap, 3 nolu hesap müşteri hesabı ve 4 nolu hesap riskli hesap olarak kullanılmıştır Bu hesaplar, sertifikasyon test ortamında üyelerimiz için tanımlanacaktır Üyelerimizin testler sırasında, söz konusu dört hesabı aşağıdaki adımlarda belirtilen şekilde kullanmaları gerekmektedir BİAŞ tarafından hazırlanan mesaj adımları: Sıra No 1 2 Senaryo Üyenin 4 numaralı hesabının risk durumu 3(riskli) e çekilir F_GARAN1215S0 sözleşmesi durdurulur MsgType [35] Symbol [55] Market SegmentID [1300] OrderQty [38] Price [44] Side [54] OrderType [40] TimeInForce [59] Account [1] 4 8
3 EMİR İLETİM VE FONKSİYONLARI TESTİ Lütfen HeartbtInt süresini 300 olarak ayarlayarak sisteme tekrar bağlanınız 31 YENİ EMİR GİRİŞİ Aşağıdaki tabloda yeni emir girişi için gerekli bilgiler yer almaktadır Lütfen ClOrdID bazında tabloda yer alan bilgileri içeren emirleri giriniz Her bir emir girişi sonrasında sonuç kolonunda yer alan beklenen mesajın alındığını kontrol ediniz Sıra No MsgType [35] ClOrdID [11] Symbol [55] Market SegmentID [1300] OrderQty [38] Price [44] Side [54] OrdType [40] TimeInForce [59] PositionEffect [77] Account [1] Sonuç 1 D 2 D 3 D 1 F_COTEGE1215S0 CFAN 10 45 1 2 0 C 1 2 F_COTEGE1215S0 CFAN 50 455 1 2 0 C 1 3 F_COTEGE1215S0 CFAN 1000 47 2 2 0 C 2 ER(Order Long) - 2015080300000001 ER(Order Long) - 2015080300000002 ER(Order Long) - 2015080300000003 4 D 4 O_XU030E1215C9 6000S0 EOAN 500 9 1 2 0 C 4 ER(Order Long) - 2015080300000004 5 D 6 D 5 F_GARAN1215S0 FANA 100 8 1 2 0 C 1 6 F_COTEGE1215S0 CFAN 10 45 2 2 0 C 1 ER(Reject) (ERROR: Sözleşme işlemleri durduruldu) ER(Order Long) - 2015080300000005 ER(Order Short) - 2015080300000002 ER(Order Short) - 2015080300000005 ER(Trade) - 2015080300000002 ER(Trade) - 2015080300000005 9
Sıra No MsgType [35] ClOrdID [11] Symbol [55] Market SegmentID [1300] OrderQty [38] Price [44] Side [54] OrdType [40] TimeInForce [59] PositionEffect [77] Account [1] Sonuç 7 D 7 F_COTEGE1215S0 CFAN 70 445 2 2 0 C 1 ER(Order Long) - 2015080300000006 ER(Order Short) - 2015080300000002 ER(Order Short) - 2015080300000001 ER(Order Short) - 2015080300000006 ER(Trade) - 2015080300000002 ER(Trade) 2015080300000006 ER(Trade) - 2015080300000001 ER(Trade) - 2015080300000006 8 D 8 O_XU030E1215C9 6000S0 EOAN 500 89 1 2 0 C 4 ER(Reject) (ERROR: Emrin saklama hesabina ait (kontrolde) emri mevcut) 10
32 EMİR İPTALİ Aşağıda tabloda emir girişi yapılmış olan emirlerin iptalleri yer almaktadır Belirtilen senaryoları kapsayan, tabloda yer alan bilgileri içeren emir iptallerini giriniz Her bir emir iptali girişi sonrasında sonuç kolonunda yer alan beklenen mesajların alındığını kontrol ediniz Sıra No 9 10 11 SENARYOLAR CFAN pazarında F_COTEGE1215S0 sözleşmesine girmiş olduğunuz 1000 adetlik 47 fiyat seviyesindeki günlük satış limit emri iptal ediniz (ClOrdID=3) EOAN pazarında O_XU030E1215C96000S0 sözleşmesine girmiş olduğunuz 500 adetlik 9 fiyat seviyesindeki günlük alış limit emri iptal ediniz (ClOrdID=4) CFAN pazarında F_COTEGE1215S0 sözleşmesine girmiş olduğunuz 70 adetlik 445 fiyat seviyesindeki günlük satış limit emri iptal ediniz (ClOrdID=7) MsgType [35] F F F OrderID 2015080300000 003 2015080300000 004 2015080300000 006 ClOrdID Side 3 2 4 1 7 2 SONUÇ ER(Order Short) 2015080300000003 ER(Order Short) 2015080300000004 ER(Order Short) 2015080300000006 11
33 MESAJ İNDİRME Aşağıda tabloda emir, işlem, genel yayın ve sistem uyarısı mesajlarını indirme mesajları yer almaktadır Belirtilen senaryoları kapsayan, tabloda yer alan bilgileri içeren indirme mesajlarını giriniz Her bir mesaj indirme sonrasında sonuç kolonunda yer alan beklenen mesajların alındığını kontrol ediniz Sıra No Senaryo MsgType [35] ApplBegSeqNum [1182] ApplReqID [1346] ApplReqType [1347] OrderID [37] TrdMatchID [880] Sonuç 12 13 ApplBegSeqNum alanına 0* ve OrderID alanına ilk girilen emrin numarası (ilk emirden sonraki tüm yeni emirlerin, değişikliklerin gönderilmesi için) girilerek bir ApplicationMessageRequ est emir indirme mesajı gönderiniz BW 0* 1 0 20150 80300 00000 1 ApplBegSeqNum alanına 0* ve TrdMatchID alanına ilk oluşan işlemin numarası (ilk işlemden sonraki tüm işlemlerin gönderilmesi için) girilerek bir ApplicationMessageRequ est işlem indirme mesajı gönderiniz BW 0* 2 0 1 ER(Order Long) ER (Order Long) ER (Order Short) ER (Order Short) News(EndOfOrder) ER(Trade) ER(Trade) News(EndOfTrade) * Kurumlar 0 değeri yerine ellerindeki en büyük ApplSeqNum değerini girebilirler 12
TEST SONUCU: Aracı Kurum Unvanı Teste Katılan Teknik Yetkili Teste Katılan Piyasa Yetkilisi Teste Katılan Borsa Yetkilisi Genel Değerlendirme (Bu bölüm Borsa İstanbul AŞ yetkilileri tarafından doldurulacaktır) Not: VİOPFIX API Üye Yazılımı Sertifikasyon Programı sürecini başarıyla tamamladığınız takdirde, bu dokümanının 4 ve 13 sayfalarının ıslak imza ve kaşe, diğer sayfalarının paraf atılarak tarafımıza iletilmesi beklenmektedir 13