Integracja z e-doręczenia

Integracja z e-doręczenia
JN
  • Rejestracja:ponad 2 lata
  • Ostatnio:około rok
  • Postów:13
0

Cześć!

eDoręczenia mają wyprzeć listy polecone a sami twórcy udostępniają API.
Czy ktoś może pracuje, lub przymierza się do pracy z eDoręczeniami przez interfejs integracyjny (tak zwane EZD API)?

https://www.gov.pl/web/e-doreczenia/integracja-uslugi-e-doreczen-z-systemami-klasy-ezd

edytowany 4x, ostatnio: Riddle
markone_dev
link nie działa, przekierowuje do posta na 4p
MI
✋ ja ale nie jako programista, chętnie się wymienię informacjami
JN
@michulo: API dla podmiotu publicznego, czy prywatnego? Jaki masz certyfikat, aby dodać system w testowym środowisku?
MI
prywatnego, użyłem CSRa, generowanego openssl i kurcze przy prawie wszystkich zapytaniach otrzymuje 401. Nie mogę tego zwalczyć. Zaraz developerzy siadają do integracji
JN
dziwne, ja nie mogę użyć csr dla podmiotu prywatnego, nawet na helpdesku atmosfery mi powiedzieli, że csr jest tylko dla podmiotów publicznych. teraz nawet nie ma możliwości wgrania csr. u mnie jest problem w ogóle z dodaniem systemu mimo poprawnego certyfikatu, który według strony testowej jest jednak "niezaufany" mimo że walidator mówi co innego. długo czekam na odpowiedź z atmosfery, ale nie kwapią się do podjęcia tego tematu.
MI
ok tylko ja mówię o środowisku testowym aTy pewnie produkcyjnym?
JN
chodzi o testowe
MI
to jeszcze się upewnię, skrzynkę obsługujesz przez https://test-konto.biznes.gov.pl/pl/moje-konto/e-doreczenia ? po zestawieniu VPN?
JN
dokładnie tak
GigaKatowice
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 dni
  • Postów:21
0

Hej.

Właśnie próbuję się zintegrować z e-doręczeniami.
Wniosek o dostęp do środowiska testowego złożyłem, ale podobno są tak zarobieni że nie wiadomo kiedy będzie.

Czy ktoś może jest w stanie udostępnić dokumentację która się tam znajduje? W szczególności pliki yaml.

Coś znalazłem na stronie gov.pl:
https://www.gov.pl/web/e-doreczenia/srodowisko-testowe-dla-podmiotow-publicznych-i-niepublicznych
i tutaj:
https://www.gov.pl/web/e-doreczenia/integracja-uslugi-e-doreczen-z-systemami-klasy-ezd

Co ciekaw COI też ma jakieś swoje informacje:
https://www.coi.gov.pl/aktualnosc/-/asset_publisher/10l10BaZv5Tj/content/srodowisko-testowe-dla-integratorow-systemow-ezd

Poczta polska również, tylko u nich to się nazywa Q-Doręczenia ???
https://edoreczenia.poczta-polska.pl/

Problem w tym, że na tych 3 stronach często są 3 różne wersje dokumentów.

Ktoś wie jak ma wyglądać autoryzacja do API?
I potem normalnie będzie można wywoływać REST API (np. pobranie, wysyłka wiadomości)?
Jakie są adresy URL do serwerów testowych/produkcyjnych?

Z góry dzięki za pomoc

edytowany 1x, ostatnio: GigaKatowice
MI
  • Rejestracja:ponad rok
  • Ostatnio:ponad rok
  • Postów:1
0
GigaKatowice napisał(a):

Hej.

Właśnie próbuję się zintegrować z e-doręczeniami.
Wniosek o dostęp do środowiska testowego złożyłem, ale podobno są tak zarobieni że nie wiadomo kiedy będzie.

Czy ktoś może jest w stanie udostępnić dokumentację która się tam znajduje? W szczególności pliki yaml.

Coś znalazłem na stronie gov.pl:
https://www.gov.pl/web/e-doreczenia/srodowisko-testowe-dla-podmiotow-publicznych-i-niepublicznych
i tutaj:
https://www.gov.pl/web/e-doreczenia/integracja-uslugi-e-doreczen-z-systemami-klasy-ezd

Co ciekaw COI też ma jakieś swoje informacje:
https://www.coi.gov.pl/aktualnosc/-/asset_publisher/10l10BaZv5Tj/content/srodowisko-testowe-dla-integratorow-systemow-ezd

Poczta polska również, tylko u nich to się nazywa Q-Doręczenia ???
https://edoreczenia.poczta-polska.pl/

To są 2 oddzielne usługi PURDE i KURDE

Problem w tym, że na tych 3 stronach często są 3 różne wersje dokumentów.

Ktoś wie jak ma wyglądać autoryzacja do API?

Token JWT, jest to opisane w dokumentacji, niestety u mnie zadziałało tylko dla jednego z dostępnych API do drugiego nie mogę się zautoryzować.

