V-Count API v3.6 İçindekiler



Benzer belgeler
V-Count API v İnsan Sayma sonuçları için istekler adresine gönderilecektir.


SMS interconnecion APi S DOKÜMANI

um%20dolor%20sit%20amet&receipents= , &sender=ILETICELL İstekte gönderilen parametrelerin açıklamaları aşağıdaki gibidir:

%20dolor%20sit%20amet&receipents= , &sender=PROAKTIF

Merhaba Güncel API Dokümantasyonu.

Merhaba Güncel API Dokümantasyonu.

Merhaba Güncel API Dokümantasyonu.

API v1.0

NETGSMSMS. VER 5.6.0

TC KİMLİK NO SMS GÖNDERİM SOAP API

BOTAN SMS APİ DÖKÜMANI. Versiyon 1.0

VIDEOCELL API. Versiyon 1.0.0

GOLDMESAJ SMS API DÖKÜMANI

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

HSancak Nesne Tabanlı Programlama I Ders Notları

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

Global Haberleşme API Kullanıcı Notları

Doküman JETSMS XML Mesaj Đşlemleri Yardım Dokümanı Tarih Sürüm 1.1.0

SMS API. KobiKom Telekomunikasyon A.Ş. SMS API Kullanım Bilgilerini İçerir. Tel: Fax:

JETSMS XML Mesaj İşlemleri Yardım Dokümanı Tarih Sürüm XML ile Mesaj İşlemleri

Tel : 0(532) Web : E-Posta : info@kayikcioglugrup.com. İLETİ PAKETİ API (Entegrason) Dökümanı

MOBILEPAX SOAP PRODUCT API KULLANIM ŞEKLİ

TC KİMLİK NO SMS GÖNDERİM XML API

COM API v.1.1 BELGE SÜRÜMÜ : 1.1

MARKAM SMS SMS GÖNDERİM WEB SERVİSLERİ VERSİYON 1.4

Ürün Ekleme Kitapçığı

BAUHAUS B2B Web Servis Dökümantasyonu

ENVİSTA ARM MERKEZ YAZILIMINA VERİ AKTARMA PROSEDÜRÜ

Submit metodu birden fazla numaraya aynı içerikli kısa mesaj gönderimi için kullanılmaktadır.

C#.Net & Linq (Language Integrated Query)

VKV Koç Özel İlkokulu, Ortaokulu ve Lisesi. K12Net Veli Yardım Kılavuzu

JAVA API v2.0 Belge sürümü: 2.0.2

AJANS İLETİŞİM API XML API v İçindekiler. 1. AMAÇ - Sayfa 2

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

MARKAM SMS SMS GÖNDERİM WEB SERVİSLERİ VERSİYON 1.1

MOKA ÖDEME SERVİSİ IFRAME ENTEGRASYON DOKÜMANI

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

MOKA ÖDEME SERVİSİ BAYİ İŞLEMLERİ ENTEGRASYON DOKÜMANI

XML ile Mesaj İşlemleri

Mikro Ayarları. Mikro Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.


3K TELEKOM APİ DÖKÜMANI VER:5.1.0 PRO

C# Console Uygulamaları ifelse Yapıları 2

MOKA ÖDEME SERVİSİ ORTAK ÖDEME SAYFASI ENTEGRASYON DOKÜMANI V

MARKAM SMS SMS GÖNDERİM WEB SERVİSLERİ VERSİYON 1.2

Vega Ayarları. Vega Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.

3G Sms&MMS GateWay Xml Interface

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri


AKM SMS APİ DÖKÜMANI. VER:6.4.2 BETA ~ 1 ~

COM API v2.0 Belge sürümü : 2.0.3

SMSEXPLORER XML API. XML API KILAVUZU v.1.0

VKV Koç Özel İlkokulu, Ortaokulu ve Lisesi. K12Net Veli Yardım Kılavuzu

Kargo Modülü. Diğer modüller ile entegre çalışan Kargo modülü ile satış irsaliyesifaturasıoluşturduktan

Adım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011

asmmiz.com Randevu Web Servisi Kullanım Klavuzu

ANADOLU ÜNİVERSİTESİ GÖREVLİ İŞLEMLERİ SİSTEMİ

XML ile Mesaj Đşlemleri

IdeaSoft E-Ticaret ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu

Xml Arayüzleri. 6. Sms To Multisenders (Farklı Mesajların Farklı Numaralara Yollanması)

SOAP API. Mobildev Toplu Mesajlaşma API

1. Excel Dönüşümü : 2. Rapor Master Tanımları :

IdeaSoft E-Ticaret ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu

3G SMS & MMS GateWay Xml Interface

VERİ GÖNDERME PROGRAMI KULLANMA KILAVUZU (Tesisler tarafından kullanılacak)

FOSHARE UYGULAMASI Güvenli Dosya Alışverişi


MOBILEPAX ENTERPRISE API (WEB SERVİS)

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

Basit bir web uygulaması

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM, İKTİSAT VE İŞLETME FAKÜLTESİ DİYARBAKIR İL SINAV KOORDİNATÖRLÜĞÜ


