Introduzione

Il primo gestionale su smartphone che vende online, anche su Amazon, e comunica con i tuoi clienti.

Con NegozioPerfetto puoi:

  • Gestire il tuo negozio direttamente dallo smartphone

  • Semplificare ed automatizzare tutti i processi di codifica, inventario, carico, vendita e molto altro ancora

  • Avere In 48 ore avrai un e-commerce online, personale, completamente sincronizzato con il tuo negozio fisico

  • Accedere ad una dashboard accessibile da qualsiasi dispositivo, con cui monitorare tutto il flusso di vendita, gestire i tuoi clienti, fornitori ed anche i commessi in negozio.

Per permettere ad altri software terzi di interfacciarsi con la piattaforma, abbiamo implementato e rilasciato una serie di API REST, elencate in questo documento.

Nota che l'accesso alle API è strettamente legato dall'avere attivo una licenza in NegozioPerfetto https://www.NegozioPerfetto.it/prezzi/
Il numero di richieste API disponibili sono limitate ad un numero giornaliero in base al tipo di abbonamento che si è scelto

HTTP status codes

Di seguito sono riportate gli HTTP status code che possono essere ricevuti da un client dell’API di NegozioPerfetto.

Status code Significato

200 OK

Risposta standard per le richieste HTTP andate a buon fine.

403 Forbidden

La richiesta è valida ma il server si rifiuta di soddisfarla. L’utente potrebbe non disporre delle autorizzazioni necessarie per accedere alla risorsa. In tal caso, seguire il paragrafo Autenticazione

500 Limit exceed

La richiesta è valida ma il numero di richieste effettuate ha sforato il limite di richieste previste dall'account.

Autenticazione

Per poter accedere al servizio API di NegozioPerfetto è necessario procedere con l’autenticazione, che consiste nell'includere nella richiesta effettuata una chiave API.

Sarà necessario accedere al pannello cloud e generare una chiave API dall'apposito menu

Dopodichè, inserire il token generato nella HEADER della richiesta, con parametro di nome x-api-key

Gestione CORS Policy

Il Cross-Origin Resource Sharing (CORS) è un meccanismo che usa header HTTP addizionali per indicare a un browser che un'applicazione Web in esecuzione su un'origine (dominio) dispone dell'autorizzazione per accedere alle risorse selezionate da un server di origine diversa. Un'applicazione web invia una cross-origin HTTP request quando richiede una risorsa che ha un'origine (protocollo, dominio e porta) differente dalla propria.

Riferimento o altre informazioni: Qui

NegozioPerfetto gestisce tali controlli nel modo seguente:

Quando la fonte della richiesta HTTP viene giudicata come non sicura, viene inviata una richiesta di handshake (preflight) con metodo OPTION, che elencherà tutte le caratteristiche richieste per validare il chiamante.
La validazione avverrà tramite i seguenti passaggi:

  • Validazione del metodo: (Access-Control-Allow-Methods) metodi HTTP fuori dall'elenco dei metodi permessi verranno scartati. I metodi HTTP accettati varieranno in base alla API invocata, ma che comunque ciclano tra GET, POST, OPTION.

  • Validazione dell'header: (Access-Control-Allow-Headers) se la richiesta inviata contiene headers non supportati, allora la richiesta non verrà soddisfatta.
    Al momento, la lista di header supportati ed accettati è la seguente:

    • Content-Type
    • X-Amz-Date
    • Authorization
    • X-Api-Key
    • X-Amz-Security-Token

    Se viene inserito un header non supportato, l'errore generato e visibile nella console del browser sarà simile al seguente:
    Access to XMLHttpRequest at 'https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/X/Y' from origin 'ORIGIN' has been blocked by CORS policy: Request header field CAMPO_NON_SUPPORTATO is not allowed by Access-Control-Allow-Headers in preflight response.
  • Validazione dell'origine: (Access-Control-Allow-Origin) lista dei domini di provenienza accettati, settati a Tutti (*)

Articoli

Questa sezione elenca tutti i metodi disponibili per la gestione della risorsa Articolo.

A1. ottieniArticoli

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/article

Ottiene la lista delle anagrafiche articoli create in NegozioPerfetto.

Richiesta HTTP

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/article HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
	

Parametri Richiesta

Campo Tipo Descrizione Vincoli

max_results

Integer

Intero che indica quanti risultati massimi ritornare

Minimo 1
Default 25
Max 100

page_number

Integer

Indica il numero di pagina richiesto dall'utente. Utile per eventuali paginazioni

Maggiore di zero
Default 1

search_key

String

Eventuale chiave di ricerca da applicare alla ricerca

changed_from

timestamp

Eventuale timestamp da applicare per ottenere le righe modificate da una certa data in poi

Risposta HTTP

HTTP/1.1 200 OK
Date: Thu, 23 May 2019 13:35:40 GMT
Content-Type: application/json
Content-Length: 96
Connection: keep-alive
x-amzn-RequestId: a4da5d82-7d5f-11e9-8897-19a42a5e3db5
x-amz-apigw-id: aI4yIG5mDoEFnGQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5ce6a1a7-6fa0dac81921f322a865c51c;Sampled=0

{
	"result" : true,
	"message" : "Procedura conclusa con successo",
	"response" : {
		"items" : [],
		"message" : "",
		"counters" : {
			"max_pages" : X,
			"used_limit" : X,
			"total_number" : X
		}
	}
}
							

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato finale

response.items

Json Array

Lista dei risultati che la procedura ha prodotto

response.items[i].item_id

String

ID dell'articolo

response.items[i].item_barcode

String

Barcode (EAN) dell'articolo

response.items[i].item_code

String

Codice primario dell'articolo

response.items[i].item_code_2

String

Codice secondario dell'articolo

response.items[i].item_code_3

String

Codice terziario / produttore dell'articolo

response.items[i].brand_id

String

ID del brand (marca) dell'articolo

response.items[i].item_brand

String

Brand (marca) dell'articolo

response.items[i].item_supplier

String

Lista dei fornitori (ragione sociale) dell'articolo

response.items[i].item_description

String

Descrizione dell'articolo

response.items[i].item_category

JSON Array

Lista delle categorie dell'articolo
Dettagli

response.items[i].item_collection

JSON

Eventuale collezione / stagione associata all'articolo.
Dettagli

response.items[i].item_um

String

