Asynchroniczne API do wystawiania faktur
Zasada działania
Wersja BETA, zapraszamy do testowania i dzielenia się opinią poprzez api@infakt.pl
API asynchroniczne umożliwia przyjęcie zlecenia stworzenia faktury bez konieczności czekania na wynik. System składa się z dwóch dedykowanych końcówek, jedna przyjmuje zlecenie w odpowiedzi zwracając unikalny identyfikator zadania, druga na podstawie tego identyfikatora zwraca informacje o aktualnym statusie przetwarzania.
Dzięki temu integrator może wprowadzić jednocześnie dużą ilość zleceń utworzenia faktur a dopiero po czasie zweryfikować ich status.
Na ten moment można wystawić fakturę VAT i proforma
Tworzenie faktury
POST /v3/async/invoices/send.json
Definicje kluczy obiektu faktury przy tworzeniu async_invoice
są identyczne jak przy standardowym tworzeniu dostępnym tutaj. Są tam dodatkowe przykłady tworzenia faktury, które działają również w asynchronicznym tworzeniu.
Przykład utworzenia faktury
curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e"
-H "Content-Type: application/json"
-X POST
-d '{"async_invoice":{
"payment_method":"cash",
"client_company_name": "company",
"services":[
{
"name": "Przykładowa Usługa",
"net_price": 6623,
"pkwiu": "84.11.12.0",
"unit_net_price": 6623,
"tax_symbol": 23
}
]
}}'
https://api.infakt.pl/v3/async/invoices/send.json
Przykładowa odpowiedź 201
{
"invoice_task_reference_number": "14dc69fd-af93-45e0-9330-3075f6252aff",
"processing_code": 100,
"processing_description": 'Zlecenie przyjęte',
"timestamps":
{
"task_created_at": "2022-11-28 15:46:37 +0100"
}
}
Sprawdzanie statusu
GET /v3/async/invoices/status/{invoice_task_reference_number}.json
Przykład sprawdzenia statusu
curl -H "X-inFakt-ApiKey: 49206c6f766520496e66616b74203a3e"
https://api.infakt.pl/v3/async/invoices/status/14dc69fd-af93-45e0-9330-3075f6252aff.json
Przykładowa odpowiedź: Faktura stworzona
{
"invoice_task_reference_number": "14dc69fd-af93-45e0-9330-3075f6252aff",
"invoice_uuid": "b4d6b072-ce1d-49ab-9439-642482e563e6",
"processing_code": 201,
"processing_description": "Faktura stworzona",
"timestamps":
{
"task_created_at": "2022-11-28 15:46:37 +0100"
}
}
Przykładowa odpowiedź: Faktura zawiera błędy
{
"invoice_task_reference_number": "14dc69fd-af93-45e0-9330-3075f6252aff",
"processing_code": 422,
"processing_description": "Nie udało się stworzyć faktury",
"invoice_errors":
{
"payment_method": ["Proszę wybrać formę płatności"
}
},
"timestamps":
{
"task_created_at": "2022-11-28 15:46:37 +0100"
}
}
Przykładowa odpowiedź: Faktura jest przetwarzana w systemie
{
"invoice_task_reference_number": "14dc69fd-af93-45e0-9330-3075f6252aff",
"processing_code": 140,
"processing_description": "Zlecenie jest w trakcie przetwarzania",
"timestamps":
{
"task_created_at": "2022-11-28 15:46:37 +0100"
}
}
W celu pobrania szczegółów faktury należy użyć
GET api/v3/invoices/{invoice_uuid}.json
Możliwe kody odpowiedzi:
Kod odpowiedzi | Opis |
---|---|
200 | Zapytanie zostało wykonane poprawnie |
401 | Brak autoryzacji lub uprawnień do danego zasobu |
404 | Zasób nie został odnaleziony |