XML API v2.0 Belge sürümü : 2.0.2

Bİ L 131 Hafta 2. 1) Bilgisayara Java SE Development Kit 7 kurulması

C# da basit console uygulamaları. C# da basit console uygulamaları

Birtel İletişim Teknolojileri

MARKAM SMS SMS GÖNDERİM WEB SERVİSLERİ VERSİYON 1.6

KLU AÇIK ERİŞİM VERİ GİRİŞ KILAVUZU

İşe Giriş/Çıkış Bildirgesi ve E-bildige nin Sgk Web Sitesine Aktarımında Yenilik. 1.1 Sgk Kullanıcı Adı ve Şifresinin Programda Tanımlanması

Sıcak Tahsilat Web Servisleri Yapısı

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

I-TEVKİFATA TABİ İŞLEMLERE AİT SATIŞ FATURASI LİSTESİ

BOTAŞ EBT BİLGİ YÖNETİM SİSTEMİ WEB SERVİSLERİ

KLU AÇIK ERİŞİM VERİ GİRİŞ KILAVUZU

HTTP/HTTPS API v2.0 Belge sürümü : 2.0.0

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MOKA ÖDEME SERVİSİ PAZAR YERİ ENTEGRASYON DOKÜMANI

App İnventor-Pide Sipariş Uygulaması

Lambda İfadeleri (Lambda Expressions)

BLGM 354 DENEY 1 * GİRİŞ

SQL Uyarı Programı Kurulum ve Kullanımı

Broker, Acente, Banka Online Sigortacılık Portali

ICE BİLİŞİM TEKNOLOJİLERİ WEB SERVİS KILAVUZU. SERVİS LİNK: DÜZENLEME TABLOSU

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Coslat Monitor (Raporcu)

Transkript:

V-Count API v3.6 İçindekiler 1. İnsan Sayma Verilerinin Dışa Aktarımı... 2 2. Mağaza Kamera Yapısının Dışa Aktarımı... 6 3. Günlük Ciro, Fiş, Stok ve Ürün Adedi Bilgilerinin İçe Aktarımı... 8 4. Saatlik Ciro, Fiş, Stok ve Ürün Adedi Bilgilerinin İçe Aktarımı... 9 5. Etkinliklerin İçe Aktarımı... 11 6. Hava Durumu Verilerinin Dışa Aktarımı... 12 7. Mağaza Önü İnsan Sayma Verilerinin Dışa Aktarımı... 16 8. Hata Tipleri... 20 9. API Kullanımı Örnekleri... 21 10. Sorun Giderme... 23 1

1. İnsan Sayma Verilerinin Dışa Aktarımı - Verilerin dışa aktarımı için kullanıcı POST metodu ile sunucuya istek (request) göndermelidir. Bu isteğin oluşturulmasından ve POST metoduyla gönderilmesinden sonra, kullanıcının seçtiği dönüş tipine göre sql, xml veya json formatında dönüş olacaktır. - İnsan Sayma sonuçları için istekler https://cloud.v-count.com/vcountapi/vcountapi.php adresine gönderilecektir. - Değişkenler POST metodu ile bu sayfaya gönderilmelidir. - Değişkenler username, password, start_date, finish_date, format, store şeklindedir: * Kullanıcı username kısmına firma tarafından temin edilen kullanıcı adını yazmalıdır. * Kullanıcı password kısmına firma tarafından temin edilen şifreyi yazmalıdır. * Kullanıcı elde etmek istediği verilerin başlangıç tarihini, formatı Yıl-Ay-Gün olacak şekilde start_date kısmına yazmalıdır. Kullanıcı tarih aralarına - işareti koymalıdır. Tarihin formatı Yıl-Ay-Gün şeklinde olmalıdır ve rakamlardan oluşmalıdır. Aksi takdirde hata verecektir. * Kullanıcı elde etmek istediği verilerin bitiş tarihini, formatı Yıl-Ay-Gün olacak şekilde finish_date kısmına yazmalıdır. Kullanıcı tarih aralarına - işareti koymalıdır. Tarihin formatı Yıl-Ay-Gün şeklinde olmalıdır ve rakamlardan oluşmalıdır. Aksi takdirde hata verecektir. * Kullanıcı verilerin XML olarak dönmesini istiyorsa format kısmına xml yazmalıdır. * Kullanıcı verilerin SQL olarak dönmesini istiyorsa format kısmına sql yazmalıdır. * Kullanıcı verilerin JSON olarak dönmesini istiyorsa format kısmına json yazmalıdır. * Kullanıcı tüm mağazaların verilerini almak istiyorsa store kısmına all yazmalıdır. Kullanıcı sadece tek bir mağazanın verilerini almak istiyorsa store kısmına verileri istenen mağazanın adını ya da varsa sisteme tanımlanmış kodu yazmalıdır (Mağaza kodlarının sisteme tanımlanması için şirket yetkilisi ile iletişime geçiniz). 2

