none
gittigidiyor api SaleServicegetSale() hata Cannot find child element: pageNumber. RRS feed

  • Genel Tartışma

  • Gittigidiyor api üzerinden SaleService üzerinden getSales isimli methodu kullanmaya çalışmaktayım. Ancak getSales(,,,,) isimli metdo çağırdığımda hata almaktayım. aldığım hata ise; Additional information: Cannot find child element: pageNumber.

    yazdığım kod:

                AuthConfig config = new AuthConfig();
                config.ApiKey =apiKey;
                config.SecretKey = secretKey;
                config.RoleName = rolName;
                config.RolePass = rolePass;
                ConfigurationManager.setAuthParameters(config);

                SaleService saleService = ServiceProvider.getSaleService();
                saleServiceResponse response = saleService.getSales(0, 10, true, "S", "", "A", "A", "tr"); (hata burada alınıyor).

    not: eklediğim ürünleri çektiğimde herhangi bir hata almıyorum. sadece siparişleri almak istediğimde oluyor.

    konuyla ilgili bilgisini paylaşmak isteyen olursa sevinirim.

    10 Şubat 2017 Cuma 18:55

Tüm Yanıtlar

  • sadece siparişleri almak istediğimde oluyor.

    Ne oluyor?
    10 Şubat 2017 Cuma 19:03
  • içerikte bahsettiğim gibi "Additional information: Cannot find child element: pageNumber." hatası alıyorum
    10 Şubat 2017 Cuma 19:37
  • Bence burada GG'den kaynaklanan bir hata var.  GG ile iletişime geçtiniz mi?

    Şöyle bir şey eklemek istiyorum: Bu API yayınlanmadan önce, scraping yoluyla ürünleri çeken bir C# programı yazmıştım.  O sırada keşfettim ki GG'nin sistemi doğru dürüst çalışmıyor.  Binlerce ürünü olan bir satıcı için yazdığım kod 50inci sayfadan sonraki ürünlere erişemiyordu.  GG'ye haber verdik, kesinlikle ilgilenmediler.  O zamanlar söz konusu satıcı GG'ye ayda 200 TL dükkan parası ödüyordu!

    GG bu kadar yıldır hiçbir gelişim göstermedi.  Öte yanda Hepsi Burada inanılmaz teknolojiye sahip.
    10 Şubat 2017 Cuma 19:50
  • bugün yazmaya başladım bende kodu ancak bu kısımda hata aldım. GG'a mail attım bugün. ancak yarın cevap yazarlar diye umut ediyorum. bende sizinle aynı şekilde düşünüyorum, verdiği hata şeklinden dolayı. ancak genede farkı bir alternatifte siparişleri çekme yöntemi var mı diye bakıyorum. verdikleri doküman bana yetersiz geldi. yazdıkları dll ise 2014'den sonra hiç güncellenmemiş :(
    10 Şubat 2017 Cuma 19:57
  • Söylediklerinize hiç şaşırmadım.  Bu şirket ABD'de de geri kalmış durumda, o nedenle burada hiçbir şey beklemiyorum.  Örnek olarak, arama yaparken tam arama kutusunun üzerine rahatsız edici bir diyalog geliyor:


    Müşteri deneyiminden bu kadar bi haber bir şirket yoktur!



    10 Şubat 2017 Cuma 20:08
  • saleServiceResponse response = saleService.getSales(0, 10, true, "S", "", "A", "A", "tr"); 

    bu metodu kullanmayın. Kullanmanız gereken metod getPagedSales metodudur.

    saleServicePagingResponse response = sgetPagedSales(acc.ApiKey, AllHash2, ts, true, "S", "", "A", "A", 1, 100, "tr");




    21 Mart 2017 Salı 09:12
  • Böyle bir metodu bulamıyorum aynı hatayı ben de alıyorum. saleServicePagingResponse ya da  getPagedSales metotlarını apide göremedim. 

    Sorunun çözümünü buldunuz mu? 

    13 Nisan 2017 Perşembe 08:47
  • çözüm bulabilen var mı acaba ?

    saleServicePagingResponse response = sgetPagedSales(acc.ApiKey, AllHash2, ts, true, "S", "", "A", "A", 1, 100, "tr");

    böyle bir method api de mevcut değil


    Si şarp

    9 Ağustos 2017 Çarşamba 08:25
  • Merhaba getPagedSales  kullanıyorum fakat

    sign parametresinde hata veriyor...

    <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns1:getSalesResponse xmlns:ns1='http://sale.individual.ws.listingapi.gg.com'><return><ackCode>failure</ackCode><responseTime>11/02/2018 16:27:50</responseTime><error><errorId>104</errorId><errorCode>[GG-API-ERROR_104]</errorCode><message>Lütfen geçerli bir signature girişi yapınız</message><viewMessage>İşleminiz gerçekleştirilememiştir.</viewMessage></error><nextPageAvailable>false</nextPageAvailable></return></ns1:getSalesResponse></env:Body></env:Envelope>

    şeklinde hata alıyorum

    Acaba 

    AllHash2 parametresini nasıl oluşturuyorsunuz.

    ben 

    string Sing = Guid.NewGuid().ToString().Replace("-", "");

    şeklinde oluşturyorum aslında örnek inputa uygun görünüyor ama hata veriyor...

    11 Şubat 2018 Pazar 13:42
  • Bu sorunun çözümünü bulabildiniz mi?
    12 Nisan 2018 Perşembe 08:55
  • Çözüm bulabildiniz mi ?
    16 Ocak 2020 Perşembe 14:18
  • Gittigidiyor api üzerinden SaleService üzerinden getSales isimli methodu kullanmaya çalışmaktayım. Ancak getSales(,,,,) isimli metdo çağırdığımda hata almaktayım. aldığım hata ise; Additional information: Cannot find child element: pageNumber.

    yazdığım kod:

                AuthConfig config = new AuthConfig();
                config.ApiKey =apiKey;
                config.SecretKey = secretKey;
                config.RoleName = rolName;
                config.RolePass = rolePass;
                ConfigurationManager.setAuthParameters(config);

                SaleService saleService = ServiceProvider.getSaleService();
                saleServiceResponse response = saleService.getSales(0, 10, true, "S", "", "A", "A", "tr"); (hata burada alınıyor).

    not: eklediğim ürünleri çektiğimde herhangi bir hata almıyorum. sadece siparişleri almak istediğimde oluyor.

    konuyla ilgili bilgisini paylaşmak isteyen olursa sevinirim.

    pageNumber set etmediğinizden bu hatayı almışsınız. Gittigidiyor getSales methodundan faydalanmak için aşağıdaki verileri sırasıyla tanımlayıp (sıra önemli yoksa çalışmıyor) gönderin çalışır

    <part name="apiKey" type="xsd:string"/>

    <part name="sign" type="xsd:string"/>
    <part name="time" type="xsd:long"/>
    <part name="withData" type="xsd:boolean"/>
    <part name="byStatus" type="xsd:string"/>
    <part name="byUser" type="xsd:string"/>
    <part name="orderBy" type="xsd:string"/>
    <part name="orderType" type="xsd:string"/>
    <part name="pageNumber" type="xsd:int"/>
    <part name="pageSize" type="xsd:int"/>

    <part name="lang" type="xsd:string"/>

    apiKey: String Uygulamanızın api anahtarı. sign: String Uygulamanın o anki isteğinin imzası. time: long İşlemi gerçekleştirdiğiniz zaman. withData: boolean true: Listelenen ürünler tüm bilgileri ile birlikte listelenir. false: Sadece ürün numaraları listelenir. byStatus: String Durum parametresi(filtresi) P: Ödeme Beklediklerim S: Kargo Yapılacaklar C: Onay Bekleyenler T: Para Transferleri R: İade Konumunda Olanlar O: Tamamlananlar V: Aktif Satışlar I: İptali beklenenler byUser: String Kullanıcı filtresi. orderBy: String Sıralama filtresi P: Ürün numarasına 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.

    pageNumber: int
       1 ve 1'den büyük değer alabilir. Hangi sayfanın çekileceğini belirtir.

    pageSize: int

    1 ve 1'den büyük değer alabilir. Sayfa boyutunu belirtir.

    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.





    • Düzenleyen Acceptr 3 Nisan 2020 Cuma 00:39
    3 Nisan 2020 Cuma 00:36
  • Merhaba getPagedSales  kullanıyorum fakat

    sign parametresinde hata veriyor...

    <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><ns1:getSalesResponse xmlns:ns1='http://sale.individual.ws.listingapi.gg.com'><return><ackCode>failure</ackCode><responseTime>11/02/2018 16:27:50</responseTime><error><errorId>104</errorId><errorCode>[GG-API-ERROR_104]</errorCode><message>Lütfen geçerli bir signature girişi yapınız</message><viewMessage>İşleminiz gerçekleştirilememiştir.</viewMessage></error><nextPageAvailable>false</nextPageAvailable></return></ns1:getSalesResponse></env:Body></env:Envelope>

    şeklinde hata alıyorum

    Acaba 

    AllHash2 parametresini nasıl oluşturuyorsunuz.

    ben 

    string Sing = Guid.NewGuid().ToString().Replace("-", "");

    şeklinde oluşturyorum aslında örnek inputa uygun görünüyor ama hata veriyor...

    Gittigidiyor api de Signature API Key ve Secret Key ve unix TimeStamp’in (ms) MD5 algoritması ile şifrelenmesi (hashing) sonucunda oluşturulur


    • Düzenleyen Acceptr 3 Nisan 2020 Cuma 00:45
    3 Nisan 2020 Cuma 00:44
  • Gittigidiyor api üzerinden SaleService üzerinden getSales isimli methodu kullanmaya çalışmaktayım. Ancak getSales(,,,,) isimli metdo çağırdığımda hata almaktayım. aldığım hata ise; Additional information: Cannot find child element: pageNumber.

    yazdığım kod:

                AuthConfig config = new AuthConfig();
                config.ApiKey =apiKey;
                config.SecretKey = secretKey;
                config.RoleName = rolName;
                config.RolePass = rolePass;
                ConfigurationManager.setAuthParameters(config);

                SaleService saleService = ServiceProvider.getSaleService();
                saleServiceResponse response = saleService.getSales(0, 10, true, "S", "", "A", "A", "tr"); (hata burada alınıyor).

    not: eklediğim ürünleri çektiğimde herhangi bir hata almıyorum. sadece siparişleri almak istediğimde oluyor.

    konuyla ilgili bilgisini paylaşmak isteyen olursa sevinirim.

     page değişkeni int. değeride 1;

    yani yaptığınız sıralamaya göre 1 kayıttan 100. kayıda kadar getir.

     SaleService saleService = ServiceProvider.getSaleService();
    
    saleServiceResponse response = saleService.getSales(true, "S", "", "A", "A", 1, 100, "tr");

    Ben Bu şekilde çekiyorum.


    • Düzenleyen kadelus 8 Nisan 2020 Çarşamba 18:07 eksik
    8 Nisan 2020 Çarşamba 18:04
  • Malesef GG dokümantasyon ve destek anlamında problemli. Signature için aşağıdaki fonksiyonu kullanabilirsiniz

    public static string Encrypt_gg(string unixTime)
            {
                String apiKey = "APİKEY";
                String secret = "SECRETKEY";
                string signature;            
                var toBeHashed = apiKey + secret + unixTime;
                var bytes = System.Text.Encoding.UTF8.GetBytes(toBeHashed);
                using (var hash = System.Security.Cryptography.MD5.Create())
                {
                    var hashedInputBytes = hash.ComputeHash(bytes);
                    var hashedInputStringBuilder = new System.Text.StringBuilder(128);
                    foreach (var b in hashedInputBytes)
                        hashedInputStringBuilder.Append(b.ToString("X2"));
                    signature = hashedInputStringBuilder.ToString();
                }
                return signature;
            }

    14 Temmuz 2020 Salı 23:56