Unità di misura primaria dell'articolo

response.items[i].item_um_2

String

Unità di misura secondario dell'articolo

response.items[i].item_pieces

Integer

Numero di pezzi per confezione dell'articolo

response.items[i].item_cost

Float

Costo d'acquisto (imponibile) dell'articolo

response.items[i].item_price_no_tax

Float

Prezzo di vendita (imponibile) dell'articolo

response.items[i].item_tax

Float

Aliquota IVA applicata nelle transazioni dell'articolo

response.items[i].item_images

JSON Array

Lista delle foto associate all'articolo.
Dettagli

response.items[i].item_weight

Float

Peso (in grammi) dell'articolo

response.items[i].item_height

Float

Altezza (cm) dell'articolo

response.items[i].item_width

Float

Larghezza (cm) dell'articolo

response.items[i].item_depth

Float

Profondità volumetrica (cm) dell'articolo

response.items[i].item_volume

Float

Volume dell'articolo

response.items[i].item_min_stock

Float

Scorta minima dell'articolo

response.items[i].item_parent_id

String

Eventuale ID dell'articolo padre nel caso di articoli a varianti

response.items[i].item_variations

String

Eventuali variazioni rilevate dall'articolo

response.items[i].published_site

Integer

L'attributo indica se l'articolo è da pubblicare sull'eventuale sito o meno.
0: da NON pubblicare
1: da pubblicare

response.items[i].item_site_id

String

Eventuale ID dell'articolo generato dall'eventuale sito

response.items[i].item_online_price

Float

L'attributo indica il prezzo online (per il sito) relativo all'articolo

response.items[i].long_description

String

Descrizione lunga dell'articolo, usata ad esempio per rappresentare una scheda tecnica

response.items[i].last_change

Timestamp

Data di ultima modifica eseguita sull'articolo

response.message

String

Eventule messaggio accompagnatorio ai risultati

response.counters

Json

Contatori addizionali utili a paginazioni terze

response.counters.max_pages

Integer

Numero massimo di pagine ottenibile tramite gli input ricevuti.

response.counters.used_limit

Integer

Limite usato nelle ricerche.

response.counters.total_number

Integer

Numero massimo di record ottenibile tramite gli input inseriti.

Parametri categorie

Campo Tipo Descrizione

id

String

ID della categoria

full_list

String

Ramo completo rilevato dalla categoria

Parametri foto

Campo Tipo Descrizione

order

Integer

Posizione numerica della foto

photo_url

String

URL della foto

Parametri collezione

Campo Tipo Descrizione

id

String

ID della collezione

year

Integer

Anno della collezione

season

String

Stagione legata alla collezione

description

String

Descrizione della collezione

A2. creaArticolo

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/article

La procedura esegue la creazione di un articolo. Ovviamente, prima di creare l'istanza, viene eseguito un controllo di esistenza sul codice primario indicato.
Nota 1: Questa API supporta (per ora) solo la creazione di articoli Semplici.
Nota 2: Questa API NON supporta (per ora) l'aggiunta di foto in fase di creazione.
Nota 3: Questa API NON supporta (per ora) l'aggiornamento di eventuali ecommerce legati all'account.

Richiesta HTTP

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/article HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
	

Parametri Richiesta

Campo Tipo Descrizione Vincoli

code

String

Codice primario dell'articolo. Utile anche per verificare l'esistenza di un duplicato

Obbligatorio

barcode

String

Barcode / Codice a barre dell'articolo

Default: stringa vuota

secondary_code

String

Codice secondario dell'articolo

Default: stringa vuota

producer_code

String

Codice terziario o codice produttore dell'articolo

Default: stringa vuota

brand

String

Brand / marca dell'articolo

Default: stringa vuota

supplier

String

Fornitore (Ragione sociale) dell'articolo

Default: stringa vuota

description

String

Descrizione dell'articolo

Default: stringa vuota

category

String

Categoria dell'articolo

Default: stringa vuota

measure_unit

String

Unità di misura dell'articolo

Default: NR (Numero)

secondary_measure_unit

String

Unità di misura alternativa / secondaria dell'articolo

Default: stringa vuota

conversion_unit

Float

Unità di conversione tra l'unità di misura principale e quella alternativa. Esempio: valore di conversione tra metri e metri quadrati

Default: 1.00

pack_pieces

Integer

Numero di pezzi per confezione dell'articolo

Default: 1

cost_no_tax

Float

Costo d'acquisto (imponibile) dell'articolo

Default: 0

price_no_tax

Float

Prezzo di vendita (imponibile) dell'articolo

Default: 0

location

JSON Array

Array di json indicante le ubicazioni per i vari depositi

Default: []

location[n].warehouse_id

String

ID del deposito in cui memorizzare l'ubicazione
Per info sui depositi, leggi questo paragrafo

Default: stringa vuota

location[n].value

String

Valore d'ubicazione da memorizzare.

Default: stringa vuota

tax_rate

Float

Aliquota Iva da impostare all'articolo

Default: 22

enable_serial_numbers

Boolean

Booleano indicante se attivare la gestione a seriali sull'articolo

Default: False

weigth

Float

Peso dell'articolo

Default: 0

min_stock

Float

Valore di scorta minima da impostare all'articolo

Default: 0

volume

Float

Volume da impostare all'articolo

Default: 0

Risposta HTTP

HTTP/1.1 200 OK
Date: Thu, 04 Nov 2019 13:35:40 GMT
Content-Type: application/json
Content-Length: 96
Connection: keep-alive
x-amzn-RequestId: a4da5d82-7d5f-11e9-8897-19a42a5e3db5
x-amz-apigw-id: aI4yIG5mDoEFnGQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5ce6a1a7-6fa0dac81921f322a865c51c;Sampled=0

{
   "result": true,
   "message": "API processata con successo",
   "response":    {
      "info": "Procedura completata con successo",
      "created_id": "X.X.X.X",
      "result": true
   }
}
							

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato finale

response.info

String

Messaggio rappresentante l'esito finale

response.created_id

String

ID dell'articolo creato

response.result

Boolean

Booleano rappresentante l'esito finale

A3. aggiornaArticolo

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/update/article

La procedura esegue l'aggiornamento di un articolo. La procedura aggiornerà solo i campi indicati nella lista dei parametri.
Nota 1: Questa API NON supporta (per ora) l'aggiornamento delle foto.
Nota 2: Questa API NON supporta (per ora) l'aggiornamento di eventuali ecommerce legati all'account.

