Webservice‎ > ‎Order API‎ > ‎

List

La chiamata List ha la seguente firma:

OrderListResponse List(OrderListRequest request);

Cosa permette di fare

La chiamata List permette di recuperare tutte le informazioni relative agli ordini gestiti da eDock. E' possibile fare uso di filtri di ricerca evoluti come data di creazione, data di spedizione, modulo che ha generato l'ordine, nome e cognome del cliente, pagato / non pagato e tanti altri. E' necessario precisare che è possibile scaricare, nell'arco di un mese, un numero massimo di ordini nuovi (ovvero non scaricati in precedenza) pari a quello definito nel contratto eDock del cliente.

Limitazioni

  • Non è possibile farsi ritornare, contemporaneamente alla ricezione dell'ordine, l'intera anagrafica articolo. Per tale necessità il nostro suggerimento è quello di memorizzarsi temporaneamente gli SKU dei codici articoli non conosciuti ed effettuare, ad importazione terminata, una chiamata Info alle Product API.
  • Non è possibile effettuare una ricerca utilizzando i filtri in OR. Per compiere tale ricerca il nostro suggerimento è effettuare più ricerche differenti.

Richiesta

In rosso sono evidenziate le proprietà obbligatorie.

ATTENZIONE! Tutti i filtri utilizzabili per la ricerca degli ordini sono considerati in AND, ovvero verranno presentati solo gli ordini che rispettano tutti i filtri passati. Non è possibile effettare una ricerca utilizzando tali filtri in OR. Per compiere tale operazione il nostro suggerimento è effettuare più ricerche differenti.

 Proprietà Tipo Descrizione
 DetailLevel OrderListRequestDetailEnumEnumerativo flag (ovvero che ammette più valori contemporaneamente) per stabilire il livello di dettaglio degli ordini desiderato. Questo parametro deve essere necessariamente utilizzato per permettere il ritorno delle sole informazioni necessarie senza sprechi di banda nè di calcolo da parte di eDock. Ricordiamo che eDock mantiene traccia delle richieste effettuate e, a campione, analizza i log con cadenza regolare. Un uso improprio può portare alla disabilitazione dell'account.

Valori ammessi:
  • BillingAddress: vengono scaricate le informazioni di spedizione dell'ordine
  • History: attualmente ignorato.
  • Rows: vengono scaricate le informazioni sulle righe dell'ordine
  • ShippingAddress: vengono scaricate le informazioni di fatturazione dell'ordine
 Filter OrderListRequestFilter Contenitore per il filtro di ricerca
 Filter.CreatedOnStart DateTime? Filtro sulla data di creazione (compresa). Se impostata non vengono ritornati ordini creati prima di tale data.
 Filter.CreatedOnEnd
 DateTime? Filtro sulla data di creazione (esclusa). Se impostata non vengono ritornati ordini creati dopo tale data.
 Filter.CustomerFilter String Filtro sul nome o cognome del cliente. E' possibile fare uso del wildcard % per ricercare valori ignoti. Esempio:
  • Marco%: ricercherà tutto ciò che inizia per Marco
  • %Marco: ricercherà tutto ciò che finisce per Marco
  • %Marco%: ricercherà tutto ciò che contiene per Marco
 Filter.eBayUserName
 String Filtro sul nome utente eBay che ha generato l'ordine. Anche in questo caso è possibile fare uso del wildcard %.
 Filter.isGift Bool? Ritorna gli ordini che sono contrassegnati come regalo se impostato a true.
 Filter.ModuleFilter Stirng[] Ritorna gli ordini che sono stati generati da uno tra i moduli passati all'interno di questo campo.
 Filter.Paid Bool? Ritorna gli ordini che sono contrassegnati come pagati se impostato a true.
 Filter.ShippedOnStart DateTime? Filtro sulla data di spedizione. Se impostata, non vengono ritornati ordini spediti prima di tale data.
 Filter.ShippedOnEnd
 DateTime? Filtro sulla data di spedizione. Se impsotata, non vengono ritornati ordini spediti dopo tale data.
 Filter.SKU String Ritorna tutti gli ordini che contengono almeno una riga con questo codice prodotto.
 Filter.StatusFilter String
 Ritorna tutti gli ordini che si trovano in un particolare stato.
 PageNumber IntNumero di pagina da scaricare. Per ottimizzare il trasferimento dati, le informazioni vengono inviate in blocchi di dimensioni configurabili. Questa proprietà imposta quale pagina scaricare. Il valore iniziale è 0.
 PageSize Int
 Numero di ordini per pagina. Si suggerisce di non inserire un valore superiore a 30 per ottimizzare i tempi di trasferimento.

