Jeśli podczas próby pobrania listy kosztów za pomocą API v3 inFakt otrzymujesz błąd HTTP 403 Forbidden, mimo że Twój klucz API jest aktywny i posiada odpowiednie uprawnienia, najczęstszą przyczyną jest użycie niepoprawnego adresu URL (endpointu).
Objawy problemu
Zapytanie do endpointu kosztów zwraca kod statusu
403 Forbidden.Zapytanie o faktury (np.
/api/v3/invoices.json) działa poprawnie na tym samym kluczu.Klucz API ma nadane uprawnienie
api:costs:read.Integracja działa na środowisku produkcyjnym (
api.infakt.pl).
Przyczyna
Błąd wynika z podania błędnej ścieżki w adresie zapytania. Często mylnie wywoływany jest endpoint /api/v3/costs.json, który nie istnieje w oficjalnej dokumentacji API v3 i powoduje odrzucenie żądania przez serwer.
Rozwiązanie
Zmień adres wywoływanego endpointu w swojej integracji lub kodzie aplikacji na poprawny ścieżkowo:
-
❌ Błędny adres:
GET [https://api.infakt.pl/api/v3/costs.json](https://api.infakt.pl/api/v3/costs.json) -
✅ Prawidłowy adres:
GET [https://api.infakt.pl/api/v3/documents/costs.json](https://api.infakt.pl/api/v3/documents/costs.json)
Przykład poprawnego zapytania z parametrami:
HTTP
GET https://api.infakt.pl/api/v3/documents/costs.json?offset=0&limit=100
Wykaz poprawnych endpointów dla modułu Koszty
Wszystkie operacje na kosztach wymagają ścieżki bazującej na /api/v3 połączonej z członem /documents/costs... oraz odpowiedniego zakresu uprawnień (Scope): api:costs:read (odczyt) lub api:costs:write (zapis/modyfikacja).
Wymagany Scope: api:costs:read, api:costs:write
| Operacja | Metoda | Endpoint (doklejany do /api/v3) |
| Upload kosztu | POST |
/documents/costs/upload.json |
| Listowanie kosztów | GET |
/documents/costs.json |
| Podgląd kosztu | GET |
/documents/costs/{uuid}.json |
| Pobranie wielu kosztów (ZIP) | GET |
/documents/costs/download_many.json |
| Oznacz jako zapłacone (wiele) | PUT |
/documents/costs/paid_many.json |
| Oznacz jako niezapłacone (wiele) | PUT |
/documents/costs/unpaid_many.json |
| Zmień nazwę pliku (wiele) | PUT |
/documents/costs/update_file_name_many.json |
| Przypisz kategorię kosztową (wiele) | POST |
/documents/costs/assign_cost_category_many.json |
| Dodaj notatkę (wiele) | POST |
/documents/costs/create_note_many.json |
| Usuń wiele kosztów | DELETE |
/documents/costs/destroy_many.json |
Dodatkowa lista kontrolna
Jeśli po zmianie adresu URL nadal napotykasz problemy z dostępem do kosztów, upewnij się, że:
Uprawnienia klucza (Scope): Klucz API w zakładce Ustawienia → API ma zaznaczone uprawnienie
api:costs:read(lubapi:costs:writedla dodawania i edycji kosztów).-
Środowisko (Production vs Sandbox):
Ważne: Środowisko testowe Sandbox (
api.sandbox-infakt.pl) służy głównie do testowania modułu przychodowego (faktur). Dostęp do sekcji kosztowej na Sandboxie jest ograniczony. Testy modułu kosztowego należy wykonywać na środowisku produkcyjnym. Uprawnienia użytkownika: Konto użytkownika, dla którego wygenerowano klucz, ma w panelu WWW inFakt aktywny dostęp do modułu kosztów.
Dokumentacja API
Pełna i szczegółowa dokumentacja API inFakt znajduje się pod adresem:
Komentarze
Komentarze: 0
Komentarze do artykułu są zablokowane.