GittiGidiyor
GittiGidiyor API

Product Service

İstekte bulunan kurumsal kullanıcının bu servis ile gerçekleştirebileceği işlemler şunlardır: Bireysel GittiGidiyor hesabındaki ürünlerin detay bilgilerine erişme, yeni ürün girişi, mevcut ürünü güncelleme, ürün kopyalama, ürün silme, erken bitirme, listeleme servisi altındaki yeni listelenen ürün listesini alma, listeleme servisi ve revizyon ücreti hesaplatma, listeleme ücreti ödeme.

insertProductWithNewCargoDetail (Seçenekli Ürün Girişi)

Gittigidiyor üzerinde seçenekli ürün listelemek için bu metot kullanılır. Eklenen ürünler GittiGidiyor sayfasında Hesabım/Ürün Yönetimi/Listelemeye Hazır Ürünler kısmında gözükecektir.

Seçenekler için type/value/valueId gibi bilgilere Anonim > Category Service > getCategoryVariantSpecs metodu üzerinden ulaşılabilir.

newCatalogId zorunluluğu:
Katalog yapısına sahip kategoriler için ürün girişi yaparken "newCatalogId" girişi zorunlu kılınmıştır bkz: Anonim > Category Service > getRequiredCategorySpecs.
Zorunlu olan kategoriler için <catalogId></catalogId> alanı <newCatalogId></newCatalogId> olarak gönderilmelidir.



İ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:8443/listingapi/ws/IndividualProductService?wsdl


Servis Metot İmzası:

ProductServiceResponse insertProductWithNewCargoDetail(String apiKey, String sign, long time,String itemId, ProductType productType, boolean forceToSpecEntry, boolean nextDateOption, String lang);


İstek Parametreleri:

apiKey: String
    Uygulamanızın anahtarı.
sign: String
    Uygulamanın o anki isteğinin imzası.
time: long
    İşlemin gerçekleştirildiği zaman.
itemId: String
    Satışa konulan ürünün entegrasyon yapan firma tarafındaki ürün tekil anahtarı.
product: ProductType
    Ürün bilgisini taşıyan nesne.
forceToSpecEntry: boolean
    true : Kategori bazlı spec girişi zorunlu
    false : Kategori bazlı spec girişi zorunlu değil
nextDateOption: boolean
    true: İleri tarih opsiyonu var. startDate belirlenmelidir.
    false: İleri tarih opsiyonu yok.
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.

Aynı gün teslimat (sözleşmeli kargolar) parametreleri:
lastReceivingTime: String
    Kargoyu taşıma firmasına teslim edeceğiniz saat.
shippingFirmId: Int
    Sözleşmeli kargoya ait tekil anahtar.(Sözleşmeli kargo firmalarına Kurumsal > Cargo Service > getCargoCompany metodu ile ulaşabilirsiniz.)

Alıcı sepette öder parametreleri:
shippingFeePaymentType: String
    Alıcı Sepette Öder'de shippingFeePaymentType alanı gönderilmelidir ve değeri PAY_IN_THE_BASKET olmalıdır. PAY_IN_THE_BASKET olarak gönderilecekse "Desi" bilgisinin girilmesi zorunludur.


Örnek İstek:

      <prod:insertProductWithNewCargoDetail>
         <apiKey>RXpvxeENHMQjwhEB5HtxZGTdJ3KvRguv</apiKey>
         <sign>5D8B70646EB9F26855693FBA6A68BF5D</sign>
         <time>1586270135905</time>
         <itemId/>
         <product>
            <categoryCode>ebec</categoryCode>
            <storeCategoryId>0</storeCategoryId>
            <title>__ggtest API test ürünü</title>
            <specs>
               <spec required="false" value="575" name="Marka"/>
               <spec required="false" value="Diğer" name="Durum"/>
            </specs>
            <photos>
               <photo photoId="0">
                  <url>https://mcdn01.gittigidiyor.net/53642/536423161_0.jpg</url>
               </photo>
               <photo photoId="1">
                  <url>https://mcdn01.gittigidiyor.net/53642/536423161_0.jpg</url>
               </photo>
            </photos>
            <pageTemplate>2</pageTemplate>
            <description>API test ürün açıklaması</description>
            <catalogId>0</catalogId>
            <catalogDetail>0</catalogDetail>
            <format>S</format>
            <buyNowPrice>15.0</buyNowPrice>
            <listingDays>30</listingDays>
            <productCount>4</productCount>
            <cargoDetail>
               <city>34</city>
               <cargoCompanies>
                  <cargoCompany>aras</cargoCompany>
               </cargoCompanies>
               <shippingPayment>S</shippingPayment>
               <shippingWhere>city</shippingWhere>
               <cargoCompanyDetails>
                  <cargoCompanyDetail>
                     <name>aras</name>
                     <value>Aras Kargo</value>
                  </cargoCompanyDetail>
               </cargoCompanyDetails>
               <shippingTime>
                  <days>2-3days</days>
               </shippingTime>
            </cargoDetail>
            <affiliateOption>false</affiliateOption>
            <boldOption>false</boldOption>
            <catalogOption>false</catalogOption>
            <vitrineOption>false</vitrineOption>
            <variantGroups>
               <variantGroup alias="Renk:Zümrüt" valueId="962183" nameId="2927">
                  <variants>
                     <variant>
                        <variantSpecs>
                           <variantSpec specDataOrderNumber="820" orderNumber="3" value="Zümrüt" valueId="962183" name="Renk" nameId="2927"/>
                           <variantSpec specDataOrderNumber="2" orderNumber="4" value="2" valueId="760374" name="Yaş" nameId="2926"/>
                        </variantSpecs>
                        <quantity>2</quantity>
                        <stockCode/>
                        <soldCount>0</soldCount>
                     </variant>
                  </variants>
                  <photos>
                     <photo photoId="0">
                        <url>https://images.gittigidiyor.com/i/32/tn30/320131_tn30_R_962183_0.jpg</url>
                     </photo>
                  </photos>
               </variantGroup>
               <variantGroup alias="Renk:Kırmızı" valueId="70550" nameId="2927">
                  <variants>
                     <variant>
                        <variantSpecs>
                           <variantSpec specDataOrderNumber="320" orderNumber="3" value="Kırmızı" valueId="70550" name="Renk" nameId="2927"/>
                           <variantSpec specDataOrderNumber="1" orderNumber="4" value="1" valueId="760373" name="Yaş" nameId="2926"/>
                        </variantSpecs>
                        <quantity>2</quantity>
                        <stockCode/>
                        <soldCount>0</soldCount>
                     </variant>
                  </variants>
                  <photos>
                     <photo photoId="0">
                        <url>https://images.gittigidiyor.com/i/32/tn30/320131_tn30_R_70550_0.jpg</url>
                     </photo>
                  </photos>
               </variantGroup>
            </variantGroups>
            <marketPrice>70.0</marketPrice>
            <manufacturerPartNo/>
         </product>
         <forceToSpecEntry>false</forceToSpecEntry>
         <nextDateOption>false</nextDateOption>
         <lang>tr</lang>
      </prod:insertProductWithNewCargoDetail>