Kullanıcı belli bir mağaza grubunun verilerini almak istiyorsa store kısmına istenilen mağazalara ait ortak harf grubunu yazmalıdır. Örneğin kullanıcının aşağıdaki gibi 5 mağazası var ise: 1. ANK Kizilay 2. ANK Tunali 3. IST Taksim 4. IST Kadikoy 5. IZM Gundogdu Kullanıcı store kısmına ANK yazarak 1. ve 2. mağazaların verilerini veya IST yazarak 3. ve 4. mağazaların verilerini tek seferde alabilir. - Örnek istek: * username: demo * password: 12345 * format: xml * start_date: 2015-03-15 (15 Mart 2015) * finish_date: 2015-03-17 (17 Mart 2015) * store: ANK Kizilay - Oluşturulan bu değişkenler POST metoduyla belirtilen adrese gönderilmelidir. 3

A. SQL formatı Elde edilen sql formatında, kullanıcının görmek istediği bütün veri tek bir SQL sorgu linki şeklindedir. SQL sorgusu aşağıdaki gibidir: I. Store değişkeni yerine all değeri verilirse, tüm mağazaların sayım sonuçları sql şeklinde elde edilir: INSERT INTO `STATS` (`STORE`, `TIME_FORMATTED`, `IN`) VALUES ( demomagaza1, 2015-03-15 15:00:00, 200); INSERT INTO `STATS` (`STORE`, `TIME_FORMATTED`, `IN`) VALUES ( demomagaza2, 2015-03-15 15:00:00, 210); II. Store değişkeni yerine mağaza adı verilirse, o mağazanın sayım sonuçları sql formatında elde edilir: INSERT INTO `STATS` (`STORE`, `TIME_FORMATTED`, `IN`) VALUES ( demomagaza1, 2015-03-15 15:00:00, 210); INSERT INTO `STATS` (`STORE`, `TIME_FORMATTED`, `IN`) VALUES ( demomagaza1, 2015-03-15 16:00:00, 220); B. XML formatı Elde edilen XML formatında, kullanıcının görmek istediği bütün veri tek bir XML şeklindedir. XML aşağıdaki gibidir: I. Store değişkeni yerine all değeri verilirse, tüm mağazaların sayım sonuçları XML formatında elde edilir: <store0> <store>demomagaza1</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <in>220</in> </store0> <store0> <store>demomagaza2</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <in>250</in> </store0> 4

Store değişkeni yerine all değeri verilirse ve sistemde mağaza kodları tanımlı ise, tüm mağazaların sayım sonuçları aşağıdaki gibi elde edilir: <store0> <store_id>ab123</store_id> <store>demomagaza1</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <in>220</in> </store0> <store0> <store_id>ab567</store_id> <store>demomagaza2</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <in>250</in> </store0> II. Store değişkeni yerine mağaza adı verilirse, o mağazanın sayım sonuçları XML formatında elde edilir: <store0> <store>demomagaza</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <in>220</in> </store0> Store değişkeni yerine mağaza adı verilirse ve sistemde mağaza kodları tanımlı ise, o mağazanın sayım sonuçları aşağıdaki gibi elde edilir: <store0> <store_id>ab123</store_id> <store>demomagaza</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <in>220</in> </store0> 5

C. JSON formatı Elde edilen JSON formatında kullanıcının görmek istediği bütün veri tek bir JSON şeklindedir. JSON aşağıdaki gibidir: I. Store değişkeni yerine all değeri verilirse, tüm mağazaların sayım sonuçları JSON formatında elde edilir: [ { store : demomagaza1, timeformatted : 2015-03-16 09:00:00, in :200}, { store : demomagaza2, timeformatted : 2015-03-16 09:00:00, in :210}, ] II. Store değişkeni yerine mağaza adı verilirse, o mağazanın sayım sonuçları JSON formatında elde edilir: [ { store : demomagaza1, timeformatted : 2015-03-16 09:00:00, in :200}, { store : demomagaza1, timeformatted : 2015-03-16 10:00:00, in :210}, ] 2. Mağaza Kamera Yapısının Dışa Aktarımı - Mağaza kamera yapısının dışa aktarımı için kullanıcı, verilerin dışarı aktarımında olduğu gibi bir istek hazırlamalıdır. İstek POST metoduyla gönderildikten sonra mağaza kamera yapısı xml formatında dönecektir. - Mağaza kamera yapısı için istek https://cloud.v-count.com/vcountapi/clientstores.php adresine gönderilmelidir. - Değişkenler POST metoduyla gönderilmelidir. - Değişkenler sırasıyla username ve password şeklindedir: - Örnek istek: * Kullanıcı sorgu linkinin username kısmına firma tarafından temin edilen kullanıcı adını yazmalıdır. * Kullanıcı sorgu linkinin password kısmına firma tarafından temin edilen şifreyi yazmalıdır. * username: demo * password: 12345 6

