Przejdź do treści
API dla integratorów

API PPWR do integracji opakowań, dokumentów i raportów

Połącz sklep internetowy, ERP, WMS lub własną aplikację z PPWR Link przez publiczne API REST. Dokumentację Swagger i schematy OpenAPI przeglądasz bez logowania. Dostęp do danych firmy zapewnia klucz API przypisany do organizacji.

API dla integratorów

Co połączysz przez API?

Jeden kontrakt opisuje dane i operacje aplikacji. Integracja korzysta z uprawnień organizacji oraz tych samych zasad walidacji co panel.

Katalog i zestawy

Pobieranie opakowań, identyfikatorów, parametrów i zestawów potrzebnych przy realizacji zamówień.

Dokumenty i dowody

Przesyłanie plików, obsługa wersji, statusów i powiązań z kartoteką opakowania.

Zużycie i raportowanie

Zapis przepływów materiałów i przygotowanie danych do zestawień organizacji.

01

Katalog dostępny dla sklepu, ERP i WMS

Integracja powinna wskazywać te same opakowania co użytkownik panelu. Publiczne identyfikatory oraz kody własne pomagają połączyć kartotekę z indeksem magazynowym. Materiał, masa, wymiary i jednostka zużycia nadają ilościom właściwy kontekst. Dzięki temu odczyt katalogu można wykorzystać w panelu sklepu, aplikacji pakowacza lub systemie zakupowym.

  • Opakowania i ich składniki
  • Zestawy, jednostki i przeliczenia
  • Słowniki wspólne z aplikacją
02

Od pobrania katalogu do zapisu wykorzystania

Typowy proces obejmuje wybór organizacji, pobranie opakowań lub zestawu oraz zapis faktycznego zużycia z referencją zamówienia. Integrator powinien obsłużyć dzielenie przesyłek i rozróżniać rezerwację materiałów od ich wykorzystania. Po błędzie sieci nie należy tworzyć nowego rozchodu w ciemno: operacje opisane w kontrakcie korzystają z klucza idempotencji, aby bezpiecznie ponowić to samo żądanie.

  • Stabilna referencja zamówienia i paczki
  • Kontrola ilości oraz jednostek
  • Obsługa ponowień i wyników operacji
03

OpenAPI i Swagger dla zespołu wdrożeniowego

Dokumentacja Swagger jest publiczna i dostępna poniżej, bez konta i bez logowania. Przeglądaj metody, schematy danych, wymagane uprawnienia oraz odpowiedzi błędów. Pobierz kontrakt OpenAPI 3.1 w języku polskim lub angielskim i wykorzystaj go do przygotowania klienta integracji. Gdy otrzymasz klucz API, możesz wykonywać autoryzowane żądania bez sesji w panelu.

  • Publiczny Swagger i plik OpenAPI w PL i EN
  • Schematy żądań, odpowiedzi, filtrów i paginacji
  • Uwierzytelnianie Authorization: Bearer oraz kontrola rewizji
04

Dostęp do danych pozostaje pod kontrolą

Klucz API jest przypisany do użytkownika i organizacji. Określasz zakres, termin ważności lub dostęp bezterminowy, a także dopuszczone adresy IP. Cofnięcie klucza pozwala zatrzymać połączenie. Sekret powinien pozostawać po stronie serwera integracji, nie w kodzie strony sklepu dostępnej klientom.

  • Oddzielny klucz dla konkretnego połączenia
  • Zakres odczytu i zapisu dopasowany do procesu
  • Reakcja na cofnięty dostęp, limit żądań i błędy walidacji
REST API · OpenAPI 3.1

Dokumentacja Swagger

Publiczna dokumentacja dla integratorów — przeglądaj metody i schematy oraz pobierz kontrakt bez logowania. Wywołania API wymagają klucza Bearer; sesja w panelu nie jest potrzebna.

Pobierz OpenAPI

1. Utwórz klucz integracji

Uprawniona osoba tworzy klucz w Administracja → Organizacje → Klucze API. Wybiera organizację, zakresy dostępu, ważność i ewentualne ograniczenia IP. Przechowuj klucz po stronie serwera integracji.