I potem normalnie będzie można wywoływać REST API (np. pobranie, wysyłka wiadomości)?
Jakie są adresy URL do serwerów testowych/produkcyjnych?
Będzie w dokumentacji, bez nadanego dostępu do środowiska testowego się nie dostaniesz bo jest filtrowane po IP

Z góry dzięki za pomoc

Zobacz pozostałe 13 komentarzy
NE
Cześć. U mnie identyczna sytuacja - działa mi SE natomiast na UA dostaje 401 Unauthorized. Autoryzacja dokładnie w takim sam sposób. Korzystam z Postman i skryptu który dali przykładowy. Czy udało Wam się rozwiązać tą zagadkę?
M1
rozwiązanie u mnie: zgłoszenie dostępu o nowe środowisko pomogło, w pewnym okresie nie działała poprawnie synchronizacja pomiędzy coi i poczta - możesz też spróbować usunąć system i dodać ponownie z nowo wygenerowanym CSR - to pomogło też na starym koncie - mieli popsute certyfikaty i nie autoryzowało ich poprawnie
NE
@misiek154: Dzięki wielkie. Sprawdzę z ponownym dodaniem systemu do uprawnień i wgranie nowego CSR. A jeszcze takie dodatkowe pytanie. Plik CSR generujesz jakimś on-linowym generatorem np. https://csrgenerator.com/ czy ręcznie w openssl ? Gdzieś w którymś scenariuszu zaproponowali https://csrgenerator.com i rozmiar klucza 4096.
M1
@NeverEndingStory sam generuje openssl'em to jedno polecenie więc czasu nic nie kosztuje, moi koledzy próbowali tymi online ale nie zawsze działały poprawnie
Jay Wu
Dzięki @misiek154 dodanie nowego systemu z nowym csrem pomogło.
P2
  • Rejestracja:ponad rok
  • Ostatnio:21 dni
  • Postów:5
0

Cześć,

Przy utworzeniu systemu EZD na produkcyjnej skrzynce dostaję błąd:

"Przekazany środek uwierzytelniający nie jest wspierany dla twojego kontekstu skrzynki"

Czy mogę ktoś powiedzieć co to jest za problem ?
W csr podaję dane zgodnie z instrukcją czyli:

a. Country Name (C) - należy podać dwuliterowy kod kraju [PL].
b. State or Province Name (ST) - należy podać nazwę województwa, w którym mieści
się siedziba firmy [Wojewodztwo].
c. Locality Name (L) - należy podać nazwę miejscowości, w której mieści się siedziba
firmy [Miejscowosc].
d. Organization Name (O) - należy podać pełną i dokładną nazwę firmy, nazwa musi
się zgadzać z nazwą przedstawioną w dokumentach rejestrowych tj. rejestr CEIDG
lub KRS [Nazwa Firmy].
e. Organizational Unit Name (OU) - pole nieobowiązkowe, opcjonalnie można podać
nazwę działu firmy odpowiedzialnego za wdrożenie certyfikatu [Nazwa Dzialu IT].
f. Common Name (CN) - należy wpisać nazwę domeny dla której ma być wystawiony
certyfikat np. [ezd.domena.pl]. Dla certyfikatów typu Wildcard podajemy nazwę
domeny w postaci [*.domena.pl].
g. Email Address [E] - pole nieobowiązkowe.
h. Po przejściu przez tę procedurę pojawią się jeszcze dwa dodatkowe pytania (extra
attributes), pola te należy pozostawić puste zatwierdzając klawiszem Enter:
A challenge password - należy pominąć, zatwierdzając klawiszem Enter.
An optional company name - należy pominąć, zatwierdzając klawiszem Enter.

MI
a jaki typ podmiotu.? i chyba dla PROD CSR nie jest dopuszczony, w dokumentacji jest info że to ułatwienie dla INT
P2
Sp. z.o. o. A co jest dopuszczone ?
MI
a sorki tylko takie info znalazłem: "Na środowisku testowym INT na potrzeby testów umożliwiono podmiotom publicznym i niepublicznym dodawanie bezpłatnych certyfikatów. Na środowisku produkcyjnym podmioty niepubliczne będą musiały dodawać odpłatnie pozyskane certyfikaty." [Zalacznik_nr_2_Skrocona_Instrukcja_integracji_EZDAPI_1.4.pdf] Więc nie wiem jak jest z CSR
P2
Z tego co ja wiem, system EZD może założyć tylko podmiot publiczny. W prywatnej skrzynce nie widzę możliwości dodania systemu EZD.
GigaKatowice
Dla skrzynki osobistej nie ma możliwości dodania systemu EZD. System EZD możliwy jest tylko dla podmiotów publicznych i niepublicznych. Podmioty publiczne mają dostęp do darmowych certyfikatów centrum certyfikacji KPRM. Podmioty niepubliczne powinny zakupić certyfikaty kwalifikowane u komercyjnego dostawcy kwalifikowanego. Nie mogą wygenerować certyfikatu tak jak na środowisku integracyjnym. Poza tym środowiskiem muszą posługiwać się komercyjnym certyfikatem.
H1
  • Rejestracja:ponad 10 lat
  • Ostatnio:3 miesiące
  • Postów:13