A. Dönülen XML içeriği Kullanıcının görmek istediği bütün veri tek bir XML öğesi şeklindedir. XML öğeleri aşağıdaki formata sahiptir: <store> <storename>magaza_adi1</storename> <door> <doorname>kapi_adi1_1</doorname> <device> <devicename>cihaz_adi1_1_1</devicename> <deviceid>1001</deviceid> </device> </door> <door> <doorname>kapi_adi1_2</doorname> <device> <devicename>cihaz_adi1_2_1</devicename> <deviceid>1002</deviceid> </device> <device> <devicename>cihaz_adi1_2_2</devicename> <deviceid>1003</deviceid> </device> </door> </store> <store> <storename>magaza_adi2</storename> <door> <doorname>kapi_adi2_1</doorname> <device> <devicename>cihaz_adi2_1_1</devicename> <deviceid>1004</deviceid> </device> </door> </store> 7

3. Günlük Ciro, Fiş, Stok ve Ürün Adedi Bilgilerinin İçe Aktarımı - Önemli not: Kullanıcı günlük ciro, fiş, stok ve ürün adedi verisi girmek isterse saatlik veri girme seçeneğini kullanmamalıdır. - Kullanıcı bilgileri içe aktarmak için, verilerin dışarı aktarımında olduğu gibi bir istek hazırlamalıdır. Sorgu POST metoduyla gönderildikten sonra verilerin içe aktarımını tamamlanır. - Ciro, fiş, stok ve ürün adedi bilgilerinin içe aktarımı için sorgu https://cloud.v-count.com/vcountapi/sales.php adresine gönderilmelidir. - Değişkenler sırasıyla username, password, date, store, sales, transaction, checkouts ve units şeklindedir: * Kullanıcı username kısmına firma tarafından temin edilen kullanıcı adını yazmalıdır. * Kullanıcı password kısmına firma tarafından temin edilen şifreyi yazmalıdır. * Kullanıcı verilerini eklemek veya değiştirmek istediği mağazanın adını store kısmına yazmalıdır. * Kullanıcı ciro/fiş bilgilerini eklemek veya güncellemek istediği tarihi, formatı Yıl- Ay-Gün olacak şekilde date kısmına yazmalıdır. Kullanıcı tarih aralarına - işareti koymalıdır. Tarihin formatı Yıl-Ay-Gün şeklinde olmalıdır ve rakamlardan oluşmalıdır. Aksi takdirde hata verecektir. * Kullanıcı sales kısmına ciro bilgisini girmelidir. Ciro bilgisi arada virgül ya da nokta olmadan yazılmalıdır ve sayı değeri girilmelidir. Bilgi girilmek istenmiyorsa 0 olarak gönderilebilir ya da boş bırakılabilir. * Kullanıcı transaction kısmına fiş bilgisini girmelidir. Fiş bilgisi arada virgül ya da nokta olmadan yazılmalıdır ve sayı değeri girilmelidir. Bilgi girilmek istenmiyorsa 0 olarak gönderilebilir ya da boş bırakılabilir. * Kullanıcı checkouts kısmına stok bilgisini girmelidir. Stok bilgisi arada virgül ya da nokta olmadan yazılmalıdır ve sayı değeri girilmelidir. Bilgi girilmek istenmiyorsa 0 olarak gönderilebilir ya da boş bırakılabilir. 8

- Örnek istek: * Kullanıcı units kısmına satılan ürün adedi bilgisini girmelidir. Ürün adedi bilgisi arada virgül ya da nokta olmadan yazılmalıdır ve sayı değeri girilmelidir. Bilgi girilmek istenmiyorsa 0 olarak gönderilebilir ya da boş bırakılabilir. * username: demo * password: 12345 * store: IST Kadikoy * date: 2015-03-17 (17 Mart 2015) * sales: 15500 * transaction: 150 * checkouts: 200 * units: 400 4. Saatlik Ciro, Fiş, Stok ve Ürün Adedi Bilgilerinin İçe Aktarımı - Önemli not: Kullanıcı ciro, fiş, stok ve ürün adedi bilgilerini saatlik olarak girmeyi tercih ederse günlük veri girme seçeneğini kullanmamalıdır. Sistem saatlik girilen verileri günlük olarak senkronize etmektedir. - Kullanıcı saatlik bilgileri içe aktarmak için, verilerin dışarı aktarımında olduğu gibi bir istek hazırlamalıdır. - Ciro, fiş, stok ve ürün adedi bilgilerinin içe aktarımı için sorgu https://cloud.v-count.com/vcountapi/sales_hourly.php adresine gönderilmelidir. - Değişkenler username, password, date, hour, store, sales, transaction, checkouts ve units şeklindedir: * Kullanıcı username kısmına firma tarafından temin edilen kullanıcı adını yazmalıdır. * Kullanıcı password kısmına firma tarafından temin edilen şifreyi yazmalıdır. * Kullanıcı verilerini eklemek veya değiştirmek istediği mağazanın adını / kodunu store kısmına yazmalıdır. 9

