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.
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
- W zakładce W przygotowaniu kliknij Przygotuj automatyzację.
- 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. - Dodaj pliki wejściowe - upuść je na obszar wgrywania albo skorzystaj z Dodaj pliki / Dodaj folder.
- 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.
- Zatwierdź przyciskiem Przygotuj.
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.
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.


