<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog since78.plBlog since78.pl</title>
	<atom:link href="http://blog.since78.pl/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.since78.pl</link>
	<description>e-Marketing, SEO, technologie web</description>
	<lastBuildDate>Wed, 16 Nov 2011 08:31:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<meta name="generator" content="Obscure 2.0" />
		<item>
		<title>Ciekawy sposób na tanie loty</title>
		<link>http://blog.since78.pl/reviews/ciekawy-sposob-na-tanie-loty/</link>
		<comments>http://blog.since78.pl/reviews/ciekawy-sposob-na-tanie-loty/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 11:16:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://blog.since78.pl/?p=458</guid>
		<description><![CDATA[W internecie pojawiła się ostatnio ciekawa propozycja dla wszystkich, którzy często latają w różnych celach. Mowa tutaj o wyszukiwarce lotów Teleportus. Po wejściu, ukazuje nam się bardzo ładnie zrobiona strona główna na której znajduje się formularz wyszukiwania. Wszystko w jasnych, delikatnych odcieniach niebieskiego koloru, z elementami pomarańczowymi. Pracę z serwisem umila nam smok znajdujący się po lewej stronie formularza Działanie serwisu jest bardzo proste. W formularzu wskazujemy gdzie chcielibyśmy lecieć, w jakim terminie i jakim celu. Na początek twórcy serwisu &#8230; <a href="http://blog.since78.pl/reviews/ciekawy-sposob-na-tanie-loty/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src='http://blog.since78.pl/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/458.jpg&amp;w=200&amp;h=150&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>W internecie pojawiła się ostatnio ciekawa propozycja dla wszystkich, którzy często latają w różnych celach. Mowa tutaj o wyszukiwarce lotów Teleportus.</p>
<p><img class="aligncenter size-full wp-image-459" title="teleportus_logo" src="http://blog.since78.pl/files/2011/11/teleportus_logo.jpg" alt="teleportus" width="245" height="113" /></p>
<p>Po wejściu, ukazuje nam się bardzo ładnie zrobiona strona główna na której znajduje się formularz wyszukiwania. Wszystko w jasnych, delikatnych odcieniach niebieskiego koloru, z elementami pomarańczowymi. Pracę z serwisem umila nam smok znajdujący się po lewej stronie formularza <img src='http://blog.since78.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Działanie serwisu jest bardzo proste. W formularzu wskazujemy gdzie chcielibyśmy lecieć, w jakim terminie i jakim celu. Na początek twórcy serwisu dają nam możliwość wybrania trzech aktywności: Wspinania, Odpoczynku na plaży, oraz Zwiedzania. Dodatkowo możemy zdefiniować temperaturę miejsca w które się wybieramy oraz kontynent.</p>
<p><img class="aligncenter size-full wp-image-460" title="wyszukiwarka-lotow" src="http://blog.since78.pl/files/2011/11/wyszukiwarka-lotow.jpg" alt="wyszukiwarka lotów" width="500" height="321" /></p>
<p>Po zdefiniowaniu parametrów i akceptacji poprzez kliknięcie &#8222;SZUKAJ&#8221;, pojawia się okienko oczekiwania. Na wyniki czeka się czasem bardzo długo, dlatego też twórcy postanowili umilić nam oczekiwanie pięknymi zdjęciami powiązanymi z wybraną aktywnością. POjawia się również pasek oczekiwania, dzięki któremu wiemy ile czasu zostało do pojawienia się wyników.</p>
<p><img class="aligncenter size-full wp-image-463" title="teleportus-okienko-oczekiwania" src="http://blog.since78.pl/files/2011/11/teleportus-okienko-oczekiwania.jpg" alt="" width="500" height="318" /></p>
<p>Strona z wynikami jest bardzo czytelna. Każda lokalizacja przedstawiony jest jako jeden blok, który rozszerza się po kliknięciu w szczegóły. W szczegółach mamy dodatkowe informacje o aktywności, film oraz mapkę z lokalizacją. Z tego co zauważyłem, serwis prezentuje tylko najniższe wyszukane ceny do danej miejscowości. Dodatkowo, są przynajmniej dwa źródła cen (Tripsta i Esky) dla polskiej wersji serwisu, co znacznie ułatwia nam wyszukanie najtańszego lotu. Jeśli zaś wiemy gdzie dokładnie chcemy lecieć, możemy skorzystać z wyszukiwarki standardowej, gdzie możemy podać wszystkie parametry lotu.</p>
<p><img class="aligncenter size-full wp-image-464" title="wyniki-wyszukiwania-lotow" src="http://blog.since78.pl/files/2011/11/wyniki-wyszukiwania-lotow.jpg" alt="" width="500" height="456" /></p>
<p>Jak widać, serwis posiada spore możliwości. Samo szukanie jest bardzo proste, ceny które mi akurat się pojawiły były najtańsze z możliwych (sprawdzałem z innymi wyszukiwarkami). Jak tylko pojawi się Nurkowanie w aktywnościach, na pewno się tutaj zjawię aby wyszukać tanie bilety. Póki co Teleportus ląduje w moich ulubionych. Kto wie, może wybiorę się na jakąś ciepłą plażę <img src='http://blog.since78.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Za oknem szaro. Trochę słońca by się przydało <img src='http://blog.since78.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Co myślicie o tym sposobie na<a title="tanie loty" href="http://www.teleportus.pl" target="_blank"> tanie loty</a>? Mi się bardzo podoba.</p>
<p>Jeśli chcecie sami sprawdzić zapraszam tutaj: <a href="http://www.teleportus.pl" target="_blank">http://www.teleportus.pl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.since78.pl/reviews/ciekawy-sposob-na-tanie-loty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubezpieczenia na narty online</title>
		<link>http://blog.since78.pl/reviews/ubezpieczenia-na-narty-online/</link>
		<comments>http://blog.since78.pl/reviews/ubezpieczenia-na-narty-online/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 11:18:34 +0000</pubDate>
		<dc:creator>rb</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[inseco]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[ubezpieczenia]]></category>

		<guid isPermaLink="false">http://blog.since78.pl/?p=409</guid>
		<description><![CDATA[W związku, że sezon na narty i snowboard tuż tuż, chciałbym przedstawić możliwości zakupu polisy przez internet. Porównywarki ubezpieczeniowe działają na naszym rynku już sporo czasu. Ostatnio ich popularność znacznie wzrosła i coraz więcej firm oferuje możliwość zakupu polisy ubezpieczeniowej direct. W naszej recenzji wziąłem na tapetę znaną porównywarkę ubezpieczeń z możliwością zakupu polisy Inseco.pl. Przyjrzałem się dokładnie pod kątem oferty oraz samego procesu zakupu. Aby przetestować porównywarkę, postanowiłem zakupić dla siebie ubezpieczenie na narty na tydzień czasu w Austrii. Stroną &#8230; <a href="http://blog.since78.pl/reviews/ubezpieczenia-na-narty-online/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src='http://blog.since78.pl/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/409.jpg&amp;w=200&amp;h=150&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>W związku, że sezon na narty i snowboard tuż tuż, chciałbym przedstawić możliwości zakupu polisy przez internet. Porównywarki ubezpieczeniowe działają na naszym rynku już sporo czasu. Ostatnio ich popularność znacznie wzrosła i coraz więcej firm oferuje możliwość zakupu polisy ubezpieczeniowej direct.</p>
<p>W naszej recenzji wziąłem na tapetę znaną porównywarkę ubezpieczeń z możliwością zakupu polisy <a href="https://www.inseco.pl/?idp=4c92738bc581f" target="_blank">Inseco.pl</a>. Przyjrzałem się dokładnie pod kątem oferty oraz samego procesu zakupu.</p>
<p><a rel="attachment wp-att-411" href="http://blog.since78.pl/?attachment_id=411"><img class="aligncenter size-full wp-image-411" src="http://blog.since78.pl/wp-content/uploads/2010/10/str_glowna.jpg" alt="" width="600" height="359" /></a></p>
<p>Aby przetestować porównywarkę, postanowiłem zakupić dla siebie ubezpieczenie na narty na tydzień czasu w Austrii.</p>
<p>Stroną główna serwisu <a href="https://www.inseco.pl/?idp=4c92738bc581f" target="_blank">Inseco.pl</a> jest bardzo przejrzysta. Pojawiają nam się podstawowe informacje związane z serwisem oraz dodatkowe funkcjonalności (np. przypomnienia oraz możliwość kontaktu z Działem Obsługi Klienta). W głównej części znajdują się bloki z możliwością wyboru typu ubezpieczenia. Są wśród nich <a href="https://www.inseco.pl/turystyka/form.html?idp=4c92738bc581f" target="_blank">ubezpieczenia turystyczne</a>, <a href="https://www.inseco.pl/nieruchomosci/form.html?idp=4c92738bc581f" target="_blank">ubezpieczenia mieszkania</a> oraz <a href="https://www.inseco.pl/komunikacja/form.html?idp=4c92738bc581f" target="_blank">ubezpieczenia komunikacyjne</a>. Wszystko w bardzo ładnej i przejrzystej grafice.</p>
<p>Po wyborze ubezpieczeń turystycznych pojawia się nam formularz do wypełnienia w którym definiujemy parametry naszego wyjazdu na narty.</p>
<p><a href="http://blog.since78.pl/files/2010/10/krok11.jpg"><img class="aligncenter size-full wp-image-434" title="krok1" src="http://blog.since78.pl/files/2010/10/krok11.jpg" alt="" width="600" height="453" /></a></p>
<p>Jak widać lista parametrów jest spora i można sobie dowolnie zdefiniować interesujące nas rzeczy. Na szczęście sam formularz nie sprawia kłopotów i jego wypełnienie nie powinno przysparzać problemów. Dla osób które nie bardzo orientują się w tematyce ubezpieczeń serwis oferuje podpowiedzi które w dobry sposób wyjaśniają nasze wątpliwości. Po wypełnieniu formularza pojawia nam się lista ofert które można sortować po cenie oraz zakresie oferowanej ochrony. Dodatkową funkcjonalnością jest możliwość porównania ofert wraz z uwzględnieniem szczegółów (w tym sum ubezpieczenia, zakresu ochrony itp.).</p>
<p><a rel="attachment wp-att-415" href="http://blog.since78.pl/?attachment_id=415"><img class="aligncenter size-full wp-image-415" src="http://blog.since78.pl/wp-content/uploads/2010/10/oferty.jpg" alt="" width="600" height="255" /></a></p>
<p>Gdy wybierzemy interesującą nas ofertę, należy wypełnić formularz z danymi o polisy oraz zaakceptować dokumenty potrzebne do realizacji zamówienia. Następnie ostatnią rzeczą która dzieli nas od naszego ubezpieczenia na narty jest płatność za polisę którą można dokonać na wiele sposobów. Do wyboru mamy wiele form płatności które można wykorzystać aby zapłacić za polisę.</p>
<p>Po opłaceniu polisy w ciągu kilku minut (w zależności od formy płatności, w przypadku przelewu może to potrwać dłużej) otrzymujemy SMSa potwierdzającego zakup wraz z numerem polisy. Dodatkowo nasza polisa wysyłana jest do nas na podany adres e-mail, którą można wydrukować i zabrać ze sobą na narty lub snowboard.</p>
<p>Jak widać sam proces zakupu ubezpieczenia na narty zajął mi zaledwie kilka minut.  Pomimo tego, że robiłem to po raz pierwszy nie miałem większych problemów. Wydaje mi się że <a href="https://www.inseco.pl/?idp=4c92738bc581f" target="_blank">Inseco.pl</a> jest dobrą propozycją dla osób które cenią sobie czas. Bez wychodzenia z domu i szukania agenta ubezpieczeniowego jesteśmy w stanie kupić polisę w prosty sposób w bardzo krótkim czasie. Jedyną przeszkodą może być brak wiedzy z zakresu ubezpieczeń, dlatego też polecam korzystanie z pomocy oraz czytanie Ogólnych Warunków Ubezpieczenia (OWU)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.since78.pl/reviews/ubezpieczenia-na-narty-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generator nazw domen &#8211; Blungr.com</title>
		<link>http://blog.since78.pl/reviews/generator-nazw-domen-blungr-com/</link>
		<comments>http://blog.since78.pl/reviews/generator-nazw-domen-blungr-com/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 15:55:00 +0000</pubDate>
		<dc:creator>rb</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[domeny]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[generator nazw]]></category>
		<category><![CDATA[generator nazw domen]]></category>

		<guid isPermaLink="false">http://blog.since78.pl/?p=382</guid>
		<description><![CDATA[Obecnie znalezienie odpowiedniej nazwy dla naszego projektu, startupa lub nazwy firmy jest coraz trudniejsze. Coraz więcej domen jest zajętych a wymyślenie nowej nazwy jest czasami nie lada wyczynem. Jak widać w internecie, coraz więcej nazw domen to krótkie, łatwo wpadające w ucho słowa. Często zbitek kilku słów z drobnymi zmianami w piśmie lub dodatkami dźwiękonaśladowczymi. Aby pomóc osobom w wymyślaniu nazw dla swoich projektów stworzyliśmy prosty generator nazw domen &#8211; Blungr.com. Zasada działania jest bardzo prosta. Wpisujemy jedno lub dwa &#8230; <a href="http://blog.since78.pl/reviews/generator-nazw-domen-blungr-com/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Obecnie znalezienie odpowiedniej nazwy dla naszego projektu, startupa lub nazwy firmy jest coraz trudniejsze. Coraz więcej domen jest zajętych a wymyślenie nowej nazwy jest czasami nie lada wyczynem. Jak widać w internecie, coraz więcej nazw domen to krótkie, łatwo wpadające w ucho słowa. Często zbitek kilku słów z drobnymi zmianami w piśmie lub dodatkami dźwiękonaśladowczymi.</p>
<p>Aby pomóc osobom w wymyślaniu nazw dla swoich projektów stworzyliśmy prosty generator nazw domen &#8211; <a href="http://Blungr.com">Blungr.com</a>.</p>
<p><a rel="attachment wp-att-389" href="http://blog.since78.pl/reviews/generator-nazw-domen-blungr-com/attachment/screen1/"><img class="aligncenter size-full wp-image-389" src="http://blog.since78.pl/wp-content/uploads/2010/09/screen1.jpg" alt="" width="500" height="345" /></a></p>
<p>Zasada działania jest bardzo prosta. Wpisujemy jedno lub dwa słowa, wybieramy ustawienia i generujemy nazwę domeny. Interfejs (mam nadzieję) jest bardzo prosty i intuicyjny.  Oto ustawienia które mamy do wyboru:</p>
<ul>
<li>domain &#8211; nazwa domeny</li>
<li>prefix &#8211; ciąg znaków występujący przed nazwą</li>
<li>suffix &#8211; ciąg znaków występujący po nazwie</li>
<li>u &gt;&gt; oo &#8211; zamiana litery &#8222;u&#8221; na &#8222;oo&#8221; (np. &#8222;blunger&#8221; &gt; &#8222;bloonger&#8221;)</li>
<li>i &gt;&gt; oo &#8211; zamiana litery &#8222;i&#8221; na &#8222;ee&#8221; (np. &#8222;trick&#8221; &gt; &#8222;treeck&#8221;)</li>
<li>r &gt;&gt; er &#8211; zamiana ostatniej litery &#8222;r&#8221; na &#8222;er&#8221; (np. &#8222;blunger&#8221; &gt; &#8222;blungr&#8221;)</li>
</ul>
<p>Po wygenerowaniu uruchomieniu skryptu, system proponuje nam 7 przykładowych domen. Jeśli wyników jest więcej, resztę można obejrzeć klikając na &#8222;Show all&#8221;. Następnie mamy możliwość sprawdzenia dostępności domeny poprzez kliknięcie w jej nazwę. Jeśli domena jest dostępna, mamy możliwość zakupu domeny u jednego z dostawców.</p>
<p><a rel="attachment wp-att-390" href="http://blog.since78.pl/reviews/generator-nazw-domen-blungr-com/attachment/screen2/"><img class="aligncenter size-full wp-image-390" src="http://blog.since78.pl/wp-content/uploads/2010/09/screen2.jpg" alt="" width="500" height="174" /></a></p>
<p>Jak widać sam system jest bardzo prosty. Pozwala on jednak na wygenerowanie bardzo ciekawych nazw domen, które na pewno znajdą swoich odbiorców.  Mam nadzieję że pomoże on tym, którzy cierpliwie (tak jak ja wcześniej) spisywali sobie słówka na kartce szukając upragnionej nazwy.</p>
<p><strong>Co dalej?</strong></p>
<p>Algorytm generowania nazw domen jest wciąż rozwijany. Obecnie pracujemy również nad ułatwieniem kupowania samej domeny oraz nad rozszerzeniem ilości obsługiwanych domen. Mamy też wiele innych pomysłów które czekają na realizację. Mamy więc nadzieję że <a href="http://Blungr.com">Blungr.com</a> będzie coraz lepszy aby jak najbardziej pomóc użytkownikom w wymyślaniu nazw domen.</p>
<h3><span style="color: #ff6600">Dla wszystkich użytkowników Blungr.com oraz naszych czytelników mamy <strong>10%</strong> zniżkę na zakup domeny w firmie Hover.com! </span>Wystarczy kliknąć w poniższy link lub skopiować go do przeglądarki.</h3>
<p><a href="http://hover.com/blungr" target="_blank">http://hover.com/blungr</a></p>
<p>Życzymy wszystkim ciekawych nazw domen!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.since78.pl/reviews/generator-nazw-domen-blungr-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teoria zabawy</title>
		<link>http://blog.since78.pl/uncategorized/teoria-zabawy/</link>
		<comments>http://blog.since78.pl/uncategorized/teoria-zabawy/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 11:43:16 +0000</pubDate>
		<dc:creator>rb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[teoria zabawy]]></category>
		<category><![CDATA[the fun theory]]></category>
		<category><![CDATA[viral marketing]]></category>

		<guid isPermaLink="false">http://blog.since78.pl/?p=336</guid>
		<description><![CDATA[Wprowadzenie Podejrzewam, że teoria zabawy (The Fun Theory) jest już znana większości z Was. Chciałbym jednak napisać kilka zdań na ten temat, ponieważ uważam że jest on warty uwagi.  Zanim jednak to zrobię, proponuję obejrzeć krótki filmik który mniej lub bardziej nawiązuje oraz wyjaśnia samą zasadę nauki poprzez zabawę: Po tym wyczerpującym wykładzie jedyne co mi pozostaje dodać to fakt, że teoria zabawy polega na nauce lub zmianie ludzkich zachowań poprzez zabawę. Inicjatorem pomysłu jest Volkswagen, który zlecił szwedzkiej firmie &#8230; <a href="http://blog.since78.pl/uncategorized/teoria-zabawy/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h5>Wprowadzenie</h5>
<p>Podejrzewam, że teoria zabawy (The Fun Theory) jest już znana większości z Was. Chciałbym jednak napisać kilka zdań na ten temat, ponieważ uważam że jest on warty uwagi.  Zanim jednak to zrobię, proponuję obejrzeć krótki filmik który mniej lub bardziej nawiązuje oraz wyjaśnia samą zasadę nauki poprzez zabawę:</p>
<p><a href="http://www.youtube.com/watch?v=vD8NzGPdJ94"></a></p>
<p>Po tym wyczerpującym wykładzie jedyne co mi pozostaje dodać to fakt, że teoria zabawy polega na nauce lub zmianie ludzkich zachowań poprzez zabawę. Inicjatorem pomysłu jest Volkswagen, który zlecił szwedzkiej firmie DDB Stockholm stworzenie kampani, której celem było wypromowanie nowego typu silników. Powstała więc strona <a href="http://www.thefuntheory.com">www.thefuntheory.com</a> aby sprawdzić, czy zabawa jest w stanie zmienić zachowania oraz nawyki ludzkie. Kampania okazała się wielkim sukcesem. Filmiki na youtube biły rekordy oglądalności, zaś sam pomysł został zauważony oraz pokazany w wielu stacjach telewizji na całym świecie.</p>
<h5>Przykłady</h5>
<h3>1. Fortepianowe schody</h3>
<p>Chyba najbardziej popularny projekt &#8222;The Fun Theory&#8221;. Film na youtube miał ponad 1,2 mln odtworzeń w zaledwie 4 dni.</p>
<h3>2. Najgłębszy kosz na świecie</h3>
<p>Tym razem zaledwie 88 tyś odsłon w youtube w 4 dni.</p>
<h3>3. Pojemnik na butelki</h3>
<h5>Jak to się ma do marketingu internetowego?</h5>
<p>&#8222;The fun theory&#8221; pokazuje jak bardzo skuteczne jest wykorzystanie &#8222;viral marketingu&#8221;. Obecnie w sieci pojawia się bardzo dużo tego typu kampani. Można tutaj wspomnieć o <a href="http://www.youtube.com/watch?v=6xfBNxNds0Q" target="_blank">kampani Quicksilver</a>, Ray-Ban (<a href="http://www.youtube.com/watch?v=-prfAENSh2k" target="_blank">Sunglass catch</a> i <a href="http://www.youtube.com/watch?v=KMT1FLzEn9I" target="_blank">Super cameleon</a>) lub <a href="http://www.youtube.com/watch?v=qYwYYFNAXFU" target="_blank">Nike Football</a>.</p>
<p>Czy można jednak wykorzystać samą teorię zabawy w marketingu internetowym? W internecie dosyć często spotykamy się z różnego rodzaju grami flashowymi które w formie bannera &#8222;zmuszają&#8221; nas do kliknięcia w reklamę. Każdy chyba spotkał się ze strzelaniem do kaczek. Intel na swojej stronie prowadził kampanię związaną z F1. Można było zasiąść za kierownicą wirtualnego bolidu formuły 1 i przy okazji wygrać nagrody. Ostatnio z okazji Mistrzostw Świata w RPA firma Allianz uruchomiła grę w typowanie wyników meczów rozgrywanych podczas MŚ2010. Nagrodą było kilkanaście procent zniżki na ubezpieczenie.</p>
<p>Podstawowa jednak różnica między &#8222;The fun teory&#8221; a tego typu kampaniami jest taka, że w przypadku teorii zabawy mamy do czynienia z poprawą ludzkich zachowań. W tym drugim zabawa wykorzystywana jest tylko i wyłącznie w celach marketingowych. A może Wy natrafiliście w sieci na jakieś przykłady działań które miały wpływ na Wasze zachowanie?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.since78.pl/uncategorized/teoria-zabawy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syd Mead &#124; futurysta wizjoner</title>
		<link>http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/</link>
		<comments>http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 05:50:26 +0000</pubDate>
		<dc:creator>maciej blazejczyk</dc:creator>
				<category><![CDATA[Inspirations]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[inspire]]></category>
		<category><![CDATA[s-f]]></category>
		<category><![CDATA[syd mead]]></category>

		<guid isPermaLink="false">http://blog.since78.pl/?p=183</guid>
		<description><![CDATA[Każdy projekt został przez kogoś wcześniej stworzony.  Często tych twórców nie znamy z imienia i nazwiska. W przypadku plakatów filmowych przyjęła się, łatwa koncepcja typu &#8222;film reżysera  filmu X&#8221;. Bo po co nas informować jak reżyser  się nazywa. Wg.  autorów kampanii marketingowej najważniejsze jest to, że  stworzył on film X, a jego imię i nazwisko nie jest już tak ważne dla szerszej publiczności .  A szkoda. Jak dotrzemy do tych wszystkich projektów / filmów i połączymy je w jedną całość &#8230; <a href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Każdy projekt został przez kogoś wcześniej stworzony.  Często tych twórców nie znamy z imienia i nazwiska. W przypadku plakatów filmowych przyjęła się, łatwa koncepcja typu &#8222;film reżysera  filmu X&#8221;. Bo po co nas informować jak reżyser  się nazywa. Wg.  autorów kampanii marketingowej najważniejsze jest to, że  stworzył on film X, a jego imię i nazwisko nie jest już tak ważne dla szerszej publiczności .  A szkoda.</p>
<p>Jak dotrzemy do tych wszystkich projektów / filmów i połączymy je w jedną całość to nagle okazuje się  &#8222;wow, to ten facet zrobił tyle fajnych rzeczy,  które pamiętam aż do dziś.&#8221;</p>
<p>Chciałbym przedstawić krótki przegląd prac wizjonera-futurysty Syda Meada. Jest tu kilka jego flagowych projektów ale także te mniej znane.  W poniższym poście chciałbym zebrać  te wszytkie ważne (często znane) projekty i przedstawić pod wspólną marką / imieniem, a nie pod sloganem typu &#8222;autor motorów z filmu Tron !&#8221;</p>
<p>Kontynuując kwestię &#8222;motorów&#8221; to faktycznie są one chyba najbardziej spektakularnym projektem. Przebiły się w masowej kulturze poprzez koncept arty, film Tron &#8211; następnie gry komputerowe, kończąc na projektach wzorujących się na oryginale.</p>
<p style="text-align: left"><strong>&gt; Lightcycle super-bike z &#8222;legendarnego&#8221; filmu Tron</strong> (Druga część z projektem  super-bike&#8217;a opartym na pierwowzorze  wkrótce w kinach). Syd modyfikował także  istniejący design superbike&#8217;a  na potrzeby gry PC &#8222;Tron&#8221; z  roku 2003.</p>
<p><a rel="attachment wp-att-272" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/01_tron/"><img class="alignnone size-full wp-image-272" src="http://blog.since78.pl/wp-content/uploads/2010/06/01_tron.jpg" alt="" width="550" height="378" /></a></p>
<p><a rel="attachment wp-att-273" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/02_tron/"><img class="alignnone size-full wp-image-273" src="http://blog.since78.pl/wp-content/uploads/2010/06/02_tron.jpg" alt="" width="550" height="378" /></a></p>
<p><strong>&gt; Spinner Car </strong>- kolejny bardzo ważny projekt wykorzystany w filmie  &#8222;Blade Runner&#8221; &#8211; czyli docenionym dopiero po latach klasyku SF na podstawie powieści Philipa . K. Dicka  &#8222;Do androids dream about eletric sheeps&#8221;. Genialny film, świetne kreacje aktorskie, oraz sugestywny świat. Spinner car był autem startującym pionowo na zasadzie poduszkowca , a następnie przyspieszającym za pomocą silników odrzutowych.  Pojawił się w filmie, a także w grze komputerowej &#8222;Blade Runner&#8221;  z 1997 r. Oraz kilka razy w znanych filmach na zasadzie rekwizytu.</p>
<p><a rel="attachment wp-att-274" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/03_blade/"><img class="alignnone size-full wp-image-274" src="http://blog.since78.pl/wp-content/uploads/2010/06/03_blade.jpg" alt="" width="550" height="378" /></a></p>
<p><strong>&gt; Architektura</strong></p>
<p><a rel="attachment wp-att-275" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/04_blade/"><img class="alignnone size-full wp-image-275" src="http://blog.since78.pl/wp-content/uploads/2010/06/04_blade.jpg" alt="" width="550" height="378" /></a></p>
<p>&gt; <strong>Johnny 5</strong> z Krótkiego Spięcia ( Postać Wall-e -ego z filmu Pixara troszkę podobna nieprawdaż? <img src='http://blog.since78.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a rel="attachment wp-att-276" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/05_short/"><img class="alignnone size-full wp-image-276" src="http://blog.since78.pl/wp-content/uploads/2010/06/05_short.jpg" alt="" width="550" height="378" /></a></p>
<p>&gt; <strong>statek transportowy Sulaco </strong> z filmu Aliens. Projekt znacznie odbiegał o standardowych wizji smukłych statków kosmicznych.  A jak wiemy smukłość nie jest potrzebna w próżni. Bardziej przypominał gigantyczne działo bojowe.</p>
<p><a rel="attachment wp-att-277" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/06_aliens/"><img class="alignnone size-full wp-image-277" src="http://blog.since78.pl/wp-content/uploads/2010/06/06_aliens.jpg" alt="" width="550" height="378" /></a></p>
<p>&gt; <strong>Wnętrze statku Sulaco</strong></p>
<p><a rel="attachment wp-att-278" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/07_aliens/"><img class="alignnone size-full wp-image-278" src="http://blog.since78.pl/wp-content/uploads/2010/06/07_aliens.jpg" alt="" width="550" height="378" /></a></p>
<p>&gt; <strong>APC car</strong> &#8211; Aliens &#8211; armored personnel carrier</p>
<p><a rel="attachment wp-att-279" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/08_aliens/"><img class="alignnone size-full wp-image-279" src="http://blog.since78.pl/wp-content/uploads/2010/06/08_aliens.jpg" alt="" width="550" height="378" /></a></p>
<p>&gt; <strong>Leonov  &#8211; </strong>Miał swój udział w Odysei kosmicznej 2010 na podstawie powieści  Arthura C. Clarke&#8217;a.  Statek kosmiczny Leonov nazwany został na cześć kosmonauty Alexieja Leonova <span style="font-family: ARIAL;font-size: x-small">.<br />
</span></p>
<p><a rel="attachment wp-att-280" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/09_leonov/"><img class="alignnone size-full wp-image-280" src="http://blog.since78.pl/wp-content/uploads/2010/06/09_leonov.jpg" alt="" width="550" height="378" /></a></p>
<p>Urodzony w1933 roku Syd Mead stworzył wiele wizjonerskich pomysłów. Zanim otworzył własną  firmę pracował jako designer w Ford Motor Company.  Jego vehicle-design z lat 60 tych do tej porą wzbudzają szacunek. A wiele innych jego projektów przebiło się do popkultury. Projektował futurystyczne wnętrza , wehikuły, a nawet zabawki.</p>
<p><a rel="attachment wp-att-281" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/10_art/"><img class="alignnone size-full wp-image-281" src="http://blog.since78.pl/wp-content/uploads/2010/06/10_art.jpg" alt="" width="550" height="378" /></a></p>
<p><a rel="attachment wp-att-282" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/11_art/"><img class="alignnone size-full wp-image-282" src="http://blog.since78.pl/wp-content/uploads/2010/06/11_art.jpg" alt="" width="550" height="378" /></a></p>
<p>Wiele nowych projektów nawiązuje do prac mistrza miedzy innymi wehikuł z &#8222;minority report&#8221;</p>
<p><a rel="attachment wp-att-283" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/12_minority/"><img class="alignnone size-full wp-image-283" src="http://blog.since78.pl/wp-content/uploads/2010/06/12_minority.jpg" alt="" width="550" height="378" /></a></p>
<p>Bardziej  popkulturowo &#8211; można zobaczyć np lightbike&#8217;a  na jednym z wielu t-shirtów Sheldona z serialu Big Bang Theory</p>
<p><a rel="attachment wp-att-284" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/13_minority/"><img class="alignnone size-full wp-image-284" src="http://blog.since78.pl/wp-content/uploads/2010/06/13_minority.jpg" alt="" width="550" height="378" /></a></p>
<p>projekty &#8222;żelaźniaków&#8221;  <img src='http://blog.since78.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  dla  firmy Mattel</p>
<p><a rel="attachment wp-att-285" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/14_mattel/"><img class="alignnone size-full wp-image-285" src="http://blog.since78.pl/wp-content/uploads/2010/06/14_mattel.jpg" alt="" width="550" height="378" /></a></p>
<p>&gt; Lego wykonało unikatowy projekt Spinnera  specjalnie dla Syda</p>
<p><a rel="attachment wp-att-270" href="http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/attachment/15_mattel/"><img class="alignnone size-full wp-image-270" src="http://blog.since78.pl/wp-content/uploads/2010/06/15_mattel.jpg" alt="" width="550" height="378" /></a></p>
<p>Syd Mead pracował także przy takich produkcjach jak Star trek ( v&#8217;ger design )  / Wing Commander: Prophecy. ( Conceptual artist ) , Mission to Mars (vehicle design).   Aliens: Colonial Marines ( game )</p>
<p>Strona oficjalna<br />
<a class="alignleft" title="www.sydmead.com" href="http://www.sydmead.com" target="_blank">www.sydmead.com</a></p>
<p><a rel="attachment wp-att-185" href="http://blog.since78.pl/?attachment_id=185"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.since78.pl/inspirations/syd-mead-futurysta-wizjoner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatyczne dodawanie aukcji w Allegro (z pliku CSV)</title>
		<link>http://blog.since78.pl/tutorials/automatyczne-dodawanie-aukcji-w-allegro-z-pliku-csv/</link>
		<comments>http://blog.since78.pl/tutorials/automatyczne-dodawanie-aukcji-w-allegro-z-pliku-csv/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 17:37:43 +0000</pubDate>
		<dc:creator>rb</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[allegro]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[webapi]]></category>

		<guid isPermaLink="false">http://blog.since78.pl/?p=119</guid>
		<description><![CDATA[Z tego co mi wiadomo, Allegro nie pozwala jeszcze na dodawanie kilku aukcji jednocześnie (korzystając np. z Excela i pliku .csv). Dzisiaj pokażę Wam jak w prosty sposób napisać taką funkcjonalność wykorzystując rzeczy z poprzednich postów. Jak już wspomniałem w tutorialu dotyczącym dodawania aukcji, jest to bardzo przydatna rzecz, zwłaszcza dla osób które sprzedają przedmioty niewiele się od siebie różniące. Dla niektórych może to też być udogodnienie. Definiowanie samych transakcji w Excelu może być łatwiejsze niż przechodzenie za każdym razem &#8230; <a href="http://blog.since78.pl/tutorials/automatyczne-dodawanie-aukcji-w-allegro-z-pliku-csv/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Z tego co mi wiadomo, Allegro nie pozwala jeszcze na dodawanie kilku aukcji jednocześnie (korzystając np. z Excela i pliku .csv). Dzisiaj pokażę Wam jak w prosty sposób napisać taką funkcjonalność wykorzystując rzeczy z poprzednich postów.</p>
<p>Jak już wspomniałem w tutorialu dotyczącym dodawania aukcji, jest to bardzo przydatna rzecz, zwłaszcza dla osób które sprzedają przedmioty niewiele się od siebie różniące. Dla niektórych może to też być udogodnienie. Definiowanie samych transakcji w Excelu może być łatwiejsze niż przechodzenie za każdym razem tego samego formularza. Taką funkcjonalność posiada także Google AdWords, który pozwala na zarządzanie słowami kluczowymi kampanii. Obecnie jest to mocno rozbudowany moduł z wbudowanym edytorem Excel, ale kilka lat temu dodawanie słów kluczowych wiązało się z uploadem pliku .csv (lub .xls, już nie pamiętam ;]).</p>
<p>No dobrze. Abyśmy mogli korzystać z funkcjonalności którą Google miało kilka lat temu potrzebujemy samego pliku z definicjami aukcji. Tworzymy więc sobie w Excelu arkusz który będzie zawierał pola wymagane do wystawienia aukcji. Wymagane pola wypisane są w poprzednim poście. Tworzymy więc sobie następujące kolumny w Excelu (aukcje.xls &#8211; do pobrania na koniec tutoriala):</p>
<ul>
<li>Tytuł</li>
<li>Kategoria</li>
<li>Data rozpoczęcia</li>
<li>Czas trwania aukcji</li>
<li>Liczba sztuk</li>
<li>Cena wywoławcza</li>
<li>Kraj</li>
<li>Województwo</li>
<li>Miasto</li>
<li>Transport</li>
<li>Formy płatności</li>
<li>Opis</li>
</ul>
<div id="attachment_134" class="wp-caption aligncenter" style="width: 510px"><a rel="attachment wp-att-134" href="http://blog.since78.pl/tutorials/automatyczne-dodawanie-aukcji-w-allegro-z-pliku-csv/attachment/aukcje_xls/"><img class="size-full wp-image-134" src="http://blog.since78.pl/wp-content/uploads/2010/06/aukcje_xls.gif" alt="" width="500" height="238" /></a><p class="wp-caption-text">Wygląd naszego Excela</p></div>
<p>Gdy mamy już stworzony arkusz, możemy go wypełnić danymi naszych aukcji a następnie wyeksportować dane do pliku .csv. Jako separator pola dajemy &#8222;|&#8221; a separator tekstu to średnik. Wszystko zapisujemy w formacie UTF-8. Po wyeksportowaniu danych plik będzie wyglądał następująco:</p>
<div id="attachment_143" class="wp-caption aligncenter" style="width: 510px"><a rel="attachment wp-att-143" href="http://blog.since78.pl/tutorials/automatyczne-dodawanie-aukcji-w-allegro-z-pliku-csv/attachment/aukcje_csv/"><img class="size-full wp-image-143" src="http://blog.since78.pl/wp-content/uploads/2010/06/aukcje_csv.gif" alt="" width="500" height="187" /></a><p class="wp-caption-text">Nasze aukcje w formacie .csv</p></div>
<p>Skoro mamy już prawie wszystko gotowe, potrzebujemy teraz obsłużyć dany plik i wygenereować na jego podstawie aukcje. Tworzymy więc w tym celu prosty formularz HTML z formatką pliku i jednym przyciskiem. Jako action wskażemy ten sam plik który będzie zarówno wyświetlał formularz i go obsługiwał. W naszym przypadku będzie to plik aukcje.php który będzie wyglądał następująco:</p>
<pre>require_once('AllegroAPI.php');

$oAllegro = new AllegroAPI();
$oAllegro-&gt;setProperty('conf_countryid', 228);
$oAllegro-&gt;setProperty('conf_login', 'test_login');
$oAllegro-&gt;setProperty('conf_password', 'test_haslo');
$oAllegro-&gt;setProperty('conf_apikey', 'test_klucz');
$oAllegro-&gt;connect();
$oAllegro-&gt;login();

if($_FILES){
    $oAllegro-&gt;uploadAuctions($_FILES['aukcje_plik']['tmp_name']);
}</pre>
<p>Oraz fragment kodu HTML odpowiadający za wyświetlenie formularza:</p>
<pre>
<form action="aukcje.php" enctype="multipart/form-data" method="post">

    <label for="aukcje_plik">Plik CSV </label>
</form>
</pre>
<p>Jak widać wykorzystaliśmy nową metodę z naszej klasy &#8222;uploadAuctions()&#8221; która zajmuje się przetworzeniem pliku csv i dodawaniem aukcji. Wygląda ona następująco:</p>
<pre>public function uploadAuctions($sAuctionsFile){

        $aAuctions = file($sAuctionsFile);

        if(count($aAuctions)&gt;1){
            // pomijamy pierwszy wiersz z nagłówkami
            for ($i=1; $iaddNewAuction($this-&gt;prepareAuction(explode("|",$aAuctions[$i])));
            }
            return $i-1;
        } else {
            return false;
        }

    }</pre>
<p>Wykonuje ona w pętli metodę &#8222;prepareAuction()&#8221; która przygotowuje tablicę przekazywaną do metody dodającej nową aukcję. Nie będę tutaj umieszczał całości kodu z klasy ponieważ zajęłoby to zbyt dużo miejsca. Wywołując teraz stronę pod którą umieściliśmy plik aukcje.php powinien pojawić się nam formularz z formatką do wybrania pliku CSV. Po podaniu pliku powinny nam się pojawić nowe aukcje zdefiniowane w tym pliku na naszym koncie. Powinniśmy uważać przy typach pól w excelu i podczas eksportu do csv. Data powinna mieć format YYYY-MM-DD H:i:s, ceny typu float z kropką. Przypominam również że zmieniłem celowo dane autoryzacyjne i klucz API. Jeśli kod z jakiegoś powodu nie działa to proszę o taką informację. W tutorialu nie umieszczam pełnego kodu (jest do ściągnięcia poniżej), więc kopiuj-wklej nie zadziała. Piszę to ponieważ były uwagi do wcześniejszych artykułów że kod nie działa. Jeśli jest tak naprawę to proszę o wskazanie problemu.</p>
<p>Jeszcze jedna drobna sprawa. W tutorialach tych skupiam się tylko na pokazaniu możliwości jakie daje nam WebAPI Allegro. Nie ma więc tutaj jako takiej obsługi błędów i tym podobnych. Dziękuję za wyrozumiałość <img src='http://blog.since78.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Całość kodu dostępna jest tutaj: <a href="http://blog.since78.pl/wp-content/uploads/2010/06/AllegroAPI3.zip">AllegroAPI3.zip</a><br />
Skrypt można przetestować wchodząc na <a href="http://blog.since78.pl/aukcje.php">http://blog.since78.pl/aukcje.php</a><br />
Dodane aukcje można zaś śledzić na moim fikcyjnym koncie na testowym webapi: <a href="http://www.testwebapi.pl/show_user_auctions.php?uid=17390103">http://www.testwebapi.pl/show_user_auctions.php?uid=17390103</a></p>
<p><span style="color: #ff0000">UWAGA:<br />
W związku z tym, że Allegro WebAPI ciągle się zmienia a zmiany niestety nie zawsze są kompatybilne wstecz, przykładowy skrypt oraz klasa do obsługi WebAPI mogą nie działać. Tutorial zamieszczony jest w celu przybliżenia tematu wykorzystania WebAPI w aplikacjach pisanych w PHP. Jakiekolwiek zmiany w specyfikacji od daty umieszczenia tego wpisu nie będą więc uwzględniane.</span></p>
<p>Pozdrawiam</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.since78.pl/tutorials/automatyczne-dodawanie-aukcji-w-allegro-z-pliku-csv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dodawanie aukcji przy użyciu WebAPI Allegro</title>
		<link>http://blog.since78.pl/tutorials/dodawanie-aukcji-przy-uzyciu-webapi-allegro/</link>
		<comments>http://blog.since78.pl/tutorials/dodawanie-aukcji-przy-uzyciu-webapi-allegro/#comments</comments>
		<pubDate>Sun, 16 May 2010 19:21:10 +0000</pubDate>
		<dc:creator>rb</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[allegro]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[webapi]]></category>

		<guid isPermaLink="false">http://blog.since78.pl/?p=92</guid>
		<description><![CDATA[Dzisiaj proponuję zapoznać się z metodą doNewAuctionExt() która pozwala na dodawani nowej aukcji do serwisu. Ktoś może sobie pomyśleć &#8211; po co dodawać nową aukcję za pomocą WebAPI skoro szybciej i łatwiej dodać ją za pomocą serwisu Allego? Racja. Ale co w przypadku kiedy mamy do sprzedania 40 sztuk jakiegoś przedmiotu który różni się niewielką ilością parametrów? Z pomocą przychodzi nam właśnie metoda doNewAuctionExt(). Zanim jednak zajmiemy się dodawaniem aukcji, założymy sobie konto na testowym Allegro, oraz przygotujemy naszą klasę &#8230; <a href="http://blog.since78.pl/tutorials/dodawanie-aukcji-przy-uzyciu-webapi-allegro/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src='http://blog.since78.pl/wp-content/plugins/simple-post-thumbnails/timthumb.php?src=/wp-content/thumbnails/92.jpg&amp;w=200&amp;h=150&amp;zc=1&amp;ft=jpg' alt='post thumbnail' /></p>
<p>Dzisiaj proponuję zapoznać się z metodą doNewAuctionExt() która pozwala na dodawani nowej aukcji do serwisu.<br />
Ktoś może sobie pomyśleć &#8211; po co dodawać nową aukcję za pomocą WebAPI skoro szybciej i łatwiej dodać ją za pomocą serwisu Allego? Racja. Ale co w przypadku kiedy mamy do sprzedania 40 sztuk jakiegoś przedmiotu który różni się niewielką ilością parametrów? Z pomocą przychodzi nam właśnie metoda doNewAuctionExt().</p>
<p>Zanim jednak zajmiemy się dodawaniem aukcji, założymy sobie konto na <a href="http://www.testwebapi.pl/">testowym Allegro</a>, oraz przygotujemy naszą klasę tak, aby łączyła się z testowym środowiskiem. <a href="http://www.testwebapi.pl/new_user.php">Założenie konta</a> na testwebapi.pl jest bardzo proste. Najlepiej podać zmyślone dane, które później i tak nie będą nigdzie wykorzystywane (poza adresem e-mail na który wysyłany jest link aktywacyjny oraz oczywiście loginu i hasła do serwisu). Ta również będziemy obserwowali nasze akcje które będziemy wykonywali za pomocą WebAPI. Aby połączyć się z testowym środowiskiem musimy również pozbyć się metody connect() z konstruktora naszej klasy <a href="http://blog.since78.pl/tutorials/allegro-webapi-w-php/">którą pisaliśmy ostatnio</a>. Łączymy się więc wywołując naszą klasę następująco:</p>
<pre>$oAllegro = new AllegroAPI();
$oAllegro-&gt;setProperty('conf_countryid', 228); // jest to ID dla testwebapi.pl
$oAllegro-&gt;setProperty('conf_login', 'login_testwebapi'); // login do testwebapi.pl
$oAllegro-&gt;setProperty('conf_password', 'haslo_testwebapi'); // hasło do testwebapi.pl
$oAllegro-&gt;connect();</pre>
<p>Skoro jesteśmy już połączeni z serwisem testowym, możemy sobie do woli sprawdzać możliwości WebAPI bez zaśmiecania produkcyjnego serwisu. Sprawdźmy więc na co pozwala nam metoda doNewAuctionExt(). Sama metoda przyjmuje cztery parametry:</p>
<ul>
<li> <strong>session-handle</strong> &#8211; wymagany &#8211; identyfikator sesji (w naszej klasie będzie to $this-&gt;id_session)</li>
<li> <strong>fields</strong>- wymagany &#8211; tablica definiująca parametry aukcji</li>
<li> <strong>private</strong>- opcjonalny &#8211; czy aukcja ma być prywatna (w polce nie jest już używany, więc możemy przekazać jakąkolwiek wartość)</li>
<li> <strong>local-id</strong> &#8211; opcjonalny &#8211; lokalny identyfikator</li>
</ul>
<p>Należałoby również wyjaśnić w jaki sposób przekazywać parametry aukcji. Sama lista jest bardzo długa. Można ją wyświetlić za pomocą metody doGetSellFormFieldsExt(). Nie będę tutaj może opisywał wszystkich parametrów. Każdy parametr jest opisywany za pomocą następujących właściwości:</p>
<ul>
<li> <strong>sell-form-id</strong> &#8211; identyfikator parametru</li>
<li> <strong>sell-form-title</strong> &#8211; nazwa parametru</li>
<li> <strong>sell-form-cat</strong> &#8211; identyfikator kategorii do którego odnosi się parametr (0 oznacza wszystkie kategorie)</li>
<li> <strong>sell-form-type</strong> &#8211; typ pola które identyfikuje parametr:<br />
- 1 &#8211; string<br />
- 2 &#8211; integer<br />
- 3 &#8211; float<br />
- 4 &#8211; combobox<br />
- 5 &#8211; radiobutton<br />
- 6 &#8211; checkbox<br />
- 7 &#8211; image (base64Binary)<br />
- 8 &#8211; text<br />
- 9 &#8211; datetime (Unix time)<br />
- 13 &#8211; boolean</li>
<li> <strong>sell-form-res-type</strong> &#8211; wskazanie na typ pola</li>
<li> <strong>sell-form-def-value</strong> &#8211; wartość domyślna</li>
<li> <strong>sell-form-opt</strong> &#8211; czy pole jest opcjonalne (1 &#8211; nie, 8 &#8211; tak)</li>
<li> <strong>sell-form-pos</strong> &#8211; pozycja w formularzu sprzedaży</li>
<li> <strong>sell-form-length</strong> &#8211; dopuszczalna ilość znaków</li>
<li> <strong>sell-min-value</strong> &#8211; minimalna wartość ( dotyczy pól typu combobox/radiobutton/checkbox)</li>
<li> <strong>sell-max-value</strong> &#8211; maksymalna wartość ( dotyczy pól typu combobox/radiobutton/checkbox)</li>
<li> <strong>sell-form-desc</strong> &#8211; opis wartości ( dotyczy pól typu combobox/radiobutton/checkbox)</li>
<li> <strong>sell-form-opts-values</strong> &#8211; wartości ( dotyczy pól typu combobox/radiobutton/checkbox)</li>
<li> <strong>sell-form-field-desc</strong> &#8211; szczegółowy opis parametru</li>
</ul>
<p>Wiedząc już sposób w jaki dodawana jest aukcja za pomocą WebAPI jest aukcja, możemy przystąpić do definiowania jej parametrów i wykonania metody dodającej nową aukcję. Aby zdefiniować nową aukcję, potrzebujemy listę parametrów wymaganych. Oto zestawienie parametrów wymaganych oraz opcjonalnych:</p>
<table border="0" cellpadding="3">
<tbody>
<tr>
<td>Wymagane</td>
<td colspan="3">Opcjonalne</td>
</tr>
<tr>
<td style="vertical-align: top; width: 30%;">• Tytuł (1)<br />
• Kategoria (2)<br />
• Data rozpoczecia (3)<br />
• Czas trwania aukcji (4)<br />
• Liczba sztuk (5)<br />
• Cena wywolawcza (6)<br />
• Kraj (9)<br />
• Wojewodztwo (10)<br />
• Miasto (11)<br />
• Transport (12)<br />
• Formy platnosci (14)<br />
• Opis (24)</td>
<td style="vertical-align: top; width: 23%;">• Cena minimalna (7)<br />
• Cena &#8222;Kup Teraz&#8221; (8)<br />
• Opcje dot. transportu (13)<br />
• Opcje dodatkowe (15)<br />
• Zdjecie 1 (16)<br />
• Zdjecie 2 (17)<br />
• Zdjecie 3 (18)<br />
• Zdjecie 4 (19)<br />
• Zdjecie 5 (20)<br />
• Zdjecie 6 (21)<br />
• Zdjecie 7 (22)<br />
• Zdjecie 8 (23)</td>
<td style="vertical-align: top; width: 23%;">• Dodatkowe informacje o przesyłce i płatności (27)<br />
• Sztuki / Komplety / Pary (28)<br />
• Format sprzedaży (29)<br />
• Automatyczne wznowienie oferty (30)<br />
• Kategoria w sklepie (31)<br />
• Kod pocztowy (32)<br />
• Pierwsze konto bankowe (33)<br />
• Drugie konto bankowe (34)<br />
• Darmowe opcje przesyłki (35)<br />
• Paczka pocztowa ekonomiczna (pierwsza sztuka) (36)<br />
• List ekonomiczny (pierwsza sztuka) (37)<br />
• Paczka pocztowa priorytetowa (pierwsza sztuka) (38)<br />
• List priorytetowy (pierwsza sztuka) (39)<br />
• Przesyłka pobraniowa (pierwsza sztuka) (40)<br />
• List polecony ekonomiczny (pierwsza sztuka) (41)<br />
• Przesyłka pobraniowa priorytetowa (pierwsza sztuka) (42)</td>
<td style="vertical-align: top;">• List polecony priorytetowy (pierwsza sztuka) (43)<br />
• Przesyłka kurierska (pierwsza sztuka) (44)<br />
• Przesyłka kurierska pobraniowa (pierwsza sztuka) (45)<br />
• Paczka pocztowa ekonomiczna (kolejna sztuka) (136)<br />
• List ekonomiczny (kolejna sztuka) (137)<br />
• Paczka pocztowa priorytetowa (kolejna sztuka) (138)<br />
• List priorytetowy (kolejna sztuka) (139)<br />
• Przesyłka pobraniowa (kolejna sztuka) (140)<br />
• List polecony ekonomiczny (kolejna sztuka) (141)<br />
• Przesyłka pobraniowa priorytetowa (kolejna sztuka) (142)<br />
• List polecony priorytetowy (kolejna sztuka) (143)<br />
• Przesyłka kurierska (kolejna sztuka) (144)<br />
• Przesyłka kurierska pobraniowa (kolejna sztuka) (145)<br />
• Paczka pocztowa ekonomiczna (ilość w paczce) (236)<br />
• List ekonomiczny (ilość w paczce) (237)<br />
• Paczka pocztowa priorytetowa (ilość w paczce) (238)<br />
• List priorytetowy (ilość w paczce) (239)<br />
• Przesyłka pobraniowa (ilość w paczce) (240)<br />
• List polecony ekonomiczny (ilość w paczce) (241)<br />
• Przesyłka pobraniowa priorytetowa (ilość w paczce) (242)<br />
• List polecony priorytetowy (ilość w paczce) (243)<br />
• Przesyłka kurierska (ilość w paczce) (244)<br />
• Przesyłka kurierska pobraniowa (ilość w paczce) (245)</td>
</tr>
</tbody>
</table>
<p>Należy jednak pamiętać, aby zdefiniować przynajmniej jedną formę przesyłki. Inaczej WebAPI zwróci nam błąd. Mając już dane których potrzebujemy, możemy zdefiniować sobie przykładową aukcję:<br />
<strong>Tytuł</strong>: Łożysko kulkowe 5cm<br />
<strong>Kategoria: </strong>1885 (Id kategorii Everything Else -&gt; Other)<br />
<strong>Data rozpoczęcia:</strong> 2010-05-16 23:55<br />
<strong>Czas trwania aukcji:</strong> 5 (30 dni)<br />
<strong>Liczba sztuk:</strong> 1<br />
<strong>Cena wywoławcza:</strong> 30.00 (6)<br />
<strong>Kraj:</strong> 228 (Neverland <img src='http://blog.since78.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )<br />
<strong>Województwo:</strong> 214 (górnopolskie)<br />
<strong>Miasto:</strong> Sincity<br />
<strong>Transport:</strong> 1 (kupujący pokrywa koszty transportu)<br />
<strong>Formy płatności:</strong> 1 (płatne z góry)<br />
<strong>Opis:</strong> Szczegółowy opis łożyska kulkowego 5cm</p>
<p>Oczywiście są to dane testowe. Na produkcyjnym serwisie nie znajdziemy Neverlandu. Aby podejrzeć typy oraz wartości które możemy podać, proponuję wylistować sobie te pola używając metody getAuctionFormFields() z naszej klasy:</p>
<pre>$oAllegro-&gt;getAuctionFormFields();</pre>
<p>Tablica definiująca naszą aukcję wyglądałaby więc następująco:</p>
<pre>$aAuctionProperties = array(
    array(
        'fid' =&gt; 1,   // Tytuł
        'fvalue-string' =&gt; 'Łożysko kulkowe 5cm',
        'fvalue-int' =&gt; 0,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 2,   // Kategoria
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; 1885,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 3,   // Data rozpoczęcia
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; strtotime("2010-05-16 23:55"),
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 4,   // Czas trwania
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; 4,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 5,   // Ilość sztuk
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; 1,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 6,   // Cena wywoławcza
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; 0,
        'fvalue-float' =&gt; 30.00,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 9,   // Kraj
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; 228,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 10,   // Województwo
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; 214,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 11,   // Miasto
        'fvalue-string' =&gt; 'Sincity',
        'fvalue-int' =&gt; 0,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 12,   // Transport
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; 1,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 14,   // Formy płatności
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; 1,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 24,   // Opis
        'fvalue-string' =&gt; 'Szczegółowy opis łożyska kulkowego 5cm',
        'fvalue-int' =&gt; 0,
        'fvalue-float' =&gt; 0,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    ),
    array(
        'fid' =&gt; 36,   // Paczka pocztowa ekonomiczna
        'fvalue-string' =&gt; '',
        'fvalue-int' =&gt; 0,
        'fvalue-float' =&gt; 11.00,
        'fvalue-image' =&gt; 0,
        'fvalue-datetime' =&gt; 0,
        'fvalue-boolean' =&gt; false
    )
);</pre>
<p>Mając już zdefiniowaną aukcję, możemy przekazać ją do naszej wcześniej przygotowanej metody addNewAuction(). Wygląda to tak:</p>
<pre>$oAllegro-&gt;addNewAuction($aAuctionProperties);</pre>
<p>Po wywołaniu naszej metody nasza aukcja powinna pojawić się na testowym serwisie testwebapi.pl.<br />
Na dzisiaj to wszystko. Wkrótce pokażę w jaki sposób to wykorzystać na potrzeby automatyzacji wystawiania aukcji.<br />
Oczywiście zaktualizowaną klasę można pobrać stąd: <a href="http://blog.since78.pl/wp-content/uploads/2010/05/AllegroAPI2.zip">AllegroAPI</a></p>
<p><span style="color: #ff0000;">UWAGA:<br />
W związku z tym, że Allegro WebAPI ciągle się zmienia a zmiany niestety nie zawsze są kompatybilne wstecz, przykładowy skrypt oraz klasa do obsługi WebAPI mogą nie działać. Tutorial zamieszczony jest w celu przybliżenia tematu wykorzystania WebAPI w aplikacjach pisanych w PHP. Jakiekolwiek zmiany w specyfikacji od daty umieszczenia tego wpisu nie będą więc uwzględniane.</span></p>
<p>Pozdrawiam.<br />
<a href="mailto:robert@since78.pl">robert@since78.pl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.since78.pl/tutorials/dodawanie-aukcji-przy-uzyciu-webapi-allegro/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Allegro WebAPI w PHP &#8211; wstęp</title>
		<link>http://blog.since78.pl/tutorials/allegro-webapi-w-php/</link>
		<comments>http://blog.since78.pl/tutorials/allegro-webapi-w-php/#comments</comments>
		<pubDate>Sun, 09 May 2010 15:46:31 +0000</pubDate>
		<dc:creator>rb</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[allegro]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[webapi]]></category>

		<guid isPermaLink="false">http://blog.since78.pl/?p=49</guid>
		<description><![CDATA[Jakiś czas temu miałem okazję zapoznać się z Allegro WebAPI. Niestety tylko na potrzeby prostej klasy do pobierania aukcji użytkowników. Wystarczająco jednak dużo, aby poznać kilka podstawowych metod serwowanych przez Allegro. Samo WebAPI jest oparte na protokole SOAP. Zawiera szereg metod, które w dużej części pokrywają funkcje serwisu. Więcej na ten temat można poczytać w tym miejscu. W trakcie pisania klasy całość była podana w znacznie bardziej toporny sposób. Obecnie strona poświęcona WebAPI przeszła metamorfozę i wszystkie informacje podane są &#8230; <a href="http://blog.since78.pl/tutorials/allegro-webapi-w-php/">Czytaj dalej <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Jakiś czas temu miałem okazję zapoznać się z <strong>Allegro WebAPI</strong>. Niestety tylko na potrzeby prostej klasy do pobierania aukcji użytkowników. Wystarczająco jednak dużo, aby poznać kilka podstawowych metod serwowanych przez Allegro.</p>
<p>Samo WebAPI jest <strong>oparte na protokole SOAP</strong>. Zawiera szereg metod, które w dużej części pokrywają funkcje serwisu. Więcej na ten temat można poczytać <a rel="nofollow" href="http://www.allegro.pl/webapi/general.php">w tym miejscu</a>. W trakcie pisania klasy całość była podana w znacznie bardziej toporny sposób. Obecnie strona poświęcona WebAPI przeszła metamorfozę i wszystkie informacje podane są w dużo czytelniejszy sposób.</p>
<p>Aby zacząć zabawę, powinniśmy przede wszystkim posiadać konto w Allegro co pozwoli nam na uzyskanie klucza. Sama usługa dostępna jest w dwóch wersjach: <strong>pakiet podstawowy</strong> i <strong>pakiet profesjonalny</strong>. W pakiecie profesjonalnym mamy dostęp do dodatkowych funkcji oraz statystyk wywołania metod i mechanizmu licencjonowania. Niestety wszystko to za dodatkową opłatą 600zł na okres 6 miesięcy. W moim przypadku wystarczył darmowy dostęp.<br />
Aby uzyskać klucz dostępu do Allegro API, należy wysłać żądanie za pomocą <a href="http://www.allegro.pl/contact/contact.php?topic=288">formularza kontaktowego</a>. Cały proces przyznania klucza trwał u mnie jeden dzień (w zasadzie na drugi dzień rano miałem już odpowiedź wraz z kluczem).</p>
<p>OK, mając już wszystkie potrzebne rzeczy, możemy zabrać się do korzystania z usług Allegro API. Moim celem było napisanie klasy, która służy do sprawdzania konkretnego ciągu znaków w aukcjach konkretnego użytkownika. Aby móc tego dokonać ogólnie rzecz biorąc <strong>potrzebujemy 3 akcji z Allegro API: połączenie, logowanie, pobranie aukcji.</strong> Najpierw definiujemy sobie właściwości klasy, które będą nam później pomocne:</p>
<pre>private $conf_countryid = 	1; // id kraju (wymagane przez API)
private $conf_sysvar = 		1; // id systemu (wymagane przez API)
private $conf_login = 		'test_login'; // login konta Allegro
private $conf_password = 	'test_hasło'; // hasło konta Allegro
private $conf_apikey = 		'klucz_api'; // klucz WebAPI Allegro
private $conf_nresults_items = 	100; // ilość zwracanych aukcji użytkownika (podstawowe informacje)
private $conf_nresults_item_details = 	25; // ilość zwracanych szczegółowych informacji dotyczących aukcji użytkownika
private $tabsession = 		array(); // dane wykorzystywane w ramach sesji
private $id_session = 		''; // id sesji</pre>
<p>Następnie musimy zaprojektować sobie klasę. W moim przypadku została ona skonstruowana w ten sposób, aby jeden obiekt pozwalał na tworzenie dowolnej ilości połączeń, zmieniając tylko dane logowania. Umożliwiają nam to metody <strong>connect()</strong> (połączenie z API), <strong>login()</strong> (logowanie do konta API), <strong>setProperty()</strong> (setter &#8211; ustawianie właściwości klasy &#8211; na przykład loginu i hasła), <strong>getProperty()</strong> (getter &#8211; pobieranie właściwości klasy):</p>
<pre>public function connect(){
    try {
        $this-&gt;client = new SoapClient('http://webapi.allegro.pl/uploader.php?wsdl');
        $this-&gt;version = $this-&gt;client-&gt;doQuerySysStatus($this-&gt;conf_sysvar, $this-&gt;conf_countryid, $this-&gt;conf_apikey);
    } catch (SoapFault $soapFault){
        $aReturn['error_code'] = $soapFault-&gt;faultcode;
        $aReturn['error_msg'] = $soapFault-&gt;faultstring;
        return $aReturn;
    }
}

public function login(){
    if(!$this-&gt;id_session){
        try {
            $this-&gt;tabsession = $this-&gt;client-&gt;doLogin($this-&gt;conf_login, $this-&gt;conf_password, $this-&gt;conf_countryid, $this-&gt;conf_apikey,     $this-&gt;version['ver-key']);
            $this-&gt;id_session = $this-&gt;tabsession['session-handle-part'];
        } catch (SoapFault $soapFault) {
            $aReturn['error_code'] = $soapFault-&gt;faultcode;
            $aReturn['error_msg'] = $soapFault-&gt;faultstring;
            return $aReturn;
        }
    }
}

public function getProperty($sName){
    return $this-&gt;{$sName};
}

public function setProperty($sName, $sValue){
    $this-&gt;{$sName} = $sValue;
}</pre>
<p>Jak widać <strong>ID sesji</strong> zwracane jest dopiero przy metodzie logowania. Jest ono nam potrzebne do większości metod Allegro API. Niektóre jednak go nie wymagają, więc nie potrzebujemy nawet loginu i hasła konta Allegro. Nijak nam to nie pomaga, ponieważ do uzyskania samego klucza są te dane potrzebne. Warto też zwrócić uwagę na <strong>metodę doQuerySysStatus()</strong> która zwraca nam <strong>numer komponentu</strong> który jest wykorzystywany. Nie rozumiem za bardzo dlaczego Allegro zdecydowało się aby numer ten był wymagany w niektórych metodach, zamiast przekazywać go w sesji. Musimy go więc pobrać aby później go przekazać w innej metodzie. Być może takie rozwiązanie jest przydatne, ale póki co nie dla mnie.<br />
Metoda connect() jest zawarta w konstruktorze, aby ułatwić nieco zadanie. Żeby więc połączyć się z Allegro API, wystarczy nam coś takiego:</p>
<pre>$oAllegro = new AllegroAPI();
$oAllegro-&gt;login();</pre>
<p>Jeśli zaś usuniemy z konstruktora połączenie, mamy wtedy większą elastyczność w definiowaniu samego połączenia:</p>
<pre>$oAllegro = new AllegroAPI();
$oAllegro-&gt;setProperty('conf_login', 'twoj_login');
$oAllegro-&gt;setProperty('conf_password', 'twoje_haslo');
$oAllegro-&gt;connect();
$oAllegro-&gt;login();</pre>
<p>Skoro już jesteśmy połączeni z API, możemy pobrać aukcje użytkownika. Aby tego dokonać musimy wywołać metodę doGetUserItems(). Niestety przekazywane jest tam ID użytkownika a nie jego login. Aby pobrać ID na podstawie nazwy użytkownika Allegro, potrzebujemy metody doGetUserID(). Mając już listę aukcji danego użytkownika, możemy pobrać ich treści, które będą nam potrzebne do wyszukiwania odpowiedniego ciągu znaków. Metodą doGetItemsInfo() pobieramy wszystkie potrzebne informacje dotyczące danej aukcji (wraz z całą treścią aukcji wyświetlanej na Allegro). Cała metoda wyszukująca ciągu znaków w aukcjach wygląda następująco:</p>
<pre>public function getUserAuctions($sUserLogin, $sSearch, $bCaseSensitive = false){

		$nFound = 0;
		$aReturn = array();
		$aUserItems = array();
		$idUser = 0;

		// zanim pobierzemy liste, musimy pobrac id uzytkownika na podstawie loginu
		try {
			$idUser = $this-&gt;client-&gt;doGetUserID($this-&gt;conf_countryid, $sUserLogin, '', $this-&gt;conf_apikey);
		} catch (SoapFault $soapFault){
			$aReturn['error_code'] = $soapFault-&gt;faultcode;
			$aReturn['error_msg'] = $soapFault-&gt;faultstring;
			return $aReturn;
		}

		if($idUser&gt;0){

			$nOffset = 0;
			$aItemsIds = array();

			// nie mozemy pobrac od razy wszystkich przedmiotow, wiec pobieramy je paczkami
			// uzywajac offset i limit (ograniczenia allegro webapi)
			do {
				$aUserItems = array();
				$aUserItems = $this-&gt;client-&gt;doGetUserItems($idUser, $this-&gt;conf_apikey, $this-&gt;conf_countryid, $nOffset, $this-&gt;conf_nresults_items);

				for($i=0; $i{'it-id'};
				}

				$nOffset++;
			} while ($nOffset*$this-&gt;conf_nresults_items &lt; $aUserItems['user-item-count']);

			// pobieramy szczegolowe informacje o przedmiotach
			// rowniez pakietami (max 25 na polaczenie)
			do {
				$aItemsGetDesc = array();

				for($j=0; $j&lt;$this-&gt;conf_nresults_item_details; $j++){
					if(count($aItemsIds)&gt;0){
						$aItemsGetDesc[] = array_shift($aItemsIds);
					}
				}

				$aItemDetails = array();
				$aItemDetails = $this-&gt;client-&gt;doGetItemsInfo($this-&gt;id_session, $aItemsGetDesc, 1 ,0, 0, 0, 0);

				for($k=0; $k{'item-info'}-&gt;{'it-description'}, $sSearch)!==false){
							$nFound++;
						}
					} else {
						if(strpos($aItemDetails['array-item-list-info'][$k]-&gt;{'item-info'}-&gt;{'it-description'}, $sSearch)!==false){
							$nFound++;
						}
					}

				}

			} while (count($aItemsIds)&gt;0);

		}

		// zwracamy tablice z wynikami
		$aReturn['total_auctions_count'] = $aUserItems['user-item-count'];
		$aReturn['baner_auctions_count'] = $nFound;

		return $aReturn;

	}</pre>
<p>Aby więc sprawdzić czy użytkownik posiada aukcje z określonym ciągiem znaków wywołujemy następujący fragment kodu:</p>
<pre>$oAllegro = new AllegroAPI();
$oAllegro-&gt;login();
$tabUA = $oAllegro-&gt;getUserAuctions('uzytkownik_allegro', 'szukany_ciag_znakow');
var_dump($tabUA);</pre>
<p>Nie wiem ilu osobom przyda się taka funkcjonalność, ale mam nadzieję że pozwoli ona przybliżyć nieco istotę oraz zasady działania WebAPI Allegro.</p>
<p>Całą klasę do obsługi można pobrać z tego miejsca: <a href="http://blog.since78.pl/wp-content/uploads/2010/05/AllegroAPI.zip">AllegroAPI</a></p>
<p><span style="color: #ff0000">UWAGA:<br />
W związku z tym, że Allegro WebAPI ciągle się zmienia a zmiany niestety nie zawsze są kompatybilne wstecz, przykładowy skrypt oraz klasa do obsługi WebAPI mogą nie działać. Tutorial zamieszczony jest w celu przybliżenia tematu wykorzystania WebAPI w aplikacjach pisanych w PHP. Jakiekolwiek zmiany w specyfikacji od daty umieszczenia tego wpisu nie będą więc uwzględniane.</span></p>
<p>Pozdrawiam.<br />
<a href="mailto:robert@since78.pl">robert@since78.pl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.since78.pl/tutorials/allegro-webapi-w-php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

