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.

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

211

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