2. Pobierz organizację

Wyślij GET /api/v1/organizations z nagłówkiem Authorization: Bearer. Otrzymany UUID organizacji podstaw jako organizationId w kolejnych wywołaniach katalogu, zestawów i pozostałych zasobów.

3. Połącz procesy

Wybierz operację poniżej i sprawdź wymagane zakresy, pola oraz odpowiedzi. Obsłuż paginację, błędy i limity. Przy ponowieniu zapisu wymagającego Idempotency-Key użyj tego samego klucza i tej samej treści.

Pierwsze wywołanie API

curl 'https://ppwrlink.pl/api/v1/organizations' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'X-Locale: pl'

Przewodnik integratora — wybierz swój proces

Poniższe ścieżki są względne wobec /api/v1/organizations/{organizationId}, chyba że wskazano inaczej. Szczegółowe pola i uprawnienia znajdziesz przy każdej metodzie Swaggera.

Pobierz przewodnik integratora

Pakowanie zamówień i magazyn

Katalog + dostępny zapas → konfiguracja zestawu → rezerwacja → zużycie albo zwolnienie. Alternatywnie zapisz zużycie zestawu bez rezerwacji lub jawne linie packing-consumptions. Wybierz jedną ścieżkę dla paczki.

  1. GET /catalog-items
  2. GET /catalog-items/{catalogItemId}/inventory
  3. GET /packaging-systems/{recordId}/configuration
  4. POST /packaging-systems/{recordId}/reservations
  5. POST /packing-reservations/{recordId}/consume
  6. GET /packaging-systems/{systemId}/usages
Pliki, dowody i powiązania

Upload → status wersji → przegląd pliku → analiza/propozycje → decyzja faktu → powiązanie dowodu. Dokument, wersja i fakt mają różne UUID oraz niezależne statusy.

  1. POST /documents
  2. GET /document-versions/{recordId}
  3. POST /document-versions/{recordId}/decision
  4. POST /document-versions/{recordId}/analyze
  5. GET /evidence-proposals?item={catalogItemId}
  6. POST /evidence-proposals/{proposalId}/decision
Importy i arkusze

Pobierz szablon tam, gdzie dostępny → prześlij plik → poczekaj na podgląd → sprawdź wiersze → apply → odczytaj status i raport błędów. Sam upload nie zatwierdza zmian.

  1. POST /imports
  2. GET /imports/{recordId}
  3. GET /imports/{importId}/rows
  4. POST /imports/{recordId}/apply
  5. GET /imports/{recordId}/result.csv
Paszporty i dostęp odbiorców

Dane/dowody → szkic → publikacja → grant odbiorcy. Nowa wersja wymaga osobnego dostępu. Subskrypcje i aktualizacje dotyczą użytkownika klucza; obserwowanie nie oznacza adopcji danych.

  1. POST /passports
  2. POST /passports/{recordId}/publish
  3. POST /passports/{recordId}/shares
  4. GET /sharing-grants
  5. POST /sharing-grants/{recordId}/revoke
Raporty, ROP, BDO i recyklat

Eksport katalogu/ocen/przepływów działa w kolejce. ROP i odpady: nagłówek → pozycje → przegląd → eksport. BDO: źródła → kwalifikacja → snapshot → eksport. Żadna z tych ścieżek nie składa automatycznie deklaracji do urzędu.

  1. POST /reports
  2. GET /reports/{recordId}
  3. GET /reports/{recordId}/download
Współczynniki i ślad materiałów

Odczytaj źródła → przygotuj współczynniki → wskaż opakowanie/zestaw i ewentualną historyczną podstawę → oblicz → odczytaj snapshot. Wynik nie obejmuje automatycznie całego cyklu życia.

  1. GET /carbon-factors/reference
  2. POST /carbon-factors
  3. POST /carbon-calculations
  4. GET /carbon-calculations/{recordId}
Katalog i struktura opakowań

