GittiGidiyor
GittiGidiyor API

Sale Service

İstekte bulunan kurumsal kullanıcının bu servis ile gerçekleştirebileceği işlemler şunlardır: Bireysel GittiGidiyor hesabındaki satış bilgilerini listeleme ve sıralama, satış için puan ve yorum girme, girilen yoruma cevap verme gibi işlemler gerçekleştirilebilir.

getSalesByDateRange

Bu metod belirtilen tarihler arasındaki ve belirtilen durumdaki satışları görüntülemek için kullanılır.



İzin Hakları:

Bu metodda kullanıcıların güvenliği için http protokolünün temel doğrulama (basic authentication) metodu kullanılır. Bu doğrulama için gerekli bilgileri Api Anahtarları sayfanızdan kontrol edebilirsiniz. Web servis çağırımlarında kullanıcılar kendi kullanıcı adlarını ve role passwordlerini kullanmalıdırlar. Ayrıca, kurumsal servis katmanında işlem yapılır ise -servislere erişim esnasında- diğer katmanlarda olduğu gibi uygulama anahtarı, istek imzası ve o anki zaman değeri yollanarak istek (request) başına doğrulama gerçekleşir.



Erişim:

WSDL Adresi:https://dev.gittigidiyor.com:8080/listingapi/ws/IndividualSaleService?wsdl


Servis Metot İmzası:

SaleServiceResponse getSalesByDateRange(String apiKey, String sign, long time, Boolean withData, String byStatus, String byUser, String orderBy, String orderType, String startDate, String endDate, Int pageNumber, Int pageSize, String lang);


İstek Parametreleri:

apiKey: String
    Uygulamanızın anahtarı.
sign: String
    Uygulamanın o anki isteğinin imzası.
time: long
    O anki zaman.
withData: Boolean 
    true: Listelenen ürünler tüm bilgileri ile birlikte listelenir.
    false: Sadece satış kodları listelenir.
byStatus: String 
    Durum parametresi(filtresi)

    S: Kargo Yapılacaklar
    C: Onay Bekleyenler
    P: Para transferleri
    O: Tamamlananlar
    V: Aktif Satışlar
    I: İptali beklenenler
    R: İptal olanlar / İade konumunda olanlar
byUser: String
    Kullanıcı filtresi. 
orderBy: String
    Sıralama filtresi

    P: Satış koduna göre sıralama
    C: Satış fiyatına göre sıralama
    A: Son harekete göre sıralama 
orderType: String
    İstekte bulunduktan sonra dönen cevapların ID'lerinin artan ya da azalan sırada dönmesini sağlar.

    orderType=A ise artarak,
    orderType=D ise azalarak dönüş yapılır. 
startDate: String
    Başlangıç tarihi.
endDate: String
    Bitiş tarihi. 
pageNumber: Int
    Kaçıncı sayfadan başlayacak?
pageSize: Int
    Kaç kayıt listelenecek?
lang: String
    Olası bir hata anında dönen hata mesajının dilini belirtmek için kullanılır.

    Hata mesajı lang=tr ise Türkçe,
    lang=en ise İngilizce olarak çıkar.


Örnek İstek:

<sale:getSalesByDateRange>
   <apiKey>BVFMj7BXV5fEEuVh8KEAgMAeJMRNDJY6</apiKey>
   <sign>911220D6AC85518590CE70D8FFFBF4E3</sign>
   <time>1586254267097</time>
   <withData>true</withData>
   <byStatus>R</byStatus>
   <byUser></byUser>
   <orderBy>P</orderBy>
   <orderType>A</orderType>
   <startDate>01/03/2020 00:00:00</startDate>
   <endDate>07/04/2020 23:59:00</endDate>
   <pageNumber>1</pageNumber>
   <pageSize>1</pageSize>
   <lang>tr</lang>
</sale:getSalesByDateRange>


Sonuç Parametreleri:

saleCount: Int
    Dönen işlem sayısı.

saleCode: String
    Satış kodu.
status: String
    İşlemin bulunduğu statünün açıklaması.
statusCode: String
    İşlemin bulunduğu statü.
productId: Int
    Ürün tekil anahtarı.
productTitle: String
    Ürün başlığı.
price: String
    Ürün fiyatı.
cargoPayment: String
    Kargo ücretini hangi tarafın ödeyeceğini belirtir.
cargoCode: String
    Grup Gönderi Kodu(GGK).
amount: Int
    Adet.
endDate: String
    Ürün bitiş tarihi.
thumbImageLink: String
    Ürün fotoğrafı.
lastActionDate: String
    Son hareket tarihi.

buyerInfo: orderBuyerInfoType
    Alıcı bilgileri.

    username: String
        Kulanıcı adı.
    name: String
        Adı.
    surname: String
        Soyadı.
    phone: String
        Telefon numarası.
    mobilePhone: String
        Cep telefonu numarası.
    email: String
        E-mail adresi. (Bu alanın dönmesi için Müşteri Hizmetleri üzerinden e-fatura mükellefi olan satıcılar talep oluşturmalıdır.)

invoiceInfo: aleInvoiceType
    Alıcının fatura bilgileri.

    fullname: String
        Ad soyad.
    address: String
        Adres.
    district: String
        İlçe.
    cityCode: Int
        Şehir kodu.
    phoneNumber: String
        Telefon numarası.
    companyTitle: String
        Şirket ünvanı.
    tcCertificate: String
        Tc kimlik no/ Vergi no.

variantId: Long
    Varyanta ait tekil anahtar.
itemId: String
    Satışa konulan ürünün entegrasyon yapan firma tarafındaki takip kodu.

Aynı gün teslimat parametreleri:
deliveryOption: String
   Aynı gün teslim olacak siparişlerde 'SAME_DAY_DELIVERY' olacaktır.
shippingFirmName: String
   Aynı gün teslimat yapacak firma adı.
shippingFirmId: Int
   Aynı gün teslimat için kargo firmasının ID'si. Ulak için 24 kullanılacaktır. (Sözleşmeli kargo firmalarına Cargo Service > getCargoCompany metodu ile ulaşabilirsiniz.)
combinedShipping: String
   Siparişle birlikte gönderilmesi gereken başka aynı gün teslimatlı siparişler varsa (birlikte gönderim) 'Y' döner.
cargoCode: String
   Birlikte gönderilen siparişleri kargoya vermek için kullanılacak kod bu alanda dönülecektir.

Alıcı sepette öder parametreleri:
deliveryOption: String
    Alıcı Sepette Öder olacak siparişlerde 'REGULAR' olacaktır.
shippingFirmName: String
    Gönderim yapacak firma adı.
shippingFirmId: Int
   Alıcı Sepette Öder için kargo firmasının ID'si. Yurtiçi Kargo için 1 olacaktır. (Sözleşmeli kargo firmalarına Cargo Service > getCargoCompany metodu ile ulaşabilirsiniz.)
combinedShipping: String
   Siparişle birlikte gönderilmesi gereken başka Alıcı Sepette Öder'li siparişler varsa (birlikte gönderim) 'Y' döner.
cargoCode: String
   Birlikte gönderilen siparişleri kargoya vermek için kullanılacak kod bu alanda dönülecektir.


Örnek Sonuç:

