Wprowadzenie
W naszym poprzednim artykule Autoresponder Allegro z AI — 78% Wiadomości Bez Twojego Udziału opisaliśmy pełną, produkcyjną wersję autorespondera z bazą wektorową, embeddingami i modułem decyzyjnym. Teraz pokazujemy coś innego — uproszczoną wersję demo, którą możesz uruchomić za darmo w 15 minut.
Kod źródłowy jest dostępny na GitHubie jako open-source (licencja MIT):
Symfony 8 + PHP 8.4 + OpenAI API + Allegro REST API
Ta wersja nie ma bazy wektorowej, panelu administracyjnego ani mechanizmu eskalacji — to celowo prosty punkt startowy, który możesz rozbudować pod swoje potrzeby. Idealna do nauki i eksperymentów.
Jak to działa
Autoresponder działa w prostym cyklu uruchamianym co 5 minut przez cron:
Cron uruchamia komendę
Co 5 minut system wywołuje php bin/console app:autoresponder:run
Pobranie wątków z Allegro
Komenda pobiera 5 ostatnich wątków z Allegro Messaging API i sprawdza, czy ostatnia wiadomość jest od kupującego.
Generowanie odpowiedzi przez OpenAI
Pytanie kupującego (wraz z nazwą oferty) trafia do OpenAI Chat Completions API. Model generuje uprzejmą, krótką odpowiedź.
Wysyłka odpowiedzi
Wygenerowana odpowiedź jest wysyłana z powrotem przez Allegro API bezpośrednio do kupującego.
Cały kod mieści się w 5 plikach PHP. Żadnej bazy danych, żadnych kolejek — czysta prostota.
Wymagania
Zanim zaczniesz, upewnij się, że masz:
- PHP 8.4+ z rozszerzeniami curl, json, mbstring
- Composer — manager pakietów PHP (getcomposer.org)
- Konto sprzedawcy na Allegro — autoresponder odpowiada w Twoim imieniu
- Aplikacja w Allegro Developer Center — potrzebna do uzyskania Client ID i Client Secret (apps.developer.allegro.pl)
- Klucz API OpenAI — do generowania odpowiedzi (platform.openai.com/api-keys)
gpt-4o-mini kosztuje grosze za odpowiedź. Przy 50 wiadomościach dziennie miesięczny koszt to ok. 2-5 PLN.
Instalacja krok po kroku
1. Sklonuj repozytorium
git clone https://github.com/coderoll/allegro-autoresponder.git
cd allegro-autoresponder
composer install
2. Skonfiguruj zmienne środowiskowe
Skopiuj plik .env do .env.local i uzupełnij dane:
cp .env .env.local
Edytuj .env.local:
ALLEGRO_CLIENT_ID=twoj_client_id
ALLEGRO_CLIENT_SECRET=twoj_client_secret
ALLEGRO_API_URL=https://api.allegro.pl
ALLEGRO_AUTH_URL=https://allegro.pl/auth/oauth
OPENAI_API_KEY=sk-twoj-klucz-openai
OPENAI_MODEL=gpt-4o-mini
Skąd wziąć Client ID i Client Secret?
- Wejdź na Allegro Developer Center
- Zarejestruj nową aplikację
- Jako Redirect URI ustaw:
http://localhost:8000/callback - Po rejestracji otrzymasz Client ID i Client Secret
Skąd wziąć klucz OpenAI?
- Wejdź na OpenAI API Keys
- Utwórz nowy klucz API
- Skopiuj go do
.env.localjakoOPENAI_API_KEY
Autoryzacja z Allegro
Autoresponder potrzebuje dostępu do Twojego konta Allegro. Autoryzacja to jednorazowy proces OAuth2:
php bin/console app:allegro:auth
Komenda wyświetli link — otwórz go w przeglądarce:
- Zaloguj się na swoje konto Allegro
- Udziel zgody aplikacji na dostęp do wiadomości
- Przeglądarka przekieruje na adres
http://localhost:8000/callback?code=TWOJ_KOD - Skopiuj wartość parametru
codez URL-a i wklej w terminalu
Uruchomienie i test
Czas na pierwszy test! Uruchom autoresponder ręcznie:
php bin/console app:autoresponder:run
Zobaczysz coś takiego:
Allegro Autoresponder AI
========================
Wątek: jan_kowalski — Monitor Samsung 27" 4K
---------------------------------------------
Pytanie: Czy ten monitor ma wejście USB-C?
Odpowiedź: Dzień dobry, dziękuję za pytanie. Muszę to
sprawdzić i wrócę z odpowiedzią najszybciej jak to
możliwe. Pozdrawiam.
[OK] Wysłano odpowiedź!
Wątek: anna_nowak — Kabel HDMI 2.1
------------------------------------
Ostatnia wiadomość od sprzedawcy — pomijam.
[OK] Gotowe! Odpowiedziano: 1, pominięto: 1
System przetwarza 5 ostatnich wątków. Odpowiada tylko na te, w których ostatnia wiadomość jest od kupującego — nie wysyła podwójnych odpowiedzi.
Konfiguracja crona
Aby autoresponder działał automatycznie, dodaj wpis do crona:
crontab -e
Dodaj linię:
*/5 * * * * cd /sciezka/do/allegro-autoresponder && php bin/console app:autoresponder:run >> var/log/autoresponder.log 2>&1
Od teraz system będzie sprawdzał nowe wiadomości co 5 minut i automatycznie na nie odpowiadał. Logi trafią do var/log/autoresponder.log.
*/5 na */2 jeśli chcesz szybsze odpowiedzi (co 2 minuty) albo na */15 jeśli nie potrzebujesz tak częstego sprawdzania.
Dostosowanie promptu AI
Domyślny prompt znajdziesz w pliku src/Service/OpenAiResponder.php w metodzie buildSystemPrompt(). Generuje on odpowiedzi, które są:
- Krótkie (2-4 zdania)
- Uprzejme ("Dzień dobry" / "Pozdrawiam")
- Defensywne — AI nie wymyśla szczegółów produktu, których nie zna
Możesz go dostosować do swojego stylu. Oto kilka pomysłów:
Bardziej szczegółowe odpowiedzi
Odpowiadaj wyczerpująco (4-6 zdań). Jeśli pytanie
dotyczy specyfikacji, podaj wszystkie znane parametry
z nazwy oferty.
Styl casualowy
Pisz w luźnym, przyjaznym tonie. Używaj "Cześć"
zamiast "Dzień dobry". Możesz używać emotikon,
ale z umiarem.
Skupienie na sprzedaży
Po odpowiedzi na pytanie, zasugeruj powiązane produkty
lub akcesoria. Zachęcaj do zakupu, ale nie bądź
nachalny.
temperature (domyślnie 0.7) kontroluje kreatywność AI. Niższa wartość (0.3) = bardziej przewidywalne odpowiedzi. Wyższa (0.9) = bardziej zróżnicowane, ale mniej spójne.
Testowanie na Sandbox
Nie chcesz ryzykować wysyłania testowych odpowiedzi do prawdziwych klientów? Użyj Allegro Sandbox — to środowisko testowe, które nie wpływa na Twoje prawdziwe konto.
Zmień w .env.local:
ALLEGRO_API_URL=https://api.allegro.pl.allegrosandbox.pl
ALLEGRO_AUTH_URL=https://allegro.pl.allegrosandbox.pl/auth/oauth
Aplikację sandbox rejestrujesz osobno w Sandbox Developer Center. Potrzebujesz też osobnego konta na sandboxie.
Ograniczenia demo i co dalej
Ta wersja to celowo proste demo. Oto czego jej brakuje w porównaniu z wersją produkcyjną:
Brak bazy wektorowej (RAG)
AI odpowiada na podstawie samego pytania i nazwy oferty. Nie zna szczegółów produktu, regulaminu ani historii konwersacji.
Brak panelu kontrolnego
Odpowiedzi są wysyłane automatycznie. Nie ma podglądu, zatwierdzania ani historii w przeglądarce.
Brak confidence score
System nie ocenia pewności odpowiedzi. Każda wygenerowana odpowiedź jest wysyłana — nie ma mechanizmu eskalacji.
Brak retry logic
Jeśli API nie odpowie, wiadomość jest pomijana. Brak automatycznych ponowień z exponential backoff.
Co warto dodać w wersji produkcyjnej?
- Baza wektorowa z opisami produktów — odpowiedzi będą dokładniejsze, bo AI zna specyfikację
- Panel administracyjny — podgląd i zatwierdzanie odpowiedzi przed wysłaniem
- Mechanizm eskalacji — trudne pytania (reklamacje, zwroty) przekazywane do człowieka
- Logowanie do bazy danych — pełna historia pytań i odpowiedzi do analizy
- Confidence score — automatyczne odpowiedzi tylko gdy AI jest wystarczająco pewne
Dokładnie te rozwiązania opisujemy w artykule Autoresponder Allegro z AI — 78% Wiadomości Bez Twojego Udziału. Jeśli potrzebujesz wersji produkcyjnej — sprawdź naszą ofertę AI & Automatyzacja.
Podsumowanie
Masz teraz działający autoresponder Allegro oparty o AI — za darmo, w open-source. Wystarczyło:
- Sklonować repozytorium i zainstalować zależności
- Skonfigurować klucze Allegro i OpenAI
- Przeprowadzić jednorazową autoryzację OAuth2
- Ustawić crona na automatyczne uruchamianie
To punkt startowy, który możesz rozbudować pod swoje potrzeby. Kod jest na licencji MIT — rób z nim co chcesz.
Potrzebujesz wersji produkcyjnej?
Wdrażamy autorespondere z bazą wektorową, panelem kontrolnym i mechanizmem eskalacji. Umów darmową konsultację.
Umów darmową konsultację