๐API
Guida alla configurazione API
Con application programming interface (in acronimo API, in italiano interfaccia di programmazione di un'applicazione), in informatica, si indica ogni insieme di procedure disponibili al programmatore, di solito raggruppate a formare un set di strumenti specifici per l'espletamento di un determinato compito all'interno di un certo programma.
Il gestionale possiede un sistema di API basilare che permette di ottenere i dati registrati al suo interno attraverso un'interfaccia comune, oltre che di creare e aggiornare le informazioni dei vari record salvati.
Il sistema API del gestionale รจ attualmente in sviluppo, e pertanto le funzioni disponibili potrebbero essere piuttosto ridotte.
Le informazioni qui descritte sono valida a partire dalla versione 2.4 del gestionale.
Metodo di accesso
L'accesso all'API viene garantito esclusivamente tramite il token personale di accesso dell'utente, individuabile nella sezione dedicata alle informazioni sull'account.

Cliccando sulla sezione evidenziata in rosso, si apre una pagina dedicata alla visualizzazione delle informazioni personali dell'utente e che permette la modifica della password e della foto profilo, oltre che la visualizzazione del token per l'API.

Nella sezione denominata API sono disponibili il token e l'URL per accedere al sistema API del gestionale.
In alternativa, รจ disponibile la seguente risorsa dedicata per l'accesso direttamente da API.
Richiesta di accesso
PUT http://localhost/openstamanager/api
Si ricordi che, come indicato in Modalitร di utilizzo, il contenuto della richiesta deve essere formattato come JSON:
{"resource":"login", "username": "<username>", "password", "<password>"}
Request Body
resource
string
Nome della risorsa: login
username
string
Username dell'utente
password
string
Password dell'utente
Gestione degli accessi
E' disponibile un sistema di gestione degli accessi basilare per l'amministratore del gestionale, che puรฒ abilitare l'accesso degli utenti attraverso il modulo Utenti e permessi.
Non รจ al momento disponibile un sistema di permessi per il sistema API, e pertanto chiunque possegga un token puรฒ accedere a tutte le informazioni che l'API rende disponibile.
Messaggi di errore
In base allo stato dell'API e alla richiesta effettuata, รจ possibile che vengano restituiti dei messaggi di stato che informano l'utilizzatore del risultato della richiesta.
In particolare, sono presenti i seguenti status:
200: OK- La richiesta รจ andata a buon fine.400: Errore interno dell'API- La richiesta effettuata risulta invalida per l'API.401: Non autorizzato- Accesso non autorizzato.404: Non trovato- La risorsa richiesta non risulta disponibile.500: Errore del server- Il gestionale non รจ in grado di completare la richiesta.503: Servizio non disponibile- L'API del gestionale non รจ abilitata a causa della versione troppo vecchia di MySQL (>= 5.6.5).
Modalitร di utilizzo
Ogni richiesta di comunicazione con l'API deve essere composta di una chiave di accesso e di un'operazione richiesta, e deve essere formattata secondo il formato JSON.
In base al tipo di risorsa che si desidera richiedere, sono disponibili quattro metodi HTTP per la comunicazione:
GET, dedicato alle richieste di informazioni (Retrieve).POST, dedicato alle richieste di creazione (Create).PUT, dedicato alle richieste di modifica (Update).DELETE, dedicato alle richieste di eliminazione (Delete).
Maggiori informazioni sulle relative risorse disponibili sono presenti nelle prossime sezioni, oltre che all'interno della tabella zz_api_resources del gestionale.
Vai alla documentazione completa delle API di OpenSTAManager:
Creare una nuova API
OpenSTAManager utilizza un sistema di API REST modulare che permette di esporre funzionalitร del gestionale attraverso endpoint HTTP. Il sistema รจ basato su:
Tabella di registrazione:
zz_api_resourcesche contiene la mappatura delle risorse APIClassi PHP: che implementano la logica delle operazioni CRUD
Interfacce: che definiscono i metodi da implementare per ogni tipo di operazione
Struttura della tabella zz_api_resources
La tabella zz_api_resources ha la seguente struttura:
Campi della tabella:
version
Versione dell'API
"v1", "app-v1", "custom"
type
Tipo di operazione supportata
create, retrieve, update, delete
resource
Nome della risorsa API (endpoint)
es. "articoli", "anagrafiche"
class
Percorso completo della classe PHP
es. "Modules\\Articoli\\API\\v1\\Articoli"
enabled
Flag per abilitare/disabilitare
1=abilitata, 0=disabilitata
Passaggi per creare una nuova API
1. Creare la classe PHP
Le classi API devono essere posizionate in una delle seguenti directory:
API generiche:
src/API/(per API di sistema)API di modulo:
modules/{nome_modulo}/src/API/v1/(per API specifiche di un modulo)API per app mobile:
src/API/App/v1/(per l'applicazione mobile)
Struttura base di una classe API:
2. Implementare le interfacce necessarie
Interfacce disponibili:
RetrieveInterface
Lettura dati
retrieve($request)
GET
CreateInterface
Creazione record
create($request)
POST
UpdateInterface
Aggiornamento record
update($request)
PUT/PATCH
DeleteInterface
Eliminazione record
delete($request)
DELETE
3. Registrare la risorsa nella tabella zz_api_resources
Inserire un record nella tabella per ogni operazione supportata:
Esempi pratici
Esempio 1: API semplice per lettura dati
Esempio 2: API completa con CRUD
Registrazione nel database
Per registrare le API dell'esempio precedente:
Note importanti
Naming convention:
Per operazioni su collezioni: usa il plurale (es. "articoli", "anagrafiche")
Per operazioni su singoli elementi: usa il singolare (es. "articolo", "anagrafica")
Versioning:
Usa "v1" per API standard
Usa "app-v1" per API dedicate all'app mobile
Usa "custom" per API personalizzate
Was this helpful?