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...
public function newAuction($param)
{
'fid' => 1, // Tytuł [Aukcja testowa]
'fvalue-string' => 'Aukcja testowa',
'fvalue-int' => 0,
'fvalue-float' => 0,
'fvalue-image' => 0,
'fvalue-datetime' => 0,
'fvalue-date' => '',
'fvalue-range-int' => array( 'fvalue-range-int-min' => 0,
'fvalue-range-int-max' => 0),
'fvalue-range-float' => array( 'fvalue-range-float-min' => 0,
'fvalue-range-float-max' => 0),
'fvalue-range-date' => array( 'fvalue-range-date-min' => '',
'fvalue-range-date-max' => ''));
$param["timeOfAuction"]=self::$TimesOfAuction[$param["timeOfAuction"]];
if (!$param["numOfItems"])
$param["numOfItems"]=1;//jesli nie okreslono liczby przedmiotów to jest 1
if (!$param["startTime"])
$param["startTime"]=time();//aktualny czas jeśli nieokreślono inaczej if (!$param["deliverPay"] )
{
$param["deliverPay"]=IAuctionOptions::TRANS_COST_BUYER;
}
$action = ($param["transportOptions"] && $param["prepaidCost"] && $param["atDeliveryCost"] ) ? "doNewAuctionExt" : "doNewAuction";
if (228==$this->countryCode) $param["region"]=1;
$action="doNewAuctionExt";
$fields[0]=$field; $fields[0]['fid']=1; $fields[0]['fvalue-string'] = $param["name"]; //tytul aukcji
$fields[1]=$field; $fields[1]['fid']=2; $fields[1]['fvalue-int'] = $param["category"]; //kategoria
$fields[2]=$field; $fields[2]['fid']=3; $fields[2]['fvalue-datetime'] = $param["startTime"]; //Data rozpoczecia
$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
//oblicza czas zakonczenia aukcji
$time_valid=$param["startTime"]+($param["timeOfAuction"]*86400);
$fields[4]=$field; $fields[4]['fid']=5; $fields[4]['fvalue-int'] = $param["count"]; //Liczba sztuk 100
// Sprawdzamy czy jest to aukcja licytacja czy tylko kup teraz
// Gdy chcemy aby aukcja byla :
// Sama lista kup teraz : 0 , 0 , cena
// Licytacja : 4 ,0 ,0
if($param['onlyBuyNow'])
{
$fields[5]=$field; $fields[5]['fid']=6; $fields[5]['fvalue-float'] = "0.00"; // CENA KUP TERAZ/
$fields[6]=$field; $fields[6]['fid']=7; $fields[6]['fvalue-float'] = "0.00"; //Cena wywolawcza - gdy chcemy liste produktow musi byc 0
$fields[7]=$field; $fields[7]['fid']=8; $fields[7]['fvalue-float'] = $param["buyNowPrice"]; //Cena minimalna - gdy chcemy liste produktow musi byc 0
}
else
{
$fields[5]=$field; $fields[5]['fid']=6; $fields[5]['fvalue-float'] = $param["startPrice"] ; // CENA KUP TERAZ/
$fields[6]=$field; $fields[6]['fid']=7; $fields[6]['fvalue-float'] = $param["minPrice"]; //Cena wywolawcza - gdy chcemy liste produktow musi byc 0
$fields[7]=$field; $fields[7]['fid']=8; $fields[7]['fvalue-float'] = $param["buyNowPrice"] ; //Cena minimalna - gdy chcemy liste produktow musi byc 0
}
$fields[8]=$field; $fields[8]['fid']=9; $fields[8]['fvalue-int'] = $this->countryCode;
$fields[9]=$field; $fields[9]['fid']=10; $fields[9]['fvalue-int'] = $param["region"];
$fields[10]=$field; $fields[10]['fid']=11; $fields[10]['fvalue-string'] = $param["city"];
//Transport seller=0 buyer=1
$fields[11]=$field; $fields[11]['fid']=12; $fields[11]['fvalue-int'] = $param["deliverPay"];
// 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ę
$fields[12]=$field; $fields[12]['fid']=13; $fields[12]['fvalue-int'] = $param["transportOption"];
// 1: Przedpłata na konto , 2: Za pobraniem , 4: Płatności Allegro , 8: Escrow 16: Inne
$fields[13]=$field; $fields[13]['fid']=14; $fields[13]['fvalue-int'] = $param["paymentOption"];
// 'opcjeDodatkowe':
// - 1: Pogrubienie 2: Miniaturka (wymaga wysłania co najmniej jednego obrazka) 4: Podświetlenie
// - 8: Wyróżnienie - 16: Strona kategorii - 32: Strona główna Allegro
$fields[14]=$field; $fields[14]['fid']=15; $fields[14]['fvalue-int'] = $param["attributeOption"];
if(strlen($param['img_min'])>10
) {
$fields[15
]=$field; $fields[15]['fid']=16; $fields[15]['fvalue-image'] = implode ( "", file ($param['img_min'])); //obsluga miniaturki }
$fields[23]=$field; $fields[23]['fid']=24; $fields[23]['fvalue-string'] = $param["description"];
$fields[24]=$field; $fields[24]['fid']=25; $fields[24]['fvalue-float'] = $param["prepaidCost"];
$fields[25]=$field; $fields[25]['fid']=26; $fields[25]['fvalue-float'] = $param["atDeliveryCost"];
$fields[18]=$field; $fields[18]['fid']=27; $fields[18]['fvalue-string'] = $param["additionalOption"];
//wysyłanie danych do allegro
$response = $this->execute($action, Array ( 'session-handle' => $this->sessionHandle,
'fields' => $fields,
'private' => 0,
'local-id' => $this->serverTime
) );
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ł ?