Aynı gün teslimat (sözleşmeli kargolar) için </product> tag'inden önce sameDayDeliveryTypes alanı eklenir.

<sameDayDeliveryTypes> 
   <sameDayDeliveryType>
      <lastReceivingTime>14:00</lastReceivingTime>
      <shippingFirmId>24</shippingFirmId>
   </sameDayDeliveryType>
</sameDayDeliveryTypes>

Alıcı sepette öder için cargoDetail alanı aşağıdaki formatta gönderilir.

<cargoDetail>
   <city>34</city>
   <cargoCompanies>
      <cargoCompany>yurtici</cargoCompany>
   </cargoCompanies>
   <shippingPayment>B</shippingPayment>
   <shippingFeePaymentType>PAY_IN_THE_BASKET</shippingFeePaymentType>
   <shippingWhere>country</shippingWhere>
   <cargoCompanyDetails>
      <cargoCompanyDetail>
         <name>yurtici</name>
         <value>Yurtiçi Kargo</value>
         <cityPrice>0</cityPrice>
         <countryPrice>0</countryPrice>
      </cargoCompanyDetail>
   </cargoCompanyDetails>
   <shippingTime>
      <days>tomorrow</days>
   </shippingTime>
   <productPackageSize>
      <desi>5</desi>
   </productPackageSize>
</cargoDetail>


Sonuç Parametreleri:

productId: Integer
    Ürün tekil anahtarı
result: String
    Mesaj metni


Örnek Sonuç:

      <prod:insertProductWithNewCargoDetailResponse xmlns:prod="https://product.individual.ws.listingapi.gg.com">
         <return>
            <ackCode>success</ackCode>
            <responseTime>07/04/2020 17:36:56</responseTime>
            <timeElapsed>219 ms</timeElapsed>
            <productId>546718762</productId>
            <result>Ürün girişiniz başarıyla gerçekleştirilmiştir. Listeleme servisinden kontrol edebilirsiniz.</result>
            <descriptionFilterStatus>0</descriptionFilterStatus>
            <variantGroups>
               <variantGroup alias="Renk:Zümrüt" valueId="962183" nameId="2927">
                  <variants>
                     <variant variantId="175694617">
                        <variantSpecs>
                           <variantSpec specDataOrderNumber="820" orderNumber="3" value="Zümrüt" valueId="962183" name="Renk" nameId="2927"/>
                           <variantSpec specDataOrderNumber="2" orderNumber="4" value="2" valueId="760374" name="Yaş" nameId="2926"/>
                        </variantSpecs>
                        <quantity>2</quantity>
                        <stockCode/>
                        <soldCount>0</soldCount>
                     </variant>
                  </variants>
               </variantGroup>
               <variantGroup alias="Renk:Kırmızı" valueId="70550" nameId="2927">
                  <variants>
                     <variant variantId="175694618">
                        <variantSpecs>
                           <variantSpec specDataOrderNumber="320" orderNumber="3" value="Kırmızı" valueId="70550" name="Renk" nameId="2927"/>
                           <variantSpec specDataOrderNumber="1" orderNumber="4" value="1" valueId="760373" name="Yaş" nameId="2926"/>
                        </variantSpecs>
                        <quantity>2</quantity>
                        <stockCode/>
                        <soldCount>0</soldCount>
                     </variant>
                  </variants>
               </variantGroup>
            </variantGroups>
         </return>
      </prod:insertProductWithNewCargoDetailResponse>