Przejdź do treści

Zgłoszenia i dane wsadowe

Zgłoszenie to sposób na przekazanie automatyzacji porcji danych wejściowych i wywołanie jej wtedy, gdy komplet jest gotowy. Jest to mechanizm przeznaczony dla procesów produkcyjnych, w których każde wywołanie przetwarza własną paczkę dokumentów i musi być rozpoznawalne po fakcie.

Zgłoszeniami zarządzasz w zakładce W przygotowaniu w prawym panelu automatyzacji.

Zakładka W przygotowaniu z rozwiniętym zgłoszeniem

Lista opisuje każde zgłoszenie czterema kolumnami - Referencja, Status, Pliki (licznik) i Utworzono. Rozwinięcie wiersza pokazuje nazwy wgranych plików.


1. Po co osobny mechanizm

Sekcja Dane wejściowe wystarcza w zupełności do strojenia robota - wgrywasz plik i uruchamiasz. W pracy produkcyjnej pojawiają się jednak wymagania, których to nie pokrywa:

  • paczka dokumentów kompletuje się stopniowo, a uruchomienie ma ruszyć dopiero po zebraniu całości,
  • każde wywołanie musi mieć własny identyfikator, po którym da się je odnaleźć w historii,
  • przygotowanie danych i decyzja o uruchomieniu bywają czynnościami dwóch różnych osób.

Zgłoszenie odpowiada dokładnie na te trzy potrzeby.


2. Cykl życia zgłoszenia

Stan Znaczenie
Otwarte Zgłoszenie przyjmuje pliki. Można dokładać kolejne, żadne uruchomienie jeszcze nie powstało.
Zapieczętowane Komplet zamknięty, uruchomienie zostało utworzone. Plików nie da się już zmienić.
Anulowane Zgłoszenie wycofane przed zapieczętowaniem.
Odrzucone Zgłoszenie odrzucone przez platformę.

Zapieczętowanie jest punktem bez powrotu: od tego momentu zestaw plików jest utrwalony i powiązany z konkretnym uruchomieniem.


3. Przygotowanie zgłoszenia

  1. W zakładce W przygotowaniu kliknij Przygotuj automatyzację.
  2. W polu Referencja znajdziesz podpowiedzianą wartość w formacie manual-RRRRMMDD-GGMMSS. Możesz ją zostawić albo zastąpić własnym identyfikatorem - numerem partii, okresem rozliczeniowym, numerem sprawy.
  3. Dodaj pliki wejściowe - upuść je na obszar wgrywania albo skorzystaj z Dodaj pliki / Dodaj folder.
  4. Zdecyduj, co ma się stać po zatwierdzeniu:
    • pozostaw pole wyboru puste - zgłoszenie zostanie otwarte, pliki uzupełnisz później;
    • zaznacz „Zapieczętuj i uruchom teraz" - komplet zostanie zamknięty, a uruchomienie trafi do kolejki od razu.
  5. Zatwierdź przyciskiem Przygotuj.

Formularz Przygotuj automatyzację

Referencja to Twój ślad w historii

Bez referencji zgłoszenia rozróżnisz tylko po dacie. Wpisanie numeru partii albo okresu sprawia, że po tygodniach da się jednoznacznie wskazać, które uruchomienie przetwarzało które dane - a to zwykle pierwsze pytanie przy wyjaśnianiu rozbieżności.


4. Praca ze zgłoszeniem otwartym

Zgłoszenie w stanie Otwarte można uzupełniać.

Operacja Opis
Dodaj pliki Dokłada kolejne pozycje do zgłoszenia.
Pobierz Pobiera wgrany plik do weryfikacji.
Uruchom Pieczętuje zgłoszenie i tworzy uruchomienie.
Anuluj Wycofuje zgłoszenie bez uruchamiania.

Rozwinięcie wiersza pokazuje listę wgranych plików - warto zajrzeć tam przed zapieczętowaniem, bo po nim zestawu nie da się już zmienić.


5. Odczyt w skrypcie

Pliki ze zgłoszenia trafiają do robota tak samo jak zwykłe dane wejściowe - do katalogu input/:

from pathlib import Path

pliki = sorted(Path("input").glob("*"))
if not pliki:
    raise SystemExit("Zgłoszenie nie zawiera żadnych plików")

print(f"do przetworzenia: {len(pliki)}")
for plik in pliki:
    przetworz(plik)

Z punktu widzenia kodu nie ma znaczenia, czy pliki przyszły ze zgłoszenia, czy z sekcji Dane wejściowe - ten sam skrypt obsłuży oba źródła.

Raportuj liczbę przetworzonych pozycji

Zapisz do katalogu wyjściowego krótkie podsumowanie: ile pozycji przyjęto, ile przetworzono, ile pominięto i dlaczego. Przy zgłoszeniach wsadowych to najszybszy sposób sprawdzenia, czy paczka została obsłużona w całości.


6. Zasilanie plikami przez API

Zgłoszenia można tworzyć nie tylko z panelu. Przycisk Jak zbierać dane nad listą otwiera instrukcję dla integracji machine-to-machine - czyli dla systemu, który sam wysyła dokumenty do przetworzenia.

Zasilanie plikami przez API

Okno podaje dwie rzeczy: Identyfikator automatyzacji (do skopiowania jednym kliknięciem) oraz gotowe przykładowe zapytanie.

curl -X POST "https://api.testto.com/scenario/input-submissions" \
  -H "Authorization: Bearer $TOKEN" \
  -F "scenarioCodeId=ee8c05d7-7ef5-43f6-8810-c5d38ec64baa" \
  -F "reference=faktura-0001" \
  -F "sealed=true" \
  -F "files=@./faktura.pdf"
Pole Znaczenie
scenarioCodeId Identyfikator automatyzacji, którą zasilasz.
reference Twój identyfikator zgłoszenia - to samo pole co w formularzu.
sealed true pieczętuje zgłoszenie od razu i tworzy uruchomienie.
files Plik do przetworzenia; można przesłać ich wiele.

6.1. Dwa tryby wysyłki

  • Jedno zapytanie, komplet plików - wysyłasz wszystko naraz z sealed=true. Uruchomienie powstaje natychmiast.
  • Zgłoszenie otwarte, wiele zapytań - tworzysz zgłoszenie bez pieczęci, dokładasz pliki kolejnymi zapytaniami i pieczętujesz je dopiero po przesłaniu całości.

Drugi tryb sprawdza się tam, gdzie paczka kompletuje się stopniowo - dokumenty spływają w ciągu dnia, a przetworzenie ma ruszyć po zebraniu wszystkiego.

Każde zapytanie wymaga autoryzacji

W miejsce $TOKEN podstaw prawidłowy token dostępu. Do integracji używaj tokenu API, a nie danych logowania osoby - konto techniczne nie wygasa wraz z sesją użytkownika i nie zniknie, gdy ktoś odejdzie z zespołu.

Przy zasilaniu z zewnątrz referencja jest jeszcze ważniejsza niż przy pracy z panelu - to jedyny ślad, po którym powiążesz uruchomienie w Testto ze sprawą w systemie źródłowym. Wstaw w nią identyfikator, którym posługuje się system wysyłający: numer faktury, sprawy albo partii.