Ü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://integration-api.pttavm.com/api/v1/products/upsert
  • HTTP Metodu: POST
  • header : Api-Key zorunlu
  • header : access-token zorunlu
  • header : Content-Type: application/json

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

curl 'https://integration-api.pttavm.com/api/v1/products/upsert \
  --request POST \
  --header 'Api-Key: ' \
  --header 'Access-Token: ' \
  --header 'Content-Type: application/json' \
  --data '{
  "items": [
    {
      "categoryId": null,
      "barcode": null,
      "name": null,
      "priceWithoutVat": null,
      "vatRate": null,
      "priceWithVat": null,
      "gtin": null,
      "shortDescription": null,
      "longDescription": null,
      "quantity": null,
      "discount": 1,
      "desi": null,
      "variants": [
        {
          "variantBarcode": null,
          "attributes": [
            {
              "value": null,
              "definition": null
            }
          ],
          "quantity": 1,
          "price": 1,
          "catalogBarcode": null
        }
      ],
      "images": [
        {
          "url": null
        }
      ],
      "active": null,
      "singleBox": null,
      "cargoProfileId": null,
      "parts": [
        {
          "partNo": null,
          "desi": 1,
          "partComment": null
        }
      ],
      "estimatedCourierDelivery": null,
      "warrantyDuration": null,
      "warrantySupplier": null,
      "basketMaxQuantity": null,
      "noShippingProduct": null,
      "productCode": null,
      "brand": null,
      "catalogBarcode": null,
      "isCargoFromSupplier": null
    }
  ]
}'
?
Parametre Tür Açıklama Durum
categoryId integer Ürünün kategori id bilgisi . İsteğe bağlı
barcode string Ürün barkod bilgisi. İsteğe bağlı
Name string Ürün İsmi. Yeni Ürünler için zorunlu, Mevcut ürünlerde 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ı
VATRate integer Kdv oranı Yeni ürünler için zorunlu, mevcut ürünler için isteğ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ı
Gtin string Ürünün GTIN (Küresel Ticaret Ürün Numarası) bilgisini içerir. İsteğe bağlı
ShortDescription string Kısa açıklama (Özet alanı) İsteğe bağlı
LongDescription string Uzun açıklama. İsteğ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ı
discount number İndirim bilgisi. İsteğe bağlı
Desi double Parça desi değeri İsteğe bağlı
Variants array Varyant Varyantlı ürünler için zorunlu
Attributes array Nitelikler Zorunlu
value string ?. İsteğe bağlı
definition string Varyant açıklama. İsteğ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ı
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.)
catalogBarcode string ? Yeni ürünler için zorunlu, mevcut ürünler için isteğe bağlı
images array Ürün resim bilgisi. ?
url string Ürün resim url bilgisi. İsteğe bağlı
active boolean Ürün aktiflik bilgisi ???? . İsteğe bağlı
singleBox boolean Ürün kutu bilgisi ???? . İsteğe bağlı
cargoProfileId integer kargo profil bilgisi . İsteğe bağlı
parts array Parça sayısı bilgisi. İsteğe bağlı
partNo string Parça numarası. İsteğe bağlı
desi number Parça desi numarası. İsteğe bağlı
partComment string Parça açıklama bilgisi. İsteğe bağlı
estimatedCourierDelivery integer ?. İsteğe bağlı
estimatedCourierDelivery integer ?. İsteğe bağlı
WarrantyDuration integer Varyant periyod İsteğe bağlı
WarrantySupplier string Garanti sağlayıcı firma İsteğe bağlı
basketMaxQuantity integer Maximum satın alma adet bilgisi İsteğe bağlı
noShippingProduct boolean Kargo sürecine dahil olup olmama bilgisi İsteğe bağlı
productCode string ? İsteğe bağlı
brand string ? İsteğe bağlı
catalogBarcode string ? İsteğe bağlı
isCargoFromSupplier boolean Kargo tedarikçiden blgisi İsteğe bağlı

Örnek Servis Cevabı

{
  "countOfProductsToBeProcessed": 1,
  "trackingId": null,
  "success": true,
  "message": null
}
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ı.