- Örnek istek: * Kullanıcı ciro, fiş ve checkout bilgilerini eklemek veya güncellemek istediği tarihi, formatı Yıl-Ay-Gün olacak şekilde date kısmına yazmalıdır. Kullanıcı tarih aralarına - işareti koymalıdır. Tarihin formatı Yıl-Ay-Gün şeklinde olmalıdır ve rakamlardan oluşmalıdır. Aksi takdirde hata verecektir. * Kullanıcı saat bilgisini hour kısmına yazmalıdır. Kullanıcı geçerli bir saat değeri (0 ve 23 arasında) vermelidir. Aksi takdirde hata verecektir. * Kullanıcı sales kısmına ciro bilgisini girmelidir. Ciro bilgisi arada virgül ya da nokta olmadan yazılmalıdır ve sayı değeri girilmelidir. Bilgi girilmek istenmiyorsa 0 olarak gönderilebilir ya da boş bırakılabilir. * Kullanıcı transaction kısmına fiş bilgisini girmelidir. Fiş bilgisi arada virgül ya da nokta olmadan yazılmalıdır ve sayı değeri girilmelidir. Bilgi girilmek istenmiyorsa 0 olarak gönderilebilir ya da boş bırakılabilir. * Kullanıcı checkouts kısmına stok bilgisini girmelidir. Stok bilgisi arada virgül ya da nokta olmadan yazılmalıdır ve sayı değeri girilmelidir. Bilgi girilmek istenmiyorsa 0 olarak gönderilebilir ya da boş bırakılabilir. * Kullanıcı units kısmına ürün adedi bilgisini girmelidir. Ürün adedi bilgisi arada virgül ya da nokta olmadan yazılmalıdır ve sayı değeri girilmelidir. Bilgi girilmek istenmiyorsa 0 olarak gönderilebilir ya da boş bırakılabilir. * username: demo * password: 12345 * store: IST Kadikoy * date: 2015-03-17 (17 Mart 2015) * hour: 18 (18:00) * sales: 15500 * transaction: 150 * checkouts: 10 * units: 400 10

5. Etkinliklerin İçe Aktarımı - Etkinliklerin içe aktarımı için kullanıcı bir istek hazırlamalıdır. - Bu istek https://cloud.v-count.com/vcountapi/events.php adresine gönderilmelidir. - Değişkenler username, password, start_date, finish_date, store_names, event_name, event_type ve explanation şeklindedir: * Kullanıcı username kısmına firma tarafından temin edilen kullanıcı adını yazmalıdır. * Kullanıcı password kısmına firma tarafından temin edilen şifreyi yazmalıdır. * Kullanıcı etkinliğin başlangıç tarihini start_date kısmına yazmalıdır. Tarih formatı YYYY-MM-DD HH:mm:00 şeklinde olmalıdır; aksi takdirde sistem hata verir. YYYY: Yılın 4 haneli sayısal, tam gösterimi (örn. 2015). MM: Ayın sıfır dolgulu sayısal gösterimi (örn. 06). DD: Ay günlerinin sıfır dolgulu iki haneli gösterimi (örn. 08 veya 24). HH: Saatin, 24-saatlik sıfır dolgulu gösterimi (örn. 05 veya 22). mm: Sıfır dolgulu dakika gösterimi (örn. 05 veya 30). * Kullanıcı etkinliğin bitiş tarihini finish_date kısmına yazmalıdır. Tarih formatı YYYY-MM-DD HH:mm:00 şeklinde olmalıdır; aksi takdirde sistem hata verir. YYYY: Yılın 4 haneli sayısal, tam gösterimi (örn. 2015). MM: Ayın sıfır dolgulu sayısal gösterimi (örn. 06). DD: Ay günlerinin sıfır dolgulu iki haneli gösterimi (örn. 08 veya 24). HH: Saatin, 24-saatlik sıfır dolgulu gösterimi (örn. 05 veya 22). mm: Sıfır dolgulu dakika gösterimi (örn. 05 veya 30). * Kullanıcı etkinliğin gerçekleşeceği mağazaları store_names kısmına yazmalıdır. Mağaza isimleri / kodları virgül, ile birbirlerinden ayrılmalıdır. * Kullanıcı etkinlik ismini event_name kısmına yazmalıdır. 11

* Kullanıcı etkinlik türünü event_type kısmına yazmalıdır. Olası etkinlik türleri: Konser Kampanya Yetişkin Çocuk - Örnek istek: * Kullanıcı etkinlik içeriğinin kısa bir özetini explanation kısmına yazmalıdır. Açıklama 1024 karakter sayısını geçmemelidir. * username: demo * password: 12345 * start_date: 2015-03-17 10:00:00 * finish_date: 2015-03-24 19:30:00 * store_names: ANK Kizilay, IST Kadikoy, IZM Gundogdu * event_name: %50 İndirim * event_type: Kampanya * explanation: Bütün indirimlerde %50 indirim 6. Hava Durumu Verilerinin Dışa Aktarımı - Verilerin dışa aktarımı için kullanıcı POST metodu ile sunucuya istek (request) göndermelidir. Bu isteğin oluşturulmasından ve POST metoduyla gönderilmesinden sonra, kullanıcının seçtiği dönüş tipine göre xml veya json formatında dönüş olacaktır. - Hava durumu sonuçları için istekler https://cloud.v-count.com/vcountapi/weather.php adresine gönderilecektir. - Değişkenler POST metodu ile bu sayfaya gönderilmelidir. - Değişkenler username, password, format, start_date, finish_date, store, unit şeklindedir: * Kullanıcı username kısmına firma tarafından temin edilen kullanıcı adını yazmalıdır. * Kullanıcı password kısmına firma tarafından temin edilen şifreyi yazmalıdır. 12

