Ürün ekleme güncelleme

Bu metod, PttAVM mağazanızda bulunan ürünleri güncellemenize olanak tanır. Endpoint'i kullanırken, "Dikkat Edilmesi Gereken Kurallar" alanındaki uyarılara dikkat edilmesi gerekmektedir.

Endpoint Bilgileri

  • URL: https://ws.pttavm.com:93/service.svc HTTP/1.1
  • HTTP Metodu: POST
  • Content-Type: text/xml;charset=UTF-8
  • Content-Length: 4016
  • SOAPAction: http://tempuri.org/IService/UpdateProductsV3
  • Host: ws.pttavm.com:93

Bilgilendirme

  • Güncellenmesi amaçlanan alanlar dışındaki alanların gönderilmesine gerek yoktur.
  • Varyantlar gönderildiğinde ve mevcutta varyant var ise güncellenir ancak varyant gönderilmezse silinir. Eğer varyant yok ise ve varyant gönderilirse eklenir. (En son gönderilen varyantlar kabul edilir.)
  • Ürün güncelleme response'unda dönülen trackingid değeri ile işlem durumunu GetProductsTrackingResult endpoint'inden sorgulayabilirsiniz.

Kısıtlı Kategoriler (Kargoya Verilmeyen Ürünlerin Seçilebileceği Kategoriler)

  • 114 | Dijital İndirilebilir Lisanslar
  • 6664 | Kasko Paketleri
  • 6683 | Tamir Paketleri
  • 6702 | Bakım Paketleri
  • 6721 | Uzatılmış Garanti
  • 6926 | Lastik Montaj Hizmetleri
  • 7151 | Mobilya Montaj Hizmeti
  • 7176 | Oyun Pinleri

Dikkat Edilmesi Gereken Kurallar

  • Boş ürün listesi gönderilemez.
  • Bir talepte en fazla 1000 ürün gönderilebilir.
  • Aynı talep 5 dakika içinde tekrar gönderilemez.
  • Daha önce sisteme kaydedilmemiş bir barkod gönderilirse, yeni bir ürün olarak eklenecektir. Aynı barkod ile birden fazla kayıt gönderilmemesine dikkat edilmelidir. Bu gibi durumlarda en son gönderilen güncelleme referans alınacaktır.
  • KDV 0, 1, 10 veya 20 değerlerini alabilir. Bu değerler sağlanmazsa, ürün güncellemeleri sırasında fiyat hesaplamalarında önceki KDV oranı kullanılır.
  • KDV dahil fiyat bilgisi gönderilecekse kdv oranı 0'dan büyük olmalıdır.
  • Hem KDV hariç hem de KDV dahil fiyat bilgisi birlikte gönderilirse diğer yöntemden farklı olarak KDV dahil fiyat öncelikli olacaktır.
  • Bir ürünün varyantları varsa, en son gönderilen varyantlar geçerli olacak ve önceki varyantlar silinecektir. Bu, belirli bir varyantı güncellemek istemeseniz bile önceki değerleriyle birlikte talebe dahil edilmesi gerektiği anlamına gelir. Hiçbir varyant gönderilmezse, ürünün tüm varyantları silinecektir! Buna özellikle dikkat edilmelidir. Ayrıca, ürün fiyatı ile varyant fiyat farkının toplamı 0'dan az olamaz.
  • Kilitli ürünlerde güncelleme yapılamaz, ancak kilitsiz ürünlerde güncelleme yapılabilir. Kilit nedeniyle güncellenemeyen ürünler için şu anda bir uyarı mesajı verilmese de gelecekte eklenecektir (UpdateProductsStockPrice yöntemi şu anda bir uyarı vermektedir).
  • Yeni ürünler için kategori kimliği boş olamaz ve geçerli bir kategori olmalıdır.
  • Bir GTIN değeri sağlanmışsa, bu geçerli bir GTIN numarası olmalıdır.
  • Stok negatif olamaz. Yeni ürünler için stok bulundurmak zorunludur, ancak mevcut ürünler için zorunlu değildir.
  • Kargo gönderimi olmayan ürünler (NoShipping) için desi doğrulaması yapılmaz. Kargo ile gönderilen ürünlerde desi için normal aralık minimum 0 ve maksimum 300'dür. Ancak daha büyük desi değerlerine sahip olabilen beyaz eşya, mobilya vb. gibi belirli kategoriler 300 desi kuralından muaftır.
  • Belirli kısıtlı kategorilerdeki ürünler gönderimsiz ürün olarak seçilebilir (bkz. Kısıtlı Kategoriler). Diğer kategorilerdeki ürünler gönderimsiz ürün olarak seçilemez.
  • Yeni ürünler için en az bir görsel eklenmelidir. Görsel URL'si, HTTP/HTTPS protokolü, ana bilgisayar adresi vb. dahil olmak üzere geçerli bir formatta olmalıdır.
  • Yeni ürünler için ürün adı zorunludur. 200 karakteri geçmemelidir.
  • SingleBox (Tek Kutu - Çoklu Kutu) alanı sağlanmışsa, yalnızca 0 veya 1 değerlerine sahip olabilir.
  • CargoProfileId (Gönderi Profili Kimliği) alanı sağlanmışsa, negatif bir değere sahip olamaz.
  • Bileşik ürünlerde PartNo ve PartComment 255 karakteri geçemez. desi değeri, ürün ile aynı doğrulamaya tabi olacaktır.
  • Tahmini Kargo Teslimatı (EstimatedCourierDelivery) verilmesi durumunda 0 ile 30 gün aralığında olması gerekmektedir.
  • Garanti Süresi (WarrantyDuration) verilmiş ise 0 ile 24 ay aralığında olmalıdır.
  • Garanti Şirketi (Garanti Sağlayıcı) belirtilmiş ise 250 karakteri geçemez.
  • BasketUpperLimit (Maksimum Sepet Miktarı) verilmesi durumunda 0 ile 1000 aralığında olması gerekmektedir.

