Tworzenie, aktualizacja, usuwanie, listowanie i ręczne uruchamianie cronów konta (cyklicznych zadań) przez API.
Autoryzacja: Authorization: Bearer TOKEN - token musi mieć uprawnienie crons (domyślnie admin/owner)
Content-Type: application/json; charset=utf-8
API Endpoints
| Metoda | Ścieżka | Opis |
|---|---|---|
| GET | /account/crons.json |
Lista cronów konta |
| GET | /account/crons/:id.json |
Pojedynczy cron |
| POST | /account/crons.json |
Utworzenie crona |
| PATCH | /account/crons/:id.json |
Aktualizacja crona |
| DELETE | /account/crons/:id.json |
Usunięcie crona |
| POST | /account/crons/:id/run.json |
Ręczne uruchomienie (kolejkuje wykonanie w tle) |
Pola crona
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
kind |
string | tak | Rodzaj akcji: voip_reports (przeliczenie raportów VoIP), helpdesk_reports (dzienne przeliczenie raportów Helpdesk + snapshoty), flow (uruchomienie przepływu Connect::Flow), app (uruchomienie akcji cron_action zainstalowanej aplikacji Connect::App) |
schedule |
string | tak | Harmonogram w formacie cron, np. "0 3 * * *" (codziennie o 3:00). Opcjonalnie ze strefą czasową: "0 3 * * * Europe/Warsaw"
|
target_code |
string | dla kind: flow / app
|
Cel akcji: dla flow kod przepływu (Connect::Flow), dla app kind aplikacji (np. "service/getresponse_ma_app") |
name |
string | nie | Własna nazwa crona (bez niej wyświetlana jest nazwa akcji) |
active |
boolean | nie | Czy cron jest aktywny (domyślnie true); nieaktywny cron nie jest uruchamiany |
Pola tylko do odczytu w odpowiedzi:
-
next_run_at- termin następnego uruchomienia (wyliczany automatycznie z harmonogramu) -
last_run_at- data ostatniego wykonania -
last_status- wynik ostatniego wykonania:"ok"albo"error: ..."
Zasady:
- Akcje systemowe (
voip_reports,helpdesk_reports) mogą istnieć na koncie tylko raz - drugi POST z tym samymkindzwróci błąd walidacji - Cronów
kind: flow/kind: appmoże być wiele, każdy z innymtarget_code - Crony raportowe zakładają się automatycznie przy utworzeniu raportu Insight, a crony aplikacji przy zapisie aktywnej appki z
cron_action- zwykle nie trzeba ich tworzyć ręcznie
Format requestu
POST - Utworzenie crona uruchamiającego Flow
POST /account/crons.json
Authorization: Bearer TOKEN
Content-Type: application/json; charset=utf-8
{
"cron": {
"kind": "flow",
"target_code": "moj_flow",
"schedule": "0 * * * *",
"active": true
}
}
Odpowiedź 201 Created zawiera utworzony rekord razem z wyliczonym next_run_at.
PATCH - Zmiana harmonogramu
Wysyłasz tylko pola, które chcesz zmienić - next_run_at przeliczy się automatycznie.
{
"cron": {
"schedule": "0 5 * * *"
}
}
POST - Ręczne uruchomienie
POST /account/crons/123/run.json
Authorization: Bearer TOKEN
Odpowiedź 200 OK. Wykonanie jest kolejkowane w tle - wynik pojawi się po chwili w last_run_at / last_status (sprawdź GET-em).
Błąd walidacji (422 Unprocessable Content)
{
"schedule": ["jest nieprawidłowe"]
}
Klucze to nazwy pól, wartości to tablice komunikatów błędów.
Powiązane
- common_api - wspólne zasady API (format, autoryzacja, odpowiedzi)
-
connector_flow_api - API przepływów (Connect::Flow), których kody podajesz w
target_code