Kolejność: kontrahenci i opcjonalne foldery/rodziny → katalog → części i rynki. Historia danych służy później do odtwarzania podstaw operacji.

  1. GET /dictionaries
  2. POST /parties
  3. POST /catalog-items
  4. POST /catalog-items/{catalogItemId}/components
  5. PUT /catalog-items/{catalogItemId}/markets
  6. GET /catalog-items/{catalogItemId}/data-versions
Ruchy fizyczne i przepływy raportowe

supply-events prowadzi zdarzenia i bilans. flows służy danym raportowym. Ruch może już tworzyć powiązany przepływ: nie wysyłaj obu dla tego samego faktu gospodarczego.

  1. POST /catalog-items/{catalogItemId}/supply-events
  2. GET /catalog-items/{catalogItemId}/supply-summary
  3. GET /catalog-items/{catalogItemId}/inventory
  4. GET /flows
Współpraca z dostawcami i braki

Utwórz prośbę → sprawdź pozycje → wyślij e-mail → odbierz pliki → oceń odpowiedzi. Dostawca korzysta z publicznego linku, integrator z klucza organizacji.

  1. GET /issues
  2. POST /supplier-requests
  3. GET /supplier-requests/{requestId}/lines
  4. POST /supplier-requests/{recordId}/send
  5. POST /supplier-requests/{recordId}/lines/{lineId}/review
Oceny i dokumentacja techniczna PPWR

Ustal opakowanie, rynek i rolę; przygotuj zatwierdzone źródła. Twórz tylko rejestry dotyczące danego zastosowania. Wpis, przegląd i wynik reguł to różne etapy. Dossier poprzedza deklarację UE.

  1. GET /catalog-items/{catalogItemId}/markets
  2. POST /assessments
  3. GET /assessments/{recordId}
  4. POST /assessments/{recordId}/review
  5. GET /catalog-items/{catalogItemId}/ppwr-summary
Ponowne użycie i egzemplarze zwrotne

System obiegu → dokumentacja i potwierdzenia rynku → jednostki → zdarzenia obrotu/przegląd → agregacje i okresowe cele. System obiegu nie jest zestawem pakowym.

  1. POST /ppwr/reuse-systems
  2. POST /catalog-items/{catalogItemId}/ppwr/reuse-units
  3. GET /ppwr/reuse-statistics
Kaucje, gastronomia i informacje

Specjalistyczne rejestry dokumentacyjne. Kaucje opisują opakowanie i udział w systemie, bez obsługi pieniędzy; HoReCa i informacje odbiorców przechowują oceny i dowody.

  1. POST /ppwr/deposit-schemes
  2. GET /ppwr/deposit-schemes/{recordId}
  3. POST /ppwr/deposit-schemes/{recordId}/review
Sprawy, złożenia i audyt

Zarejestruj żądanie/sprawę → dodaj odpowiedź lub zdarzenia i dowody doręczenia → przeprowadź przegląd tam, gdzie dostępny. Złożenia zewnętrzne dokumentują działania wykonane poza aplikacją.

  1. POST /ppwr/authority-requests
  2. GET /ppwr/authority-requests/{recordId}
  3. GET /audit-log
Dossier i deklaracja UE

Dossier porządkuje dokumentację techniczną opakowania. Jego zatwierdzony zapis może być podstawą deklaracji UE; plik PDF jest generowany osobną operacją. Rejestr deklaracji UE powiązanych z dossier konkretnego opakowania, treścią, podpisem i dowodem. Utworzenie rekordu nie podpisuje dokumentu za producenta.

  1. POST /catalog-items/{catalogItemId}/ppwr/conformity-dossiers
  2. POST /catalog-items/{catalogItemId}/ppwr/conformity-dossiers/{recordId}/review
  3. POST /catalog-items/{catalogItemId}/ppwr/eu-declarations
  4. POST /catalog-items/{catalogItemId}/ppwr/eu-declarations/{recordId}/review
  5. POST /catalog-items/{catalogItemId}/generated-documents
Sprawozdanie ROP