Richiesta HTTP

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/update/article HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
	

Parametri Richiesta

Campo Tipo Descrizione Vincoli

id

String

ID dell'articolo da aggiornare.

Obbligatorio

code

String

Codice primario dell'articolo.

barcode

String

Barcode / Codice a barre dell'articolo

secondary_code

String

Codice secondario dell'articolo

producer_code

String

Codice terziario o codice produttore dell'articolo

brand

String

Brand / marca dell'articolo

supplier

String

Fornitore (Ragione sociale) dell'articolo

description

String

Descrizione dell'articolo

category

String

Categoria dell'articolo

measure_unit

String

Unità di misura dell'articolo

secondary_measure_unit

String

Unità di misura alternativa / secondaria dell'articolo

conversion_unit

Float

Unità di conversione tra l'unità di misura principale e quella alternativa. Esempio: valore di conversione tra metri e metri quadrati

pack_pieces

Integer

Numero di pezzi per confezione dell'articolo

cost_no_tax

Float

Costo d'acquisto (imponibile) dell'articolo

price_no_tax

Float

Prezzo di vendita (imponibile) dell'articolo

location

JSON Array

Array di json indicante le ubicazioni per i vari depositi

location[n].warehouse_id

String

ID del deposito in cui memorizzare l'ubicazione
Per info sui depositi, leggi questo paragrafo

location[n].value

String

Valore d'ubicazione da memorizzare.

tax_rate

Float

Aliquota Iva da impostare all'articolo

enable_serial_numbers

Boolean

Booleano indicante se attivare la gestione a seriali sull'articolo

weigth

Float

Peso dell'articolo

min_stock

Float

Valore di scorta minima da impostare all'articolo

volume

Float

Volume da impostare all'articolo

Risposta HTTP

HTTP/1.1 200 OK
Date: Thu, 04 Nov 2019 13:35:40 GMT
Content-Type: application/json
Content-Length: 96
Connection: keep-alive
x-amzn-RequestId: a4da5d82-7d5f-11e9-8897-19a42a5e3db5
x-amz-apigw-id: aI4yIG5mDoEFnGQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5ce6a1a7-6fa0dac81921f322a865c51c;Sampled=0

{
   "result": true,
   "message": "API processata con successo",
   "response":    {
      "info": "Procedura completata con successo",
      "result": true
   }
}
							

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato finale

response.info

String

Messaggio rappresentante l'esito finale

response.result

Boolean

Booleano rappresentante l'esito finale

A4. eliminaArticolo

DELETE https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/delete/article

La procedura esegue la cancellazione di un articolo.
Nota 1: Se l'account prevede un sito collegato e l'articolo è pubblicato su di esso, allora la API provvederà anche alla rimozione dell'articolo dal sito.
Nota 2: Se l'articolo è di tipo variante padre, verranno eliminati a catena anche tutti gli articoli figli.

Richiesta HTTP


DELETE https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/delete/article?id=1 HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
x-api-key: Your-API-Key
Content-Length: 0
Host: 1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
								

Risposta HTTP


{
	"result" : true,
	"message" : "API processata con successo",
	"response" :    
	{
		"body" :       
		{
			"id" : "DDI214647.164",
			...
		},
		"result" : true,
		"statusCode" : [200]
   }
}
							

Clienti

Questa sezione elenca tutti i metodi disponibili per la gestione della risorsa Cliente.

C1. ottieniClienti

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/customer

Ottiene la lista dei clienti creati in NegozioPerfetto.

Richiesta HTTP

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/customer HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
	

Parametri Richiesta

Campo Tipo Descrizione Vincoli

max_results

Integer

Intero che indica quanti risultati massimi ritornare

Minimo 1
Default 25
Max 100

page_number

Integer

Indica il numero di pagina richiesto dall'utente. Utile per eventuali paginazioni

Maggiore di zero
Default 1

search_key

String

Eventuale chiave di ricerca da applicare alla ricerca

Risposta HTTP

HTTP/1.1 200 OK
Date: Thu, 23 May 2019 13:35:40 GMT
Content-Type: application/json
Content-Length: 96
Connection: keep-alive
x-amzn-RequestId: a4da5d82-7d5f-11e9-8897-19a42a5e3db5
x-amz-apigw-id: aI4yIG5mDoEFnGQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5ce6a1a7-6fa0dac81921f322a865c51c;Sampled=0

{
	"result" : true,
	"message" : "Procedura conclusa con successo",
	"response" : {
		"items" : [],
		"message" : "",
		"counters" : {
			"max_pages" : X,
			"used_limit" : X,
			"total_number" : X
		}
	}
}
							

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato finale

response.items

Json Array

Lista dei risultati che la procedura ha prodotto

response.message

String

Eventule messaggio accompagnatorio ai risultati

response.counters

Json

Contatori addizionali utili a paginazioni terze

response.counters.max_pages

Integer

Numero massimo di pagine ottenibile tramite gli input ricevuti.

response.counters.used_limit

Integer

Limite usato nelle ricerche.

response.counters.total_number

Integer

Numero massimo di record ottenibile tramite gli input inseriti.

C2. creaCliente

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/customer

La funzione crea un nuovo cliente nella piattaforma.

Richiesta HTTP


POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/customer HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
x-api-key: Your-API-Key
Content-Length: 50
Host: 1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
						

Parametri Richiesta

Campo Tipo Descrizione Vincoli

business_name

String

Ragione sociale del cliente

Obbligatorio

code

String

Codice generico da assegnare al cliente

name

String

Nome anagrafico del cliente

surname

String

Cognome del cliente

address

String

Indirizzo del cliente

postal_code

String

CAP (Zipcode) del cliente

fiscal_code

String

Codice fiscale del cliente

vat_number

String

Partita IVA del cliente

nation

String

Sigla della nazione del cliente

Esempio IT, EN, ES, ..

city

String

Comune di residenza del cliente

province

String

Provincia di residenza del cliente

birth_date

Date

Data di nascita del cliente

Formato richiesto: YYYY-MM-DD

Risposta HTTP


