API Kullanımı

İçindekiler


Önsöz


API altyapı olarak standart Restful API yapısını kullanmaktadır. Yani kayıt çekmek için GET Methodu, kayıt eklemek için POST methodu, Update için PUT methodu ve kayıt silmek için DELETE methodu kullanılır. Kayıt çekerken tek istekte maksimum 100 adet kayıt getirilebilir. Kayıt eklerken ya da güncellerken ise tek istekte maksimum 1000 kayıt güncellenebilir.1000 kayıttan daha fazla istek atarsanız APIden hata mesajı döner.

API Key Oluşturma

Panel üzerinde Admin Panel -> User – Company Settings -> API Key ekranından New butonuna tıklayarak API Key yaratmalısınız.

PastedGraphic-1

Name : API Key için bir isim girilir.
API Scope : API Key ile yapılabilecek işlemler buraya girilir (READ,INSERT,UPDATE)
Allowed Ips : API erişimi sağlayacak IP adresleri buraya girilir. (IP kısıtını kaldırmak için bu alana * girilebilir ancak güvenlik nedeniyle kesinlikle tavsiye etmiyoruz.)
Permissions : API Key ile erişim yetkisi verilecek modüller burada seçilir. Tüm modüllere yetki vermek için */*/* seçebilirsiniz. Sadece segment bilgilerini güncelleme işlemi yapılmak isteniyorsa Admin Panel/api/playground , Dynamic Content/segment yetkileri yeterlidir.

API Key https://api.webinstats.com/v1/__COMPANY_ID__/__API_KEY__/9/api/playground adresinden test edilebilir. Bu adreste __API_KEY__ yazan kısıma daha önce oluşturulan API Key girilmeli.

Eğer API Key bilgisi POST parametresi ile gönderilmek istenirse aşağıdaki formatta api isteği atılabilir.

URL : https://api.webinstats.com/v2/__COMPANY_ID__/api/9/api/playground
Post parametresi olarak ; api_key=”__API_KEY__” yollanır.

API Kullanımı

API playground ekranında Method=POST, Application=Dynamic Content, Module=segment, Action=segmentuser yazılıp HELP butonuna tıklandığında isteğin nasıl atılması gerektiği ile ilgili bilgiler görülür.

HELP kısmında gelen bilgileri kullanıp Playground üzerinde bilgileri ekleyerek SUBMIT’e tıklandığında API’ye gidecek istek URL’i ve dönen sonuç görülür.

Segment bilgisi güncellemek için developer ekibinin API Key ve User Info tablosundaki hash alanına ihtiyaçları olacaktır. Hash bilgisini Dynamic Content -> Definitions -> Var File -> Güncelleme yapılacak kayıt’a çift tıkla -> Advanced Tabı -> Hash alanından ulaşılabilir.

Development esnasında test yapmak için bir adet boş CSV dosyası (0 bytelık csv uzantılı bir dosya) upload edilerek testler bu dosya üzerinden yapılabilir. Daha sonra sisteminiz hazır olduğunda Segment File ID ve Hash bilgilerini değiştirip kampanyalarda kullanılacak dosyayı güncellemeye başlayabilirsiniz.

API Key değiştirilmek istendiğinde varolan API Key’in active alanı kaldırılıp yeni bir API Key oluşturulabilir.

API Segment Update Modülü

API segmentuser da sadece belirli alanları update edecek modülün kullanımında API’a yapılan istekte get parametrelerine &update_if_exists=1&keep_current_data=1 şeklinde eklemek yeterli olur. Bu sayede eski segment verilerini bozmadan sadece belirli alanları güncellemek mümkün olmaktadır.

update_if_exists=1: Eğer kullanıcı segment verileri zaten sistemde yüklü ise gönderilen değerler update edilir eğer kullanıcı verisi yoksa eklenir. Eğer bu değer 0 gönderilirse varolan kayıtları güncellenmez sadece yeni kayıtları ekler.

keep_current_data=1 : Eğer kullanıcı segment verileri zaten sistemde yüklü ise bu segment verilerini bozmadan yeni gelen değerleri ilave eder. Eğer bu değer 0 ise eski segment verilerini tamamen silerek yeni gönderilen değerleri yazar.

İlave olarak sadece spesifik bir segment alanını tablodan silmek için alanın değerini null göndermek yeterli olmaktadır. Örneğin API’a aşağıdaki şekilde bir istek atılırsa USER_119 kullanıcısı için segment4 değeri aa2 olarak ayarlanır ve segment2 değeri eğer varsa silinir. Segment verisini silmek için null değerinin tırnak içinde olmaması gerekiyor. Eğer tırnak içinde verilirse segment2 değeri string “null” şeklinde ayarlanır.

data=[{“id”:”USER_119″,”d”:{“segment4″:”aa2”,segment2:null}}]

API ile KUPON KODU EKLEME

Kupon kodu ekleme işlemi segmentuser kayıt ekleme ile aynı mantıkta yapılmaktadır. Tek fark segmentuser tablosunda bilgileri iletirken MemberID iletilmesi gerekir. Burada ise MemberID’yi boş geçerek direk olarak kupon kodu bilgisini iletilmesi yeterlidir.

Kupon kodları da segmentuser için oluşturulan dosyalar ile aynı bölümde yer almaktadır. (Dynamic Content ->Definitions -> VarFile ekranı)
Bu ekranda ilave bilgi eklenmesi istenilen kupon dosyası bulunmalıdır. İlgili dosya çift tıklanarak dosya IDsi, Advanced tabındaki Hash ve Fields kısmı kaydedilir.
Segmentuser’a veri eklerken gönderilen şekilde aynı bilgiler gönderilir. Sadece hash yerine kupon dosyasındaki hash bilgisi yazılır. ID yerine kupon kodu dosyasının IDsi yazılır ve datada MemberID iletilmemeli çünkü memberIDyi sistem duruma göre otomatik olarak atanır. Yani örnek POST data formatı şu şekilde olur : data=[{“d”:{“__KUPON_KODU_KOLON_ADI_”:”ILAVE_KUPONKODU_1″}},{“d”:{“__KUPON_KODU_KOLON_ADI_”:”ILAVE_KUPONKODU_2″}}] Bu şekilde tek istekte 1000 adete kadar ilave kupon kodu yollanabilir. Örneğin 10,000 adet kod ilave edilecekse 10 adet istekte 1000’er kupon kodu eklenebilir.
Kupon dosyalarına eklemeler bittikten sonra segmentcommit methodu 1 kez çağırılmalı. Bu method kupon dosyası ile ilgili özet bilgileri günceller. (Toplamda X adet kupon var Y adet kullanıldı vs. gibi özet bilgileri günceller.) Bu methodu upload işlemi tamamen bittikten sonra 1 kez çağırmanız yeterli olur. Her istekten sonra çağırırsanız upload hızınız yavaşlayacaktır.

API Form

API playground ekranında Application olarak WIS Form seçildiğinde Actions kısmında allforms, form ve answer isimli 3 adet servis görüntülenir. Buradan ilgili servisi seçip Submit butonuna basıldığında çağırılması gereken URL ve Result bilgisini döner. Eğer bir hata olursa da Result kısmında ilgili hatanın mesajı dönecektir.

allforms : Firma hesabında kayıtlı tüm formları getirir.
form : ID alanında yazılı olan Formun bilgilerini getirir.
answer : ID alanında yazılı olan Formun cevaplanma bilgilerini getirir.