0

Czy komuś udało się może pobrać dane już po etapie autoryzacji ? Pobranie tokena mam za sobą i za każdym razem kiedy chce pobrać dane lub zweryfikować otrzymuje 400 i nic więcej w response.

GigaKatowice
A o które API Ci chodzi? Search Engine czy User Agent? Błąd 400 (Bad request) znaczy, że przeszła Ci autoryzacja (wtedy byłoby 401) tylko masz źle sformatowane żądanie. Jeżeli dobrze interpretuje to co napisałeś to prawdopodobnie brakuje Ci adresu e-doręczeń w żądaniu - adres e-doręczeń wysyłany jest w polu „senderEda” w body żądania. Musi być zgodny z adresem zdefiniowanym w tokenie w polu „mailbox.address"
H1
  • Rejestracja:ponad 10 lat
  • Ostatnio:3 miesiące
  • Postów:13
0

Chodzi mi o SE pobieranie własnych danych. Wysyłka 4 pól na wskazany w dokumentacji endpoint search/eda-confirmation. Należy podać recipientEdas, senderEda, offset, limit. Po wysłaniu na wskazany adres 4 pól otrzymuje 400.

GigaKatowice
400 czyli Bad Request. Ja mam podobnie przy wyszukiwaniu adresu gdy podaję jakieś błędne kombinacje danych - ale nie udało mi się tego rozwiązać. Działa mi wyszukiwanie po NIP/PESEL/REGON
L2
Jeśli chodzi o wyszukiwanie, to znajdź sobie dokument Search_Engine_API_v.2.08 - w rozdziale 3.4 jest dokładny opis jakie filtry można łączyć dla jakich kategorii
L2
  • Rejestracja:ponad 5 lat
  • Ostatnio:około miesiąc
  • Postów:9
0

A ja mam jeszcze inny problem przy autoryzacji na systemie testowym. Wydaje mi się, że robię wszystko zgodnie z instrukcją, ale dostaję za każdym razem odpowiedź 400 i z aplikacji i z postmana
{
"error": "invalid_client",
"error_description": "Unable to load public key"
}

System dodaje przez CSR, czyli generuje CSR, wrzucam do edoreczeń i kluczem który był generowany dla csr podpisuje JWT. Jeszcze coś trzeba zrobić ? Ten certyfikat co się generuje po dodaniu systemu, trzeba wrzucić gdzieś do apki, która wywołuje request ?

H1
Zweryfikuj np. na jwt.io czy Twój token jest poprawny i czy z tokena dobrze dekorują się claimsy.
GigaKatowice
Dokładnie. Sprawdź poprawność wygenerowanego tokenu JWT. Z tego co ja to ogarniam ten certyfikat, który generują e-doręczenia jest do niczego nie potrzebny. Token JWT podpisujesz kluczem prywatnym.
L2
Dzięki a podpowiedzi.... porównałem sobie weryfikację przykładowego i mojego, dostosowałem algorytm podpisu i działa. Podpisywałem RSA512, a wygląda na to, że eDoreczenia przyjmują tylko RSA256
LR
  • Rejestracja:ponad rok
  • Ostatnio:7 miesięcy
  • Postów:1
0

Hej, Możecie poratować kawałkiem kodu w .NET do pobrania Tokena JWT? Nie umiemy wygenerować takiego samego tokenu, który otrzymujemy w Postamanie.

GigaKatowice
Ja to zrobiłem na podstawie tego: https://stackoverflow.com/questions/25909044/how-to-sign-bytes-using-my-own-rsa-private-key-using-rs256-algorithm I payload zgodnie z tym co w dokumentacji: { "aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR", "exp": 1616503513, "iat": 1616502913, "iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU", "jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f", "nbf": 1616502913, "sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU" }
LR
Dziękuję. Sprawdzimy to. Dam znać, czy się udało ;)
LR
Jeszcze raz dziękuję za pomoc. Wskazówki były pomocne!
P2
  • Rejestracja:ponad rok
  • Ostatnio:21 dni
  • Postów:5
0

Czy ktoś wie o tym jak to powinno być z certyfikatem dla podmiotów nie publicznych ? Czy to te kluczy razem z certyfikatem powinni być gdzieś kupione czy kupione w kwalifikowanego dostawcę czyli Poczty Polskiej, czy sam system powinien ich nadawać?

edytowany 1x, ostatnio: proger2023
jaszczykj
Również utknąłem na integracji dla podmiotu niepublicznego. Udało się pozyskać certyfikat kwalifikowany i dodać system? Jeśli tak to proszę o namiary skąd i jaki certyfikat powinienem zakupić.
GigaKatowice
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 dni
  • Postów:21
0

W komunikacie z dnia 22 listopada 2023 r. Minister Cyfryzacji zmienił termin stosowania e-Doręczeń przez podmioty wskazane w ustawie o doręczeniach elektronicznych. Obowiązek ten wchodzi w życie 30 grudnia 2023 r. zamiast 10 grudnia 2023 r.

