Ganipara REST API v1.0 Dokümantasyonu

Anasayfa/ API/ REST API v1.0

Ganipara JS v1.0

Ganipara JS API'si ile 3.parti bir websitesi, blog vb benzeri bir siteye alışveriş sepeti özelliği kazandırabilirsiniz. Bu API ile 3.parti web sitesindeki kullanıcılara alışveriş yapma imkanı tanıyın

Başlarken

Bir websiteniz var bu ve bu websitesinden ürün satmak istiyorsunuz. Ancak mevcut websitenizi çeşitli kaygılardani düşüncelerden dolayı bir eticaret yazılımı ile değiştirmek istemiyorsunuz. Belki bir sanatçısınız ve bir sanatçıya yakışan özel tasarım bir websiteniz var ve bunu sitenizi eticaret sitesi görünümlü bir hale getirmek istemiyorsunuz. Merak etmeyin; Ganipara ile mevcut websitenizin tasarıma dokunmadan ürünleri kendi websitenizden kolaylıkla satabilirsiniz.

Ganipara JS API

Aşağıdaki kodu websitenizin <head></head> alanı içerisinde bir yere yerleştirin. Bu kodun içerisinde 'shop_id' değeri Ganipara mağazanızın alt alan adi ile değiştirilmelidir. Örneğin ganipara mağazanız benimmagazam.ganipara.com adresinde hizmet veriyorsa 'shop_id' değeri olarak "benimmagazam" değeri kullanılmalıdır.

Bu javascript kodu websitenizin Ganipara alt yapısını kullanmasına olanak verir. Gerekli kütüphaneler asenkron bir şekilde yüklendiğinden web sitenizde herhangibir yavaşlamaya neden olmayacaktır.

<script>
var ganipara = ganipara || {};
var _gpv = _gpv || [];

_gpv.push(['shop_id', 'ankara']);
// Ekstra parametreler buraya eklenebilir.

(function (a, b) {
    a.onerror = function () {
    };
    var d = function () {
        var a = b.createElement("script"), c = b.getElementsByTagName("script")[0];
        a.src = "https://cdn.ganipara.com/script/api/v1.0/lib.js";
        a.async = !0;
        c.parentNode.insertBefore(a, c)
    };
    a.addEventListener ? a.addEventListener("load", d, !1) : a.attachEvent("onload", d)
})(window, document);
</script>

Ganipara JS API'si yüklerken bazı farklı parametrelerde kullanılabilir. Bu parametreler _gpv.push(['anahtar','deger']) şeklinde tanımlanır. Aşağıda kullanılabilen parametreleri inceleyebilirsiniz.

Booelan değerler tırnaksız olarak kullanılır
Paremetre Tür Varsayılan
skip_css
JS kütüphanesi Ganipara CSS dosyasını yüklesin mi?

Eğer kullanıcılara sepeti websitenizde bir pencere (modal) içerisinde göstermek isterseniz veya Ganipara butonlarını kullanmak istiyorsanız CSS dosyasının yüklenmesi gerekmektedir.

Boolean true
skip_jquery
JS kütüphanesi jQuery kütüphanesini yüklesin mi?

Ganipara JS kütüphanesi jQuery kütüphanesine ihtiyaç duymaktadır. Eğer websitenizde jQuery kullanmıyorsanız kütüphane otomatik olarak yükleme işlemini yapar. Eğer kullanıyorsanız bu parametreyi 'false' yapabilirsiniz. Ganipara JS kütüphanesi gerekli jQuery versiyonun bulunamaması durumunda bu seçenekten bağımsız olarak jQuery kütüphanesini yükler. Yüklenen jQuery kütüphanesi varsa mevcut jQuery kütüphanesi ile çakışma yapmaz

Boolean false
skip_baselib
JS kütüphanesi Ganipara temeş kütüphanesini yüklesin mi?

Eğer kullanıcılara sepeti websitenizde bir pencere (modal) içerisinde göstermek isterseniz veya hazır javascript metotlarını kullanmak isterseniz.

Boolean false
debug
JS kütüphanesi console'a veri göndersin mi?

Test amaçlı kullanım için uygundur.

Boolean false

Hazır Bildirimi

Ganipara JS kütüphanesi websitenize yüklendikten bir javascript olayı ile sayfayı bilgilendirilir.

jQuery ile "Ganipara Hazır" olayını yakalamak için

<script>
$(document).on('GaniparaReady', function () {

    // Console bildirimi. Deneme amaçlıdır.
    console.log("GaniparaReady ");

    // .jq_getCart sınıfını taşıyan bir dom nesnesine tıklanınca
    GPjQuery(".jq_getCart").click(function () {

        // Sepeti çek
        ganipara.getCart(function (response) {
            // Console bildirimi. Deneme amaçlıdır.
            console.log(response);
        });
    });
});
</script>

Eğer jQuery kullanmıyorsanız "Ganipara Hazır" olayı aşağıdaki şekilde yakalanabilir.

<script>
function GaniparaOnReady() {

    // Sepet verisini çek
    var mycart = ganipara.getCart();

    // Ganipara olayını kayıt et.
    // Sepet penceresi (modal) kapanınca fonksiyonu çalıştır.
    ganipara.register("onGPBoxClose", function () {
        // Yapılacak işlemler
    })
}
</script>

Olaylar (Event)

Ganipara JS kütüphanesi çeşitli durumlarda olayları tetikler. Aşağıda olayların listesini ve açıklamasını bulabilirsiniz.

Olay Açıklama

onItemAdd

