Интернет-магазин CMS API - PullRequest
       37

Интернет-магазин CMS API

0 голосов
/ 22 февраля 2019

У моих дедушки и бабушки есть интернет-магазин, в котором они продают товары (бинокли и телескопы и тому подобное).Они мало знают о PHP / Javascript, и я тоже не специалист по этому вопросу.Я пытаюсь внедрить Отзывы клиентов Google, когда люди покупают продукт.

Я следовал руководству по интеграции Google, и все работает нормально до того момента, когда мне нужно кормить Google номерами GTIN / EANкупленные продукты.

Теперь мы используем CMS Hostedshop, и они также предоставляют API (очень похоже на shopify). Однако я не думаю, что API хорошо документирован, и я сталкивался спроблемы, при которых код не работает, когда я пытаюсь ввести Google номера GTIN / EAN, но он работает, когда я не передаю номера GTIN / EAN в Google.

В CMS есть меню под названием «Партнерская программа»Маркетинг », куда я должен положить javascript, и он выглядит следующим образом (с некоторыми изменениями, чтобы приблизительная дата доставки работала) от Google:

<script src="https://apis.google.com/js/platform.js?onload=renderOptIn" async defer></script>

<script>

//Grabbing Dates
 var date = new Date();
 date.setDate(date.getDate() + 3);

 //Formatting
 var year = date.getFullYear();
 var month = date.getMonth()+1;
 var dt = date.getDate();

 //Adding 0s to match google's expectancy
 if (dt < 10) {dt = '0' + dt;}
 if (month < 10) { month = '0' + month;}
 var DeliveryDate = date.getFullYear() + '-' + month + '-' + dt;

  window.renderOptIn = function() {
    window.gapi.load('surveyoptin', function() {
      window.gapi.surveyoptin.render(
        {
          // REQUIRED FIELDS
          "merchant_id": 126277391,
          "order_id": "%OrderId%",
          "email": "%OrderCustomerEmail%",
          "delivery_country": "%OrderCustomerCountry%",
          "estimated_delivery_date": DeliveryDate,
          "opt_in_style": "BOTTOM_LEFT_DIALOG"
          //if 1 product is bought
          "products": [{"gtin":"GTIN1"}]
          //or if 2 products are bought
          "products": [{"gtin":"GTIN1"}, {"gtin":"GTIN2"}]
          //or if 3 products are bought
          "products": [{"gtin":"GTIN1"}, {"gtin":"GTIN2"}, {"gtin":"GTIN3"}]
          //And so on..
        });
    });
  }
</script>

Важным фрагментом кода здесь является "products": [{"gtin":"GTIN1"} , ... Очевидно, что это невозможно сделать так, поскольку всегда будут заказы разных размеров, поэтому я пытаюсь использовать цикл for длядостичь результатов для заказа любого размера.

Я пробовал несколько способов собрать товар (ы) в «строке заказа»

"products": [{% for Product in OrderLines %}{"gtin":"{{ Product.Ean }}"}{% unless forloop.last %}, {% endunless %}{% endfor %}]

И я тоже пробовал эти разные коды

"products": [{% for item in Order.OrderLine %}{"gtin":"{{ item.Product.Ean }}"}{% unless forloop.last %}, {% endunless %}{% endfor %}]

"products": [{% for Product in Order.OrderLine %}{"gtin":"{{ Product.Ean }}"}{% unless forloop.last %}, {% endunless %}{% endfor %}]

"products": [{% for Product in PacketProductLine %}{"gtin":"{{ Product.Ean }}"}{% unless forloop.last %}, {% endunless %}{% endfor %}]

"products": [{% for ProductId in OrderLine %}{"gtin":"{{ ProductId.Ean }}"}{% unless forloop.last %}{% endunless %} {% endfor %}]

и несколько других, но всякий раз, когда я помещаю этот фрагмент кода в сценарий, «окно выбора», которое спрашивает пользователя, хочет ли он оставить отзыв после покупки продукта, не отображается,Всякий раз, когда код отсутствует, отображается поле «Подтверждение».Я предполагаю, что я использую API неправильно, однако я не могу понять, какие классы использовать из API, чтобы получить правильное возвращаемое значение.

Ссылка API: https://api.hostedshop.dk/doc/ - Этосвободный доступ и чтение для всех, и я был бы очень признателен за любую помощь, которая может заставить его правильно передать значения GTIN / EAN в Google.

Любая помощь НАМНОГО ценится !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...