Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- define('ALLEGRO_LOGIN', ***tuJestMojLogin***);
- define('ALLEGRO_PASSWORD', ***tuJestMojeHaslo***);
- define('ALLEGRO_KEY', ***tuJestMojKlucz***);
- define('ALLEGRO_COUNTRY', AllegroWebAPISoapClient::COUNTRY_PL);
- class AllegroWebAPISoapClient extends SoapClient
- {
- const COUNTRY_PL = 228;
- public function __construct()
- {
- parent::__construct('http://webapi.allegro.pl/uploader.php?wsdl');
- }
- }
- // pobieramy nasz klucz wersji
- $allegroVerKey = file_get_contents('.verkey');
- // łączymy się z Allegro WebAPI
- $client = new AllegroWebAPISoapClient();
- try
- {
- try
- {
- // próba logowania
- $session = $client->doLoginEnc(ALLEGRO_LOGIN, base64_encode( hash('sha256', ALLEGRO_PASSWORD, true) ), ALLEGRO_COUNTRY, ALLEGRO_KEY, $allegroVerKey);
- }
- catch(SoapFault $error)
- {
- // błąd niepoprawnego klucza wersji pozwala nam zauważyć fakt iż coś w serwisie się zmieniło
- if($error->faultcode == 'ERR_INVALID_VERSION_CAT_SELL_FIELDS')
- {
- // pobieramy aktualny klucz wersji
- $version = $client->doQuerySysStatus(1, ALLEGRO_COUNTRY, ALLEGRO_KEY);
- $allegroVerKey = $version['ver-key'];
- /* tutaj wykonujemy swoje operacje uaktualniające */
- // zapisujemy klucz wersji do pliku
- file_put_contents('.verkey', $allegroVerKey);
- // ponowna próba logowania, już z nowym kluczem
- $session = $client->doLoginEnc(ALLEGRO_LOGIN, base64_encode( hash('sha256', ALLEGRO_PASSWORD, true) ), ALLEGRO_COUNTRY, ALLEGRO_KEY, $allegroVerKey);
- }
- // każdy inny błąd to już poważny problem
- else
- {
- throw $error;
- }
- }
- // udało nam się zalogować
- echo 'Logowanie poprawne. Uzyskany klucz sesji to: ', $session['session-handle-part'];
- }
- catch(SoapFault $error)
- {
- echo 'Błąd ', $error->faultcode, ': ', $error->faultstring, "n";
- }
- $empty = new stdClass();
- $empty->{'fvalue-string'} = "";
- $empty->{'fvalue-int'} = 0;
- $empty->{'fvalue-float'} = 0;
- $empty->{'fvalue-image'} = " ";
- $empty->{'fvalue-text'} = " ";
- $empty->{'fvalue-datetime'} = 0;
- $empty->{'fvalue-boolean'} = false;
- $form = array();
- $field = clone $empty;
- $field->{'fid'} = 1; // Nazwa aukcji.
- $field->{'fvalue-string'} = 'jakas nazwa aukcji';
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 2; // Numer kategorii.
- $field->{'fvalue-int'} = 1885;
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 3; // Czas rozpoczęcia.
- $field->{'fvalue-datetime'} = time();
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 4; // Czas trwania, wartość jest jedną ze stałych, których wartości można odczytać z informacji o polach.
- $field->{'fvalue-int'} = 3;
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 5; // Ilość sztuk (1 - 1000).
- $field->{'fvalue-int'} = 69;
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 6; // Cena wywoławcza
- $field->{'fvalue-float'} = 1;
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 8; // Cena Kup Teraz!
- $field->{'fvalue-float'} = 666;
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 9; // Numer kraju, pokrywa się z numerem kraju używanym do wybierania wersji serwisu.
- $field->{'fvalue-int'} = 228;
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 11; // Miejscowość.
- $field->{'fvalue-string'} = 'Szczecin';
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 12; // Kto pokrywa koszty transportu. W zasadzie to pole logiczne, przeliczalne wartości tego pola to tylko 0 jeśli koszty pokrywa sprzedający i 1 jeśli kupujący.
- $field->{'fvalue-int'} = 1;
- $form[] = $field;
- // flagi składamy przez ich logiczne sumowanie
- $field = clone $empty;
- $field->{'fid'} = 13; //Opcje transportu. Wartość to nałożenie flag, kolejne bity odpowiadają kolejnym wartością z listy opcji, a opcje kolejno to: "Przesyłka pocztowa", "Przesyłka pocztowa priorytetowa", "Przesyłka kurierska", "Odbiór osobisty", "Inne", "Zgadzam się na wysłanie przedmiotu za granicę". Szkoda, że w manualu WebAPI nie napisali, że tego typu pola są właśnie złożeniem flag…
- $field->{'fvalue-int'} = 1;
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 14; // Opcje płatności. Wartość jest obliczana jak w przypadku pola "Opcje transportu", dostępne flagi to kolejno: "Wpłata na konto", "Pobranie", "Płatności Allegro", "Płatności Allegro Escrow", "Inne".
- $field->{'fvalue-int'} = 1;
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 24; //opis przedmiotu
- $field->{'fvalue-string'} = '<h1>Opis</h1>
- <p>Nasza aukcja - powered by <a href="http://flaszeczki.pl/" title="flaszeczki.pl - flashowe gry online dla każdego">flaszeczki.pl</a>.</p>';
- $form[] = $field;
- $field = clone $empty;
- $field->{'fid'} = 32; // kod pocztowy
- $field->{'fvalue-string'} = '11-220';
- $form[] = $field;
- $local = uniqid();
- $aAuctionProperties = array(
- array(
- 'fid' => 1, // Tytuł
- 'fvalue-string' => 'Łożysko kulkowe 5cm',
- 'fvalue-int' => 0,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 2, // Kategoria
- 'fvalue-string' => '',
- 'fvalue-int' => 1885,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 3, // Data rozpoczęcia
- 'fvalue-string' => '',
- 'fvalue-int' => strtotime("2010-05-16 23:55"),
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 4, // Czas trwania
- 'fvalue-string' => '',
- 'fvalue-int' => 4,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 5, // Ilość sztuk
- 'fvalue-string' => '',
- 'fvalue-int' => 1,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 6, // Cena wywoławcza
- 'fvalue-string' => '',
- 'fvalue-int' => 0,
- 'fvalue-float' => 30.00,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 9, // Kraj
- 'fvalue-string' => '',
- 'fvalue-int' => 228,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 10, // Województwo
- 'fvalue-string' => '',
- 'fvalue-int' => 214,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 11, // Miasto
- 'fvalue-string' => 'Sincity',
- 'fvalue-int' => 0,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 12, // Transport
- 'fvalue-string' => '',
- 'fvalue-int' => 1,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 14, // Formy płatności
- 'fvalue-string' => '',
- 'fvalue-int' => 1,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 24, // Opis
- 'fvalue-string' => 'Szczegółowy opis łożyska kulkowego 5cm',
- 'fvalue-int' => 0,
- 'fvalue-float' => 0,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- ),
- array(
- 'fid' => 36, // Paczka pocztowa ekonomiczna
- 'fvalue-string' => '',
- 'fvalue-int' => 0,
- 'fvalue-float' => 11.00,
- 'fvalue-image' => 0,
- 'fvalue-datetime' => 0,
- 'fvalue-boolean' => false
- )
- );
- echo "<br>przed wystawieniem";
- $item = $client->doNewAuctionExt($session['session-handle-part'], $aAuctionProperties);
- echo "<br>po wystawieniu";
- ?>
Advertisement
Add Comment
Please, Sign In to add comment