Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Allegro WebApi, SOAP-ERROR: Encoding: object hasn't 'fvalue-date' property
mambus
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 30.11.2010

Ostrzeżenie: (0%)
-----


Witam.

Nie ma praktycznie o tym informacji w internecie a dokumentacja opublikowana przez allegro powoduje że nóż się w kieszeni otwiera.

Mam pytanie, dostałem gotowy moduł dla Allegro API który działał dwa lata temu i od tego czasu nie był używany. Dzisiaj, po zaktualizowaniu kategorii, gdy próbuję dodać testową aukcję , pojawia się komunikat:

SOAP-ERROR: Encoding: object hasn't 'fvalue-date' property

Jedyne co zdążyłem odkryć, to że allegro dnia 26-go Maja tego roku, wprowadziło pewne zmiany w api. Dokładnie chodzi o to: http://allegro.pl/webapi/documentation.php/show/id,113

Pytanie jest, jak to ugryźć ?

Ew. czy jest na forum osoba, która kiedykolwiek korzystała z allegroWebapi i moglaby podpowiedzieć coś odnośnie postawienia całego modułu od nowa.. ?

Obecny nie był aktualizowany od dwóch lat a ja zwyczajnie nie rozumiem co mam zmienić, aby powyższy komunikat nie pojawiał się....

Proszę o pomoc.

Ten post edytował mambus 13.06.2011, 15:02:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mambus
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 30.11.2010

Ostrzeżenie: (0%)
-----


Witam jeszcze raz. No z tego co wiem nikt od dwóch lat z naszym modułem allegro na naszej stronie nic nie zrobil...

