Metodo HTTP: PUT
Endpoint: https://MIOSERVER/store360_api/
Comando:
Comando per aggiornare uno o più ordini: orders (es:
https://MIOSERVER/store360_api/orders)
Parametri:
**xml così strutturato:
<Store360Request Verb="aggiornastatoordini">
<Ordini>
<Ordine>
<OrdineId>Numero ordine</OrdineId>
<OrdineInt>Numero ordine interno</OrdineInt>
<Stato>PAGATOESPEDITO</Stato>
<Data>2022-04-27 11:00:00</Data>
<TrackingNumber>Numero tracking</TrackingNumber>
<CarrierUsed>Corriere</CarrierUsed>
<ShippingMethod>Metodo di spedizione</ShippingMethod>
</Ordine>
</Ordini>
</Store360Request>
Il campo contiene la data di spedizione, se omesso prende la data / ora attuale.
Il campo deve avere uno tra i seguenti valori:
- PAGATO
- SPEDITO
- PAGATOESPEDITO
Esempio CURL Linea di comando:
curl --location --request PUT 'https://MIOSERVER/store360_api/orders' \
--header 'Content-type: application/xml' \
--header 'Authorization: Bearer
aW5mb0BkcnZyYW5qZXMuvvaXQ6QCNfXys6RFJWIzEyMTY=' \
--data-raw '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Store360Request Verb="aggiornastatoordini">
<Ordini>
<Ordine>
<OrdineId>123456789</OrdineId>
<OrdineInt>1235</OrdineInt>
<Stato>PAGATOESPEDITO</Stato>
<Data>2022-04-27 11:00:00</Data>
<TrackingNumber>JH200758153GB</TrackingNumber>
<CarrierUsed>Corriere</CarrierUsed>
<ShippingMethod>Metodo di spedizione</ShippingMethod>
</Ordine>
</Ordini>
</Store360Request>'
Esempio chiamata php curl:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://MIOSERVER/store360_api/orders',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS =>'<Store360Request>
<Ordini>
<Ordine>
<OrdineId>123456789</OrdineId>
<Stato>PAGATOESPEDITO</Stato>
<OrdineInt>1235</OrdineInt>
<Data>2018-07-20 13:35:00</Data>
<TrackingNumber>RL7757A5310</TrackingNumber>
<CarrierUsed>TNT</CarrierUsed>
</Ordine>
<Ordine>
<OrdineId>12345678910</OrdineId>
<Stato>PAGATOESPEDITO</Stato>
<OrdineInt>1234</OrdineInt>
<Data>2018-07-20 13:35:01</Data>
<TrackingNumber>RL77X575311</TrackingNumber>
<CarrierUsed>TNT</CarrierUsed>
</Ordine>
</Ordini>
</Store360Request>',
CURLOPT_HTTPHEADER => array(
'Content-type: application/xml',
'Authorization: Bearer aW5mb0BkcnZyYW5qZXMuaXQ6kkQCNfXys6RFJWIzEyMTY='
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
______________
XML di risposta alle chiamate
Ad ogni chiamata POST http l’applicativo STORE360 risponde con un file XML così
composto:
<?xml version="1.0" encoding="UTF-8" ?>
<Store360Response To=" ..verbo della chiamata a STORE360.. ">
<Timestamp> ..timestamp del server STORE360.. </Timestamp>
<Ack> ..risultato della chiamata.. [OK|KO] </Ack>
<MessaggioErrore> ..messaggio di errore solo se Ack=KO.. </MessaggioErrore>
<CodiceErrore> ..codice errore solo se Ack=KO.. </CodiceErrore>
<Output> ..messaggio di output, presente solo se Ack=OK </Output>
</Store360Response>
Il nodo contiene sotto-nodi diversi a seconda del tipo di chiamate (verbi).
Risposta alla chiamata per l’export degli ordini
Alla fine dell’elaborazione del file XML, STORE360 genera una risposta con un ACK=OK
se tutto è andato a buon fine mentre con un ACK=KO se vi è stato un errore ritornando
anche un codice e un messaggio di errore.
In caso di esito positivo il nodo , non presente in caso di errore, conterrà una
sequenza di oggetti con i dettagli dell’ordine.
<Output>
<Ordine>
<OrdineId></OrdineId>
[…]
<Note></Note>
<Prodotti>
<Prodotto>
<Codice></Codice>
<Nome></Nome>
<Qta></Qta>
<Prezzo></Prezzo>
<Iva></Iva>
</Prodotto>
</Prodotti>
[…]
</Ordine>
</Output>