Wymagania:
Doświadczenie w programowaniu w PHP 7.x oraz Symfony 5 i wyższych
Znajomość standardów programowania w PHP, zwłaszcza w kontekście Symfony
Umiejętność pracy z API i integracji z zewnętrznymi serwisami kurierskimi
Znajomość systemów autoryzacji i Swagger UI
Umiejętność korzystania z bibliotek do obsługi zapytań HTTP (np. cURL)
Umiejętność tworzenia testów jednostkowych i funkcjonalnych dla kodu w PHP, zgodnie z zasadami TDD (Test-Driven Development)
Znajomość i stosowanie dobrych praktyk programowania, takich jak SOLID, DRY, KISS itp.
Umiejętność optymalizacji kodu pod kątem wydajności i skalowalności.
Znajomość i stosowanie zabezpieczeń w kontekście integracji, zapobieganie atakom typu SQL Injection, XSS itp.
Staranność w tworzeniu dokumentacji kodu oraz instrukcji użytkownika dla stworzonej integracji.
Napisane jako bundle do instalacji w Symfony 6
dokumentacja
https://api.cblog.pl/docs/
Zadania do wykonania to:
Autentykacja z API:
Implementacja skryptu autentykacji przy użyciu kluczy API
Ustawienie Swagger UI do łatwej dokumentacji
Dane testowe do autentykacji:
Podamy osobie wybranej do realizacji projektu
Integracja Kurierska:
Opracowanie integracji umożliwiającej generowanie listu przewozowego zarówno pojedynczo, jak i masowo
Przekazywanie danych do generowania listu, w tym:
Packages Count, Content, Weight [kg], Value, Value Currency, Width [cm], Length [cm], Height [cm], Note 1, Note 2, Sender Name, Sender Country, Sender City, Sender Postal Code, Sender Street, Sender House Number, Sender Phone, Sender Email, Receiver Name, Receiver Country, Receiver City, Receiver Postal Code, Receiver Street, Receiver House Number, Receiver Phone, Receiver Email
Wyszukiwanie ID Reference Number z API i zapisywanie go w zamówieniach
Generowanie PDF:
Integracja powinna być w stanie pobrać list przewozowy w formie PDF i go zwrócić.