İsteklerinizde gibi null değerler gönderirken XML etiket yapısını " i " etiketleri ile birlikte kullanmanız gerekmektedir. Aksi takdirde hata mesajı alırsınız: An error occurred when verifying security for the message.

Örnek Servis İsteği

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:ept="http://schemas.datacontract.org/2004/07/ePttAVMService.Model.Requests">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:UpdateProductsV3>
         <!--Optional:-->
         <tem:items>
            <!--Zero or more repetitions:-->
            <ept:ProductV3Request>
               <!--Optional:-->
               <ept:Active>false</ept:Active>
               <!--Optional:-->
               <ept:Barcode>redirection-test-new-001</ept:Barcode>
               <!--Optional:-->
               <ept:BasketMaxQuantity>6</ept:BasketMaxQuantity>
               <!--Optional:-->
               <ept:Brand>CatalogBrandTest</ept:Brand>
               <!--Optional:-->
               <ept:CatalogBarcode>redirection-test-001</ept:CatalogBarcode>
               <!--Optional:-->
               <ept:CategoryId>1192</ept:CategoryId>
               <!--Optional:-->
               <ept:Desi>1</ept:Desi>
               <!--Optional:-->
               <ept:Discount>0</ept:Discount>
               <!--Optional:-->
               <ept:EstimatedCourierDelivery>5</ept:EstimatedCourierDelivery>
               <!--Optional:-->
               <ept:Gtin>000000000017</ept:Gtin>
               <!--Optional:-->
               <ept:Images>
                  <!--Zero or more repetitions:-->
                  <ept:ProductImageV3>
                     <!--Optional:-->
                     <ept:Url>https://klasiksanatlar.com/img/sayfalar/b/1_1546079894_1_1534620012_Ekran-Resmi-2018-08-18-22.25.18.jpg</ept:Url>
                  </ept:ProductImageV3>
                  <ept:ProductImageV3>
                     <!--Optional:-->
                     <ept:Url>https://kitantik.s3.cloud.ngn.com.tr/images/2019-07-07/0z8kgltjxshxyzj1a9x.JPG</ept:Url>
                  </ept:ProductImageV3>
               </ept:Images>
               <!--Optional:-->
               <ept:LongDescription>uzun aciklama2</ept:LongDescription>
               <!--Optional:-->
               <ept:Name>Redirection Test2xx</ept:Name>
               <!--Optional:-->
               <ept:NoShippingProduct>0</ept:NoShippingProduct>
               <!--Optional:-->
               <ept:PriceWithoutVat>1000</ept:PriceWithoutVat>
               <!--Optional:-->
               <ept:Quantity>5</ept:Quantity>
               <!--Optional:-->
               <ept:ShortDescription>kisa aciklamaaa2</ept:ShortDescription>
               <!--Optional:-->
               <ept:SingleBox>1</ept:SingleBox>
               <!--Optional:-->
               <ept:VATRate>10</ept:VATRate>
               <!--Optional:-->
               <ept:Variants>
                  <!--Zero or more repetitions:-->
                  <ept:VariantV3>
                     <!--Optional:-->
                     <ept:Attributes>
                        <!--Zero or more repetitions:-->
                        <ept:VariantAttrV3>
                           <!--Optional:-->
                           <ept:Definition>Renk</ept:Definition>
                           <!--Optional:-->
                           <ept:Value>Kırmızı</ept:Value>
                        </ept:VariantAttrV3>
                        <ept:VariantAttrV3>
                           <!--Optional:-->
                           <ept:Definition>Beden</ept:Definition>
                           <!--Optional:-->
                           <ept:Value>XL</ept:Value>
                        </ept:VariantAttrV3>
                     </ept:Attributes>
                     <!--Optional:-->
                     <ept:CatalogBarcode>redirection-test-001-varyeni</ept:CatalogBarcode>
                     <!--Optional:-->
                     <ept:Price>33</ept:Price>
                     <!--Optional:-->
                     <ept:Quantity>6</ept:Quantity>
                     <!--Optional:-->
                     <ept:VariantBarcode>redirection-test-001-vars</ept:VariantBarcode>
                  </ept:VariantV3>
                  <ept:VariantV3>
                     <!--Optional:-->
                     <ept:Attributes>
                        <!--Zero or more repetitions:-->
                        <ept:VariantAttrV3>
                           <!--Optional:-->
                           <ept:Definition>Renk</ept:Definition>
                           <!--Optional:-->
                           <ept:Value>Kırmızı</ept:Value>
                        </ept:VariantAttrV3>
                        <ept:VariantAttrV3>
                           <!--Optional:-->
                           <ept:Definition>Beden</ept:Definition>
                           <!--Optional:-->
                           <ept:Value>L</ept:Value>
                        </ept:VariantAttrV3>
                     </ept:Attributes>
                     <!--Optional:-->
                     <ept:CatalogBarcode>redirection-test-002-varyeni</ept:CatalogBarcode>
                     <!--Optional:-->
                     <ept:Price>-44</ept:Price>
                     <!--Optional:-->
                     <ept:Quantity>8</ept:Quantity>
                     <!--Optional:-->
                     <ept:VariantBarcode>redirection-test-002-vars</ept:VariantBarcode>
                  </ept:VariantV3>
               </ept:Variants>
               <!--Optional:-->
               <ept:WarrantyDuration>12</ept:WarrantyDuration>
               <!--Optional:-->
               <ept:WarrantySupplier>war sup</ept:WarrantySupplier>
            </ept:ProductV3Request>
         </tem:items>
      </tem:UpdateProductsV3>
   </soapenv:Body>
