Caricamento/Caricamento dati tramite API Elbuz
L'API fornisce l'accesso alle informazioni archiviate nel database del prodotto software Elbuz. Gli elementi possono essere recuperati, aggiunti, aggiornati ed eliminati.
Formato di scambio, autenticazione
- Il formato JSON viene utilizzato per l'interazione.
- Le richieste utilizzano il metodo POST HTTP.
- Per l'autenticazione, vengono utilizzati un nome utente e una password per ottenere un token.
Informazioni di base
Limitazione di accesso
- Accesso API con indicazione degli indirizzi IP da cui è possibile accedere.
- Modalità di sola lettura (blocca l'accesso per modificare i dati).
- Dal numero di richieste - non più di 30 connessioni in 60 secondi.
Impaginazione - impaginazione
L'output dei dati richiesti viene impaginato. Il numero massimo di voci dipende dal tipo di elemento, il valore predefinito è 100 voci per pagina. Il parametro "pagina" viene utilizzato per specificare il numero di pagina.
Quando si risponde, vengono generate informazioni "meta", ad esempio:
[meta] => matrice ( [oggetto_ambito] => categoria [riga_totale] => 474 [totale_pagina] => 5 [pagina_successiva] => 2 [pagina_corrente] => 1 [ora_richiesta] => 00:00:00 )
Descrizione metainformazioni:
- item_scope - il tipo dell'elemento richiesto
- riga_totale - numero totale di elementi
- page_total - numero totale di pagine
- page_next - numero di pagina successiva
- page_current - pagina corrente
- request_time - tempo impiegato per ottenere informazioni
Selezione degli elementi
A seconda del tipo di elemento sono disponibili diversi parametri che limitano la selezione dei dati, ad esempio puoi ottenere prodotti solo di una determinata categoria, per questo devi passare il parametro category_id in cui specifichi l'ID categoria.
Limitazione dei campi di output
Il sistema permette di aumentare la velocità di lavoro per lo scambio di informazioni, ricevendo solo i dati di cui hai bisogno. Ad esempio, una scheda prodotto può contenere 150 campi, mentre ne devi ottenere solo 10, puoi specificare l'insieme di campi di cui hai bisogno quando richiedi i dati, riducendo così notevolmente la quantità di dati trasferiti e aumentando la velocità sia di risposta che tempo per l'ulteriore elaborazione di queste informazioni sul tuo sito. A tale scopo viene utilizzato il parametro limit_field, in cui è necessario elencare i campi necessari, separati da virgole.
Descrizione dell'utilizzo dell'API
Indirizzo iniziale del servizio API: https://your_domain_address/admin/index.php?route=
Il parametro route prende un percorso in base al quale il sistema comprende quale operazione eseguire.
Per il parametro del percorso sono disponibili i seguenti valori:
- api/login - ottenere un token per iniziare
- api/scope/describe – descrizione dei campi degli elementi
- api/scope/get - ottenere elementi
- api/scope/add - aggiunta di elementi
- api/scope/update - aggiorna gli elementi
- api/scope/delete - eliminazione di elementi
Il parametro route può essere integrato con il tipo di elemento su cui viene eseguita l'operazione.
I seguenti valori sono disponibili a seconda del tipo di operazione:
- categoria - categorie di prodotti
- prodotto – prodotti del catalogo di base
- product_price - prodotti dai listini prezzi
- attributo - attributi del prodotto
- blocco_attributo - blocchi di attributi
- lingua - lingue
- articolo - articoli
- produttore - produttori
- stock_status - stati delle scorte
- magazzino - magazzini
- negozio - negozi
- azienda - aziende
- appaltatore - appaltatori
- contractor_group - gruppi di appaltatori
- valuta - valute
- documento - documenti
- tipo_documento - tipi di documenti
- document_status - stati del documento
- document_payment_status - stati di pagamento
- document_delivery_status - stati di consegna
Un esempio di collegamento per ottenere un elenco di categorie di prodotti: https://your_domain_address/admin/index.php?route=api/scope/get/category
Inoltre, il tipo di elemento può essere passato nel parametro scope tramite una richiesta POST, quindi non è necessario specificare il tipo nel collegamento.
Creazione di un utente API, ottenimento di un token
Lo scambio di dati tramite API avviene tramite login e password (token). Per creare un nuovo utente API, vai al sottosistema "Impostazioni".
Quindi seleziona "Accedi API Jumper"
Fare clic sul pulsante + per creare un nuovo utente
Per iniziare a lavorare con l'API è necessario ottenere un token, per questo è necessario inviare una richiesta POST con login e password, specificando route=api/login.
Indirizzo completo:
https://your_domain_address/admin/index.php?route=api/login
Parametri POST richiesti:
- nome utente - il tuo nome utente
- chiave - password
In risposta, riceverai un token, che verrà indicato nel campo api_token, questo token deve essere utilizzato per ulteriori richieste all'API.
Un esempio di implementazione in PHP (la funzione send_data_to_jumper_api() è un wrapper per CURL)
Recupero di oggetti
Per ottenere un elenco di elementi, invia una richiesta POST con route=api/scope/get.
Indirizzo completo:
https://your_domain_address/admin/index.php?route=api/scope/get
Parametri POST richiesti:
- api_token - il token ricevuto in precedenza
- scope è l'id dell'elemento da cui si desidera ottenere i dati. Il codice dell'elemento può essere specificato nel collegamento, nel qual caso questo parametro è facoltativo.
Elenco dei codici elemento disponibili:- categoria - categorie di prodotti
- prodotto – prodotti del catalogo di base
- product_price - prodotti dai listini prezzi
- attributo - attributi del prodotto
- blocco_attributo - blocchi di attributi
- lingua - lingue
- articolo - articoli
- produttore - produttori
- stock_status - stati delle scorte
- magazzino - magazzini
- negozio - negozi
- azienda - aziende
- appaltatore - appaltatori
- contractor_group - gruppi di appaltatori
- valuta - valute
- documento - documenti
- tipo_documento - tipi di documenti
- document_status - stati del documento
- document_payment_status - stati di pagamento
- document_delivery_status - stati di consegna
Parametri opzionali:
- pagina: il numero di pagina per ottenere il successivo elenco di record
- limit_field - elenco di campi per limitare l'output
- estendere - ottenere dati estesi. Ad esempio, quando ricevi una scheda prodotto, puoi espandere le informazioni e ricevere dati aggiuntivi come:
- attributo – attributi del prodotto
- immagine - foto del prodotto
- categoria - elenco delle categorie in cui si trova il prodotto
- extend_limit_field_attribute - elenco di campi per limitare l'output di informazioni estese sugli attributi
- extend_limit_field_image - un elenco di campi per limitare l'output di informazioni estese sulla foto
- extend_limit_field_category - elenco di campi per limitare l'output delle informazioni sulla categoria estesa
Esempio di implementazione PHP
Aggiunta di elementi
Per aggiungere un nuovo elemento, invia una richiesta POST con route=api/scope/add.
Indirizzo completo:
https://your_domain_address/admin/index.php?route=api/scope/add
Parametri POST richiesti:
- api_token - il token ricevuto in precedenza
- scope è l'id dell'elemento da aggiungere. Il codice dell'elemento può essere specificato nel collegamento, nel qual caso questo parametro è facoltativo.
Elenco dei codici elemento disponibili:- categoria - categorie di prodotti
- prodotto – prodotti del catalogo di base
- product_price - prodotti dai listini prezzi
- attributo - attributi del prodotto
- blocco_attributo - blocchi di attributi
- articolo - articoli
- produttore - produttori
- documento - documenti
- name - il nome dell'elemento (a seconda del tipo di elemento, possono essere passati diversi campi)
Esempio di implementazione PHP
Aggiornare gli elementi
Per aggiornare un elemento, invia una richiesta POST con route=api/scope/update.
Indirizzo completo:
https://your_domain_address/admin/index.php?route=api/scope/update
Parametri POST richiesti:
- api_token - il token ricevuto in precedenza
- scope è l'id dell'elemento da aggiornare. Il codice dell'elemento può essere specificato nel collegamento, nel qual caso questo parametro è facoltativo.
Elenco dei codici elemento disponibili:- categoria - categorie di prodotti
- prodotto – prodotti del catalogo di base
- valuta - polli di valuta
- appaltatore - appaltatori
- name - il nome dell'elemento (a seconda del tipo di elemento, possono essere passati diversi campi)
Esempio di implementazione PHP
Rimozione di elementi
Per eliminare un elemento, invia una richiesta POST con route=api/scope/delete.
Indirizzo completo:
https://your_domain_address/admin/index.php?route=api/scope/delete
Parametri POST richiesti:
- api_token - il token ricevuto in precedenza
- scope è l'id dell'elemento da rimuovere. Il codice dell'elemento può essere specificato nel collegamento, nel qual caso questo parametro è facoltativo.
Elenco dei codici elemento disponibili:- categoria - categorie di prodotti
- prodotto – prodotti del catalogo di base
- attributo - attributi del prodotto
- blocco_attributo - blocchi di attributi
- appaltatore - appaltatori
- articolo - articoli
- produttore - produttori
- documento - documenti
- ID elemento (a seconda del tipo di elemento, viene utilizzato un nome di campo diverso)
Esempio di implementazione PHP
Descrizione dei campi degli elementi
Per ottenere la descrizione dei campi degli elementi, inviare una richiesta POST con route=api/scope/describe.
Indirizzo completo:
https://your_domain_address/admin/index.php?route=api/scope/describe
Parametri POST richiesti:
- api_token - il token ricevuto in precedenza
- scope è l'id dell'elemento mediante il quale le informazioni devono essere ottenute. Il codice dell'elemento può essere specificato nel collegamento, nel qual caso questo parametro è facoltativo.
Elenco dei codici elemento disponibili:- prodotto – prodotti del catalogo di base
- product_price - prodotti dai listini prezzi
- produttore - produttori
- appaltatore - appaltatori
- documento - documenti
- utente - utenti (dipendenti)
- azienda - aziende
Esempio di implementazione PHP
Esempio API esteso, linguaggio PHP
Esempi estesi di lavoro con l'API usando il linguaggio PHP sono disponibili a questo link .
È possibile testare varie modalità operative, per questo è necessario attivare la variabile desiderata per attivare il blocco di codice responsabile dell'operazione e dell'elemento richiesti.