HTTP/1.1 200 OK
Date: Fri, 16 Apr 2020 07:33:02 GMT
Content-Type: application/json
Content-Length: 239
Connection: keep-alive
x-amzn-RequestId: 088c570c-6769-4b9c-bad0-eb0ae12a1cbf
Access-Control-Allow-Origin: *
x-amz-apigw-id: d3aTJEsJDoEF7VQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-60793dad-2a123db1480ebb400f8f06ac;Sampled=0

{
	"result":true,
	"message":"API processata con successo",
	"response":
	{
		"body":
			{
				"codice":"1",
				"idAzienda":"paolino.angeletti@advise.it",
				"nascita":"1995-01-01",
				"ragioneSociale":"pablo_srl_2",
				"id":"C.21.9067.14"
			},
		"result":true,
		"statusCode":[200]
	}
}
						

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano della API

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato della procedura

response.body

Json

Lista dei dati inseriti. Da qui è possibile reperire l'id generato.

response.result

Boolean

Esito booleano della procedura

response.statusCode

Integer

Stato HTTP della procedura

C3. aggiornaCliente

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/update/customer

La funzione aggiorna un cliente nella piattaforma.

Richiesta HTTP


POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/update/customer?id=XXX HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
x-api-key: Your-API-Key
Content-Length: 120
Host: 1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
							

Esempio richiesta


ENDPOINT https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/update/customer?id=1
POST 
{
	"fields" : 
	{
		"name" : "Mario",
		"vat_number" : "012547856320"
	}	
}
							

Parametri POST

Campo Tipo Descrizione Vincoli

business_name

String

Ragione sociale del cliente

Obbligatorio

code

String

Codice generico da assegnare al cliente

name

String

Nome anagrafico del cliente

surname

String

Cognome del cliente

address

String

Indirizzo del cliente

postal_code

String

CAP (Zipcode) del cliente

fiscal_code

String

Codice fiscale del cliente

vat_number

String

Partita IVA del cliente

nation

String

Sigla della nazione del cliente

Esempio IT, EN, ES, ..

city

String

Comune di residenza del cliente

province

String

Provincia di residenza del cliente

birth_date

Date

Data di nascita del cliente

Formato richiesto: YYYY-MM-DD

Risposta HTTP


HTTP/1.1 200 OK
Date: Thu, 22 Apr 2020 09:32:03 GMT
Content-Type: application/json
Content-Length: 193
Connection: keep-alive
x-amzn-RequestId: 70fc922c-fe5f-4f09-ac21-69e5e4239828
Access-Control-Allow-Origin: *
x-amz-apigw-id: eLdV5EnbjoEFQ2Q=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-6081428c-1e80e9612897adf73a47322f;Sampled=0

{
	"result" : true,
	"message" : "API processata con successo",
	"response"
	:
		{
			"body" : 
				{
					"nome" : "Mario"
					"id" : "XXXX"
				},
			"result" : true,
			"statusCode" : [200]
		}
}
						

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano della API

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato della procedura

response.body

Json

Lista dei dati inseriti. Da qui è possibile reperire l'id generato.

response.result

Boolean

Esito booleano della procedura

response.statusCode

Integer

Stato HTTP della procedura

C4. eliminaCliente

DELETE https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/delete/customer

La funzione elimina un cliente dal sistema.

Richiesta HTTP


DELETE https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/delete/customer?id=1 HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
x-api-key: Your-API-Key
Content-Length: 0
Host: 1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
							

Risposta HTTP


HTTP/1.1 200 OK
Date: Thu, 22 Apr 2020 10:23:28 GMT
Content-Type: application/json
Content-Length: 141
Connection: keep-alive
x-amzn-RequestId: 2fe6727a-d065-4ad7-9422-bba5bfa437a2
Access-Control-Allow-Origin: *
x-amz-apigw-id: eLk5AFiBjoEFwrQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-60814e9f-6dc2043b1cdd6acb235e7a71;Sampled=0

{
	"result" : true,
	"message" : "API processata con successo",
	"response" : 
	{
		"body" : 
		{
			"stato" : "1",
			"id" : "1"
		},
		"result" : true,
		"statusCode" : [200]
	}
}
							

Depositi

Questa sezione elenca tutti i metodi disponibili per la gestione della risorsa Deposito / Destinazione Merce.

D1. contaDepositi

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/warehouse/count

Questa funzione ritorna il numero di depositi aziendali presenti nella piattaforma NegozioPerfetto

Richiesta HTTP

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/warehouse/count HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
								

Risposta HTTP

HTTP/1.1 200 OK
Date: Fri, 28 Jun 2019 07:20:36 GMT
Content-Type: application/json
Content-Length: 84
Connection: keep-alive
x-amzn-RequestId: 365e1703-9975-11e9-9e2b-4fde437c1ac3
Access-Control-Allow-Origin: *
x-amz-apigw-id: b-rl5F63DoEFTLA=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5d15bfbf-11d6bd257b534f803a1ec095;Sampled=0

{
	"result" : true,
	"message" : "Procedura conclusa con successo",
	"response" : [
		{
			"count" : 6
		}
	]
}
								

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json Array

Contenitore del risultato finale

response[0].count

Integer

Numero dei depositi rilevati

D2. ottieniDepositi

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/warehouse

Questa funzione ritorna i depositi (o destinazioni merci) presenti nella piattaforma NegozioPerfetto

Richiesta HTTP

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/warehouse?search_key=Napoli HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
								

Parametri Richiesta

Campo Tipo Descrizione Vincoli

max_results

Integer

Intero che indica quanti risultati massimi ritornare

Minimo 1
Default 25
Max 100

page_number

Integer

Indica il numero di pagina richiesto dall'utente. Utile per eventuali paginazioni

Maggiore di zero

Default 1

search_key

String

Eventuale chiave di ricerca da applicare alla ricerca

Risposta HTTP

HTTP/1.1 200 OK
Date: Wed, 29 May 2019 08:08:04 GMT
Content-Type: application/json
Content-Length: 96
Connection: keep-alive
x-amzn-RequestId: e21d0833-81e8-11e9-9db8-bd50b4af1cd4
x-amz-apigw-id: ab6blG8aDoEF2zA=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5cee3de3-5619f42ed98b3d73cf6eee0b;Sampled=0