Ministerstwo Cyfryzacji wystąpiło także z inicjatywą legislacyjną, która pozwoli przesunąć maksymalną datę wdrożenia doręczeń elektronicznych na 1.01.2025 r.

https://www.gov.pl/web/e-doreczenia/komunikat-ministra-cyfryzacji-dotyczacy-zmieniajacy-termin-obowiazku-wdrozenia-e-doreczen

Tak więc mamy dodatkowe 3 tygodnie.

A e-doręczenia na serwerze testowym znowu nie działają (27.11.2023 8:50)!

L2
Super, dzięki za info, nie widziałem tego i cisnę na 10.12.2023 :D
GigaKatowice
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 dni
  • Postów:21
0

Działa komuś wysyłka wiadomości przez API??
To znaczy mi API działa, e-Doręczenia przyjmują wiadomość, dostaję MessageID.
Problem w tym, że wiadomość ma wieczny status "W trakcie weryfikacji" i w polach adres nadawcy i odbiorcy mam BRAK.
screenshot-20231127131544.png

edytowany 1x, ostatnio: GigaKatowice
L2
Ja testowałem w piątek i ciągle jest ten status, ale Od i Do mam uzupełnione. Na pewno wysyłam też companyName w contributor from w messageMetadata: ... "from": { "contributor": { "companyName": "TEST" }, "eDeliveryAddress": "AE:....." }, ...
GigaKatowice
Ja mam ten status od 23.11.2023. Co ciekawe po weekendzie stare wiadomości mają teraz status: [Odrzucona] Nie można określić poprawności przetwarzania przesyłki na podstawie interfejsu Discovery. Błąd wywołania interfejsu,Correctness of communication cannot be determined on basis of Discovery API. Error while calling interface
L2
No to grubo, jak dla mnie, to po prostu to nie działa prawidłowo na testówce....
O2
Ja dostaję cały czas status "W trakcie weryfikacji" a po chwili "Odrzucona". Już smarowałem zgłoszenie do COI ale się wstrzymam, może to tymczasowe zatwardzenie po ich stronie..?
GigaKatowice
Ja w sumie codziennie piszę coś do nich przez HelpDesk. Na proste sprawy (w sensie rozwiązania) odpisują szybko, ale na błędy echo :/
O2
  • Rejestracja:około 2 lata
  • Ostatnio:2 miesiące
  • Postów:2
0

Cześć, mam problem z załącznikami w wysyłanych wiadomościach. Mógłby ktoś podpowiedzieć jak przekonwertować plik (np. txt) do formatu który spodoba się API edoręczeniowemu?

L2
Ogólnie to jest po prostu base64 String. Nie wiem w czym piszesz dokładnie, ale to po prostu powinno być coś w stylu Base64.encode(bytes[] fileBytes)
O2
Rewelacja, dzięki wielkie. W .net
KL
  • Rejestracja:ponad rok
  • Ostatnio:około miesiąc
  • Postów:10
0

Częśc,
Jak pytanko przy integracji nazwa systemu to jest nazwa użytkownika podczas tworzenia tokenu do podpisania?
I jeszcze odnośnie generowania tokenu tutaj trzeba uzupełnić te dane "{
"aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR",
"exp": 1616503513,
"iat": 1616502913,
"iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU",
"jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f",
"nbf": 1616502913,
"sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU"
}"
a następnie z nich utworzyć token JWT ?

Pozdrawiam

LR
Nazwa systemu to nazwa, z którą rejestrujesz aplikację zewnętrzną w portalu e-doręczeń.
L2
  • Rejestracja:ponad 5 lat
  • Ostatnio:około miesiąc
  • Postów:9
0
Kamil_Loczek napisał(a):

Częśc,
Jak pytanko przy integracji nazwa systemu to jest nazwa użytkownika podczas tworzenia tokenu do podpisania?
I jeszcze odnośnie generowania tokenu tutaj trzeba uzupełnić te dane "{
"aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR",
"exp": 1616503513,
"iat": 1616502913,
"iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU",
"jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f",
"nbf": 1616502913,
"sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU"
}"
a następnie z nich utworzyć token JWT ?

Pozdrawiam

Nie wiem czy dobrze rozumiem pierwsze pytanie, ale jeśli sens ma być "Co to jest Nazwa Systemu", to jest to nazwa systemu zewnętrznego integrującego się z eDoreczeniami, którą nadajesz podczas dodawania systemu z GUI eDoręczeń, dokumentacja: 20220112_Instrukcja_dodania_systemu_zewnetrznego_rozszerzona_v.1.1.pdf

Co do drugiego pytania to TAK.
To jest akurat dosyć dobrze opisane w dokumentacji: 20230919_Zalacznik_nr_2_Skrocona_Instrukcja_integracji_EZDAPI_1.6.pdf ( rozdział 3 ), jedyne czego nie ma, to że Token musi być podpisany przez SHA256.

KL
  • Rejestracja:ponad rok
  • Ostatnio:około miesiąc
  • Postów:10
0
longer2208 napisał(a):
Kamil_Loczek napisał(a):

