Dokumentacja API - ifirma.pl


FAQ


1. Jakich komunikatów błędów mogę się spodziewać?

Kod błędu Opis problemu
0 poprawne przetworzenie
100 problem techniczny
101 niepoprawne kodowanie znaków
102 brak lub niepoprawnie określony typ zawartości żądania
200 niepoprawna struktura obiektu domenowego
201 błędy walidacji przesyłanego obiektu w postaci żądania
202 niepoprawne ustawienia w serwisie ifirma
400 niepoprawny nagłówek autoryzacji
401 niepoprawny login użytkownika
402 brak wygenerowanego klucza autoryzacji
403 niepoprawny hash bądź kod wiadomości
499 brak akceptacji regulaminu ifirma.pl – zaloguj się w ifirma.pl w celu zaakceptowania regulaminu
500 brak uprawnień do danego zasobu

2. Jak wyliczany jest hmac?

Hmac w przypadku użycia klucza symetrycznego liczony jest zgodnie z RFC http://tools.ietf.org/html/rfc2104 z użyciem funkcji skrótu SHA-1.

3. Jak wyliczany jest rsa?

W przypadku użycia klucza asymetrycznego rsa liczony jest zgodnie z RFC http://www.ietf.org/rfc/rfc3110.txt z użyciem funkcji skrótu RSA/SHA-1.

4. Jak można zweryfikować, że moja funkcja hmac działa prawidłowo?

przykład (PHP):

echo hmac('111111', '222222');
//daje wynik:
1558ab6c5ab2b0d1cd129b9ad11527cf33486705

Polskie znaki powinny być zakodowane zgodnie z UTF-8. Prawidłowa budowa hasha:

hashWiadomosci = hmac(klucz, url + nazwaUsera +
nazwaWykorzystanegoKlucza + requestContent).

Można zweryfikować czy Pana hmac działa poprawnie np. echo
hmac(‚111111′,’222222’);
//daje wynik:
1558ab6c5ab2b0d1cd129b9ad11527cf33486705.

Hmac(‚111111′,’222222’) zwróci wynik 1558ab6c5ab2b0d1cd129b9ad11527cf33486705, jeżeli klucz 111111 traktujemy jako liczbę w formacie dziesiętnym. W aplikacji podajemy klucze w formacie szesnastkowym i dla szesnastkowego 111111 i wiadomości 222222 otrzymany hash będzie miał postać cec153ee6350475f117a307111e2bd7d83034925.

Klucz musi być w postaci szesnastkowej, więc należy go przetworzyć.

Klucze generowane w panelu ifirmy np. EAB0D8ACF3308F3B to tak naprawdę 0xEA 0xB0 0xD8 0xAC 0xF3 0x30 0x8F 0x3B (8 bajtów) a nie jak można się zasugerować : 16 bajtów.

Przykład (PHP):

$klucz = "EAB0D8ACF330F3B";

To tak naprawdę:

$klucz = chr(hexdec('EA')).chr(hexdec('B0')).chr(hexdec('D8')).chr(hexdec('AC')).chr(hexdec('F3')).chr(hexdec('30')).chr(hexdec('8F')).chr(hexdec('3B'));

5. Po użyciu narzędzia otrzymałem fakturę, na której są błędne dane. Co teraz?

Faktura jest dostępna w odpowiednim miesiącu księgowym po zalogowaniu do aplikacji ifirma. Można ją przeedytować i ponownie wygenerować dla niej pdf.


Copyright 2001-2018 ifirma.pl