</soapenv:Envelope>
Parametre Tür Açıklama Durum
Active boolean Ürün aktivite durumu. İsteğe bağlı
LongDescription string Uzun açıklama. İsteğe bağlı
Name string Ürün İsmi. Yeni Ürünler için zorunlu, Mevcut ürünlerde isteğe bağlı
NoShippingProduct boolean Kargo içermeyen ürünler için True, kargo içeren ürünler için False İsteğe bağlı
Parts array Ürün parçaları İsteğe bağlı
Desi double Parça desi değeri İsteğe bağlı
PartComment string Parça açıklaması İsteğe bağlı
PartNo string Parça kod numarası İsteğe bağlı
PriceWithVAT decimal Ürünün KDV dahil fiyatı Yeni ürünler için zorunlu, mevcut ürünler için isteğe bağlı
PriceWithoutVAT decimal Ürünün KDV hariç fiyatı Yeni ürünler için zorunlu, mevcut ürünler için isteğe bağlı
Quantity integer Ürünün stok bilgisi Yeni ürünler için zorunlu, mevcut ürünler için isteğe bağlı
ShortDescription string Kısa açıklama (Özet alanı) İsteğe bağlı
SingleBox boolean Tek kutu(1), çoklu kutu(2) İsteğe bağlı
VATRate integer Kdv oranı Yeni ürünler için zorunlu, mevcut ürünler için isteğe bağlı
Variants array Varyant Varyantlı ürünler için zorunlu
Attributes array Nitelikler Zorunlu
Definition string Varyant grubu (Örneğin renk) Varyantlı ürünler için gerekli
Value string Varyant değeri (Örneğin kırmızı) Varyantlı ürünler için gerekli
Price decimal Varyant kombinasyonu fiyat farkı (KDV dahil). Bu değer, KDV eklenmiş olarak girilmelidir. (Pozitif bir değer ürünün fiyatına eklenirken, negatif bir değer çıkarılır.) -
Quantity integer Varyant adet İsteğe bağlı
VariantBarcode string Varyant barkod Varyantlı ürünler için gerekli
WarrantyDuration integer Varyant periyod İsteğe bağlı
WarrantySupplier string Garanti sağlayıcı firma İsteğe bağlı

Örnek Servis Cevabı

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
   <s:Header>
      <ActivityId CorrelationId="9edda120-74b5-4bb1-9af3-48a41b9ae460" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">00000000-0000-0000-0000-000000000000</ActivityId>
      <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <u:Timestamp u:Id="_0">
            <u:Created>2025-03-20T07:54:42.119Z</u:Created>
            <u:Expires>2025-03-20T07:59:42.119Z</u:Expires>
         </u:Timestamp>
      </o:Security>
   </s:Header>
   <s:Body>
      <UpdateProductsV3Response xmlns="http://tempuri.org/">
         <UpdateProductsV3Result xmlns:a="http://schemas.datacontract.org/2004/07/ePttAVMService.Model.Responses" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <a:Message>İşleminiz başarıyla sıraya alınmıştır. Size verilen tracking id ile takibini sağlayabilirsiniz.</a:Message>
            <a:Success>true</a:Success>
            <a:TrackingId>67dbc9c283f9c52828347ed8</a:TrackingId>
            <a:CountOfProductsToBeProcessed>1</a:CountOfProductsToBeProcessed>
         </UpdateProductsV3Result>
      </UpdateProductsV3Response>
   </s:Body>
</s:Envelope>
Parametre Tür Açıklama
Message string İşlem mesajı.
Success boolean İşlem başarı durumu.
TrackingId string İşlemi takip etmek için ID değeri.
CountOfProductsToBeProcessed integer İşleme alınacak ürün sayısı.