Intégrer Baback - Shopify headless

Edited

Intégrer Baback sur un site headless nécessite d'ajouter ce script dans toutes les pages de la boutique en remplaçant le REPLACESHOPIFY_SHOP_ID_ par l'id de la boutique Shopify.

<script>
(function(){
    d=document;
const providerId = _REPLACE_SHOPIFY_SHOP_ID_
    if(!window.baback){
      window.baback = {providerId:providerId}
    }else{
      window.baback.providerId = providerId
    }
    console.log("[baback] loading "+providerId);
    
    const load = ({orderId,shopNow}) => {
      s=d.createElement("script");
        s.src="https://cdn1.baback.co/index.js";
        s.type="module";
        s.async=1;
        d.getElementsByTagName("head")[0].appendChild(s);
        s.onload = () => {
          setTimeout(() => {
            if (window.baback && !shopNow) {
              window.baback.open({orderId});
            }
          },50)
        }
    }


    d.addEventListener("click", (e) => {
      const target = e.target;
      if (target.closest('#baback-trigger') || target.closest('a[href*="/a/return"]')) {
        const urlParams = new URLSearchParams(target.href); 
        const orderId = urlParams.get('orderId') || urlParams.get('order-id');
        e.preventDefault(); // Empêche la navigation vers l'URL du lien
        load({orderId})
      }
    });
    
    const isShopNow = JSON.parse(localStorage.getItem('baback'))?.state?.step === "shop-now";
    if (isShopNow) {
      load({shopNow: true});
    }
  })()
</script>

Ensuite, il faudra créer le lien suivant dans le pied de page :

<a href="#" id="baback-trigger">Portail de retour</a>

Was this article helpful?

Sorry about that! Care to tell us more?

Thanks for the feedback!

There was an issue submitting your feedback
Please check your connection and try again.