Częśc,
Jak pytanko przy integracji nazwa systemu to jest nazwa użytkownika podczas tworzenia tokenu do podpisania?
I jeszcze odnośnie generowania tokenu tutaj trzeba uzupełnić te dane "{
"aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR",
"exp": 1616503513,
"iat": 1616502913,
"iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU",
"jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f",
"nbf": 1616502913,
"sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU"
}"
a następnie z nich utworzyć token JWT ?

Pozdrawiam

Nie wiem czy dobrze rozumiem pierwsze pytanie, ale jeśli sens ma być "Co to jest Nazwa Systemu", to jest to nazwa systemu zewnętrznego integrującego się z eDoreczeniami, którą nadajesz podczas dodawania systemu z GUI eDoręczeń, dokumentacja: 20220112_Instrukcja_dodania_systemu_zewnetrznego_rozszerzona_v.1.1.pdf

Co do drugiego pytania to TAK.
To jest akurat dosyć dobrze opisane w dokumentacji: 20230919_Zalacznik_nr_2_Skrocona_Instrukcja_integracji_EZDAPI_1.6.pdf ( rozdział 3 ), jedyne czego nie ma, to że Token musi być podpisany przez SHA256.

Ok zalogowałem się na skrzynkę ale nie widzę pod rolą system mam tylko "Twoja skrzynka, użytkownicy, Folder, Rola"

L2
  • Rejestracja:ponad 5 lat
  • Ostatnio:około miesiąc
  • Postów:9
0
Kamil_Loczek napisał(a):
longer2208 napisał(a):
Kamil_Loczek napisał(a):

Częśc,
Jak pytanko przy integracji nazwa systemu to jest nazwa użytkownika podczas tworzenia tokenu do podpisania?
I jeszcze odnośnie generowania tokenu tutaj trzeba uzupełnić te dane "{
"aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR",
"exp": 1616503513,
"iat": 1616502913,
"iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU",
"jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f",
"nbf": 1616502913,
"sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU"
}"
a następnie z nich utworzyć token JWT ?

Pozdrawiam

Nie wiem czy dobrze rozumiem pierwsze pytanie, ale jeśli sens ma być "Co to jest Nazwa Systemu", to jest to nazwa systemu zewnętrznego integrującego się z eDoreczeniami, którą nadajesz podczas dodawania systemu z GUI eDoręczeń, dokumentacja: 20220112_Instrukcja_dodania_systemu_zewnetrznego_rozszerzona_v.1.1.pdf

Co do drugiego pytania to TAK.
To jest akurat dosyć dobrze opisane w dokumentacji: 20230919_Zalacznik_nr_2_Skrocona_Instrukcja_integracji_EZDAPI_1.6.pdf ( rozdział 3 ), jedyne czego nie ma, to że Token musi być podpisany przez SHA256.

Ok zalogowałem się na skrzynkę ale nie widzę pod rolą system mam tylko "Twoja skrzynka, użytkownicy, Folder, Rola"

To pewnie działasz na swojej osobistej skrzynce.
Opcja dodania systemu jest tylko na skrzynkach podmiotów. Można oczywiście założyć konto testowe podmiotu publicznego na testowych eDoreczeniach, ale trwa to do 14 dni + 2 dni robocze na aktywację skrzynki. Trzeba wysłać wniosek:
20220607_Zalacznik_Nr_3_Zgłoszenie_dostępu_do_środowiska_INT.docx

... Jeszcze zaznaczam, że wniosek musi być podpisany, przez osobę umocowaną przez firmę. Nie wystarczyło, że wniosek był podpisany przez pracownika firmy, który wypełniał wniosek....

Jak będzie dostęp do konta testowego dla podmiotu, to należy wykonać rejestrację skrzynki dla podmiotu (co tez nie jest trywialne), ale można skorzystać z przygotowanych scenariuszy (w tym wypadku 1.2/1.3): 20230919_Scenariusze_EZD.xlsx

edytowany 2x, ostatnio: longer2208
KL
  • Rejestracja:ponad rok
  • Ostatnio:około miesiąc
  • Postów:10
0
longer2208 napisał(a):
Kamil_Loczek napisał(a):
longer2208 napisał(a):
Kamil_Loczek napisał(a):

Częśc,
Jak pytanko przy integracji nazwa systemu to jest nazwa użytkownika podczas tworzenia tokenu do podpisania?
I jeszcze odnośnie generowania tokenu tutaj trzeba uzupełnić te dane "{
"aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR",
"exp": 1616503513,
"iat": 1616502913,
"iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU",
"jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f",
"nbf": 1616502913,
"sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU"
}"
a następnie z nich utworzyć token JWT ?

Pozdrawiam

Nie wiem czy dobrze rozumiem pierwsze pytanie, ale jeśli sens ma być "Co to jest Nazwa Systemu", to jest to nazwa systemu zewnętrznego integrującego się z eDoreczeniami, którą nadajesz podczas dodawania systemu z GUI eDoręczeń, dokumentacja: 20220112_Instrukcja_dodania_systemu_zewnetrznego_rozszerzona_v.1.1.pdf

