Clienti che hanno effettuato l'accesso alla Vetrina online del Suo negozio
Attivi un webhook dalla vetrina online solo per i clienti che hanno effettuato l'accesso e riceva in Shopify Flow l'ID cliente firmato da Shopify.
Attivare un webhook dalla propria vetrina online e identificare il cliente che lo ha inviato. Un modulo d’ordine all’ingrosso, un pulsante di riordino sulla pagina di un account B2B o un modulo di richiesta per i clienti che hanno effettuato l’accesso possono avviare un workflow di Shopify Flow, e il workflow riceve l’ID del cliente che ha effettuato l’accesso. Shopify firma tale ID, in modo che nessuno possa spacciarsi per un altro cliente.
Ciò si basa sull'URL del proxy dell'app; si veda CORS, l'URL del proxy dell'app e le richieste del browser.
Configuratelo
- Apra il webhook e acceda alle Impostazioni avanzate.
- Nella sezione “Impostazioni URL”, attivi l’opzione “Usa URL proxy dell’app”. L’URL del webhook è ora ospitato sul dominio del Suo negozio, ad esempio
https://your-store.com/apps/webhooks/abc123. - Nella sezione "Chi può richiamare questo webhook", selezioni una delle tre opzioni disponibili:
| Opzione | URL del proxy dell'app | URL diretto dell'app |
|---|---|---|
| Chiunque disponga dell'URL | Funziona per tutti | Opere |
| Esclusivamente tramite il dominio del Suo negozio | Funziona per tutti, ospiti compresi | Rifiutato con codice 403 |
| Solo i clienti che hanno effettuato l'accesso al Suo negozio | Funziona per i clienti che hanno effettuato l'accesso; gli ospiti ricevono il codice 401 | Rifiutato con codice 403 |
- Salva. L'impostazione verrà applicata alla richiesta successiva.

Cosa verifica l'app
Ogni richiesta inviata tramite l'URL proxy dell'app è accompagnata da una firma di Shopify. L'app verifica, nell'ordine seguente:
- La firma. Una richiesta priva di una firma Shopify valida viene respinta con il codice di errore 401. Nessuno può falsificarla, poiché Shopify la genera utilizzando la chiave segreta della vostra app.
- Il Suo negozio. Una richiesta indirizzata a un altro negozio viene respinta con codice di errore 403.
- Il cliente che ha effettuato l'accesso. Se nel Suo negozio sono presenti solo clienti che hanno effettuato l'accesso, una richiesta priva di un cliente che abbia effettuato l'accesso viene rifiutata con il codice di errore 401 (
customer_login_required). L'ID del cliente proviene dalla firma, mai dal corpo della richiesta. - L'URL diretto. Indipendentemente dalla restrizione applicata, l'URL diretto dell'app restituisce un codice di errore 403 (
proxy_required), pertanto nessuno può eludere tali controlli.
Una richiesta rifiutata non viene mai inoltrata a Shopify Flow e non viene conteggiata ai fini del Suo piano.
Cosa riceve Shopify Flow
Il trigger Webhook e il trigger Webhook di sincronizzazione presentano un campo denominato customerId: si tratta dell’ID numerico del cliente che ha effettuato l’accesso, ad esempio 7350001. Tale campo risulta vuoto per gli ospiti e per ogni richiesta che non provenga dall’URL del proxy dell’app. I campi mappati vengono trasmessi come di consueto; si veda Mappatura del payload e variabili di flusso.
Chiamateci direttamente dalla vostra vetrina online
La richiesta deve provenire da una pagina del Suo negozio mentre il cliente ha effettuato l’accesso, in modo che passi attraverso il dominio del Suo negozio. Copi l’URL del webhook dall’app: Shopify Le consente di modificare il percorso del proxy, pertanto il Suo potrebbe differire dall’esempio. Questo frammento di codice, inserito in una sezione del tema, invia la sede dell’azienda per conto della quale il cliente B2B sta effettuando l’acquisto:
<script>
fetch('/apps/webhooks/abc123', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
companyLocationId: 'gid://shopify/CompanyLocation/{{ customer.current_location.id }}'
})
})
</script>Assegnare il campo 1 a companyLocationId in modo che il workflow riceva la sede come fieldOne.
Effettuare il check-in del cliente in Shopify Flow
Shopify Flow è in grado di leggere tutte le informazioni relative al cliente, pertanto tale verifica deve essere inserita nel workflow:
- Trigger: Trigger webhook da Workflow Webhooks. Se dispone di più webhook, aggiunga una condizione: l’ID del webhook è uguale all’ID visualizzato nell’app.
- Ottenga i dati del cliente tramite la query
id:{{customerId}}. Shopify Flow carica i dati del cliente che ha effettuato l'accesso, compresi i tag e i ruoli delle aziende. - Condizione: il cliente possiede il tag
wholesalee uno dei profili di contatto della sua azienda presenta un’assegnazione di ruolo il cui ID della sede aziendale è uguale afieldOnee il cui ruolo èOrdering onlyoLocation admin. - In tal caso: proceda, ad esempio creando una bozza d'ordine per quella sede. In caso contrario: interrompa l’operazione oppure risponda alla Vetrina online con un Risposta sincrona, in modo che la pagina possa spiegare al cliente il motivo.
Buono a sapersi
- L'URL proxy dell'app richiede che la vetrina online del Suo negozio sia raggiungibile. Nel caso di un negozio protetto da password, risponde solo dopo che è stata inserita la password della vetrina online.
- Gli ospiti ricevono il messaggio di errore 401, pertanto vi preghiamo di mostrare un link per l'accesso in quella pagina.
- La cronologia riporta l'ID cliente di ciascuna richiesta, mentre una riproduzione lo invia nuovamente.
- Quando un cliente richiede la cancellazione dei propri dati, le voci relative alla cronologia da lui inviate vengono eliminate.
