commodore.gen.tr

Genel Kategori => Proje => Konuyu başlatan: programci42 üzerinde Haziran 01, 2019, 15:00:27 ÖS



Konu Başlığı: Gittigidiyor Entegrasyonu
Gönderen: programci42 üzerinde Haziran 01, 2019, 15:00:27 ÖS
Herkese merhaba yeni bir projeye başladım.
Proje görünürde basit ama aslında zor.
Bir tane program olacak mesela exceldeki stokları gittidiyora atacak.
Gerekli api kodlarını yazdım fakat hiç bir ilerleme sağlayamadık.
Hatanın ekran görüntüsünü aşağıdaki ekte verilmiştir.



Konu Başlığı: Ynt: Gittigidiyor Entegrasyonu
Gönderen: Cydonian üzerinde Haziran 01, 2019, 16:19:17 ÖS
Biraz daha detay lazım, gittigidiyor aboneliğiniz kaç ürün listelemenize izin veriyor? Hangi program, veritabanı vb. kullanarak ürün bilgilerini gittigidiyor'a yolluyorsunuz vb.


Konu Başlığı: Ynt: Gittigidiyor Entegrasyonu
Gönderen: programci42 üzerinde Haziran 01, 2019, 16:25:30 ÖS
Aslında kodlarda sorun yok gibi gittigidiyor yazılım bölümüyle görüşmek istedim fakat hiç kimseye ulaşamadım ne telefonlara bakıyorlar ne maillere dönüş yapıyorlar anlamadık.

Kısaca Şöyle bir metod yazdım ürünleri excelden okuyor şimdilik test amaçlı yapacağız zaten şimdilik

public IslemDurum UrunEkle(string itemId, string urunadi, string aciklama, string kategori_kodu, string kargo_firmasi, string kargo_sehri, string kargo_tipi, string resim_url, double fiyat, GittiGidiyor.Category.categorySpecType spec = null, bool forceToSpecEntry = false, bool nextDateOption = false)
        {
            SetLoginConfig(); // Opsiyonel Tekrar Set Ediliyor...
            GittiGidiyor.Product.productType productType = new GittiGidiyor.Product.productType();
            productType.title = urunadi;
            productType.buyNowPrice = fiyat;
            productType.description = aciklama;
            productType.format = "F";
            productType.buyNowPriceSpecified = true;
            productType.listingDays = 1;
            productType.listingDaysSpecified = true;
            productType.startPriceSpecified = false;
           

            productType.categoryCode = kategori_kodu;
            GittiGidiyor.Product.cargoDetailType kargo = new GittiGidiyor.Product.cargoDetailType();
            kargo.city = kargo_sehri;
            string[] kargolar = new string[1] { kargo_firmasi };
            kargo.cargoCompanies = kargolar;
            kargo.shippingPayment = kargo_tipi;
            kargo.shippingWhere = "country";
            productType.cargoDetail = kargo;

            productType.pageTemplate = 1;
            productType.pageTemplateSpecified = true;
            productType.productCount = 2;
            productType.productCountSpecified = true;
            productType.vitrineOptionSpecified = true;
            GittiGidiyor.Product.photoType photo = new GittiGidiyor.Product.photoType();
            photo.photoId = 1;
            photo.url = resim_url;
            photo.photoIdSpecified = true;
            productType.photos = new GittiGidiyor.Product.photoType[1] { photo };

            //VARSAYLAN SPEC DEĞERLERİNİ ALIP ÜRÜNE ATIYOR
            GittiGidiyor.Product.specType spctyp = null;
            GittiGidiyor.Product.specType[] spectypes = null;
            GittiGidiyor.Category.CategoryService categoryser = GittiGidiyor.ServiceProvider.getCategoryService();
            GittiGidiyor.Category.categoryServiceResponse categoryresponse = categoryser.getCategory(kategori_kodu, true, true, true, "tr");
            if (categoryresponse != null && categoryresponse.ackCode.Equals("success") == true)
            {
                GittiGidiyor.Category.categoryType[] cattype = categoryresponse.categories;
                if (cattype != null)
                {
                    foreach (GittiGidiyor.Category.categoryType item in cattype)
                    {
                        GittiGidiyor.Category.categorySpecType[] categoryspecs = item.specs;
                        spectypes = new GittiGidiyor.Product.specType[categoryspecs.Length];
                        int x = 0;
                        foreach (GittiGidiyor.Category.categorySpecType categoryspec in categoryspecs)
                        {
                            spctyp = new GittiGidiyor.Product.specType();
                            spctyp.name = categoryspec.name;
                            spctyp.value = categoryspec.values[0];
                            spctyp.type = categoryspec.type;
                            spctyp.required = true;
                            spctyp.requiredSpecified = true;
                            spectypes
  • = spctyp;
                            x++;
                        }
                    }
                }
            }
            //------------------------------------------------------------------------------


            //Eğer varsayılan spec dışında bir değer girilecekse o burda atanıyor. Örnek: Marka değeri varsayılandan farklı
            if (spec != null)
            {
                for (int x = 0; x < spectypes.Length; x++)
                {
                    if (spectypes
  • .name == spec.name)
                    {
                        spectypes
  • .value = spec.values[0];
                        spectypes
  • .required = true;
                        spectypes
  • .requiredSpecified = true;
                        spectypes
  • .type = spec.type;
                        break;
                    }
                }
            }

            productType.specs = spectypes;

            System.Net.ServicePointManager.Expect100Continue = true;
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

            IslemDurum Sonuc = new IslemDurum();
            this.SureBaslat();
            try
            {
                var Deger = new object();
                GittiGidiyor.Product.ProductService ProductService = ServiceProvider.getProductService();

                GittiGidiyor.Product.productServiceResponse productServiceResponse = ProductService.insertProduct(itemId, productType, forceToSpecEntry, nextDateOption, lang);
                if (productServiceResponse != null && productServiceResponse.ackCode.ToString().Equals("success"))
                {
                    Deger = productServiceResponse; //productServiceResponse rivayete göre sonucu ürün bilgisini döndürüyormuş
                }
                else
                {
                    Deger = productServiceResponse.error.message;
                }


                Sonuc.Deger = Deger;
                Sonuc.Durum = true;
                Sonuc.Hata = null;
                Sonuc.Mesaj = "İşlem Başarılı";
            }
            catch (Exception Hata)
            {
                Sonuc = new IslemDurum();
                Sonuc.Deger = null;
                Sonuc.Durum = false;
                Sonuc.Hata = Hata;
                Sonuc.Mesaj = "İşlem Başarısız";
            }
            finally
            {
                this.SureBitir();
            }
            return Sonuc;
        }