Co do drugiego pytania to TAK.
To jest akurat dosyć dobrze opisane w dokumentacji: 20230919_Zalacznik_nr_2_Skrocona_Instrukcja_integracji_EZDAPI_1.6.pdf ( rozdział 3 ), jedyne czego nie ma, to że Token musi być podpisany przez SHA256.

Ok zalogowałem się na skrzynkę ale nie widzę pod rolą system mam tylko "Twoja skrzynka, użytkownicy, Folder, Rola"

To pewnie działasz na swojej osobistej skrzynce.
Opcja dodania systemu jest tylko na skrzynkach podmiotów. Można oczywiście założyć konto testowe podmiotu publicznego na testowych eDoreczeniach, ale trwa to do 14 dni + 2 dni robocze na aktywację skrzynki. Trzeba wysłać wniosek:
20220607_Zalacznik_Nr_3_Zgłoszenie_dostępu_do_środowiska_INT.docx

... Jeszcze zaznaczam, że wniosek musi być podpisany, przez osobę umocowaną przez firmę. Nie wystarczyło, że wniosek był podpisany przez pracownika firmy, który wypełniał wniosek....

Jak będzie dostęp do konta testowego dla podmiotu, to należy wykonać rejestrację skrzynki dla podmiotu (co tez nie jest trywialne), ale można skorzystać z przygotowanych scenariuszy (w tym wypadku 1.2/1.3): 20230919_Scenariusze_EZD.xlsx

Tutaj to jest skrzynka testowa która została mi dostarczona po złożeniu wniosku, wykonałem rejestrację skrzynki ale możliwe że coś złe po drodze zaznaczyłem,
a czy mogę zmienić rodzaj skrzynki czy muszę sie zarejestrować ponownie? widzę właśnie że to skrzynka osobista

edytowany 1x, ostatnio: Kamil_Loczek
L2
A no to git, to masz po prostu skrzynke osobistą. Na jednym koncie można mieć wiele skrzynek. Proponuje założyć skrzynkę dla podmiotu NIEPUBLICZNEGO, da się normalnie dodać system, a aktywacja trwała natychmiast. Dla publicznego aktywuje pracownik COI i to było jakieś 24h. Pozdrawiam
GigaKatowice
Po złożeniu wniosku powinieneś otrzymać dane do logowania do Profilu Zaufanego dla 3 osób. Ja na każdej z nich założyłem inny typ skrzynki. Jedna ma skrzynkę osobistą, następna dla firmy, a ostatni dla urzędu. Wszystko można zrobić na fikcyjnych danych. W pliku 20230919_Scenariusze_EZD.xlsx jest dobrze rozpisane co i jak klikać aby założyć odpowiednią skrzynkę
ZY
  • Rejestracja:ponad rok
  • Ostatnio:ponad rok
  • Postów:1
0

Witam forumowiczów.
Również próbuje to zintegrować.
Autoryzację mam za sobą, Search engine w wersji v1 również. Ale z pocztą mam problem Być może złych adresów używam.
Jeśli chodzi o produkcję mam "https://uaapi-ow.poczta-polska.pl" jednak przy wywołaniu POSTa na tworzenie drafts zawsze dostaję 404.
Jeśli macie jakiś skrawek kodu lub jak to wywołujecie proszę o umieszczenie.

Pozdrawiam

Z ost chwili. Jest ok.
Nie dodałem prefixu /api/v1

edytowany 1x, ostatnio: zygfrydos
KL
  • Rejestracja:ponad rok
  • Ostatnio:około miesiąc
  • Postów:10
0

Ok dodałem system certyfikat przeszedł poprawna weryfikacja a czy macie może fajny przykład integracji ponieważ ten postman taki nie rozumiem tego generowaniu klucza z tych danych ""{
"aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR",
"exp": 1616503513,
"iat": 1616502913,
"iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU",
"jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f",
"nbf": 1616502913,
"sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU"
}""

Pozdrawiam

L2
  • Rejestracja:ponad 5 lat
  • Ostatnio:około miesiąc
  • Postów:9
0
Kamil_Loczek napisał(a):

Ok dodałem system certyfikat przeszedł poprawna weryfikacja a czy macie może fajny przykład integracji ponieważ ten postman taki nie rozumiem tego generowaniu klucza z tych danych ""{
"aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR",
"exp": 1616503513,
"iat": 1616502913,
"iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU",
"jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f",
"nbf": 1616502913,
"sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU"
}""

Pozdrawiam

Z czym dokładnie masz problem? Robiłem zgodnie z dokumentacją z punktu 3 i nie było problemów. Jedynie to, że podpisywałem RSA512, a musi być 256.

Jak masz już TOKEN, to trzymaj curla, do podmiany token i adres skrzynki:

Kopiuj
curl --location 'https://int-ow.edoreczenia.gov.pl/auth/realms/EDOR/protocol/openid-connect/token?login_hint=ADRES_SKRZYNKI_AED_DO_PODMIANY' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Cookie: HttpOnly' \
--data-urlencode 'client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_assertion=PODPISANY_TOKEN_DO_PODMIANY'
edytowany 1x, ostatnio: longer2208
KL
  • Rejestracja:ponad rok
  • Ostatnio:około miesiąc
  • Postów:10