* Kullanıcı elde etmek istediği verilerin başlangıç tarihini, formatı Yıl-Ay-Gün olacak şekilde start_date kısmına yazmalıdır. Kullanıcı tarih aralarına - işareti koymalıdır. Tarihin formatı Yıl-Ay-Gün şeklinde olmalıdır ve rakamlardan oluşmalıdır. Aksi takdirde hata verecektir. * Kullanıcı elde etmek istediği verilerin bitiş tarihini, formatı Yıl-Ay-Gün olacak şekilde finish_date kısmına yazmalıdır. Kullanıcı tarih aralarına - işareti koymalıdır. Tarihin formatı Yıl-Ay-Gün şeklinde olmalıdır ve rakamlardan oluşmalıdır. Aksi takdirde hata verecektir. * Kullanıcı verilerin XML olarak dönmesini istiyorsa format kısmına xml yazmalıdır. * Kullanıcı verilerin JSON olarak dönmesini istiyorsa format kısmına json yazmalıdır. * Kullanıcı verilerin Celsius biriminde dönmesini istiyorsa unit kısmına C, Fahrenheit biriminde dönmesini istiyorsa unit kısmına F yazmalıdır. * Kullanıcı tüm mağazaların verilerini almak istiyorsa store kısmına all yazmalıdır. Kullanıcı sadece tek bir mağazanın verilerini almak istiyorsa store kısmına verileri istenen mağazanın adını ya da varsa sisteme tanımlanmış kodu yazmalıdır (Mağaza kodlarının sisteme tanımlanması için şirket yetkilisi ile iletişime geçiniz). Kullanıcı belli bir mağaza grubunun verilerini almak istiyorsa store kısmına istenilen mağazalara ait ortak harf grubunu yazmalıdır. Örneğin kullanıcının aşağıdaki gibi 5 mağazası var ise: 1. ANK Kizilay 2. ANK Tunali 3. IST Taksim 4. IST Kadikoy 5. IZM Gundogdu Kullanıcı store kısmına ANK yazarak 1. ve 2. mağazaların verilerini veya IST yazarak 3. ve 4. mağazaların verilerini tek seferde alabilir. 13

- Örnek istek: * username: demo * password: 12345 * format: xml * start_date: 2015-03-15 (15 Mart 2015) * finish_date: 2015-03-17 (17 Mart 2015) * store: ANK Kizilay * unit: C - Oluşturulan bu değişkenler POST metoduyla belirtilen adrese gönderilmelidir. A. XML formatı Elde edilen XML formatında, kullanıcının görmek istediği bütün veri tek bir XML şeklindedir. XML aşağıdaki gibidir: I. Store değişkeni yerine all değeri verilirse, tüm mağazaların sayım sonuçları XML formatında elde edilir: <weather> <storename>demomagaza1</storename> <date>2012-08-30</date> <degree>36</degree> <condition>açik</condition> </weather> <weather> <storename> DemoMagaza2</storeName> <date>2012-08-30</date> <degree>35</degree> <condition>az bulutlu</condition> </weather> 14

II. Store değişkeni yerine mağaza adı verilirse, o mağazanın sayım sonuçları XML formatında elde edilir: <weather> <storename>demomagaza</storename> <date>2012-08-30</date> <degree>36</degree> <condition>açik</condition> </weather> <weather> <storename>demomagaza</storename> <date>2012-08-31</date> <degree>35</degree> <condition>az bulutlu</condition> </weather> B. JSON formatı Elde edilen JSON formatında kullanıcının görmek istediği bütün veri tek bir JSON şeklindedir. JSON aşağıdaki gibidir: I. Store değişkeni yerine all değeri verilirse, tüm mağazaların sayım sonuçları JSON formatında elde edilir: [ { "NAME": " DemoMagaza1 ", "DATE": "2012-08-30", "TEMPERATURE": "25", "CONDITION": "açik"}, {"NAME": " DemoMagaza2 ", "DATE": "2012-08-30", "TEMPERATURE": "32", "CONDITION": "az bulutlu"}, ] II. Store değişkeni yerine mağaza adı verilirse, o mağazanın sayım sonuçları JSON formatında elde edilir: [ { "NAME": " DemoMagaza ", "DATE": "2013-05-20", "TEMPERATURE": "24", "CONDITION": "açik"}, {"NAME": " DemoMagaza ", "DATE": "2013-05-21", "TEMPERATURE": "22", "CONDITION": "az bulutlu"}, ] 15

