Panel klienta lvlup.pro - API v4

LVL UP
SystemZ
SystemZ Admin lvlup.pro

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ń. Wystarczy zainstalować gotową bibliotekę i używać 🥳
Potrzebujesz integracji z wpłatami do portfela? To najszybszy i najprostszy wybór 💰 🚀

Java 1.8+

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

https://gitlab.com/lvlup-pro/lvlup-sdk-java/

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: 💸

PHP

1

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

https://lvlup.rok.ovh/t/biblioteka-php-do-obslugi-lvl-up-api-v4/14461

2

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

https://github.com/kgrzelak/lvlup-payment

Python 3.x

Pełne wsparcie API. Projekt @kazi na licencji MIT. https://github.com/kazigk/LvlUpPy

JanekJaran
JanekJaran

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 ")?

dudekm
dudekm
SystemZ
SystemZ Admin lvlup.pro

JanekJaran:

Dlaczego kwota płatności w /v4/wallet/up musi być stringiem (w ")?

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.

dudekm:

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

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ć.

macfan
macfan

SystemZ:

niedoskonałość float.

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

bopke
bopke Moderator forum.lvlup.pro

SystemZ:

To wydaje się być najłatwiejszym sposobem dla obu stron. Głównie ze względu na niedoskonałość float. 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:

SystemZ
SystemZ Admin lvlup.pro

bopke:

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 🤒 Jest też spora szansa że przeciętny użytkownik API też może tego nie zrozumieć

JanekJaran
JanekJaran

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.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

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

Niezbyt to wygląda dobrze. 😂

Można ucinać, ale to takie meh.

JanekJaran
JanekJaran

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.

MTGmati
MTGmati

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

SystemZ
SystemZ Admin lvlup.pro

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

SystemZ
SystemZ Admin lvlup.pro

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

https://lvlup.rok.ovh/t/dziennik-zmian-lvlup-pro-2020/13148/#64?u=systemz

SystemZ
SystemZ Admin lvlup.pro

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: https://lvlup.rok.ovh/t/devops-z-ansible-squid-proxy-na-ubuntu-18-04/14271

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.

SystemZ
SystemZ Admin lvlup.pro

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

https://lvlup.rok.ovh/t/dziennik-zmian-lvlup-pro-2020/13148/#70?u=systemz

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

KMatuszak
KMatuszak Weteran

SystemZ:

Piaskownica

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

przydałoby się zaktualizować te linki 😛

riko.dev
riko.dev Moderator Freebies

Poprawiłem linki. 😄

SystemZ
SystemZ Admin lvlup.pro

Dodaliśmy nowe dane w endpoint'cie /v4/me/log. Szczegóły w dokumentacji API

https://lvlup.rok.ovh/t/dziennik-zmian-lvlup-pro-2020/13148/#138?u=systemz

SystemZ
SystemZ Admin lvlup.pro

Nowe pola w /v4/me np. data utworzenia konta Szczegóły w dokumentacji API

https://lvlup.rok.ovh/t/dziennik-zmian-lvlup-pro-2020/13148/#146?u=systemz

SystemZ
SystemZ Admin lvlup.pro

Nowe typy zdarzeń w /v4/me/log dotyczące kluczy API

https://lvlup.rok.ovh/t/dziennik-zmian-lvlup-pro-2020/13148/#147?u=systemz

SystemZ
SystemZ Admin lvlup.pro

Nowe dane w /v4/services. Więcej w dokumentacji.

https://lvlup.rok.ovh/t/dziennik-zmian-lvlup-pro-2020/13148/#152?u=systemz

SystemZ
SystemZ Admin lvlup.pro

Nowe typy zdarzeń w /v4/me/log dotyczące zmiany i resetu hasła. Szczegóły w dokumentacji API.

https://lvlup.rok.ovh/t/dziennik-zmian-lvlup-pro-2020/13148/#155?u=systemz

SystemZ
SystemZ Admin lvlup.pro

Nowe typy zdarzeń w /v4/me/log dotyczące webhooków. Szczegóły w dokumentacji API.

https://lvlup.rok.ovh/t/dziennik-zmian-lvlup-pro-2020/13148/#166?u=systemz

piotreq
piotreq

witam mam pytanie. gdzie moge uzyskac moj klucz api? chcialbym wykozystac w itemshopie

Axerr
Axerr

image|556x500, 75%

image|517x453, 75%

image|415x500, 75%

SystemZ
SystemZ Admin lvlup.pro

Wprowadzony został nowy endpoint listujący opisy zdarzeń w dzienniku oraz opisy bezpośrednio w endpoint samego dziennika: https://lvlup.rok.ovh/t/dziennik-zmian-lvlup-pro-2021/17327/#44?u=systemz

senicko
senicko

Cześć! Zacząłem pisać package do Go.

https://github.com/SeNicko/lvlup

Aylin
Aylin ex-admin forum.lvlup.pro
SystemZ
SystemZ Admin lvlup.pro

API v2 które umożliwiało integrację z naszymi doładowaniami SMS nie jest już dostępne https://lvlup.rok.ovh/t/wycofanie-doladowan-sms-od-01-12-2021/19949

senicko
senicko

Wiem, że trochę czasu minęło od momentu kiedy zacząłem pisać bibliotekę. Chcę poinformować że jest ona napisana (w zasadzie już od dłuższego czasu). Można używać/testować 🥳.