API generale

L'API generale è progettata per poter recuperare, elencare, aggiornare, creare ed eliminare voci di dati nel sistema. Può essere utilizzata per automatizzare processi come la gestione dei fornitori o la creazione di progetti.

Modelli e azioni

Ogni tipo di dato (ad es. un cmp, un design, un vendor e così via) è chiamato modello; ogni modello fornisce diverse azioni (get/list/update/…). Puoi utilizzare la chiamata a info per ricevere le specifiche OpenAPI di tutti i modelli e le azioni:

https://[API-Endpoint]/info

Si prega di notare che le chiamate non autenticate al modello info daranno come risultato una specifica OpenAPI per le azioni non autenticate. Per ottenere tutti i modelli e le azioni disponibili per il tuo account, ti preghiamo di autenticarti prima.

Struttura degli URL

Le call to action seguono la struttura:

https://[API-Endpoint]/model/[MODELNAME]/[ACTIONNAME]

Esempio:

https://[API-Endpoint]/model/CMP/list

Oltre alle chiamate al modello, ci sono chiamate all'autenticazione e alle specifiche OpenAPI:

https://[API-Endpoint]/auth/[AUTH-ACTION]
https://[API-Endpoint]/info

Struttura generale del messaggio

La comunicazione avviene tramite lo scambio di dati JSON. Per avviare un'azione, invia una richiesta POST con i seguenti dati JSON nel corpo HTTP:

{
  "accessType": 1,         // Access type (may be required for authentication calls)
  "lang":       1|2|3|..., // Language (optional)  
  "kmd":        "...",     // Authentication token (optional/required depending on context)  
  "key":        "..."      // Your API-Key (optional/required depending on context)
  // other fields might be required depending on context
}

Il contenuto dei dati JSON può variare a seconda dell'azione da eseguire. Pertanto, consulta la sezione Azioni qui.

A seconda dell'implementazione del progetto, key potrebbe essere richiesta per determinate azioni (ad es. la creazione di un nuovo utente). Ti preghiamo di contattare il tuo account manager per ricevere la tua chiave.

Importante: mantieni la tua chiave privata e non trasmetterla tramite il browser, ma sempre tramite connessione server-to-server!

L'API risponderà con un corpo JSON formattato come segue:

{
  "status":     "...",  // Status: Success|Error 
  "statuscode": 0..999, // Status code
  "msg":        "...",  // Human readable status message
  "model":      "...",  // Context dependend. May return model type to be displayed or null
  "action":     "...",  // Action performed
  "data":        ...    // Type and content is depended on context  
}

Codici di errore

L'API utilizzerà i seguenti codici di errore per segnalare eventuali problemi. Il codice di errore viene inviato tramite la statuscode proprietà della risposta.

CodiceDescrizione
100-199Codici di errore generali
101Nessun dato di input trovato
102view/accessType mancante o errato
103Nessun ID inviato / ID non validi. Inviare almeno un ID
104Filtro errato: il campo X non esiste in Y
105L'azione manca o è errata
106Il parametro X è obbligatorio/manca
107Azione della barra degli strumenti sconosciuta o vuota
108Azione non consentita
109Azione non riuscita
110L'azione consente non più di un ID o nessun ID.
111Dati per l'ID x non trovati.
112Errore di creazione, vedere il messaggio di errore. Per i messaggi specifici del campo, vedere response.data
113Errore di aggiornamento, vedere il messaggio di errore. Per i messaggi specifici del campo, vedere response.data
114Nessun dato per la creazione/l'aggiornamento di un elemento
115Gli ID devono essere un array
116Impossibile firmare la password
117Superato il numero massimo di articoli
  
200-299Errori di accesso
201Adserver disattivato
202Utente non trovato
203IP inserito nella lista nera
204Password errata
205Credenziali mancanti
206Errore di accesso sconosciuto
207IP non presente nella whitelist
208È necessario modificare la password (password troppo vecchia)
209Accesso non consentito
210Rinnovo password non riuscito

211

Token non corretto
212Token scaduto
213Account non ancora attivo
214Tipo di accesso sconosciuto
215È necessario modificare la password
216Disattivato
217Errore sconosciuto
218Chiave di autenticazione mancante o vuota
219Autenticazione a due fattori mancante (inviare il parametro 2fa)
220Autenticazione a due fattori errata
221Autenticazione a due fattori: codice OTP mancante
222Autenticazione a due fattori: codice OTP errato
223Autenticazione a due fattori: codice e-mail mancante
224Autenticazione a due fattori: codice e-mail errato
225Autenticazione a due fattori: codice SMS mancante
226Autenticazione a due fattori: codice SMS errato
227Autenticazione a due fattori: l'e-mail è stata inviata
228Autenticazione a due fattori: SMS inviato
229E-mail di aggiornamento password inviata
230Password aggiornata
  
300-399Codici di errore interni
301Impossibile risolvere la dipendenza di X su Y
302La dipendenza per X ha generato un elenco vuoto
303Nessuna colonna da aggiornare
304Errore di dipendenza nell'utilizzo del campo
305Errore di dipendenza su campo vuoto
306La query dell'elenco ha restituito un elenco di campi vuoto
307Callback di autenticazione non trovato
308File di inclusione API non trovato: …
399Errore interno generale
  
900-999Codici di errore personalizzati, consultare il messaggio

Tipi di accesso

A seconda della struttura dell'API esistono diversi tipi di accesso (campo JSON "accessType"). Contatta il tuo account manager per ricevere l'ID del tipo di accesso che puoi utilizzare.

Modelli

A seconda del progetto e dei tuoi diritti di accesso, potresti vedere diversi modelli (strutture di dati da ricevere/inserire da/nel database). Clicca su "Azione" rights per ricevere un elenco di modelli e azioni.

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!