7. Mağaza Önü İnsan Sayma Verilerinin Dışa Aktarımı - Verilerin dışa aktarımı için kullanıcı POST metodu ile sunucuya istek (request) göndermelidir. Bu isteğin oluşturulmasından ve POST metoduyla gönderilmesinden sonra, kullanıcının seçtiği dönüş tipine göre sql, xml veya json formatında dönüş olacaktır. - Mağaza Önü İnsan Sayma sonuçları için istekler https://cloud.v-count.com/vcountapi/street_count.php adresine gönderilecektir. - Değişkenler POST metodu ile bu sayfaya gönderilmelidir. - Değişkenler username, password, start_date, finish_date, format, store şeklindedir: * Kullanıcı username kısmına firma tarafından temin edilen kullanıcı adını yazmalıdır. * Kullanıcı password kısmına firma tarafından temin edilen şifreyi yazmalıdır. * Kullanıcı elde etmek istediği verilerin başlangıç tarihini, formatı Yıl-Ay-Gün olacak şekilde start_date kısmına yazmalıdır. Kullanıcı tarih aralarına - işareti koymalıdır. Tarihin formatı Yıl-Ay-Gün şeklinde olmalıdır ve rakamlardan oluşmalıdır. Aksi takdirde hata verecektir. * Kullanıcı elde etmek istediği verilerin bitiş tarihini, formatı Yıl-Ay-Gün olacak şekilde finish_date kısmına yazmalıdır. Kullanıcı tarih aralarına - işareti koymalıdır. Tarihin formatı Yıl-Ay-Gün şeklinde olmalıdır ve rakamlardan oluşmalıdır. Aksi takdirde hata verecektir. * Kullanıcı verilerin XML olarak dönmesini istiyorsa format kısmına xml yazmalıdır. * Kullanıcı verilerin SQL olarak dönmesini istiyorsa format kısmına sql yazmalıdır. * Kullanıcı verilerin JSON olarak dönmesini istiyorsa format kısmına json yazmalıdır. * Kullanıcı tüm mağazaların verilerini almak istiyorsa store kısmına all yazmalıdır. Kullanıcı sadece tek bir mağazanın verilerini almak istiyorsa store kısmına verileri istenen mağazanın adını ya da varsa sisteme tanımlanmış kodu yazmalıdır (Mağaza kodlarının sisteme tanımlanması için şirket yetkilisi ile iletişime geçiniz). 16

Kullanıcı belli bir mağaza grubunun verilerini almak istiyorsa store kısmına istenilen mağazalara ait ortak harf grubunu yazmalıdır. Örneğin kullanıcının aşağıdaki gibi 5 mağazası var ise: 1. ANK Kizilay 2. ANK Tunali 3. IST Taksim 4. IST Kadikoy 5. IZM Gundogdu Kullanıcı store kısmına ANK yazarak 1. ve 2. mağazaların verilerini veya IST yazarak 3. ve 4. mağazaların verilerini tek seferde alabilir. - Örnek istek: * username: demo * password: 12345 * format: xml * start_date: 2015-03-15 (15 Mart 2015) * finish_date: 2015-03-17 (17 Mart 2015) * store: ANK Kizilay - Oluşturulan bu değişkenler POST metoduyla belirtilen adrese gönderilmelidir. A. SQL formatı Elde edilen sql formatında, kullanıcının görmek istediği bütün veri tek bir SQL sorgu linki şeklindedir. SQL sorgusu aşağıdaki gibidir: I. Store değişkeni yerine all değeri verilirse, tüm mağazaların mağaza önü sayım sonuçları sql şeklinde elde edilir: INSERT INTO `STREET_STATS` (`STORE`, `TIME_FORMATTED`, `STREET_COUNT`) VALUES ( demomagaza1, 2015-03-15 15:00:00, 200); INSERT INTO ` STREET_STATS` (`STORE`, `TIME_FORMATTED`, `STREET_COUNT`) VALUES ( demomagaza2, 2015-03-15 15:00:00, 210); 17

II. Store değişkeni yerine mağaza adı verilirse, o mağazanın mağaza önü sayım sonuçları sql formatında elde edilir: INSERT INTO ` STREET_STATS` (`STORE`, `TIME_FORMATTED`, `STREET_COUNT`) VALUES ( demomagaza1, 2015-03-15 15:00:00, 210); INSERT INTO ` STREET_STATS` (`STORE`, `TIME_FORMATTED`, `STREET_COUNT`) VALUES ( demomagaza1, 2015-03-15 16:00:00, 220); B. XML formatı Elde edilen XML formatında, kullanıcının görmek istediği bütün veri tek bir XML şeklindedir. XML aşağıdaki gibidir: I. Store değişkeni yerine all değeri verilirse, tüm mağazaların mağaza önü sayım sonuçları XML formatında elde edilir: <store0> <store>demomagaza1</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <street_count>220</street_count> </store0> <store0> <store>demomagaza2</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <street_count>250</street_count> </store0> Store değişkeni yerine all değeri verilirse ve sistemde mağaza kodları tanımlı ise, tüm mağazaların mağaza önü sayım sonuçları aşağıdaki gibi elde edilir: <store0> <store_id>ab123</store_id> <store>demomagaza1</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <street_count>220</street_count> </store0> <store0> <store_id>ab567</store_id> <store>demomagaza2</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <street_count>250</street_count> </store0> 18

