In questa pagina viene fatta una breve descrizione delle API per la gestione dei Jobs (processi asincroni)
La piattaforma consente la possibilità da parte di sistemi esterni di creare/modificare/visualizzare ed eliminare oggetti Job
Ad esempio nel nostro ambiente di demo è possibile consultare le API dedicate a questo scopo:
https://servizi.comune-qa.bugliano.pi.it/lang/api/doc#jobs
Questi speciali oggetti sono dei processi onerosi che vengono creati e poi eseguiti in modo asincrono dalla piattaforma.
Esempio di interazione tra un sistema esterno e le API dei jobs:
In fase di creazione del Job viene specificato tramite il parametro type il tipo di processo (type) che verrà eseguito dal sistema.
In base al tipo di processo creato i parametri attachment e args possono cambiare. Attualmente l'unico processo disponibile è import_dovuti
Per poter creare un Job bisogna eseguire una chiamata POST all' endpoint api/jobs
Il payload per la creazione di un Job è così composto
Dove:
attachment -> è il file in base64 che verrà processato
type -> è il tipo di processo che deve essere eseguito
args -> sono dei parametri necessari al tipo di processo
L' API rispondere con un codice HTTP 201
e con l'id del Job creato
Per poter recuperare informazioni su Job bisogna eseguire una chiamata GET all' endpoint api/jobs/{id}
Il payload di risposta delle API è così composto:
Dove:
status -> è lo stato attuale del job e può assumere i seguenti valori pending, cancelled, running, finished, failed
output -> l'output finale del processo, può contenere un errore in caso di processo failed
running_output -> l'output corrente (Es. la riga del file che si sta processando)
Uno degli utilizzi più significativi che si può fare con i Job è l'importazione di contenuti come ad esempio l'importazione dei dovuti
In questa pagina viene fornito un esempio di chiamata API per l'importazione dovuti
Come descritto nella sezione precedente tramite le API dei jobs è possibile creare un processo di importazione dovuti.
Per poter procedere correttamente all'importazione bisogna prima creare un servizio a cui i dovuti devono essere collegati.
Questa operazione può essere fatta tramite interfaccia nella sezione admin, il servizio creato dovrà essere di tipo "Servizio di pagamento dovuti"
Per il servizio appena creato dovrà essere configurato anche il gateway di pagamento
Per poter creare un Job di importazione dovuti bisogna eseguire una chiamata POST all' endpoint api/jobs
Il payload per la creazione di un Job è così composto
Dove:
attachments -> è il file csv contenente i dovuti da importare
Il file csv deve acere un template specifico di questo tipo:
service_id -> è un parametro specifico del tipo di job import_dovuti ed indica su quale servizio devono essere agganciati i dovuti importati