{
	"result" : true,
	"message" : "Procedura conclusa con successo",
	"response" : {
		"items" : [
			{
				"item_id": "X.X.X.X",
				"item_code": 1,
				"item_name": "Test Warehouse",
				"item_country": "Italy",
				"item_city": "Rome",
				"item_address": "Address address",
				"item_state": "",
				"item_zone": "",
				"item_note": "First warehouse"
			 }
		],
		"message" : "",
		"counters" : {
			"max_pages" : X,
			"used_limit" : X,
			"total_number" : X
		}
	}
}
								

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato finale

response.items

Json Array

Lista dei risultati che la procedura ha prodotto

response.items[i].item_id

String

ID dell'i-esimo elemento trovato

response.items[i].item_code

Integer

Codice dell'i-esimo elemento trovato

response.items[i].item_name

String

Ragione sociale dell'i-esimo elemento trovato

response.items[i].item_country

String

Nazione dell'i-esimo elemento trovato

response.items[i].item_city

String

Città / Comune / Località dell'i-esimo elemento trovato

response.items[i].item_address

String

Indirizzo dell'i-esimo elemento trovato

response.items[i].item_state

String

Provincia dell'i-esimo elemento trovato

response.items[i].item_zone

String

CAP dell'i-esimo elemento trovato

response.items[i].item_note

String

Eventuali note aggiuntive dell'i-esimo elemento trovato

response.message

String

Eventule messaggio accompagnatorio ai risultati

response.counters

Json

Contatori addizionali utili a paginazioni terze

response.counters.max_pages

Integer

Numero massimo di pagine ottenibile tramite gli input ricevuti.

response.counters.used_limit

Integer

Limite usato nelle ricerche.

response.counters.total_number

Integer

Numero massimo di record ottenibile tramite gli input inseriti.

Fornitori

Questa sezione elenca tutti i metodi disponibili per la gestione della risorsa Fornitore.

F1. ottieniFornitori

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/supplier

Ottiene la lista dei fornitori creati in NegozioPerfetto.

Richiesta HTTP

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/supplier?max_results=1&page_number=1 HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
	

Parametri Richiesta

Campo Tipo Descrizione Vincoli

max_results

Integer

Intero che indica quanti risultati massimi ritornare

Minimo 1
Default 25
Max 100

page_number

Integer

Indica il numero di pagina richiesto dall'utente. Utile per eventuali paginazioni

Maggiore di zero

Default 1

search_key

String

Eventuale chiave di ricerca da applicare alla ricerca

Risposta HTTP

HTTP/1.1 200 OK
Date: Thu, 23 May 2019 13:35:40 GMT
Content-Type: application/json
Content-Length: 96
Connection: keep-alive
x-amzn-RequestId: a4da5d82-7d5f-11e9-8897-19a42a5e3db5
x-amz-apigw-id: aI4yIG5mDoEFnGQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5ce6a1a7-6fa0dac81921f322a865c51c;Sampled=0

{
	"result" : true,
	"message" : "Procedura conclusa con successo",
	"response" : {
		"items" : [],
		"message" : "",
		"counters" : {
			"max_pages" : X,
			"used_limit" : X,
			"total_number" : X
		}
	}
}
							

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato finale

response.items

Json Array

Lista dei risultati che la procedura ha prodotto

response.message

String

Eventule messaggio accompagnatorio ai risultati

response.counters

Json

Contatori addizionali utili a paginazioni terze

response.counters.max_pages

Integer

Numero massimo di pagine ottenibile tramite gli input ricevuti.

response.counters.used_limit

Integer

Limite usato nelle ricerche.

response.counters.total_number

Integer

Numero massimo di record ottenibile tramite gli input inseriti.

F2. creaFornitore

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/supplier

La funzione crea un nuovo fornitore nella piattaforma.

Richiesta HTTP


POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/customer HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
x-api-key: Your-API-Key
Content-Length: 104
Host: 1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
							

Parametri Richiesta

Campo Tipo Descrizione Vincoli

business_name

String

Ragione sociale del cliente

Obbligatorio

code

String

Codice generico da assegnare al cliente

name

String

Nome anagrafico del cliente

surname

String

Cognome del cliente

address

String

Indirizzo del cliente

postal_code

String

CAP (Zipcode) del cliente

fiscal_code

String

Codice fiscale del cliente

vat_number

String

Partita IVA del cliente

nation

String

Sigla della nazione del cliente

Esempio IT, EN, ES, ..

city

String

Comune di residenza del cliente

province

String

Provincia di residenza del cliente

birth_date

Date

Data di nascita del cliente

Formato richiesto: YYYY-MM-DD

Risposta HTTP


HTTP/1.1 200 OK
Date: Fri, 16 Apr 2020 07:53:56 GMT
Content-Type: application/json
Content-Length: 261
Connection: keep-alive
x-amzn-RequestId: 167e43cc-a555-43a6-af27-e827c013970b
Access-Control-Allow-Origin: *
x-amz-apigw-id: d3dXDGWIDoEF99w=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-60794293-04be1dea4c5b75432e15cf7d;Sampled=0

{
	"result":true,
	"message":"API processata con successo",
	"response":{
		"body":
			{
				"codice":"1",
				"idAzienda":"paolino.angeletti@advise.it",
				"nascita":"1995-01-01",
				"codiceFiscale":"aaa",
				"ragioneSociale":"pablo_srl_2",
				"id":"C.21.9067.18"
			},
		"result":true,
		"statusCode":[200]
	}
}
							

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano della API

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato della procedura

response.body

Json

Lista dei dati inseriti. Da qui è possibile reperire l'id generato.

response.result

Boolean

Esito booleano della procedura

response.statusCode

Integer

Stato HTTP della procedura

F3. aggiornaFornitore

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/update/supplier

La funzione aggiorna un fornitore nella piattaforma.

Richiesta HTTP


POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/update/supplier?id=XXX HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
x-api-key: Your-API-Key
Content-Length: 120
Host: 1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
								

Esempio richiesta


ENDPOINT https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/update/supplier?id=1
POST 
{
	"fields" : 
	{
		"name" : "Mario",
		"vat_number" : "012547856320"
	}	
}
								

Parametri POST

Campo Tipo Descrizione Vincoli

business_name

String

Ragione sociale del cliente

Obbligatorio

code

String

Codice generico da assegnare al cliente

name

String

Nome anagrafico del cliente

surname

String

Cognome del cliente

address

String

Indirizzo del cliente

postal_code

String

CAP (Zipcode) del cliente

