SellRapido -Guida in linea

Guida in linea - API

API




API

API ESTRAZIONE ORDINI
API ESTRAZIONE PRODOTTI

Caratteristiche Generali delle API

Le API sono accessibili con chiamate REST. Per usarle occorre scrivere a supporto@sellrapido.com per chiedere una apposita API Key.
Ogni chiamata API dovrà includere nella URL l'API key
 
La forma generale di una chiamata API è
 
https://app.sellrapido.com/sr_company_ws/api/path/api_key
 
path: percorso che identifica la chiamata da effettuare sul server, deve essere SOSTITUITO con uno dei valori indicati nei paragrafi seguenti
api_key: API key assegnata all'utente
 
Il body della richiesta deve essere un JSON che contiene i vari parametri della richiesta
 


API ESTRAZIONE ORDINI

Questa api serve per scaricare da sellrapido tutti i vostri ordini , così da importarli in un vostro gestionale e seguire in autonomia l'evasione degli stessi

 
Metodo HTTP: POST
 
Il body della richiesta deve avere la seguente forma

I vari parametri sono opzionali e permettono di costruire filtri per selezionare gli ordini da scaricare 
 
{
  “startDate”: "yyyy-mm-dd",
  “endDate”: "yyyy-mm-dd",
  “code”: ,
  “format”: “csv”|”json” (se non specificato vale “json”),
  “status”: “sent”|”standby”|”cancelled”|”accepted”,
  “columnSeparator”: separatore di colonna per formato csv (es: "|"),
  “writeHeading”: true|false (true per stampare le intestazioni di colonna, se non specificato vale “true”),
  “offset”: primo record da estrarre,
  “limit”: numero di record da estrarre (-1 per estrarli tutti, di default vale /immagini_guida/cred-yatego-1.png )
}
 
startDate, endDate, codestatus sono parametri di filtro utilizzati con logica "AND" , tutti i parametri sono opzionali.

Nota:
Nella estrazione ordini via API il campo code è opzionale.
Se valorizzato deve contenere un array di codici ordine che verrà utilizzato per estrarre solo gli ordini corrispondenti ai quei codici, quindi ad esempio

"code": ["224341564","AXDF5-23542","SDER-465632"]

