Serwer SMTP
Przyjmuje wszystko: STARTTLS, SMTPS, logowanie, załączniki. W panelu obejrzysz wersję HTML, tekstową, nagłówki i surowe źródło.
# settings.py EMAIL_HOST = "echo.openskills.pl" EMAIL_PORT = 1025 EMAIL_USE_TLS = True
Środowisko testowe
Echo staje w miejscu serwera pocztowego, bramki SMS i bramki płatności. Aplikacja wysyła prawdziwy ruch — mail ląduje w panelu zamiast w cudzej skrzynce, SMS zamiast na czyimś telefonie, płatność rozstrzygasz kliknięciem zamiast przelewem. Nie zmieniasz kodu, tylko adres.
Każdy kanał mówi protokołem, którego aplikacja już używa. Podmieniasz adres w konfiguracji i tyle.
Przyjmuje wszystko: STARTTLS, SMTPS, logowanie, załączniki. W panelu obejrzysz wersję HTML, tekstową, nagłówki i surowe źródło.
# settings.py EMAIL_HOST = "echo.openskills.pl" EMAIL_PORT = 1025 EMAIL_USE_TLS = True
Te same ścieżki, te same pola, te same kody błędów. Doręczenia są symulowane, a webhook przychodzi w oryginalnym formacie.
# zamiast api2.smsplanet.pl POST /g/sms-dev/sms from=TEST to=500100200 msg=Kod: 1234
Tworzysz płatność, dostajesz redirectUrl, klikasz „Zapłać” — i aplikacja odbiera podpisaną notyfikację, tak jak na produkcji.
# zamiast api.paynow.pl POST /g/platnosci/v3/payments amount: 12300 externalId: "ZAM-1"
Od podmiany adresu do pierwszej przechwyconej wiadomości mija zwykle minuta.
W panelu tworzysz bramkę i kopiujesz gotowy fragment konfiguracji — dla Django, Node, PHP albo curla. Klucze są już podstawione.
Aplikacja robi to, co zawsze: wysyła maila, strzela do bramki SMS, tworzy płatność. Żadnych atrap w kodzie i żadnych „if TESTING”.
Wszystko pojawia się w panelu na żywo. Doręczasz SMS albo go zrywasz, potwierdzasz płatność albo odrzucasz, wysyłasz webhooka jeszcze raz.
Atrapa jest warta tyle, ile jej wierność. Echo odwzorowuje te części API, na których wykłada się integracja.
Nieznane pole nadawcy to 103, pusta lista odbiorców 106, zła data 108, brak środków 109. Twoja obsługa błędów ma na czym pracować.
GSM-7 i UCS-2 tak jak u operatora — jedno „ą” skraca wiadomość ze 160 do 70 znaków i widzisz to od razu.
Nagłówek Signature to Base64(HMAC-SHA256) z ciała żądania. Weryfikacja po Twojej stronie działa bez zmian.
Powtórzone żądanie zwraca tę samą płatność. Statusy to NEW, PENDING, CONFIRMED, REJECTED, ERROR, EXPIRED, ABANDONED.
Odrzucanie odbiorców regułą, opóźnienie odpowiedzi SMTP, udział niedoręczonych SMS-ów, płatności zawsze odrzucane. Ścieżka błędu też wymaga testu.
Widzisz nagłówki, ciało i odpowiedź swojej aplikacji. Jeden przycisk wysyła to samo jeszcze raz.
Echo jest na razie otwarte dla zespołów, z którymi pracujemy. Jeśli Twój adres jest na liście, konto zakładasz od ręki. Jeśli nie — zostawiasz adres i wracamy do Ciebie.