fiscal_code

String

Codice fiscale del cliente

vat_number

String

Partita IVA del cliente

nation

String

Sigla della nazione del cliente

Esempio IT, EN, ES, ..

city

String

Comune di residenza del cliente

province

String

Provincia di residenza del cliente

birth_date

Date

Data di nascita del cliente

Formato richiesto: YYYY-MM-DD

Risposta HTTP


HTTP/1.1 200 OK
Date: Thu, 22 Apr 2020 09:32:03 GMT
Content-Type: application/json
Content-Length: 193
Connection: keep-alive
x-amzn-RequestId: 70fc922c-fe5f-4f09-ac21-69e5e4239828
Access-Control-Allow-Origin: *
x-amz-apigw-id: eLdV5EnbjoEFQ2Q=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-6081428c-1e80e9612897adf73a47322f;Sampled=0

{
	"result" : true,
	"message" : "API processata con successo",
	"response"
	:
		{
			"body" : 
				{
					"nome" : "Mario"
					"id" : "XXXX"
				},
			"result" : true,
			"statusCode" : [200]
		}
}
							

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano della API

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato della procedura

response.body

Json

Lista dei dati inseriti. Da qui è possibile reperire l'id generato.

response.result

Boolean

Esito booleano della procedura

response.statusCode

Integer

Stato HTTP della procedura

C4. eliminaFornitore

DELETE https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/delete/supplier

La funzione elimina un fornitore dal sistema.

Richiesta HTTP


DELETE https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/delete/supplier?id=1 HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
x-api-key: Your-API-Key
Content-Length: 0
Host: 1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
								

Risposta HTTP


HTTP/1.1 200 OK
Date: Thu, 22 Apr 2020 10:23:28 GMT
Content-Type: application/json
Content-Length: 141
Connection: keep-alive
x-amzn-RequestId: 2fe6727a-d065-4ad7-9422-bba5bfa437a2
Access-Control-Allow-Origin: *
x-amz-apigw-id: eLk5AFiBjoEFwrQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-60814e9f-6dc2043b1cdd6acb235e7a71;Sampled=0

{
	"result" : true,
	"message" : "API processata con successo",
	"response" : 
	{
		"body" : 
		{
			"stato" : "1",
			"id" : "1"
		},
		"result" : true,
		"statusCode" : [200]
	}
}
								

Magazzino

Questa sezione elenca tutti i metodi disponibili per la gestione della risorsa Magazzino, intesa come gestione dei progressivi di magazzino, quali esistenza, ordinato da clienti, ecc..

M1. ottieniDatiMagazzino

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/counters

La funzione restituisce la lista degli ARTICOLI MOVIMENTATI, nonchè i vari progressivi di magazzino ad essi associati.

Richiesta HTTP

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/counters?max_results=5&page_number=1&search_item=libro HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
								

Parametri Richiesta

Campo Tipo Descrizione Vincoli

max_results

Integer

Intero che indica quanti risultati massimi ritornare

Maggiore di zero
Default: 25
Massimo: 100

page_number

Integer

Indica il numero di pagina richiesto dall'utente. Utile per eventuali paginazioni

Maggiore di zero

Default: 1

search_item

String

Eventuale chiave di ricerca da applicare. Tale chiave filtrerà cercando un ID articolo oppure un codice articolo oppure una descrizione articolo

warehouse_id

String

Eventuale ID del deposito da filtrare.
Per info sui depositi, leggi questo paragrafo

min_date

String

Data minima da applicare nella ricerca documenti.
Verranno ritornati solamente gli articoli movimentati da quella data in poi.
Si sottolinea che la data indicata verrà esclusa dalla ricerca

Formato: yyyy-MM-dd

max_date

String

Data massima da applicare nella ricerca documenti.
Verranno ritornati solamente gli articoli movimentati fino a quella data.
Si sottolinea che la data indicata verrà esclusa dalla ricerca

Formato: yyyy-MM-dd

Risposta HTTP

HTTP/1.1 200 OK
Date: Tue, 28 May 2019 15:32:00 GMT
Content-Type: application/json
Content-Length: 83
Connection: keep-alive
x-amzn-RequestId: b9f603a9-815d-11e9-aa93-a7efb415d2d8
x-amz-apigw-id: aZog7HzfjoEFVRQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5ced546c-1a89158fd4dad7b268d39960;Sampled=0

{
	"result" : true,
	"message" : "Procedura conclusa con successo",
	"response" : {
		"items" : [],
		"counters" : {
			"max_pages" : X,
			"used_limit" : X,
			"total_number" : X
		}
	}
}
								

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato finale

response.items

Json Array

Lista dei risultati che la procedura ha prodotto

response.items[i].item_id

String

ID dell'i-esimo articolo rilevato

response.items[i].item_barcode

String

Codice a barre dell'i-esimo articolo rilevato

response.items[i].item_stock

Float

Esistenza dell'i-esimo articolo rilevato

response.items[i].item_customer_ord

Float

Quantità di Ordinato-Da-Clienti dell'i-esimo articolo rilevato

response.items[i].item_supplier_ord

Float

Quantità di Ordinato-A-Fornitori dell'i-esimo articolo rilevato

response.items[i].item_load

Float

Esistenza positiva (carico) dell'i-esimo articolo rilevato

response.items[i].item_code

String

Codice primario dell'i-esimo articolo rilevato

response.items[i].item_location

JSON

Ubicazioni dell'i-esimo articolo rilevato
NB: Ciascuna riga sarà composta da IDDeposito e Ubicazione. Esempio:
{
ID1 : Ubi1
ID1 : Ubi2
}

Per info sui depositi, leggi questo paragrafo

response.items[i].item_in_transf

Float

Quantità trasferita positiva (DDT Trasferimento IN) dell'i-esimo articolo rilevato

response.items[i].item_min_stock

Float

Scorta minima dell'i-esimo articolo rilevato

response.items[i].item_out_transf

Float

Quantità trasferita negativa (DDT Trasferimento OUT) dell'i-esimo articolo rilevato

response.items[i].item_download

Float

Esistenza negativa (scarico) dell'i-esimo articolo rilevato

response.items[i].item_description

String

Descrizione dell'i-esimo articolo rilevato

response.counters

Json

Contatori addizionali utili a paginazioni terze

response.counters.max_pages

Integer