Roczne sprawozdania ROP z pozycjami i przeglądem. Eksport wykorzystuje zapisany wynik; nie oznacza złożenia w krajowym portalu.

  1. POST /ppwr/epr-reports
  2. POST /ppwr/epr-reports/{parentId}/lines
  3. GET /ppwr/epr-reports/{parentId}/lines
  4. POST /ppwr/epr-reports/{recordId}/review
  5. GET /ppwr/epr-reports/{recordId}/export
Dane i eksport BDO

Przygotowanie danych opakowaniowych do raportu BDO: źródła, klasyfikacja, snapshot i eksport. API nie składa automatycznie rocznego sprawozdania w BDO ani nie opłaca zobowiązania.

  1. GET /bdo-reports/sources?year=2025
  2. POST /bdo-reports/classifications
  3. POST /bdo-reports
  4. GET /bdo-reports/{recordId}
  5. GET /bdo-reports/{recordId}/download?format=xlsx
Odbieranie webhooków

Endpoint HTTPS, zdarzenia i sekret konfiguruje uprawniona osoba w Administracja → Integracje. Odbiorca sprawdza X-PPWR-Signature w formacie t=TIMESTAMP,v1=HEX: HMAC-SHA256 z tekstu timestamp + kropka + surowe body, kluczem jest cały sekret whsec_… (bez dekodowania). Porównuj podpis w stałym czasie i dopuszczaj odchylenie czasu do 300 sekund. Trwale deduplikuj po id zdarzenia z body, sprawdź schema_version i organization_id, a dopiero po zapisie do własnej kolejki odpowiedz 2xx. Kolejność nie jest gwarantowana. Ponowienia zachowują id zdarzenia i body, ale mają świeży podpis. Dla zmiany zasobu odczytaj aktualny stan z API; webhook nie zawiera pełnych danych dokumentu. Schemat body i katalog typów zdarzeń są w sekcji Webhooks kontraktu.

Aby wykonać żądanie, wybierz Authorize i podaj klucz API. „Try it out” pracuje na rzeczywistych danych organizacji — operacje zapisu wprowadzają zmiany. Klucz nie jest zapamiętywany po odświeżeniu strony.

Pytania i odpowiedzi

Warto wiedzieć przed rozpoczęciem

Odpowiedzi na pytania o codzienną pracę z platformą.

Czy dokumentacja API jest publiczna?

Tak. Swagger i kontrakt OpenAPI 3.1 są dostępne bez logowania na tej stronie. Możesz też otworzyć ppwrlink.pl/api/documentation lub pobrać ppwrlink.pl/api/openapi.json. Przeglądanie nie wymaga klucza; odczyt i zapis danych organizacji wymagają ważnego klucza API i odpowiednich uprawnień.

Czy przez API można połączyć własny system?

Tak. Własna aplikacja może korzystać z udokumentowanych operacji REST, jeżeli ma dostęp sieciowy, ważny klucz i wymagane uprawnienia.

Czy API zatwierdza zgodność opakowania automatycznie?

API udostępnia dane i procesy ocen. Zapis informacji lub przesłanie dokumentu nie zastępuje wymaganych dowodów ani decyzji osoby uprawnionej.

Czy integracja wymaga zalogowania do panelu PPWR Link?

Nie. System zewnętrzny uwierzytelnia żądania nagłówkiem Authorization: Bearer z kluczem utworzonym przez uprawnioną osobę w administracji. Klucz ma określone zakresy dostępu, ważność i opcjonalne ograniczenia IP. Integracja nie korzysta z hasła użytkownika ani sesji przeglądarki.

Porozmawiajmy o Twojej firmie

Zaplanuj integrację z Twoim systemem

Opisz system źródłowy i dane, które mają przepływać. Ustalimy operacje API oraz sposób powiązania indeksów i zamówień.

  1. 1Poznamy sposób pracy Twojej firmy.
  2. 2Pokażemy odpowiednie funkcje na konkretnym przykładzie.
  3. 3Omówimy dane do importu i zakres wdrożenia.
Wolisz bezpośredni kontakt? kontakt@ppwrlink.pl +48 661 552 272

Pola oznaczone * są wymagane.