II. Store değişkeni yerine mağaza adı verilirse, o mağazanın mağaza önü sayım sonuçları XML formatında elde edilir: <store0> <store>demomagaza</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <street_count>220</street_count> </store0> Store değişkeni yerine mağaza adı verilirse ve sistemde mağaza kodları tanımlı ise, o mağazanın mağaza önü sayım sonuçları aşağıdaki gibi elde edilir: <store0> <store_id>ab123</store_id> <store>demomagaza</store> <timeformatted>2012-12-20 15:00:00</timeformatted> <street_count>220</street_count> </store0> C. JSON formatı Elde edilen JSON formatında kullanıcının görmek istediği bütün veri tek bir JSON şeklindedir. JSON aşağıdaki gibidir: I. Store değişkeni yerine all değeri verilirse, tüm mağazaların mağaza önü sayım sonuçları JSON formatında elde edilir: [ { store : demomagaza1, timeformatted : 2015-03-16 09:00:00, street_count :200}, { store : demomagaza2, timeformatted : 2015-03-16 09:00:00, street_count :210}, ] II. Store değişkeni yerine mağaza adı verilirse, o mağazanın mağaza önü sayım sonuçları JSON formatında elde edilir: [ { store : demomagaza1, timeformatted : 2015-03-16 09:00:00, street_count :200}, { store : demomagaza1, timeformatted : 2015-03-16 10:00:00, street_count :210}, ] 19

8. Hata Tipleri - Incorrect Username or Password! : Kullanıcı adı veya şifresi yanlış girilmiştir. - Incorrect format type! : Format olarak sql, xml veya json dışında bir tip kullanmıştır. - Incorrect date format! : Tarih formatı üç parçadan oluşmuyor ( - ile ayrılmış) veya bu parçalar rakamlardan oluşmuyor demektir. - Incorrect hour format! : Geçerli bir saat değeri (0 ve 23 arası) verilmemiştir. - Incorrect store name / code! : Mağaza ismi / kodu hatalı ya da bu isimde / kodda bir mağaza bulunmuyor demektir. 20

9. API Kullanımı Örnekleri A. PHP ile API Kullanımı Bu örneği kullanabilmek için PHP nin curl uzantısını etkinleştirmek gerekmektedir. <?php //POST istemi için degiskenler $post_array = array( 'username' => "demo", 'password' => "12345", 'start_date' => "2015-01-01", 'finish_date' => "2015-01-10", 'format' => "xml", 'store' => "IST Kadikoy" ); $url = "https://cloud.v-count.com/vcountapi/vcountapi.php"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_array); //POST istemi sonucu $output = curl_exec($ch); //Donulen hata parametreleri $curlerrcode = curl_errno($ch); $curlerr = curl_error($ch);?> curl_close($ch); curl hakkında daha fazla bilgi için: - http://php.net/manual/en/book.curl.php - http://codular.com/curl-with-php 21

B. C# ile API Kullanımı using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Net; using System.Collections.Specialized; namespace vcount_api { class Program { static void Main(string[] args) { //POST istemi için degiskenler string username = "demo", password = "12345", start_date = "2015-01-01", finish_date = "2015-01-10", format = "xml", store = "all"; string uri = "https://cloud.v-count.com/vcountapi/vcountapi.php"; using (WebClient client = new WebClient()) { byte[] response = client.uploadvalues(uri, new NameValueCollection() { { "username", username }, { "password", password }, { "start_date", start_date }, { "finish_date", finish_date }, { "format", format }, { "store", store } }); } } } } string result = System.Text.Encoding.UTF8.GetString(response); Console.WriteLine(result); 22

10. Sorun Giderme Verilerin dışarı aktarılması için https://cloud.v-count.com/vcountapi/vcountapi.php adresine Internet Tarayıcı (Firefox, Chrome vs) kullanarak girmek DOĞRU DEĞİLDİR. Eğer tarayıcı kullanarak API üzerinden sorgu gönderilmek isteniyorsa, Chrome tarayıcısı kullanılarak Advanced REST Client isimli eklenti indirilebilir. Advanced REST Client eklentisini indirmek için: https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo Bu eklenti kurulduktan sonra aşağıdaki resimde görülen yere API istek URL sinin yazılması gerekmektedir. POST metodu ile sunucuya istek göndermek için ilgili formun aşağıdaki gibi doldurulması gerekmektedir. 23

Eklenti üzerindeki form yukarıdaki gibi doldurulup SEND (Gönder) butonuna basıldıktan sonra, yapılan doğru bir POST isteği aşağıdaki gibi sonuçlanacaktır. 24