Panel klienta lvlup.pro - API v4

API v4

Po kilku latach czekania nareszcie mam przyjemność utworzyć wątek odnośnie API v4 :slight_smile:
Tu znajdziecie najważniejsze informacje odnośnie API naszego panelu klienta w jednym miejscu.
Zachęcam też do zadawania pytań odnośnie użycia czy propozycji co warto dodać lub zmienić.

Dokumentacja

Zawsze aktualną dokumentację znajdziecie pod tymi linkami:

Dokumentacja w najnowszej wersji jest zawsze budowana automatycznie z komentarzy w kodzie.
Dzieje się tak przy kompilacji kodu przed każdym wrzuceniem panelu klienta na serwer.
Od naszej strony ciężko się też pomylić gdyż serwer ma kod typowany a struktura odpowiedzi jest używana też do dokumentacji.
Macie więc pewność że dokumentacja jest zgodna z serwerem w prawie 100%

Piaskownica

Zanim użyjecie API produkcyjnego możecie testować do woli zarówno frontend jak i backend panelu klienta:

Jedna z metod API utworzy wam konto oraz zwróci wynik z loginem, hasłem oraz kluczem API.
Szczegóły w dokumentacji.

Gotowe, oficjalne biblioteki

Nie wymyślaj koła od nowa. Użyj gotowych i sprawdzonych rozwiązań. :white_check_mark:
Wystarczy zainstalować gotową bibliotekę i używać :partying_face:
Potrzebujesz integracji z wpłatami do portfela? To najszybszy i najprostszy wybór :moneybag: :rocket:

Java 1.8+

Projekt utrzymywany przez @kacper, udostępniony na licencji MIT.

Biblioteki społeczności

Nie są to biblioteki autorstwa LVL UP jednak zawsze chętnie zapewnimy wsparcie oraz umieścimy w tym spisie jeśli jakość projektu jest odpowiednia.

Jeśli tworzysz lub chcesz stworzyć bibliotekę a coś nie jest jasne to możecie śmiało pytać w tym temacie lub napisać do nas zgłoszenie w panelu klienta: https://lvlup.pro/panel/support/ticket

Możemy też pomóc w projekcie open source poprzez pull requesty jeśli będzie okazja.

Aktualnie szukamy ochotników na utworzenie projektu open source w językach:

  • Javascript (node)
  • Go

Kolejność: od najbardziej potrzebnej do najmniej.
W przypadku prowadzenia biblioteki możemy się dogadać odnośnie rabatu w lvlup.pro :merchant: :money_with_wings:

PHP

1

Pełna obsługa API. Projekt @Jebanany, licencja MIT

2

Tylko płatności.
Projekt utrzymywany przez @krzukosz, udostępniony na licencji MIT.

Python 3.x

Pełne wsparcie API. Projekt @kazi na licencji MIT.

11 polubień

Zacząłem dzisiaj pisać bibliotekę w pythonie, za jakiś czas może podlinkuje repozytorium. Dlaczego kwota płatności w /v4/wallet/up musi być stringiem (w ")?

3 polubienia

Sprawdzaliście to https://swagger.io/tools/swagger-codegen/ ?

To wydaje się być najłatwiejszym sposobem dla obu stron.
Głównie ze względu na niedoskonałość float.
Alternatywnie możemy przyjmować ilość groszy w int ale nie wiem czy chcę to tłumaczyć, obecny format jest dużo prostszy.

Próbowałem tego https://github.com/OpenAPITools/openapi-generator ale żadna statyczna wersja dokumentacji nie była zbyt czytelna. Generowane biblioteki zaś pozostawiały naprawdę dużo do życzenia.

Spróbuje tego o czym wspomniałeś i dam znać.

Chcesz wywołać wojnę? Ze wszystkich typów zmiennych to właśnie float jest najbardziej niedoskonałym z typów. Na tym zakończmy bo naprawdę będzie tu wojna bo zaraz zlecą się devovie wszelkiej maści którzy uwielbiają float-a

A co gdyby zostawić to w formie zapisu floata, ale na etapie parsowania argumentu, na etapie przetwarzania stringa, usuwać mu kropkę i parsować jako inta, dzięki temu posiadając dalej ładnie przeliczone grosze i czytelną forme dla użytkownika :thinking:

Wybacz ale czytałem to 3 razy i nie rozumiem :face_with_thermometer:
Jest też spora szansa że przeciętny użytkownik API też może tego nie zrozumieć

Przyjąć float i przed dokonaniem jakiejkolwiek operacji konwertować go na inta z licza groszy, po drodze usuwając kropkę. Chyba, o to mu chodziło.

1 polubienie

“10.00” (usuwamy kropkę) -> “1000” gr, ok, 10zł
“10.0001” -> “100001” gr, ??, 1000zł i 1 gr

Niezbyt to wygląda dobrze. :joy:

Można ucinać, ale to takie meh.

No trochę meh, ale też nie da się doładować mniej niż 1 grosz. Ew. kompromisem mogły by być dokładniejsze komunikaty błędów przy zapytaniu, bo musiałem się nieźle zastanowić co jest nie tak w zapytaniu, aż znalazłem, że to musi być string.

Jest szansa że pojawi się opcja tworzenia VPS’a?

Tak, będzie to ustalane podczas implementacji formularza zamówień w panelu v4.

6 polubień

Mamy już wstępną wersję piaskownicy gdzie można testować API do woli

4 polubienia

Następną funkcją którą się zajmiemy to webhooki.

Element infrastruktury którego potrzebowaliśmy do tego jest już gotowy.
Jeśli ktoś jest ciekaw szczegółów, tu jest dokładny opis:

Planowałem aby dziś powstały webhooki jednak cały nawał ticketów to uniemożliwił.
Postaram się jednak aby zostały dodane jeszcze w tym tygodniu a najlepiej w ten czwartek/piątek.

6 polubień

Mamy już działające webhooki dokonanych płatności na piaskownicy i produkcji

W następnym tygodniu powinny działać wielokrotne próby dostarczenia wiadomości, póki co informację wysyłamy tylko raz.

5 polubień

przydałoby się zaktualizować te linki :stuck_out_tongue:

4 polubienia

Poprawiłem linki. :smile:

2 polubienia