Numero massimo di pagine ottenibile tramite gli input ricevuti.

response.counters.used_limit

Integer

Limite usato nelle ricerche.

response.counters.total_number

Integer

Numero massimo di record ottenibile tramite gli input inseriti.

Storico articolo

Questa sezione elenca tutti i metodi disponibili per la gestione della risorsa Storico articolo, intesa come lista di documenti che coinvolgono uno specifico articolo codificato nella piattaforma.

S1. ottieniStoricoArticolo

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/historical

La funzione restituisce la lista dei documenti che coinvolgono uno specifico articolo.

Richiesta HTTP

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/historical?article_id=X.X.X.X HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
								

Parametri Richiesta

Campo Tipo Descrizione Vincoli

article_id

String

ID dell'articolo da processare

Obbligatorio

customer

String

Ragione sociale del cliente da filtrare

Il valore ricevuto verrà processato in modalità di contenimento, applicando la classica clausola LIKE

supplier

String

Ragione sociale del fornitore da filtrare

Il valore ricevuto verrà processato in modalità di contenimento, applicando la classica clausola LIKE

start_date

String

Data iniziale da applicare nella ricerca dei documenti

Formato dd/MM/yyyy

final_date

String

Data finale da applicare nella ricerca dei documenti

Formato dd/MM/yyyy

warehouse_id

String

Eventuale ID del deposito da filtrare.
Per info sui depositi, leggi questo paragrafo

max_results

Integer

Intero che indica quanti risultati massimi ritornare

Maggiore di zero

Default: 25

page_number

Integer

Indica il numero di pagina richiesto dall'utente. Utile per eventuali paginazioni

Maggiore di zero

Default: 1

Risposta HTTP

HTTP/1.1 200 OK
Date: Tue, 21 Feb 2020 14:48:12 GMT
Content-Type: application/json
Content-Length: 586
Connection: keep-alive
x-amzn-RequestId: b9f603a9-815d-11e9-aa93-a7efb415d2d8
x-amz-apigw-id: aZog7HzfjoEFVRQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5ced546c-1a89158fd4dad7b268d39960;Sampled=0

{
	"result" : true,
	"message" : "API processata con successo",
	"response" : {
		"result" : true,
		"info" : "Some text ..",
		"items" : [
			{
				"customer" : X ,
				"supplier" : X ,
				"document_id" : X ,
				"total_amount" : X ,
				"warehouse_id" : X ,
				"document_date" : X ,
				"document_user" : X ,
				"document_type" : X ,
				"document_number" : X ,
				"article_quantity" : X ,
				"last_update_time" : X ,
				"previous_document_id" : X
			},
			{
				..
			}
		],
		"counters" : {
			"max_pages": X,
			"used_limit": X,
			"total_number": X,
			"initial_stock": X,
			"used_start_date": X
		}
	}
}
								

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json

Contenitore del risultato finale

response.result

Boolean

Esito booleano della procedura

response.info

String

Esito testuale della procedura

response.items

Json Array

Contenitore dei documenti rilevati

response.items[i].customer

String

Ragione sociale dell'eventuale cliente del documento

response.items[i].supplier

String

Ragione sociale dell'eventuale fornitore del documento

response.items[i].document_id

String

ID del documento rilevato

response.items[i].total_amount

Float

Totale del documento

response.items[i].warehouse_id

String

ID del deposito coinvolto nel documento

response.items[i].warehouse_name

String

Nome rappresentativo del deposito coinvolto nel documento

response.items[i].document_date

String

Data di rilascio del documento

response.items[i].document_user

String

Operatore creatore del documento

response.items[i].document_type

String

Tipologia del documento rilevato
Per info, leggi questo paragrafo

response.items[i].document_type_name

String

Descrizione della sigla documento ricevuta

response.items[i].document_url

String

URL che identifica il file PDF del documento rilevato

response.items[i].document_number

String

Numero assegnato al documento

response.items[i].article_quantity

Float

Quantità dell'articolo presente nel documento

response.items[i].last_update_time

Timestamp

Timestamp dell'ultima modifica eseguita sul documento rilevato

response.items[i].previous_document_id

String

ID dell'eventuale documento padre che ha generato il documento rilevato

response.counters

Json

Contenitore di ulteriori informazioni riguardo la richiesta

response.counters.total_number

Integer

Numero totale dei documenti associati all'articolo

response.counters.max_pages

Integer

Numero massimo di pagine visualizzabili in base al limit ricevuto

response.counters.used_start_date

String

Data iniziale usata nella ricerca documenti

response.counters.used_limit

Integer

Limite di risultati usato nella richiesta effettuata

response.counters.initial_stock

Float

Se viene ricevuta una data iniziale, la API ritorna lo stock iniziale a quella data. Negli altri casi, verrà ritornato 0.

Documento

Questa sezione elenca tutti i metodi disponibili per la gestione della risorsa Documento.

DOC1. ottieniTipologiaDocumenti

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/document/type

La funzione restituisce tutte le tipologie di documenti previsiti e gestibili in NegozioPerfetto.

Richiesta HTTP

GET https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/get/document/type HTTP/1.1
Accept-Encoding: gzip,deflate
x-api-key: Your-API-Key
Connection: Keep-Alive
								

Risposta HTTP

HTTP/1.1 200 OK
Date: Tue, 21 Feb 2020 14:48:12 GMT
Content-Type: application/json
Content-Length: 586
Connection: keep-alive
x-amzn-RequestId: b9f603a9-815d-11e9-aa93-a7efb415d2d8
x-amz-apigw-id: aZog7HzfjoEFVRQ=
x-custom-header: header_api
X-Amzn-Trace-Id: Root=1-5ced546c-1a89158fd4dad7b268d39960;Sampled=0

{
	"result" : true,
	"message" : "API processata con successo",
	"response" : [
		{
			"document_type": "DDT",
			"desc_ita": "Documento di trasporto",
			"desc_eng": "Transport document"
		},
		{
			..
		}
	]
}
								

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json Array

Contenitore del risultato finale

response[i].document_type

String

Sigla della tipologia del documento

response[i].desc_ita

String

Descrizione testuale italiana del tipo documento

response[i].desc_eng

String

Descrizione testuale inglese del tipo documento

OF1. creaOrdineFornitore

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/document/supplier-order

La funzione provvede alla creazione di un nuovo ordine fornitore in NegozioPerfetto.

