Vai al contenuto
All articles
Setup

E-commerce (WooCommerce e Magento)

Sincronizza clienti e ordini dai tuoi negozi WooCommerce o Magento al CRM usando il tuo negozio (modello BYO).

Oltre a Shopify, il CRM sincronizza i negozi WooCommerce e Magento (modello BYO: porti il tuo negozio). Ogni cliente diventa un Contatto e ogni ordine diventa un Ordine di vendita. Non c'è costo, margine o intermediazione da parte nostra: i dati arrivano direttamente dal tuo negozio. L'integrazione parte inerte: non succede nulla finché non compili i campi e attivi. I segreti sono memorizzati cifrati nel CRM e non vengono mai mostrati di nuovo.

Prerequisiti

  • WooCommerce: un negozio WordPress/WooCommerce con accesso da amministratore (per creare webhook in WooCommerce → Impostazioni → Avanzate → Webhook).
  • Magento (Adobe Commerce): accesso per installare/configurare un modulo, un'integrazione o un observer che invii una POST JSON per ogni cliente/ordine (Magento non ha webhook nativi standardizzati).
  • In Sellio, accesso da amministratore per salvare le credenziali e attivare l'integrazione in Impostazioni → Integrazioni.

WooCommerce

WooCommerce invia webhook nativi. Crei i webhook nel tuo negozio puntando all'URL del CRM e definisci un "Segreto"; WooCommerce firma ogni chiamata con quel segreto (HMAC-SHA256, header X-WC-Webhook-Signature) e il CRM verifica la firma prima di sincronizzare.

  1. Nel CRM, apri Impostazioni → Integrazioni e trova la scheda "E-commerce (WooCommerce)".
  2. Compila l'URL del negozio (facoltativo, solo di riferimento) e un Segreto del webhook (una stringa a tua scelta), poi clicca "Salva credenziali".
  3. Copia l'"URL webhook (WooCommerce)" che compare.
  4. Nel tuo negozio, vai su WooCommerce → Impostazioni → Avanzate → Webhook e crea un webhook per OGNI argomento: Cliente creato, Cliente aggiornato, Ordine creato, Ordine aggiornato. In ciascuno, incolla l'URL del CRM come Delivery URL e usa lo STESSO Segreto salvato nel CRM.
  5. Torna al CRM e clicca "Attiva".

Magento (Adobe Commerce)

Magento non ha webhook nativi standardizzati. Configuri un modulo/integrazione (o un observer) che effettua una POST JSON verso l'URL del CRM per ogni cliente o ordine. La POST è autenticata da un segreto, in due modi possibili (usa quello supportato dal tuo modulo): una firma HMAC-SHA256 del corpo in base64 nell'header X-Magento-Signature, oppure il segreto stesso in chiaro nell'header X-Magento-Secret.

  1. Nel CRM, apri Impostazioni → Integrazioni e trova la scheda "E-commerce (Magento)".
  2. Compila l'URL del negozio (facoltativo) e un Segreto di autenticazione (una stringa a tua scelta), poi clicca "Salva credenziali".
  3. Copia l'"URL webhook (Magento)" che compare.
  4. Configura il tuo modulo/integrazione Magento per inviare una POST (JSON) a quell'URL per ogni cliente e ordine, inviando il segreto nell'header X-Magento-Signature (firma HMAC) oppure X-Magento-Secret (valore in chiaro).
  5. Torna al CRM e clicca "Attiva".

Formato JSON atteso da Magento. Per i clienti: { "type": "customer", "id", "email", "firstname", "lastname", "telephone", "street", "city", "region", "country_id" }. Per gli ordini: { "type": "order", "increment_id" (oppure "entity_id"), "grand_total", "order_currency_code", "status", "customer_email", "customer_id", "customer_firstname", "customer_lastname" }. Il campo "type" (customer oppure order) determina la mappatura; i campi mancanti diventano vuoti.

Cosa succede a ogni evento

  • Cliente (customer.created/updated in Woo; type "customer" in Magento): il cliente viene creato o aggiornato come Contatto, associato tramite l'email. Il CRM memorizza l'id cliente del negozio (woo_customer_id / magento_customer_id) per evitare duplicati alle riconsegne.
  • Ordine (order.created/updated in Woo; type "order" in Magento): l'ordine viene creato o aggiornato come Ordine di vendita (numero, importo, valuta e stato), collegato al Contatto corrispondente quando esiste. In Woo, "completed" diventa "fatturato" e "cancelled/refunded/failed" diventa "annullato"; in Magento, "complete/closed/invoiced" diventa "fatturato" e "canceled/holded" diventa "annullato"; il resto diventa "confermato".
💡 La sincronizzazione è idempotente: se il negozio reinvia lo stesso evento, il CRM aggiorna il record esistente invece di crearne uno nuovo (identifica il record tramite l'id esterno). Vengono aggiornati solo i campi provenienti dal negozio, e ciò che hai modificato manualmente nel CRM viene preservato.

Tratta gli URL dei webhook e i segreti come dati riservati. Le chiamate con firma/segreto non validi vengono rifiutate. Se provi ad attivare senza aver compilato il segreto, l'integrazione resta inerte e non viene sincronizzato nulla finché tutto non è a posto.

Come testare

  1. WooCommerce: in WooCommerce → Impostazioni → Avanzate → Webhook, modifica un webhook e controlla i "Log del webhook" dopo aver creato un cliente/ordine di test; nel CRM, controlla Contatti/Ordini di vendita.
  2. Magento: attiva il tuo observer/integrazione per un cliente e un ordine di test (POST JSON con il campo "type") e controlla i record nel CRM.
  3. Reinvia lo stesso evento e conferma che il CRM aggiorni (non duplichi), dato che la chiave è l'id esterno.

Risoluzione dei problemi

  • WooCommerce: firma non valida: il "Segreto" del webhook nel negozio deve essere UGUALE al Segreto del webhook salvato nel CRM (HMAC-SHA256, header X-WC-Webhook-Signature). Reinserisci lo stesso valore su entrambi i lati.
  • Magento: chiamata rifiutata: invia il segreto correttamente, sia l'HMAC-SHA256 del corpo in base64 nell'header X-Magento-Signature SIA il segreto in chiaro nell'header X-Magento-Secret (usa quello supportato dal tuo modulo).
  • Non si sincronizza: conferma che i webhook/POST coprano cliente E ordine (creato/aggiornato) e puntino all'"URL webhook" corretto; conferma che l'integrazione sia attivata.
  • Magento: campi vuoti nel CRM: valida il JSON atteso (cliente: id/email/firstname/lastname...; ordine: increment_id/grand_total/order_currency_code/status/customer_email...). Il campo "type" (customer/order) determina la mappatura.
  • 404 sull'URL: integrazione disattivata o token cambiato. Riattiva e ricopia l'URL.

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

Crea un account gratuito
E-commerce (WooCommerce e Magento) · Sellio