Visser Labs – Plugin WooCommerce
  1. Casa
  2. Knowledge Base
  3. WooCommerce Store Exporter Deluxe
  4. Automazione e pianificazione
  5. Come inviare esportazioni tramite POST a un URL remoto in Store Exporter Deluxe
  1. Casa
  2. Knowledge Base
  3. WooCommerce Store Exporter Deluxe
  4. Come inviare esportazioni tramite POST a un URL remoto in Store Exporter Deluxe

Come inviare esportazioni tramite POST a un URL remoto in Store Exporter Deluxe

Passare un file di esportazione a un altro sistema manualmente, che si tratti di uno strumento di reporting, di un sistema di inventario o di uno script eseguito da te, significa che qualcuno deve accedere, scaricare il file e caricarlo di nuovo. Store Exporter Deluxe può occuparsi dell'ultimo passaggio per te. Ogni volta che viene eseguita un'Esportazione Pianificata, invia il file completato a un indirizzo web da te scelto utilizzando una richiesta HTTP POST.

Di seguito, imposti POST a URL, vedi esattamente cosa riceve il tuo endpoint e confermi l'arrivo di ogni file. Gli sviluppatori hanno anche un modo per aggiungere header come un token API.

Prerequisiti

RequisitoDettagli
PluginStore Exporter Deluxe è attivo
Esportazioni pianificateLe esportazioni pianificate sono attivate in Impostazioni → Pianificazione → Abilita Esportazioni Pianificate. Se sono disattivate, la schermata Esportazioni Pianificate mostra "Le esportazioni pianificate sono attualmente disabilitate." con un pulsante Abilita Esportazioni Pianificate.
Endpoint di ricezioneUn indirizzo web (URL) che accetta richieste POST ed è raggiungibile dal server del tuo sito
Accesso all'endpointUn modo per controllare i log del sistema di ricezione, in modo da poter confermare l'arrivo dei file

Come funziona

Quando viene eseguita una pianificazione che utilizza POST a URL, Store Exporter Deluxe crea il file di esportazione come al solito e quindi lo invia al tuo URL POST Remoto in un'unica richiesta HTTP POST. La richiesta è sempre una POST. Non c'è un'impostazione per cambiarla in un altro metodo.

Cosa riceve il tuo endpoint

Il tuo endpoint riceve il contenuto del file di esportazione come corpo grezzo della richiesta. Non arriva come un modulo di caricamento file, quindi non c'è un campo del modulo da cui leggere il file. Se la descrizione di Impostazioni URL Remoto sullo schermo menziona una richiesta POST multipart, fai riferimento a questa sezione: il file è il corpo grezzo della richiesta.

Parte della richiestaCosa contiene
MetodoPOST
CorpoIl contenuto completo del file di esportazione, esattamente come apparirebbe nel file scaricato
Header content-typeIl tipo MIME che corrisponde al tuo Formato di Esportazione (vedi la tabella sottostante)
Header acceptLo stesso tipo MIME dell'header content-type
Header user-agentWordPress/ seguito dalla tua versione di WordPress

Store Exporter Deluxe non invia il nome del file, campi modulo aggiuntivi o dettagli di accesso. Attende fino a 60 secondi per una risposta e non segue i reindirizzamenti, quindi inserisci l'indirizzo finale del tuo endpoint.

Il valore dell'header content-type dipende dal Formato di Esportazione scelto per la pianificazione:

Formato di EsportazioneValore content-type
CSVtext/csv
TSVtext/tab-separated-values
Excel (XLS)application/vnd.ms-excel
Excel (XLSX)application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
XMLapplication/xml
RSS 2.0application/rss+xml

Impostazione di POST a URL

I passaggi seguenti descrivono la creazione di una nuova Esportazione Pianificata. Per modificare una pianificazione esistente, aprila dalla schermata Esportazioni Pianificate. Per saperne di più sulla creazione e gestione delle pianificazioni, consulta Come pianificare le esportazioni in Store Exporter Deluxe.

Passaggio 1: Apri il modulo di nuova pianificazione

  1. Vai a WooCommerce → Store Export.
  2. Nella barra laterale di Store Exporter, fai clic su Esportazioni Pianificate.
  3. Fai clic su Nuova Pianificazione. Il modulo si apre con l'intestazione Aggiungi Nuova Esportazione Pianificata e cinque passaggi in alto: Generale, Filtri, Metodo, Pianificazione e Avanzate.
La schermata Esportazioni Pianificate con il pulsante Nuova Pianificazione in alto a destra evidenziato

Passaggio 2: Scegli cosa esportare

Nel passaggio Generale, imposta l'esportazione stessa.

  1. Inserisci un nome in Nome Pianificazione. Questo campo è obbligatorio.
  2. Scegli il tipo di dati da Tipo Esportazione, ad esempio Prodotti o Ordini.
  3. Scegli il tipo di file da Formato Esportazione. Scegli un formato che il tuo endpoint può leggere dalla tabella Formato Esportazione sotto "Cosa riceve il tuo endpoint" sopra.
  4. Sotto Campi di esportazione, scegli Tutti i campi, Usa modello o Selezione salvata.

