Ta solucja zawiera kod przykładowego i prostego klienta korzystającego z API Mediporty.
Solucja składa się z biblioteki Mediporta.CommonLogic zawierającą zawierającej logikę używaną w przykładach wykorzystania API oraz 2 projektów konsolowych: 1. Mediporta.CreateAndEditWizytaWithCookieAuth, i 2. Mediporta.CreateAndEditWizytaWithTokenAuth.
Projekt Mediporta.CreateAndEditWizytaWithCookieAuth pokazuje scenariusz, gdzie w Mediporcie jest zakładana wizyta przez API i jest zwracane przekierowanie do strony edycji tej wizyty, gdzie autoryzacja edycji wizyty będzie się odbywała po ciasteczku.
Projekt Mediporta.CreateAndEditWizytaWithTokenAuth również zakłada wizyty w Mediporcie poprzez API, ale zamiast zwracać przekierowanie do stworzonej wizyty, zwraca XML'a z przygotowanym linkiem do edycji wizyty, w którym jest już osadzony token autoryzacyjny.
Solucja była testowana na systemie Windows 10.
Należy się skontaktować z Mediportą w celu założenia testowej instancji [email protected] oraz należy wysłać do Mediporty plik certyfikatu *.crt bez hasła do certyfikatu.
W folderze Certificates znajduję się szczegółowa instrukcja generowania certyfikatu.
Należy podmienić plik certyfikatu mediportaApiExample.p12 w bibliotece na pasujący do konfiguracji instancji Mediporty. Następnie należy zmodyfikować plik PrzykladowaWizyta.xml (zgodnie z danymi skonfigurowanymi w Mediporcie ) ustawiony na instancji Mediporty.
Zaktualizować wartości kluczy w obu plikach App.config.
Lista kluczy:
- WizytaFileName - nazwa pliku z wizytą
- CertificateFileName - nazwa pliku z certyfikatem
- CertificatePassword - hasło do certyfikatu
- RequestUriForHealthCheck - URL do endpointu w API sprawdzającego, czy API działa
- RequestUriForCreateAndEditWizytaWithCookieAuth - URL do endpointu w API zakładającego wizytę i zwracającego przekierowanie do wizyty
- RequestUriForCreateAndEditWizytaWithTokenAuth - URL do endpointu w API zakładającego wizytę i zwracającego link do wizyty z tokenem, który będzie użyty do autoryzacji
Program oczekuje, że plik z wizytą będzie się znajdować w folderze Wizyty względem pliku wykonywalnego. Domyślnie bin\Debug\Wizyty. Plik z certyfikatem powinien znaleźć się odpowiednio w folderze Certyfikaty względem pliku wykonywalnego. Domyślnie bin\Debug\Certyfikaty.
Nazwy plików są ustawiane w app.config.
Program poza wypisywaniem komunikatów na konsole zapisuje również dane powiązane z działaniem API do plików.
Lista plików
- RequestBody.xml - zawartość requesta, jaki jest wysyłany do Mmediporty do zakładania wizyty. Zawiera podpisany certyfikatem XML z wizytą.
- ResponseContentCreate.html - zwrócony content responsa z requesta wysłanego przez projekt Mediporta.CreateAndEditWizytaWithCookieAuth. W przypadku powodzenia będzie zawierał html strony do edycji utworzonej wizyty, a w przeciwnym przypadku szczegóły błędu
- ResponseContentCreateWithUrls.html - zwrócony content responsa z requesta wysłanego przez projekt Mediporta.CreateAndEditWizytaWithTokenAuth. W przypadku powodzenia będzie zawierał XML z linkiem z tokenem autoryzacyjnym do edycji wizyty, a w przeciwnym przypadku szczegóły błędu
- ResponseContentGetWizytaWithToken.html - zwrócony content responsa z requesta wykonanego pod link pobrany z XML'a z ResponseContentCreateWithUrls.html