# 2026-05-14 ## Co zrobiono - [Phase 127, Plan 01] polkurier.pl Integration Foundation — pojedyncza globalna konfiguracja brokera kurierskiego polkurier (login + Token API zaszyfrowany przez `IntegrationSecretCipher`), karta w hubie integracji obok Apaczki, realny test polaczenia przez `apimetod=test_auth_api`. Zweryfikowane na zywym koncie operatora (`Autoryzacja: 1`). - Task 1: Migracja DDL (`polkurier_integration_settings` + seed `integrations.type='polkurier'`) + `PolkurierIntegrationRepository` (single-instance, mirror HostedSMS/SMSPLANET). - Task 2: `PolkurierApiClient` (POST do `https://api.polkurier.pl/`, JSON envelope `{authorization, apimetod, data}`) + `PolkurierIntegrationController` + widok formularza + 3 routy + i18n. - Task 3: Wpiecie polkuriera do `IntegrationsHubController` (`buildPolkurierRow()`, kolejnosc: po Apaczce) + aktualizacja `.paul/codebase/{db_schema,architecture,tech_changelog}.md`. - Auto-fix (live debugging): `status='success'` zamiast `'ok'` (ResponseStatus z SDK), `Content-Type: application/json` bez charset suffix (polkurier strict), parser bledu z pola `response` envelope'a. - Scope deviation vs PLAN: kolumna `login` dodana (API wymaga login+token), kolumna `environment` pominieta (polkurier nie ma sandbox). ## Zmienione pliki - `database/migrations/20260514_000114_create_polkurier_integration_settings.sql` - `src/Modules/Settings/PolkurierIntegrationRepository.php` - `src/Modules/Settings/PolkurierApiClient.php` - `src/Modules/Settings/PolkurierIntegrationController.php` - `resources/views/settings/polkurier.php` - `routes/web.php` - `src/Modules/Settings/IntegrationsHubController.php` - `resources/lang/pl.php` - `.paul/codebase/db_schema.md` - `.paul/codebase/architecture.md` - `.paul/codebase/tech_changelog.md` - `.paul/STATE.md` - `.paul/ROADMAP.md` - `.paul/phases/127-polkurier-integration-foundation/127-01-PLAN.md` - `.paul/phases/127-polkurier-integration-foundation/127-01-SUMMARY.md`