<sale:getSalesByDateRangeResponse xmlns:sale="http://sale.individual.ws.listingapi.gg.com">
   <return>
      <ackCode>success</ackCode>
      <responseTime>07/04/2020 13:54:03</responseTime>
      <timeElapsed>83 ms</timeElapsed>
      <saleCount>1</saleCount>
      <sales>
         <sale>
            <saleCode>SC12345678</saleCode>
               <status>Ürün bedeli tarafınıza iade edilmiştir.</status>
               <statusCode>STATUS_GIVEN_BACK_PAYMENT</statusCode>
               <productId>123456789</productId>
               <productTitle>__ggtest API test ürünü</productTitle>
               <price>0.1</price>
               <cargoPayment>Satıcı Öder</cargoPayment>
               <cargoCode>GGK12345678</cargoCode>
               <amount>1</amount>
               <endDate>10/03/2020 10:37:58</endDate>
               <buyerInfo>
                  <username>testdenem2</username>
                  <name>ad</name>
                  <surname>soyad</surname>
                  <phone>111 1111111</phone>
                  <mobilePhone>111-1111111</mobilePhone>
                  <address>kullanıcı adresi</address>
                  <district>ilçe</district>
                  <city>il</city>
                  <zipCode/>
               </buyerInfo>
               <thumbImageLink>https://mcdn01.gittigidiyor.net/53834/tn9/538349345_tn9_0.jpg</thumbImageLink>
               <lastActionDate>06/04/2020 12:06:17</lastActionDate>
               <invoiceInfo>
                  <fullname>ad soyad</fullname>
                  <address>kullanıcı adresi</address>
                  <district>ilçe</district>
                  <cityCode>13</cityCode>
                  <zipCode>34800</zipCode>
                  <phoneNumber>1111111111</phoneNumber>
                  <companyTitle/>
                  <tcCertificate>11111111111</tcCertificate>
               </invoiceInfo>
               <variantId>0</variantId>
               <itemId>102gdktest</itemId>
               <shippingInfo/>
            </sale>
         </sales>
      <nextPageAvailable>true</nextPageAvailable>
   </return>
</sale:getSalesByDateRangeResponse>

Siparişte Aynı Gün Teslimat'lı gönderilmesi gereken tek ürün varsa 'shippingInfo' aşağıdaki bilgileri döner.

<shippingInfo>
   <deliveryOption>SAME_DAY_DELIVERY</deliveryOption>
   <shippingFirmName>ULAK</shippingFirmName>
   <shippingFirmId>24</shippingFirmId>
</shippingInfo>

Siparişle birlikte gönderilmesi gereken başka Aynı Gün Teslimat'lı siparişler varsa (birlikte gönderim durumu) shippingInfo aşağıdaki bilgileri döner.

<shippingInfo>
   <deliveryOption>SAME_DAY_DELIVERY</deliveryOption>
   <shippingFirmName>ULAK</shippingFirmName>
   <shippingFirmId>24</shippingFirmId>
   <combinedShipping>Y</combinedShipping>
   <cargoCode>GGK25800084</cargoCode>
   <combinedSaleCodes>
      <saleCode>SC18014254</saleCode>
      <saleCode>SC18031613</saleCode>
   </combinedSaleCodes>
</shippingInfo>

Siparişte Alıcı Sepette Öder'li gönderilmesi gereken tek ürün varsa 'shippingInfo' aşağıdaki bilgileri döner.

<shippingInfo>
   <deliveryOption>REGULAR</deliveryOption>
   <shippingFirmName>Yurtiçi Kargo</shippingFirmName>
   <shippingFirmId>1</shippingFirmId>
</shippingInfo>

Siparişle birlikte gönderilmesi gereken başka Alıcı Sepette Öder'li siparişler varsa (birlikte gönderim durumu) shippingInfo aşağıdaki bilgileri döner.

<shippingInfo>
   <deliveryOption>REGULAR</deliveryOption>
   <shippingFirmName>Yurtiçi Kargo</shippingFirmName>
   <shippingFirmId>1</shippingFirmId>
   <combinedShipping>Y</combinedShipping>
   <cargoCode>GGK25800084</cargoCode>
   <combinedSaleCodes>
      <saleCode>SC18014254</saleCode>
      <saleCode>SC18031613</saleCode>
   </combinedSaleCodes>
</shippingInfo>