Panel klienta lvlup.pro - API v4

SystemZ | 2020-08-09 17:56:03 UTC | #1

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:
- https://sandbox.lvlup.pro
- https://api.sandbox.lvlup.pro

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ń. :whitecheckmark:
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.

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

PHP

1

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

https://forum.lvlup.pro/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


SystemZ | 2020-04-06 21:37:33 UTC | #2


SystemZ | 2020-04-06 21:37:57 UTC | #3


JanekJaran | 2020-04-07 13:33:18 UTC | #4

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 | 2020-04-07 15:58:00 UTC | #5

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


SystemZ | 2020-04-07 18:27:12 UTC | #6

[quote=”JanekJaran, post:4, topic:14111”]
Dlaczego kwota płatności w /v4/wallet/up musi być stringiem (w “)?
[/quote]

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.

[quote=”dudekm, post:5, topic:14111”]
Sprawdzaliście to https://swagger.io/tools/swagger-codegen/
[/quote]

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 | 2020-04-07 22:03:55 UTC | #7

[quote=”SystemZ, post:6, topic:14111”]
niedoskonałość float.
[/quote]

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 | 2020-04-07 22:43:41 UTC | #8

[quote=”SystemZ, post:6, topic:14111”]
To wydaje się być najłatwiejszym sposobem dla obu stron.
Głównie ze względu na niedoskonałość float.
[/quote]
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 | 2020-04-07 23:16:22 UTC | #9

[quote=”bopke, post:8, topic:14111”]
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:
[/quote]

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


JanekJaran | 2020-04-08 08:15:53 UTC | #10

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 | 2020-04-08 11:57:58 UTC | #11

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


JanekJaran | 2020-04-08 12:00:09 UTC | #12

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 | 2020-04-08 15:08:17 UTC | #13

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


SystemZ | 2020-04-08 15:11:57 UTC | #14

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


SystemZ | 2020-04-09 15:49:42 UTC | #15

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

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


SystemZ | 2020-04-14 21:05:02 UTC | #16

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://forum.lvlup.pro/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 | 2020-04-16 20:57:26 UTC | #17

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

https://forum.lvlup.pro/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.


SystemZ | 2020-05-18 14:46:59 UTC | #18


KMatuszak | 2020-08-09 15:27:56 UTC | #19

[quote=”SystemZ, post:1, topic:14111”]

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


riko.dev | 2020-08-09 17:56:37 UTC | #20

Poprawiłem linki. :smile:


SystemZ | 2020-09-10 23:40:40 UTC | #21

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

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


SystemZ | 2020-09-10 23:40:07 UTC | #22

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

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


SystemZ | 2020-09-10 23:39:50 UTC | #23

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

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


SystemZ | 2020-09-16 20:53:11 UTC | #24

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

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


SystemZ | 2020-10-02 01:46:00 UTC | #25

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

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


SystemZ | 2020-10-19 14:47:03 UTC | #26

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

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


uqlel | 2020-10-30 09:55:10 UTC | #28

Moduł do node.js,
https://github.com/boguslawwitek/lvlup-js
https://www.npmjs.com/package/lvlup-js


piotreq | 2021-01-09 20:00:49 UTC | #29

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


Axerr | 2021-01-09 20:22:30 UTC | #30

image|556x500, 75%

image|517x453, 75%

image|415x500, 75%


SystemZ | 2021-05-13 23:35:40 UTC | #31

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


senicko | 2021-08-09 15:06:13 UTC | #33

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

https://github.com/SeNicko/lvlup


Aylin | 2021-09-14 07:31:32 UTC | #34

Zaplanowana przerwa w działaniu API v4

https://forum.lvlup.pro/t/awarie-i-przerwy-w-dzialaniu-2021/17326/22


SystemZ | 2021-11-30 13:23:32 UTC | #35

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


senicko | 2021-12-09 21:14:40 UTC | #36

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