POST https://api.acedata.cloud/webextrator/tasks
API do zapytania o zadania WebExtrator służy do sprawdzania wyników historycznych zadań render / extract. Typowe zastosowania:
- Sprawdzanie pełnego envelope po zakończeniu zadania asynchronicznego (oprócz powiadomienia
callback_urllub aktywnego sprawdzania). - Audyt tego, co zostało przesłane — rekordy zadań przechowują zarówno oryginalne
request, jak i ostateczneresponse. - Masowe uzupełnianie — pobieranie wielu rekordów na raz według
idlubtrace_id.
Autoryzacja
Parametry żądania
Ciało żądania jest klasyfikowane wedługaction, z dwoma rodzajami działań:
action: "retrieve" — zapytanie o pojedyncze zadanie
id i trace_id należy przekazać jako jeden z dwóch.
action: "retrieve_batch" — zapytanie o wiele zadań
ids i trace_ids należy przekazać jako jeden z dwóch.
Odpowiedź dla pojedynczego zadania
{ "task": null } (HTTP 200, nie 404).
Pola czasowe obiektu task są opisane poniżej.
created_at, czas utworzenia zadania, znacznik czasu Unix (sekundy, liczba zmiennoprzecinkowa).started_at, czas rozpoczęcia wykonania zadania, znacznik czasu Unix (sekundy, liczba zmiennoprzecinkowa). Gdy zadanie jeszcze się nie rozpoczęło, jestnull.finished_at, czas zakończenia zadania, znacznik czasu Unix (sekundy, liczba zmiennoprzecinkowa). Gdy zadanie nie jest zakończone, jestnull.elapsed, czas wykonania zadania, jednostka to sekundy (liczba zmiennoprzecinkowa, z dokładnością do 3 miejsc po przecinku). Gdy zadanie nie jest zakończone, jestnull.
Odpowiedź dla wielu zadań
tasks.
Przykład
Zapytanie o pojedyncze zadanie według task_id
Zapytanie o pojedyncze zadanie według trace_id
Zapytanie o wiele zadań
Python (requests) — sprawdzanie aż do zakończenia
Node.js (fetch) — pobranie pełnego envelope po otrzymaniu powiadomienia
Odpowiedzi błędów
Wskazówki i pułapki
- Możesz dostosować
trace_id, więc dostosuj. W oryginalnym żądaniu render/extract przesyłaj?trace_id=…(QueryString), dopasuj go do swojego identyfikatora biznesowego (np. identyfikator uruchomienia workflow), a następnie będziesz mógł wyszukiwać zadania za pomocą identyfikatora biznesowego. Jeśli nie zostanie przesłany, serwer automatycznie generuje UUID. - Okres przechowywania wynosi 7 dni. Starsze zadania zwracają
task: null— jeśli potrzebujesz długoterminowego archiwum, musisz samodzielnie zapisać w bazie danych. - Zapytania o zadania są bezpłatne. Możesz sprawdzać ile razy chcesz, opłata za oryginalne wywołanie render/extract została już uiszczona.
- Preferuj asynchroniczne + callback, zamiast polling. Jeśli to możliwe w biznesie, przekaż w oryginalnym żądaniu
callback_url, aby platforma mogła przesłać envelope do Ciebie, co jest bardziej efektywne niż co 2 sekundy.