Il passaggio Generale contiene anche opzioni di formattazione dei file e dei dati, come il delimitatore di colonna e la formattazione dell'intestazione. Lascia queste impostazioni invariate a meno che il tuo endpoint non si aspetti un layout particolare.

Il passaggio Generale del modulo di nuova pianificazione che mostra Nome Pianificazione, Formato Esportazione e le opzioni Campi di Esportazione contrassegnate da 1 a 3

Passaggio 3: Restringi l'esportazione con filtri (facoltativo)

Apri il passaggio Filtri se desideri inviare solo alcuni record, ad esempio ordini con uno stato specifico. Saltalo per inviare ogni record corrispondente.

Passaggio 4: Scegli POST a URL

  1. Fai clic sul passaggio Metodo.
  2. Sotto Metodo di Consegna, seleziona la scheda POST a URL.
  3. Sotto Impostazioni URL Remoto, inserisci l'indirizzo del tuo endpoint in URL POST Remoto, ad esempio https://example.com/webhook/receive.
Le schede Metodo di Consegna con POST a URL selezionato e il pannello Riepilogo Pianificazione che mostra Metodo come POST a URL Remoto

Il pannello Riepilogo Pianificazione sulla destra si aggiorna per mostrare POST a URL Remoto una volta selezionata la scheda.

Il campo URL POST Remoto compilato con un indirizzo di esempio

Il campo URL POST Remoto è l'unica impostazione di questo metodo di consegna. Usa l'indirizzo completo, incluso https://.

Passaggio 5: Imposta quando viene eseguito

Nel passaggio Pianificazione, scegli ogni quanto viene eseguita l'esportazione.

  • Oraria: ogni ora.
  • Giornaliera: una volta al giorno.
  • Settimanale: una volta alla settimana.
  • Mensile: il 1° di ogni mese.
  • Personalizzata: un intervallo ripetuto che imposti in Esegui ogni.
  • Manuale: solo quando lo esegui tu stesso.

Scegli un orario e un fuso orario per l'esecuzione, e decidi se iniziare immediatamente o in una data da te impostata. Per eseguire all'ora locale del tuo negozio, vedi Come pianificare le esportazioni in base all'ora locale.

Il passaggio Pianificazione che mostra le opzioni Frequenza, i campi ora e fuso orario e le opzioni Inizio contrassegnate da 1 a 3

Passaggio 6: Rivedi le opzioni avanzate

Il passaggio Avanzate ha altre opzioni, come la denominazione dei file, la gestione degli archivi e la registrazione. Due di esse sono le più importanti per POST a URL:

  • Pattern nome file: denomina il file di esportazione all'interno del tuo sito. Il nome del file non viene inviato al tuo endpoint.
  • Livello di registro: imposta quanto dettaglio registra il Registro di controllo per questa pianificazione. Questa opzione appare solo quando il Registro di controllo è abilitato e la sorgente di registro Esportazioni pianificate non è impostata su Nessuno (Impostazioni → Registro di controllo → Sorgenti di registro).

Passaggio 7: Salva la pianificazione

  1. Controlla il pannello Riepilogo pianificazione sulla destra. Metodo dovrebbe indicare POST a URL remoto.
  2. Fai clic su Crea pianificazione. Su una pianificazione esistente, questo pulsante indica Salva pianificazione.

Verifica che il file sia arrivato

Store Exporter Deluxe registra se è riuscito a raggiungere il tuo endpoint, ma non legge la risposta del tuo endpoint. Quindi controlla entrambi i lati:

  1. Apri il registro delle richieste del tuo endpoint, o lo strumento di ricezione, e cerca una richiesta POST all'ora in cui è stata eseguita la pianificazione.
  2. Conferma che il corpo della richiesta sia il file di esportazione e che si apra correttamente.
  3. In WordPress, vai su Esportazioni pianificate nella barra laterale di Store Exporter. L'elenco Attività recenti mostra ogni esecuzione. Fai clic su Solo errori, accanto a Tutte le attività, per mostrare solo le esecuzioni fallite. Fai clic su Tutte le attività per vedere di nuovo ogni esecuzione.
  4. Per maggiori dettagli, apri il Registro di controllo dalla stessa barra laterale e trova l'esecuzione.
L'elenco Attività Recenti nella schermata Esportazioni Pianificate con il pulsante Solo Errori evidenziato

Il Registro di controllo è attivo per impostazione predefinita. La voce Registro di controllo appare nella barra laterale di Store Exporter solo quando il Registro di controllo è attivato. Se è disattivato, vai su Impostazioni nella barra laterale di Store Exporter, apri la sezione Registro di controllo e attiva Abilita Registro di controllo.

