Skip to main content
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_url lub aktywnego sprawdzania).
  • Audyt tego, co zostało przesłane — rekordy zadań przechowują zarówno oryginalne request, jak i ostateczne response.
  • Masowe uzupełnianie — pobieranie wielu rekordów na raz według id lub trace_id.
Rekordy zadań są przechowywane w Redis przez 7 dni. Interfejs zapytania o zadania jest bezpłatny (nie wlicza się w zużycie kredytów).

Autoryzacja

Można sprawdzić tylko zadania w swoim koncie AceDataCloud.

Parametry żądania

Ciało żądania jest klasyfikowane według action, 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

Gdy nie można znaleźć, zwraca { "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, jest null.
  • finished_at, czas zakończenia zadania, znacznik czasu Unix (sekundy, liczba zmiennoprzecinkowa). Gdy zadanie nie jest zakończone, jest null.
  • elapsed, czas wykonania zadania, jednostka to sekundy (liczba zmiennoprzecinkowa, z dokładnością do 3 miejsc po przecinku). Gdy zadanie nie jest zakończone, jest null.

Odpowiedź dla wielu zadań

Nieistniejące ID nie spowoduje błędu, po prostu będą brakować w 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.