Dokumentacja

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 odpowiedziOpis
200Zapytanie zostało wykonane poprawnie
401Brak autoryzacji lub uprawnień do danego zasobu
404Zasób nie został odnaleziony

comments powered by Disqus