Komunikacja z usługą sieciową Mergto API odbywa się przy użyciu formatu wymiany danych JSON (JavaScript Object Notation), który został opisany w dokumencie RFC 4627. W związku z powyższym komunikaty wysyłane do serwera muszą mieć format zgodny ze standardem JSON oraz w nagłówku ustawiony „Content-Type” na typ MIME: application/json.
Dostęp do API jest oparty na specjalnie opracowanych na potrzeby Mergeto procedurach i algorytmach zabezpieczających. Z usługi mogą skorzystać wyłącznie użytkownicy platformy Mergeto tj. użytkownicy, którzy posiadają konta firma zweryfikowane do sprzedaży oraz aktywowali usługę Mergeto API i wygenerowali unikatowy zestaw kluczy (klucz publiczny i prywatny). Ponadto komunikaty w formacie JSON wysyłane do serwerów Mergeto muszą przejść proces autentykacji i autoryzacji. Do poprawnego przejścia przez te procesy użytkownik wysyłający komunikat musi dołączać do każdego requestu HTTP dwa parametry:
- publicKey – unikatowy klucz publiczny użytkownika
- hash – rezultat wykonania funkcji skrótu na danych z wysyłanego komunikatu
Do generowanie parametru „hash” wykorzystujemy kod HMAC z SHA-256, do którego przekazujemy klucz prywatny oraz zawartość request body – czyli przesyłany JSON. Tak wygenerowany hash w postaci HEX przesyłamy do serwera jako parametr request`u.
UWAGA:
Klucz prywatny powinien być szczególnie chroniony – zaszyty w tworzonej aplikacji i niewidoczny dla użytkownika tej aplikacji.
Dodatkowe zalecenia:
- Nie należy wymuszać na użytkownikach aplikacji generowania własnych kluczy
- Zalecane jest używanie w aplikacji kodowania znaków UTF-8
- Zalecana jest maksymalna optymalizacja aplikacji pod względem liczby wywołań poszczególnych komunikatów