Przejdź do treści
Intum Pomoc
Aktualizacja: 2 min czytania
Na tej stronie

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 samym kind zwróci błąd walidacji
  • Cronów kind: flow / kind: app może być wiele, każdy z innym target_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

Czy ten wpis był pomocny?

Komentarze