serwisant.online API – wymagana akcja związana ze zmianą w API

Po 20 września 2022:

  • usuniemy typ Money zastępując do typem Decimal
  • wdrożymy rozszerzoną obsługę tzw. complexity dla zapytań GraphQL

Money

Z uwagi na redundancję typów, typ Money zastąpimy typem Decimal. Różnica polega na formacie który będzie zwracany – zamiast łańcucha znaków zwracać będziemy liczbę decymalną, o stałej precyzji, prezentowaną jako typ numeryczny.

Co muszę zrobić?

Zweryfikuj swój kod i upewnij się, że zwracaną przez API wartość poprawnie konwertujesz na pożądany typ oraz używany przez ciebie język podczas konwersji poprawnie zachowuje się podczas rzutowania łańcucha znaków (string) oraz liczby zmiennoprzecinkowej (float) na pożądany typ.

Dodatkowo, jeśli opierasz formatowanie wartości, np ceny, na tym, co uzyskujesz z API będziesz musiał zapewnić samodzielne formatowanie wartości zgodnie z potrzebami. Po 20 września zwracana wartość będzie pozbawiona formatowania typowego dla waluty.

Complexity

Informacje o zagadnieniu complexity znajdą Państwo tutaj: https://github.com/SerwisantOnline/serwisant-api#complexity

Ogólnie: zbyt złożone zapytania do API będą blokowane na etapie parsowania składni zapytania i zwrócą komunikat błędu.

Aby uniknąć tej sytuacji, należy zastosować się do następujących wskazówek:

  • dla zapytań pobierających pełne listy encji, np. spis napraw, klientów podawać minimalny zestaw pól (np ID i nazwa wyświetlana)
  • pojedyncze encje, które wymagają większej ilości pól (danych) pobierać z filtrem ID i zawsze określać wprost parametr limit: 1

Prosimy o zweryfikowanie Państwa kodu i optymalizację przed 20 września. Zwracamy uwagę szczególnie na drugie zalecenie, ponieważ będzie ono wymagało zmiany w Państwa integracjach.

Nie podajemy teraz wartości granicznej complexity, ponieważ tę ustalimy stosownie do sytuacji, tak, aby zminimalizować wpływ tej zmiany na Państwa. W limit complexity wpadną wyłącznie aplikacje napisane w sposób mocno nieprawidłowy.

Dodatkowo:

  • zastrzegamy sobie prawo do wprowadzania przed 20 września trwałego ograniczenia complexity dla indywidualnych integracji, które w sposób abuzywny bedą korzystały z API, powodując zakłócenia w działaniu naszej infrastruktury.
  • po 20 września będzie istniała możliwość indywidualnego podniesienia wartości complexity, o ile będzie to miało uzasadnienie z Państwa strony.