Konu Başlığı: Ynt: Gittigidiyor Entegrasyonu
Gönderen: Cydonian üzerinde Haziran 01, 2019, 16:38:08 ÖS
hata mesajı, bana sanki aynı ürünü tekrar girmeye çalışıyormuşsunuz da buna hata veriyormuş gibi geldi çünkü "relist-product.003" diyor yani buradaki "relist" dikkatimi çekti, o ürün zaten girilmiş de tekrar aynı ürünü yüklemeye çalışıyormuş gibi. O yüzden en fazla "1 adet ürün listeleyebilirsiniz" diyor olabilir. programı her denemeden önce, gittigidiyor sitesine girip tüm ürünleri silip programı öyle çalıştırmayı deneyin belki faydası olur.


Konu Başlığı: Ynt: Gittigidiyor Entegrasyonu
Gönderen: programci42 üzerinde Haziran 01, 2019, 16:41:40 ÖS
Hayır alakası yok hangi ürünü denersem deneyeyim aynı hatayı veriyor.
Ya hesapta bir sıkıntı var ya da adamların yazdığı api sorunlu.
Bi baksalar çözecez de işte.


Konu Başlığı: Ynt: Gittigidiyor Entegrasyonu
Gönderen: Cydonian üzerinde Haziran 01, 2019, 17:08:00 ÖS
Artık bayram tatilinden sonra...
:)


Konu Başlığı: Ynt: Gittigidiyor Entegrasyonu
Gönderen: programci42 üzerinde Haziran 01, 2019, 17:21:52 ÖS
Hayırlısı inşallah belki bilen biri vardır dedim ama sanırım burda da yok.
:)


Konu Başlığı: Ynt: Gittigidiyor Entegrasyonu
Gönderen: wizofwor üzerinde Haziran 02, 2019, 12:37:43 ÖS
Hata mesajında en fazla bir ürün listeyebileceğinizi anlıyorum. Dükkan Aboneliğinizi kontrol edin. Bu limit günlükse ertesi gün ikinci ürün için tekrar deneyebilirsiniz.