0
longer2208 napisał(a):
Kamil_Loczek napisał(a):

Ok dodałem system certyfikat przeszedł poprawna weryfikacja a czy macie może fajny przykład integracji ponieważ ten postman taki nie rozumiem tego generowaniu klucza z tych danych ""{
"aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR",
"exp": 1616503513,
"iat": 1616502913,
"iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU",
"jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f",
"nbf": 1616502913,
"sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU"
}""

Pozdrawiam

Z czym dokładnie masz problem? Robiłem zgodnie z dokumentacją z punktu 3 i nie było problemów. Jedynie to, że podpisywałem RSA512, a musi być 256.

Jak masz już TOKEN, to trzymaj curla, do podmiany token i adres skrzynki:

Kopiuj
curl --location 'https://int-ow.edoreczenia.gov.pl/auth/realms/EDOR/protocol/openid-connect/token?login_hint=ADRES_SKRZYNKI_AED_DO_PODMIANY' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Cookie: HttpOnly' \
--data-urlencode 'client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_assertion=PODPISANY_TOKEN_DO_PODMIANY'

Chodzi mi bardziej o wygenerowanie tokenu przez JWT pierwszy raz w ten sposób się autoryzuje :d

Zobacz pozostałe 5 komentarzy
KL
A jak chodzi o Postamana aby podmienił klucz prywatny chodzi ci o ten który wygenerowałem do systemu? gdy do wklejam to dostaje komunikat " Error: malformed plain PKCS8 private key(code:001)"
O2
Tak, ten mam na myśli. Tam trzeba funkcję zmienić, zapomniałem że to robiłem. U mnie tak to wygląda teraz: pmlib.rs.KEYUTIL.getKey(-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAnOLG+AT1WH2HE7... tkM= -----END RSA PRIVATE KEY-----);
KL
a przed wysłaniem tego tokenu który dostałem z clientAssertPrivateKey zakodować go do SHA256?
O2
Jeśli masz na myśli podpisanie tokena kluczem prywatnym to ta operacja odbywa się właśnie w metodzie clientAssertPrivateKey
KL
znaczy otrzymuje ten token stworzony z header.payloader.secret secret to klucz prywatny tak ? i ten ciąg zakodować do SHA256?
L2
  • Rejestracja:ponad 5 lat
  • Ostatnio:około miesiąc
  • Postów:9
0
Kamil_Loczek napisał(a):
longer2208 napisał(a):
Kamil_Loczek napisał(a):

Ok dodałem system certyfikat przeszedł poprawna weryfikacja a czy macie może fajny przykład integracji ponieważ ten postman taki nie rozumiem tego generowaniu klucza z tych danych ""{
"aud": "http://int-ow.edoreczenia.gov.pl/auth/realms/EDOR",
"exp": 1616503513,
"iat": 1616502913,
"iss": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU",
"jti": "ea0b0884-e488-42c6-82cb-82132c5fb66f",
"nbf": 1616502913,
"sub": "$ADRES_ADE.SYSTEM.$NAZWA_SYSTEMU"
}""

Pozdrawiam

Z czym dokładnie masz problem? Robiłem zgodnie z dokumentacją z punktu 3 i nie było problemów. Jedynie to, że podpisywałem RSA512, a musi być 256.

Jak masz już TOKEN, to trzymaj curla, do podmiany token i adres skrzynki:

Kopiuj
curl --location 'https://int-ow.edoreczenia.gov.pl/auth/realms/EDOR/protocol/openid-connect/token?login_hint=ADRES_SKRZYNKI_AED_DO_PODMIANY' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Cookie: HttpOnly' \
--data-urlencode 'client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_assertion=PODPISANY_TOKEN_DO_PODMIANY'

Chodzi mi bardziej o wygenerowanie tokenu przez JWT pierwszy raz w ten sposób się autoryzuje :d

Akurat PHP nie znam, ale tutaj są jakieś przykłady: https://github.com/miladrahimi/php-jwt

To co masz zrobić to jest dokładnie to:
screenshot-20231201115647.png

te dane w generate, to są pewnie te claimsy do JWT, czyli w naszym przypadku [aud => ..., exp => ... itd], ale to lepiej jeszcze doczytaj dokładnie ;)

edytowany 1x, ostatnio: longer2208
KL
ok dzięki rozumiem że przy generowaniu JWT muszę podać scieżke do klucza prywatnego który wygenerowałem do dodania systemu w module? ?
L2
Tak dokladnie. Podpisujesz kluczem prywatnym, a eDoręczenia weryfikują certem, który wygenerowali sobie z csr
S0
  • Rejestracja:ponad rok
  • Ostatnio:8 miesięcy
  • Postów:4
0

Witam, jaki jest url bazowy dla user agent api na środowisku int ? Podając: https://int-ow.edoreczenia.gov.pl/api/se/v1/search/bae_search jako baseUrl dostaje 404. Autoryzacje mam już zrobioną.