Per testare senza attendere la prossima esecuzione pianificata, punta URL POST remoto a un servizio di cattura richieste mentre imposti tutto. Nella schermata Esportazioni pianificate, fai clic sul menu a tre punti nella riga della pianificazione e fai clic su Esegui ora, quindi controlla cosa è arrivato. Quindi cambia l'indirizzo con il tuo endpoint reale.

Se una richiesta non riesce a connettersi affatto, ad esempio perché l'indirizzo è digitato male, il server è spento o la connessione va in timeout, l'esecuzione viene contrassegnata come fallita nel Registro di controllo. Store Exporter Deluxe invia il file una volta per esecuzione. La prossima esecuzione pianificata crea e invia un nuovo file.

Aggiunta di una chiave API o di altre intestazioni (sviluppatori)

La schermata delle impostazioni non ha campi per le intestazioni di autenticazione. Se il tuo endpoint necessita di una chiave API o di un token, uno sviluppatore può aggiungere intestazioni con il filtro wsed_scheduled_export_post_args. Aggiungi questo codice a un plugin personalizzato o al file functions.php del tuo child theme:

add_filter( 'wsed_scheduled_export_post_args', function ( $args ) {
    $args['headers']['Authorization'] = 'Bearer YOUR_API_TOKEN';
    return $args;
} );

Sostituisci YOUR_API_TOKEN con il token che il tuo endpoint si aspetta. Il codice viene aggiunto alle intestazioni esistenti anziché sostituirle, quindi l'intestazione content-type rimane al suo posto.

Questo filtro si applica a ogni pianificazione che utilizza POST a URL, incluso il Trigger Nuovo Ordine nelle Impostazioni. Non può inviare intestazioni diverse a endpoint diversi.

Risoluzione dei problemi

Il registro di controllo mostra un'esecuzione fallita per la mia pianificazione POST a URL
Verifica che l'URL POST Remoto sia scritto correttamente e includa https://. Conferma quindi che il server di ricezione sia online e non blocchi le richieste dall'indirizzo IP del tuo provider di hosting. Store Exporter Deluxe registra un errore quando non riesce a connettersi al tuo endpoint.
L'esecuzione risulta completata, ma non è arrivato nulla al mio endpoint
Controlla i log del tuo endpoint per una richiesta rifiutata, come un errore di accesso o un tipo di contenuto errato. Se necessita di una chiave API, aggiungi l'intestazione utilizzando il filtro nella sezione sviluppatori sopra. Store Exporter Deluxe contrassegna un'esecuzione come completata una volta che la richiesta raggiunge il tuo server, qualunque sia la risposta del server.
Il mio endpoint riceve la richiesta ma non trova il file
Il file è il corpo grezzo della richiesta, non un campo del modulo. Aggiorna il tuo endpoint per leggere direttamente il corpo della richiesta invece di cercare un file caricato.
Il mio endpoint reindirizza la richiesta a un altro indirizzo
Store Exporter Deluxe non segue i reindirizzamenti. Inserisci l'indirizzo finale in URL POST Remoto, ad esempio l'indirizzo https:// se il tuo endpoint reindirizza da http://.
Non riesco a trovare Esportazioni Pianificate nella barra laterale di Store Exporter
Vai su Impostazioni nella barra laterale di Store Exporter, apri la sezione Avanzate e disattiva Nascondi Tab Esportazioni Pianificate. Quando quell'opzione è attiva, la voce Esportazioni Pianificate viene rimossa dalla barra laterale.
Un'esportazione di grandi dimensioni va in timeout
Store Exporter Deluxe attende fino a 60 secondi per la risposta del tuo endpoint. Se il tuo endpoint impiega più tempo, riduci l'esportazione nel passaggio Filtri in modo che produca un file più piccolo.

Domande frequenti

Posso usare PUT o un altro metodo invece di POST?
No. La richiesta è sempre un POST HTTP.
Posso aggiungere una chiave API o un'intestazione di autorizzazione?
Non dalla schermata delle impostazioni. Uno sviluppatore può aggiungere intestazioni con il filtro wsed_scheduled_export_post_args. Vedi la sezione sviluppatori sopra.
Il file viene inviato come caricamento di un modulo?
No. Il contenuto del file è il corpo grezzo della richiesta, con un'intestazione content-type che corrisponde al formato di esportazione.
Store Exporter Deluxe ritenta se la richiesta fallisce?
No. Invia il file una volta per esecuzione. La successiva esecuzione pianificata invia un nuovo file.
L'endpoint riceve il nome del file?
No. Vengono inviati solo i contenuti del file e le intestazioni elencate sopra.
Il POST a URL è disponibile nel plugin gratuito Store Exporter?
No. Le Esportazioni Pianificate e ogni metodo di consegna fanno parte di Store Exporter Deluxe.

Serve aiuto?

Se hai una domanda o riscontri problemi, siamo qui per aiutarti.

Questo articolo è stato utile?

Articoli Correlati

Risorse e Aiuto