Sepete ürün eklenmesinden sonra tetiklenir

onItemUpdate

Sepetteki ürünün güncellenmesi ile tetiklenir

onItemRemove

Sepetten ürünün çıkarılması ile tetiklenir

onCart

Sepette bir değişlik olduğu zaman tetiklenir

onCartUpdate

Sepette ürün güncellediği zaman tetiklenir

onCartClear

Sepetin boşaltılması ile tetiklenir

onError

Bir işlem sırasında hata oluşması durumunda tetiklenir

onGPBoxClose

Ganipara penceresinin (modal) kapanması durumunda tetiklenir

Ganipara olaylarına aşağıdaki gibi kayıt olabilirsiniz

<script>
function GaniparaOnReady() {

    // Ürüne sepet eklenince
    ganipara.register("onItemAdd", function () {
        // Yapılacak işlemler
    })
}
</script>

Methodlar (Method)

Ganipara JS kütüphanesi methodlarının listesini ve açıklamasını bulabilirsiniz.

Olay Açıklama

getCartURL

Ganipara sepet adresini çek

Örnek ganipara.getCartURL(function(response){ });

getCart

Sepet verisini çek

Örnek ganipara.getCart(function(response){ });

updateItem

Sepetteki ürünü güncelle

Örnek ganipara.updateItem(rowid,quantity,function(response){ });

removeItem

Sepetten ürünü çıkar

Örnek ganipara.removeItem(rowid,function(response){ });

clear

Sepeti temizle

Örnek ganipara.clear(function(response){ });

addItem

Sepete ürün ekle

Örnek ganipara.addItem(product_hash,quantity,function(response){ console.log(response); });

checkout

Checout sayfasının adresini al

Örnek ganipara.checkout(function(response){ console.log(response); });

formatMoney

Rakamı para formatı ile formatla

Örnek ganipara.formatMoney(10);

Ganipara methodlarını aşağıdaki gibi kullanabilirsiniz.


Aşağıda methodların döndürdüğü verilere örnek bulabilirsiniz.

ganipara.getCart() JSON
{
   "items":[
      {
         "id":"product_226||AV5RTV1203",
         "rowid":"73063b3ceb0a57585166b5ac7dc4ed3b",
         "type":"product",
         "sku":"",
         "image":"url",
         "name":"TANGIBLE1386089716",
         "price":"12.00",
         "price_formatted":"12.00 TL",
         "quantity":"1",
         "variant_id":"",
         "hash":"PRODUCT-BUUTHP-H81Y1203",
         "cargo_unit":"0.00",
         "require_shipping":true,
         "subtotal":12,
         "subtotal_formatted":"12.00 TL"
      }
   ],
   "require_shipping":true,
   "total":12,
   "total_formatted":"12.00 TL",
   "total_items":1,
   "total_cargo_unit":0
}
ganipara.checkout() JSON
Result: response
{
   "status":true,
   "url":"http://checkout.ganipara.com/...."
}
ganipara.clear(function(response){}) JSON
ganipara.addItem(product_hash,quantity,function(response){}) JSON
ganipara.removeItem(rowid,function(response){}) JSON
ganipara.updateItem(rowid,quantity,function(response){}) JSON

Result: response

{
   "status":true,
   "shop_id":"ankara",
   "cart":"168lnlnjv2vnvrnk"
}
ganipara.getCartURL() METIN
"http://ankara.ganipara.com/cart/view/?cart_id=168lnlnjv2vnvrnk"
ganipara.formatMoney(10) METIN
"10.00"

Eylem (Action)

Eğer bir işlemin Ganipara penceresi (modal) içerisinde yapılmasını istiyorsanız bu durumda "action" methodunu kullanabilirsiniz.

Olay Açıklama

viewCart

Sepeti Ganipara penceresi (modal) içerisinde göster

Örnek ganipara.action('viewCart');

getCart

Ürünü ekle ve sepeti Ganipara penceresi (modal) içerisinde göster

Örnek ganipara.action('addProductCart','PRODUCT-YRJ7HR-A4KU0922'); return false;"

Eylemleri javascript içerisinde yada HTML etiketi içerisinde kullanabilirsiniz

Aşağıda HTML etiketi ile kullanım örneğini bulabilirsiniz

<!-- Sepeti Ganipara pencersinde göster -->
<a href="javascript://" onclick="ganipara.action('viewCart'); return false;" rel="nofollow">Sepeti Göster</a>

<!-- Ürünü ekle ve sepeti Ganipara pencersinde göster -->
<a href="https://magazakimligi.ganipara.com/products/add_to_cart/PRODUCT-YRJ7HR-A4KU0922" onclick="ganipara.action('addProductCart','PRODUCT-YRJ7HR-A4KU0922'); return false;" rel="nofollow">Sepete Ekle</a>    

Butonlar

Eğer Ganipara butonlarını kullanmak isterseniz <a> etiketine "gp-btn" sınıfını atayabilirsiniz.

Buna ek olarak aşağıdaki sınıflarla özelleştirme yapılabilir

CSS Sınıfı Açıklama

gp-btn-large

Büyük buton

gp-btn-green

Yeşil renk

gp-btn-blue

Mavi renk

gp-btn-orange

Turuncu renk

gp-btn-red

Kırmızı renk

gp-btn-black

Siyah renk

gp-btn-grey

Gri renk

  • Ganipara alışveriş sitesi açmak için en iyi çözüm. Tavsiye ederim

    Melike

  • Ürünlerimi internetten satmak için ihtiyaç duyduğum tek websitesi

    Orçun

Yukarı