L2
  • Rejestracja:ponad 5 lat
  • Ostatnio:około miesiąc
  • Postów:9
0
stefan007 napisał(a):

Witam, jaki jest url bazowy dla user agent api na środowisku int ? Podając: https://int-ow.edoreczenia.gov.pl/api/se/v1/search/bae_search jako baseUrl dostaje 404. Autoryzacje mam już zrobioną.

ja korzystam z api V2 po takich adresach:

SA: https://int-ow.edoreczenia.gov.pl/api/se/v2/
UA: https://uaapi-int-ow.poczta-polska.pl/api/v2/

O2
jest gdzieś dokumentacja yamlowa/pdfowa do api v2?
H1
  • Rejestracja:ponad 10 lat
  • Ostatnio:3 miesiące
  • Postów:13
0

Witam, czy ktoś może już testował wysyłkę wiadomości typu hybrid ?

L2
jeszcze nie testowałem, a da się na testowych edoreczeniach ?
S0
  • Rejestracja:ponad rok
  • Ostatnio:8 miesięcy
  • Postów:4
0

Witam, do wygenerowania tokena korzystam z : https://int-ow.edoreczenia.gov.pl/api/se/v1/. Przy wysyłce żądania createDraft z bazowym url: https://uaapi-int-ow.poczta-polska.pl/api/v1 dostaje 401. W postmanie mam typ oAuth2.0 i token wygenerowany przez POST: signedJWT o adresie: https://int-ow.edoreczenia.gov.pl/api/se/v1/search/bae_search . Co robię nie tak?

O2
Do wygenerowania tokena użyj adresu "https://int-ow.edoreczenia.gov.pl/auth/realms/EDOR/protocol/openid-connect/token" W Postmanie, w requeście signedJWT, przejdź do zakładki "Pre-request script". Możesz tam zobaczyć jak generowany jest bearer token. Rozumiem że request signedJWT masz z zaimportowanej kolekcji z dokumentacji?
S0
używam signedJWT który jest zaimportowany z dokumentacji. Tokena wyświetlam jako console.log(jwt), czyli: const jwt = pmlib.clientAssertPrivateKey(pk, 'moj_adres_e_delivery', 'https://int-ow.edoreczenia.gov.pl/auth/realms/EDOR'); Następnie używam tego tokena przy endpointach dla USER AGENT API. Podając ten token dla "Gets names of countries." : https://uaapi-int-ow.poczta-polska.pl/api/v1/dictionary/countries dostaje 401.
L2
  • Rejestracja:ponad 5 lat
  • Ostatnio:około miesiąc
  • Postów:9
0
S0
Gdzie można znaleźć yamla do api v2?
S0
dzięki wielkie
H1
  • Rejestracja:ponad 10 lat
  • Ostatnio:3 miesiące
  • Postów:13
0

Witam, czy ktoś dziś ma też problem z wysyłką wiadomości na środowisku testowym edoreczen? Dziś dostaje informację że pola, które mają być wypełniona przez ow są wymagane przy wysylce. O co chodzi ? Wczoraj wszystko śmigało bez problemu..

GigaKatowice
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 dni
  • Postów:21
0

Już kilka razy o tym pisałem, ale powtórzę dla wszystkich nowych.

W sumie to są 4 różne adresy dla API.

Search Engine:
https://int-ow.edoreczenia.gov.pl/api/se/v1/ (endpoint dla yaml v.1.0.14 SE API)
https://int-ow.edoreczenia.gov.pl/api/se/v2/ (endpoint dla yaml v.2.0.3 SE API)

User Agent:
https://uaapi-int-ow.poczta-polska.pl/api/v1/ (endpoint dla yaml 1.0.7 UA API)
https://uaapi-int-ow.poczta-polska.pl/api/v2/ (endpoint dla yaml 1.0.16 UA API)

Aktualności:
Informacje mam z tego linku: https://int.edoreczenia.gov.pl/aktualnosci

Dokumentacja:
Dodatkowo komplet dokumentacji dostępny jest tutaj (są również pliki yaml)
https://int.edoreczenia.gov.pl/dokumentacja

Aby mieć dostęp do środowiska testowego należy wypełnić wniosek:
https://www.gov.pl/web/e-doreczenia/integracja-uslugi-e-doreczen-z-systemami-klasy-ezd

GigaKatowice
Czy jest jakaś opcja aby przypiąć posta? Można by zebrać podstawowe informacje w jednym poście aby łatwiej było nowym osobom zacząć
GigaKatowice
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 dni
  • Postów:21
0

Cześć.

Czy ktoś korzystając z Search Engine v.1.0.14 potrafi wyszukać odbiorcę na podstawie danych adresowych?
Szukanie wg. PESEL, NIP, REGON mi działa.
Niestety nie potrafię tak złożyć JSON aby mi znalazł odbiorcę na podstawie adresu korespondencyjnego lub adresu siedziby.

O2
Rzuć okiem na rozdział 3.4 Reguły biznesowe str. 24 w 20230919_COI_Projekt_Techniczny_Search_Engine_API_v.2.08.pdf
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)