Risposta

 Proprietà Tipo Descrizione
 Orders OrderEntry[] Contenitore degli ordini
 Orders.Order OrderEntry Ordine
 Orders.Order.BillingAddress OrderBillingInfo Contenitore delle informazioni di fatturazione
 Orders.Order.BillingAddress.Address String Indirizzo
 Orders.Order.BillingAddress.City Stirng Città
 Orders.Order.BillingAddress.Company String Azienda
 Orders.Order.BillingAddress.County String Provincia
 Orders.Order.BillingAddress.Country String Nazione
 Orders.Order.BillingAddress.Email String Email
 Orders.Order.BillingAddress.FirstName String
 Nome
 Orders.Order.BillingAddress.FiscalCode String Codice fiscale
 Orders.Order.BillingAddress.LastName String Cognome
 Orders.Order.BillingAddress.Telephone1 String Telefono 1
 Orders.Order.BillingAddress.Telephone2 String Telefono 2
 Orders.Order.BillingAddress.VATCode String Partita IVA
 Orders.Order.BillingAddress.ZipCode String Codice postale
 Orders.Order.CreatedOn DateTime
 Data di creazione dell'ordine
 Orders.Order.Currency Stirng Codice ISO della valuta dell'ordine
 Orders.Order.idCustomer Int ID cliente eDock. Questo ID permette di capire precisamente se l'ordine è stato generato da un cliente già recepito.
 Orders.Order.idOrder Guid ID ordine eDock. Questo è l'ID con cui referenziare l'ordine per le successive operazioni.
 Orders.Order.isGift Bool Indica se l'ordine è un regalo (true) o meno (false)
 Orders.Order.isPaid Bool Indica se l'ordine è pagato (true) o meno (false)
 Orders.Order.OwnerModule
 String Modulo che ha generato l'ordine
 Orders.Order.PaymentMethod String
 Metodo di pagamento selezionato
 Orders.Order.Rows OrderRow[]
 Contenitore delle righe dell'ordine
 Orders.Order.Rows.Row OrderRow Contenitore della riga dell'ordine
 Orders.Order.Rows.Row.Discount
 Double Sconto applicato sulla riga. Lo sconto è sempre inteso come fisso (cioè non è mai percentuale).
 Orders.Order.Rows.Row.Price Double Prezzo di vendita dell'oggetto.
 Orders.Order.Rows.Row.Quantity Double Quantità acquistata.
 Orders.Order.Rows.Row.SKU
 String Codice prodotto acquistato.
 Orders.Order.ShippingAddress OrderShippingInfo Contenitore delle informazioni di spedizione
 Orders.Order.ShippingAddress.Address
 String Indirizzo
 Orders.Order.ShippingAddress.City
 String
 Città
 Orders.Order.ShippingAddress.Company String Azienda
 Orders.Order.ShippingAddress.County String
 Provincia
 Orders.Order.ShippingAddress.Country
 String
 Nazione
 Orders.Order.ShippingAddress.Email String
 Email
 Orders.Order.ShippingAddress.FirstName String
 Nome
 Orders.Order.ShippingAddress.LastName
 String
 Cognome
 Orders.Order.ShippingAddress.Telephone1 String
 Telefono 1
 Orders.Order.ShippingAddress.Telephone2 String
 Telefono 2
 Orders.Order.ShippingAddress.ZipCode String
 Codice postale
 Orders.Order.ShippingCost Double Costo di spedizione
 Orders.Order.ShippingMethod String
 Metodo di spedizione selezionato.
 Orders.Order.Status String
 Stato in cui si trova l'ordine
 TotalRecordsCount Int Numero totale di ordini da ritornare

Errori possibili

 ErrorCode 
 Significato
 AUTH0001 Impossibile autenticare l'utente. Il nome utente o i token non sono validi o non sono corretti.
 PRODUCTLIST001 Il parametro PageSize passato non è valido. Occorre impostare un valore maggiore di 0.
 PRODUCTLIST002 Il parametro PageNumber passato non è valido. Occorre impostare un valore compreso tra 0 e X (dove X viene cambiato di volta in volta), in funzione dei risultati effettivamente individuati su eDock.

Esempio richiesta XML

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:edoc="http://schemas.datacontract.org/2004/07/eDock.Api.Classes" xmlns:edoc1="http://schemas.datacontract.org/2004/07/eDock.Api.Classes.Order" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:List>
         <!--Optional:-->
         <tem:filter>
            <edoc:ApiToken>[il vostro token eDock]</edoc:ApiToken>
            <edoc:Culture>it</edoc:Culture>
            <edoc:Type>Normal</edoc:Type>
            <edoc:eDockUsername>[il vostro nome utente eDock]</edoc:eDockUsername>
            <!--<edoc1:BaseCurrency xsi:nil="true" />-->
            <!--<edoc1:DetailLevel>BillingAddress ShippingAddress Rows</edoc1:DetailLevel>-->
            
            <!--
            <edoc1:Filter>
            <edoc1:CreatedOnEnd>2012-06-01</edoc1:CreatedOnEnd>
               <edoc1:CreatedOnStart>2012-05-01</edoc1:CreatedOnStart>
               <edoc1:CustomerFilter>Mario%</edoc1:CustomerFilter>
               <edoc1:Paid>false</edoc1:Paid>
               <edoc1:isGift>false</edoc1:isGift>
               <edoc1:StatusFilter>Acquistato</edoc1:StatusFilter>             
               <edoc1:SKU>001</edoc1:SKU>
               <edoc1:ShippedOnStart>2012-06-01</edoc1:ShippedOnStart>
               <edoc1:ShippedOnEnd>2012-05-01</edoc1:ShippedOnEnd>
               <edoc1:eBayUserName>testuser_edock</edoc1:eBayUserName>
               <edoc1:ModuleFilter>
                  <arr:string>eDock4eBay</arr:string>
               </edoc1:ModuleFilter>
            </edoc1:Filter>
            -->
            
            <edoc1:PageNumber>0</edoc1:PageNumber>
            <edoc1:PageSize>20</edoc1:PageSize>
            <!--<edoc1:UseOriginalCurrency>false</edoc1:UseOriginalCurrency>-->
         </tem:filter>
      </tem:List>
   </soapenv:Body>
</soapenv:Envelope>