Zapodaję plik , w którym z tego co zdążyłem zrozumieć, są braki...

  1. public function newAuction($param)
  2. {
  3.  
  4. $field = array (
  5. 'fid' => 1, // Tytuł [Aukcja testowa]
  6. 'fvalue-string' => 'Aukcja testowa',
  7. 'fvalue-int' => 0,
  8. 'fvalue-float' => 0,
  9. 'fvalue-image' => 0,
  10. 'fvalue-datetime' => 0,
  11. 'fvalue-date' => '',
  12. 'fvalue-range-int' => array(
  13. 'fvalue-range-int-min' => 0,
  14. 'fvalue-range-int-max' => 0),
  15. 'fvalue-range-float' => array(
  16. 'fvalue-range-float-min' => 0,
  17. 'fvalue-range-float-max' => 0),
  18. 'fvalue-range-date' => array(
  19. 'fvalue-range-date-min' => '',
  20. 'fvalue-range-date-max' => ''));
  21.  
  22. $fields = array ();
  23.  
  24. $param["timeOfAuction"]=self::$TimesOfAuction[$param["timeOfAuction"]];
  25. if (!$param["numOfItems"])
  26. $param["numOfItems"]=1;//jesli nie okreslono liczby przedmiotów to jest 1
  27. if (!$param["startTime"])
  28. $param["startTime"]=time();//aktualny czas jeśli nieokreślono inaczej
  29. if (!$param["deliverPay"] )
  30. {
  31. $param["deliverPay"]=IAuctionOptions::TRANS_COST_BUYER;
  32. }
  33.  
  34. $action = ($param["transportOptions"] && $param["prepaidCost"] && $param["atDeliveryCost"] ) ? "doNewAuctionExt" : "doNewAuction";
  35.  
  36. if (228==$this->countryCode) $param["region"]=1;
  37.  
  38. $action="doNewAuctionExt";
  39.  
  40. unset($fields);
  41.  
  42. $fields=array();
  43.  
  44. $fields[0]=$field; $fields[0]['fid']=1; $fields[0]['fvalue-string'] = $param["name"]; //tytul aukcji
  45. $fields[1]=$field; $fields[1]['fid']=2; $fields[1]['fvalue-int'] = $param["category"]; //kategoria
  46. $fields[2]=$field; $fields[2]['fid']=3; $fields[2]['fvalue-datetime'] = $param["startTime"]; //Data rozpoczecia
  47. $fields[3]=$field; $fields[3]['fid']=4; $fields[3]['fvalue-int'] = $param["timeOfAuction"]; //Czas trwania aukcji 3dni => 0, 5dni => 1, 7dni => 2, 10dni => 3, 14dni => 4
  48. //oblicza czas zakonczenia aukcji
  49. $time_valid=$param["startTime"]+($param["timeOfAuction"]*86400);
  50.  
  51. $fields[4]=$field; $fields[4]['fid']=5; $fields[4]['fvalue-int'] = $param["count"]; //Liczba sztuk 100
  52.  
  53. // Sprawdzamy czy jest to aukcja licytacja czy tylko kup teraz
  54. // Gdy chcemy aby aukcja byla :
  55. // Sama lista kup teraz : 0 , 0 , cena
  56. // Licytacja : 4 ,0 ,0
  57.  
  58. if($param['onlyBuyNow'])
  59. {
  60. $fields[5]=$field; $fields[5]['fid']=6; $fields[5]['fvalue-float'] = "0.00"; // CENA KUP TERAZ/
  61. $fields[6]=$field; $fields[6]['fid']=7; $fields[6]['fvalue-float'] = "0.00"; //Cena wywolawcza - gdy chcemy liste produktow musi byc 0
  62. $fields[7]=$field; $fields[7]['fid']=8; $fields[7]['fvalue-float'] = $param["buyNowPrice"]; //Cena minimalna - gdy chcemy liste produktow musi byc 0
  63. }
  64. else
  65. {
  66. $fields[5]=$field; $fields[5]['fid']=6; $fields[5]['fvalue-float'] = $param["startPrice"] ; // CENA KUP TERAZ/
  67. $fields[6]=$field; $fields[6]['fid']=7; $fields[6]['fvalue-float'] = $param["minPrice"]; //Cena wywolawcza - gdy chcemy liste produktow musi byc 0
  68. $fields[7]=$field; $fields[7]['fid']=8; $fields[7]['fvalue-float'] = $param["buyNowPrice"] ; //Cena minimalna - gdy chcemy liste produktow musi byc 0
  69. }
  70.  
  71. $fields[8]=$field; $fields[8]['fid']=9; $fields[8]['fvalue-int'] = $this->countryCode;
  72. $fields[9]=$field; $fields[9]['fid']=10; $fields[9]['fvalue-int'] = $param["region"];
  73. $fields[10]=$field; $fields[10]['fid']=11; $fields[10]['fvalue-string'] = $param["city"];
  74.  
  75. //Transport seller=0 buyer=1
  76. $fields[11]=$field; $fields[11]['fid']=12; $fields[11]['fvalue-int'] = $param["deliverPay"];
  77.  
  78. // 1: Poczta (zwykła) - 2: Poczta (priorytet) - 4: Kurier - 8: Odbiór osobisty - 16: Inne (np. list zwykły) - 32: Zgoda na wysyłkę za granicę
  79. $fields[12]=$field; $fields[12]['fid']=13; $fields[12]['fvalue-int'] = $param["transportOption"];
  80.  
  81. // 1: Przedpłata na konto , 2: Za pobraniem , 4: Płatności Allegro , 8: Escrow 16: Inne
  82. $fields[13]=$field; $fields[13]['fid']=14; $fields[13]['fvalue-int'] = $param["paymentOption"];
  83.  
  84. // 'opcjeDodatkowe':
  85. // - 1: Pogrubienie 2: Miniaturka (wymaga wysłania co najmniej jednego obrazka) 4: Podświetlenie
  86. // - 8: Wyróżnienie - 16: Strona kategorii - 32: Strona główna Allegro
  87. $fields[14]=$field; $fields[14]['fid']=15; $fields[14]['fvalue-int'] = $param["attributeOption"];
  88. if(strlen($param['img_min'])>10)
  89. {
  90. $fields[15]=$field; $fields[15]['fid']=16; $fields[15]['fvalue-image'] = implode ( "", file ($param['img_min'])); //obsluga miniaturki
  91. }
  92.  
  93. $fields[23]=$field; $fields[23]['fid']=24; $fields[23]['fvalue-string'] = $param["description"];
  94. $fields[24]=$field; $fields[24]['fid']=25; $fields[24]['fvalue-float'] = $param["prepaidCost"];
  95. $fields[25]=$field; $fields[25]['fid']=26; $fields[25]['fvalue-float'] = $param["atDeliveryCost"];
  96.  
  97. $fields[18]=$field; $fields[18]['fid']=27; $fields[18]['fvalue-string'] = $param["additionalOption"];
  98.  
  99. //wysyłanie danych do allegro
  100. $response = $this->execute($action, Array (
  101. 'session-handle' => $this->sessionHandle,
  102. 'fields' => $fields,
  103. 'private' => 0,
  104. 'local-id' => $this->serverTime
  105. ) );


Udało mi się zamienić fragment pliku i jest krok w przód:

mam możliwość wybrania kategorii i że tak to ujmę "pełnego przygotowania" aukcji.

W samym momencie gdy chcę ją już wystawić, pojawia się komunikat: Atrybuty zostały określone w sposób nieprawidłowy.

(powyższy kod poprawiłem).

Ktoś ma może jakiś pomysł ?

Ten post edytował mambus 14.06.2011, 10:43:56
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 12:44