i codici ordine sono quelli assegnati dal marketplace (non è l'id Sellrapido)


Campi del post-vendita

I campi possono essere valorizzati o meno a seconda che il marketplace permetta o meno di scaricarla (ad esempio le commissioni di vendita/pagamento non sono sempre disponibili ).

Come regola generale sono sempre disponibili i dati necessari ad effettuare la spedizione, quindi

- merce ordinata (sku, prezzo quantità, etc.)
- indirizzo di fatturazione
- indirizzo di spedizione

tutte le informazioni aggiuntive, specie quelle relative ai costi, fornitore, corriere vengono inserite a mani dal Seller oppure in automatico da SR ove sia possibile incrociare i dati con i listini di pre vendita.

I campi prefissati con h. sono quelli della testata ordine mentre quelli prefissati con r. sono quelli delle righe ordine

h.agent riferimento agente, inserito a mani in SR
h.billed 1 se l'oridne è stato esportato da SR per fatturazione
h.buyer_address1 indirizzo
h.buyer_address1_dd indirizzo - destinazione diversa
h.buyer_address2 indirizzo riga aggiuntiva
h.buyer_address2_dd indirizzo riga aggiuntiva - destinazione diversa
h.buyer_checkout_message messaggio lasciato dal buyer
h.buyer_city citta
h.buyer_city_dd citta - destinazione diversa
h.buyer_country nazione
h.buyer_country_dd nazione - destinazione diversa
h.buyer_email email
h.buyer_fax fax
h.buyer_fax_dd fax destinazone diversa
h.buyer_fiscal_code codice fiscale
h.buyer_invoice_ecode codice per fatturaiozne elettronica
h.buyer_latitude non utilizzato
h.buyer_latitude_dd non utilizzato
h.buyer_loc_place non utilizzato
h.buyer_loc_place_dd non utilizzato
h.buyer_longitude non utilizzato
h.buyer_longitude_dd non utilizzato
h.buyer_mobile tel. cellulare
h.buyer_mobile_dd tel. cellulare - destinazione diversa
h.buyer_name nominativo buyer
h.buyer_name_dd nominativo buyer - destinazione diversa
h.buyer_pec email certificata
h.buyer_phone telefono
h.buyer_phone_dd telefono - destinazione diversa
h.buyer_province provincia
h.buyer_province_dd provincia - destinazione diversa
h.buyer_token non utilizzato
h.buyer_user_id id buyer lato marketplace
h.buyer_vat partita iva
h.buyer_zip cap
h.buyer_zip_dd cap destinazione diversa
h.channel_code codice canale marketplace
h.cod_cash_only 1 se pagamento in contrassegno con contante
h.cod_option non utilizzato
h.cod_price costo contrassegno
h.code codice ordine assegnato dal marketplace
h.code_number numero ordine assegnato dal marketplace
h.content_type valorizzato a mani in SR, descrive il contenuto dell'ordine
h.courier id corriere, valorizzato a mani in SR
h.courier_code codice corriere del marketplace, scari cato dal marketplace se disponibile
h.created data creazione in SR
h.currency codice valuta
h.customer id buyer codificato in SR
h.date_last_delivery ultima data utile per la consegna
h.date_last_ship ultima data utile per la iniziare la spedizione
h.date_order data ordine
h.date_payment data pagamento
h.date_shipping data spedizione
h.feedbacks_date data in cui è stato lasciato l'ultimo feedback
h.fields_lock elenco campi bloccati (campo di sistema)
h.hidden 1 per indicare che l'oridne è arhciviato e quindi non più visibile in SR
h.id id ordine SR
h.insurance_code non utilizzato
h.is_prime 1 pe rindicare che è un ordine Amazon Prime
h.marketplace_code codice marketplace
h.marketplace_country nazione marketplace
h.marketplace_fee commissioni marketplace
h.marketplace_payment_info_date data in cui sono state scaricate alcune info aggiuntive oridne (solo per Amazon), è un campo di sistema
h.merchant_id codice seller
h.modified data modifica ordine
h.note note ordine
h.payment_code codice metodo pagamento marketplace
h.payment_note note pagamento
h.paypal_fee commissioni paypal
h.paypal_transaction_id id transazione paypal
h.price totale ordine comprnesivo di tutto (iva, sconti, etc.)
h.price_discount_markup eventuale sconto ricarico applicato, è un campo calcolato per differenza per far tornare il totale
h.problem_description descrizione eventuale problema
h.reference_1 persona di riferimento 1
h.reference_2 persona di riferimento 2
h.run_request campo di sistema
h.shipped_by_marketplace 1 se è un ordine in logistica marketplace
h.shipping_code codice metodo spedizione marketplace
h.shipping_cost costo spedizione (eventuale costo sostenuto dal seller)
h.shipping_insurance_price non utilizzato
h.shipping_note note spedizione
h.shipping_price spese spedizione (eventuale costo sostenuto dal buyer)
h.shop campo di sistema
h.status stato ordine
h.status_message messaggio associato alo stato ordine (di norma un errore)
h.status_old campo di sistema: stato ordine precedente
h.supplier_code codice fornitore
h.tags elenco tag associate all'ordine
h.tracking codice tracking
h.weight peso complessivo
r.brand marca
r.category_id id categoria prodotto marketplace
r.category_name nome categoria prodotto marketplace
r.cod_price non utilizzato
r.courier_code codice corriere del marketplace, scari cato dal marketplace se disponibile
r.created data creazione in SR
r.date_payment non utilizzato
r.date_shipping non utilizzato
r.ean codice ean
r.fields_lock elenco campi bloccati (campo di sistema)
r.id id riga ordine SR
r.image_url url immagine prodotto
r.marketplace_fee commissioni marketplace
r.modified data modifica in SR
r.mpn codice prodotto del produttore
r.note note
r.on_demand_date data in cui il prodotto può essere spedito
r.order_head rif id ordine SR
r.order_row_supplier rif id riga ordine fornitore (se esiste)
r.order_supplier non utilizzato
r.order_supplier_code non utilizzato
r.price prezzo prodotto (può essere o meno con IVA a seconda del marketplace)
r.price_cost costo prodotto (valorizzato a mani o in base al listino di prevendita)
r.price_discount_markup eventuale sconto ricarico applicato
r.price_total total edi riga
r.product_id id prodotto lato marketplace
r.quantity quantità ordinata
r.refund_date data rimborso
r.refund_price importo rimborsato
r.refund_reason ragione del rimborso
r.shipping_code non utilizzato
r.shipping_cost costo spedizione (eventuale costo sostenuto dal seller)
r.shipping_insurance_price non utilizzato
r.shipping_note note spedizione
r.shipping_price spese spedizione (eventuale costo sostenuto dal buyer)
r.sku SKU prodotto
r.sku_parent SKU prodotto padre (per le varianti)
r.stock_unloaded campo di sistema
r.supplier id del fornitore
r.title titolo
r.title_extra non utilizzato
r.tracking tracking a livello di riga (non conosco casi in cui è utilizzato)
r.transaction_id id transazione lato marketplace (es: id transazione eBay)
r.vat_perc percentuale IVA


Aggiornamento stato ordini

Questa api serve per aggiornare, dato un ordine:

- lo stato
- le informazioni di tracking e corriere
- la data di pagamento

E possibile fare aggiornamenti massivi di più ordini con unica chiamata.

E possibile aggiornare il tracking e corriere, ma non rimuoverli.

E possibile aggiornare la data di pagamento, ma non rimuoverla.


https://app.sellrapido.com/sr_company_ws/api/order/api_key/status

Metodo HTTP: POST

Il body della richiesta deve avere la seguente forma
[
{"id":1406, "status":"sent", "tracking":"test", "courier":59},
{"id":1442, "status":"accepted", "payment_date":"2020-10-20T02:30:00.000"},
{"id":1443, "status":"standby", "tracking":null, "courier":null, "payment_date":"2020-10-20T02:30:00.000"}
]

Ogni elemento dell'array è un aggiornamento di un diverso ordine.

- Id è l'id dell'ordine
- status è lo stato dell'ordine. Può avere i valori di standby, accepted, sent, cancelled
- courier è l'id del corriere che trovate in Impostazioni -> Post Vendita -> Corrieri -> Seleziona un corriere -> Elenco Corrieri attivi
- tracking è il codice di tracking. Deve essere popolato assieme al courier
- payment_date: data del pagamento in formato ISO 8601

Sono implementati vari controlli di coerenza, nel caso la chiamata potrà restituire un elenco di errori. I cambi di stato che hanno avuto successo (o non hanno prodotto nessuna modifica sul sistema) non compaiono nella risposta.


Un esempio di risposta con errori:

[
{
"index": 0,
"id": "1",
"error_message": "order with id 1 has tracking but no courier"
}
]

index: identifica l'iesimo elemento dell'input. Può essere valorizzata a -1 nel caso non sia possibile far risalire l'errore a uno specifico elemento
id si rifererisce all'id dell'ordine
error_message è una descrizione dell'errore

Nel caso nessun cambio di stato abbia generato errori, la risposta sarà un elenco vuoto

[
]



API ESTRAZIONE PRODOTTI

Questa api serve per scaricare da sellrapido tutti i prodotti dei vostri cataloghi

https://app.sellrapido.com/sr_company_ws/api/export/product/api_key?body={vedi_sotto}

Metodo HTTP: GET

Il body della richiesta deve avere la seguente forma

I vari parametri sono opzionali e permettono di costruire filtri per selezionare gli ordini da scaricare

{
"catalog": 7, (l'id del catalogo per cui si vogliono i prodotti). Se non specificato saranno estatti i prodotti di tutti i cataloghi)
"published": true, (specificare se si vogliono i soli prodotti pubblicati su almeno un marketplace). Se non specificato saranno estratti i prodtti pubblicati e non)
"zip": false, (se si vuole il tracciato csv in un file zip). Se non specificato viene tornato il tracciato csv non compresso
"fields": ["sku", "ean"], (elenco di colonne che compariranno nell'estrazione)
"field_separator": "|", (campo usato per separere i campi del tracciato. Se non specificato è il caratter | )
"row_separator": "\n", (campo usato per separare le righe del tracciato. Se non specificato è il carattere nuova linea \n)
"text_qualifier": "" (campo usato come qualificatore delle stringhe del tracciato. Se non specificato non viene usato nessun qualificatore)
}

catalog, published sono parametri di filtro utilizzati con logica "AND" , tutti i parametri sono opzionali.


Campi del prodotto

I campi sono valorizzati in base al tipo di catalogo.

E possibile usare il campo di input fields per specificare quali campi estrarre.

Se il campo non viene specificato vengono estatti i campi ["sku", "ean", "mpn", "brand", "asin", "catalog_category1", "catalog_category2", "catalog_category3",
"quantity", "price1", "price_shipping1", "delivery_days", "title", "description", "url_image1", "url_image2", "url_image3", "url_image4"]

Di seguito l'elenco dei campi disponibili:

* id identificativo del prodotto su SellRapido
* sku codice univoco del prodotto all'interno del catalog
* catalog_category1: nome categoria catalogo di livello 1
* catalog_category2: nome categoria catalogo di livello 2
* catalog_category3: nome categoria catalogo di livello 3
* channel_categories: blob json delle categorie di pubblicazione del prodotto su specifici marketplace (channel); serve a bypassare la compilazione di shop_category_map lavorando direttamente sui singoli prodotti a monte (v. listing.channel_category); la forma dle json é {categories: [{channel: channel.id , category_id: ...}, ...]}
* condition_code: condizione del prodotto
* condition_description: descrizione della condizione
* sku_label: sku parlante o alternativo usato in casi rarissimi; non sostituisce lo sku ma può essere usato per l''invio al marketplace al posto di sku; ex-campo: label_input
* title: titolo
* subtitle: sottotitolo
* description: descrizione dettagliata
* description_changed: 1 per indicare che il campo descritpion è stato modificato
* description_extra: descrizione extra
* brand: marchio (o produttore); questi valori vanno a popolare catalog_brand
* lang: codice ISO 639-1 della lingua
* quantity: quantità
* availability: 1 indica che il prodotto è disponibile; normalmente è usato in alternativa a quantity ma se sono usati entrambi allora vanno sempre in OR
* url: url della scheda prodotto
* url_image1: url immagine
* url_image2: url immagine
* url_image3: url immagine
* url_image4: url immagine
* url_image5: url immagine
* url_image6: url immagine
* url_image7: url immagine
* url_image8: url immagine
* url_image9: url immagine
* price1: prezzo
* price2: prezzo
* price3: prezzo
* price4: prezzo
* price5: prezzo
* price6: prezzo
* price_cost: costo del prodotto
* price_shipping1: spese spedizione
* price_shipping2: spese spedizione
* price_shipping3: spese spedizione
* price_shipping4: spese spedizione
* price_shipping5: spese spedizione
* price_shipping6: spese spedizione
* fee_additional1: spese spedizione per oggetto aggiuntivo
* fee_additional2: spese spedizione per oggetto aggiuntivo
* fee_additional3: spese spedizione per oggetto aggiuntivo
* fee_additional4: spese spedizione per oggetto aggiuntivo
* fee_additional5: spese spedizione per oggetto aggiuntivo
* fee_additional6: spese spedizione per oggetto aggiuntivo
* vat_perc: iva percentuale
* ean: codice ean
* isbn: codice isbn
* mpn: codice produttore
* asin: codice prodotto amazon
* fupid: codice prodotto pix_place
* weight: peso
* weight_um: sigla unità di misura del peso
* raee: tassa raee
* variations: blob json delle varianti
* is_variation: 1 per indicare che il prodotto è parte di un set di varianti
* extra1: campo extra
* extra2: campo extra
* extra3: campo extra
* extra4: campo extra
* extra5: campo extra
* extra6: campo extra
* extra7 campo extra
* extra8: campo extra
* extra9: campo extra
* item_note: note oggetto
* import_action: azione eseguita in fase di importazione: insert (prodotto nuovo), update (prodotto variato), deplete (prodotto esaurito), delete (prodotto uscito dal listino)
* delivery_days: giorni necessari a preparare la spedizione
* compatibility: blob json contenente la chiave compatibility che punta ha un array di coppie di attributi name, value
* attributes: blob json delle item specifics, attributi aggiuntivi dell''oggetto
* on_demand: 1 per indicare che il prodotto non è immediatamente disponibile
* on_demand_days: numero di giorni entro cui effettuare la spedizione al buyer, da usare solo se on_demand=1
* warehouse: codice del magazzino da cui proviene il prodotto
* created: data di inserimento prodotto nel catalogo
* modified: data di ultima modifica prodotto

ErrorException [ Notice ]: Undefined variable: prima_volta

APPPATH/views/include/modale_controllo_lingua.php [ 31 ]

26 
27 );
28 
29 
30 
31 if($lingua_browser != $lingua_scelta AND $prima_volta =="si") { ?>
32   
33 
34   <div class="modal fade" id="modal-language-mismatch" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
35   <div class="modal-dialog modal-dialog-centered" role="document">
36     <div class="modal-content">
  1. APPPATH/views/include/modale_controllo_lingua.php [ 31 ] » Kohana_Core::error_handler()

  2. SYSPATH/classes/Kohana/View.php [ 62 ] » include(arguments)

  3. SYSPATH/classes/Kohana/View.php [ 359 ] » Kohana_View::capture()

  4. SYSPATH/classes/Kohana/View.php [ 236 ] » Kohana_View->render()

  5. APPPATH/views/guida_linea_singola_guida.php [ 167 ] » Kohana_View->__toString()

  6. SYSPATH/classes/Kohana/View.php [ 62 ] » include(arguments)

  7. SYSPATH/classes/Kohana/View.php [ 359 ] » Kohana_View::capture()

  8. SYSPATH/classes/Kohana/View.php [ 236 ] » Kohana_View->render()

  9. SYSPATH/classes/Kohana/Response.php [ 160 ] » Kohana_View->__toString()

  10. APPPATH/classes/Controller/Guida.php [ 50 ] » Kohana_Response->body()

  11. SYSPATH/classes/Kohana/Controller.php [ 84 ] » Controller_Guida->action_guida_linea_sellrapido()

  12. {PHP internal call} » Kohana_Controller->execute()

  13. SYSPATH/classes/Kohana/Request/Client/Internal.php [ 97 ] » ReflectionMethod->invoke()

  14. SYSPATH/classes/Kohana/Request/Client.php [ 114 ] » Kohana_Request_Client_Internal->execute_request()

  15. SYSPATH/classes/Kohana/Request.php [ 993 ] » Kohana_Request_Client->execute()

  16. DOCROOT/index.php [ 118 ] » Kohana_Request->execute()

Environment