CORS, l'URL del proxy dell'app e le richieste del browser
Un webhook viene normalmente richiamato da server a server. Se desidera richiamarne uno da un browser - la sua vetrina online, una pagina di destinazione, un portale clienti - sono importanti due impostazioni: “Abilita CORS” e “Usa URL proxy dell’app”. Entrambe si trovano nelle impostazioni avanzate del webhook.
Abilitare CORS
I browser rifiutano una richiesta cross-origin a meno che il server destinatario non ne autorizzi l'esecuzione. Attivando l'opzione "Abilita CORS", il webhook risponde alla richiesta di preflight del browser e accetta la chiamata.
Il controllo preliminare consente inoltre di specificare qualsiasi intestazione che contenga il Suo token, compreso un nome di intestazione personalizzato da Lei stesso impostato, in modo che il browser non rilevi alcun problema.
Utilizzare l'URL proxy dell'app
Ogni webhook dispone di due indirizzi, entrambi visualizzati con un pulsante "Copia" nelle impostazioni dell'URL:
| URL | Sembra che | Note |
|---|---|---|
| URL diretto dell'app | il dominio della nostra app, che termina con il codice del webhook | Funziona sempre, anche sui negozi di sviluppo e su quelli protetti da password |
| URL del proxy dell'app | un percorso all’interno del dominio del negozio stesso | Ha la stessa origine della Sua vetrina online, pertanto il browser la considera una richiesta di prima parte |
Attivi l’opzione “Usa URL proxy dell’app” per pubblicare l’indirizzo del proxy. Ciò garantisce un’integrazione più fluida con la vetrina online e, trattandosi di una stessa origine, spesso non è affatto necessario ricorrere al CORS.
Due cose da sapere prima di accenderlo:
- Il negozio deve essere attivo e non protetto da password. Shopify non inoltra le richieste proxy dell'app per una vetrina online bloccata, pertanto su un negozio di sviluppo l'URL proxy non fornirà alcuna risposta. Si raccomanda di non attivarlo in tale contesto.
- La funzione Elenchi di indirizzi IP autorizzati non si applica all'URL del proxy: tali richieste ci pervengono dai server di Shopify, pertanto il loro indirizzo non fornisce alcuna informazione sul mittente originario.
L'autenticazione funziona allo stesso modo su entrambi gli indirizzi. Lo stesso vale per Protezione contro le consegne duplicate, la cronologia e il limite del piano.
Consentire un corpo della richiesta personalizzato
Sempre nelle impostazioni avanzate: l’opzione “Consenti corpo della richiesta personalizzato” disattiva la convalida rigorosa del corpo della richiesta, in modo che il webhook accetti qualsiasi formato JSON anziché solo i campi che avete mappato. Utilizzatela quando il payload del mittente è dinamico o non ne avete il controllo. I campi mappati continuano a pervenire a Shopify Flow allo stesso modo - consultate Mappatura del payload e variabili di flusso.
Correlati
- Autenticazione - ciò che il browser deve inviare.
- Mappatura del payload e variabili di flusso - quali campi vengono trasmessi all'Shopify Flow
- Piani e utilizzo - ogni richiesta effettuata dal browser viene conteggiata ai fini del limite.