Richiesta HTTP


POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/document/supplier-order HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
x-api-key: Your-API-Key
Content-Length: 371
Host: 1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
								

Esempio richiesta


{
	"document":{
		"number" : "test_doc_01",
		"date": "2020-04-16",
		"subject_id" : "XXX",
		"warehouse_id" : "XXX"
	},
	"rows":[
		{
			"quantity" : "1",
			"article_id": "XXX",
			"tax_rate" : "22",
			"unit_price" :"16.84"
		},
		{
			"quantity" : "12",
			"article_id": "XXX",
			"discount_perc" : "45",
			"unit_price" :"8"
		}
	]
}
								

Parametri Richiesta

Campo Tipo Descrizione Vincoli

document

JSON

Dati del documento da creare

Obbligatorio

document.number

String

Numero del documento da creare

Obbligatorio

document.date

Date

Data del documento

Obbligatorio e nel formato YYYY-MM-DD

document.delivery_date

Date

Data di consegna dell'ordine

Formato YYYY-MM-DD

document.warehouse_id

String

ID del deposito

Obbligatorio

document.shipping_cost

Float

Costi di spedizione previsti per l'ordine.Il valore deve contenere eventuali imposte aggiuntive (Es. IVA)

document.shipping_tax_rate

Float

Aliquota di imposta da applicare alla spedizione

Compreso tra 0 e 100

document.notes

String

Note applicate all'ordine

Lunghezza massima: 255

document.pack_number

Integer

Numero di colli previsti dall'ordine

Il valore deve essere intero positivo

document.subject_id

String

ID del fornitore a cui associare l'ordine

Obbligatorio

rows

JSON

Righe da inserire nell'ordine

Obbligatorio e con almeno un elemento

rows.quantity

Float

Quantità della riga

Obbligatorio e maggiore di zero

rows.article_id

String

ID dell'articolo ordinato

Obbligatorio

rows.package_code

String

Eventuale collo specifico della transazione

Lunghezza massima 15

rows.discount_perc

Float

Percentuale di sconto applicato all'articolo

Valore compreso tra 0 e 100

rows.tax_rate

Float

Aliquota d'imposta applicata alla transazione

Valore compreso tra 0 e 100. Se assente, il default usato è 22

rows.unit_price

Float

Prezzo unitario dell'articolo ordinato.

Questo prezzo dovrà essere ESCLUSO da tasse e sconti

rows.line_number

Integer

Numero di riga dell'ordine

Valore intero positivo

Risposta HTTP


{
   "result": true,
   "message": "API processata con successo",
   "response":    {
      "body":       {
         "movimenti": [{
               "id": "D.21.4610.15.0",
			   ...
            },{
               "id": "D.21.4610.15.1",
			   ...
            }],
         "dati_documento":          {
            "id": "D.21.4610.15",
			...
         }
      },
      "result": true,
      "statusCode": [200]
   }
}
								

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano della API

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json Array

Contenitore del risultato finale della procedura

OC1. creaOrdineCliente

POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/document/customer-order

La funzione provvede alla creazione di un nuovo ordine cliente in NegozioPerfetto.

Richiesta HTTP


POST https://1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com/create/document/customer-order HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
x-api-key: Your-API-Key
Content-Length: 371
Host: 1v7y6w1ki1.execute-api.eu-west-1.amazonaws.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
								

Esempio richiesta


{
	"document":{
		"number" : "test_doc_01",
		"date": "2020-04-16",
		"subject_id" : "XXX",
		"warehouse_id" : "XXX"
	},
	"rows":[
		{
			"quantity" : "1",
			"article_id": "XXX",
			"tax_rate" : "22",
			"unit_price" :"16.84"
		},
		{
			"quantity" : "12",
			"article_id": "XXX",
			"discount_perc" : "45",
			"unit_price" :"8"
		}
	]
}
								

Parametri Richiesta

Campo Tipo Descrizione Vincoli

document

JSON

Dati del documento da creare

Obbligatorio

document.number

String

Numero del documento da creare

Obbligatorio

document.date

Date

Data del documento

Obbligatorio e nel formato YYYY-MM-DD

document.delivery_date

Date

Data di consegna dell'ordine

Formato YYYY-MM-DD

document.warehouse_id

String

ID del deposito

Obbligatorio

document.shipping_cost

Float

Costi di spedizione previsti per l'ordine.Il valore deve contenere eventuali imposte aggiuntive (Es. IVA)

document.shipping_tax_rate

Float

Aliquota di imposta da applicare alla spedizione

Compreso tra 0 e 100

document.notes

String

Note applicate all'ordine

Lunghezza massima: 255

document.pack_number

Integer

Numero di colli previsti dall'ordine

Il valore deve essere intero positivo

document.subject_id

String

ID del cliente a cui associare l'ordine

Obbligatorio

rows

JSON

Righe da inserire nell'ordine

Obbligatorio e con almeno un elemento

rows.quantity

Float

Quantità della riga

Obbligatorio e maggiore di zero

rows.article_id

String

ID dell'articolo ordinato

Obbligatorio

rows.package_code

String

Eventuale collo specifico della transazione

Lunghezza massima 15

rows.discount_perc

Float

Percentuale di sconto applicato all'articolo

Valore compreso tra 0 e 100

rows.tax_rate

Float

Aliquota d'imposta applicata alla transazione

Valore compreso tra 0 e 100. Se assente, il default usato è 22

rows.unit_price

Float

Prezzo unitario dell'articolo ordinato.

Questo prezzo dovrà essere ESCLUSO da tasse e sconti

rows.line_number

Integer

Numero di riga dell'ordine

Valore intero positivo

Risposta HTTP


{
   "result": true,
   "message": "API processata con successo",
   "response":    {
      "body":       {
         "movimenti": [{
               "id": "D.21.4610.15.0",
			   ...
            },{
               "id": "D.21.4610.15.1",
			   ...
            }],
         "dati_documento":          {
            "id": "D.21.4610.15",
			...
         }
      },
      "result": true,
      "statusCode": [200]
   }
}
								

Parametri risposta

Campo Tipo Descrizione

result

Boolean

Indica un esito in stile booleano della API

message

String

Eventuale informazione che ha prodotto l'esito ricevuto in 'result'

response

Json Array

Contenitore del risultato finale della procedura