Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
backstage:6-nastroit-prodazhu-biletov-na-sayte-teatra [2020/09/18 08:36]
v.voronin
backstage:6-nastroit-prodazhu-biletov-na-sayte-teatra [2023/05/29 11:51] (текущий)
i.abramov
Строка 17: Строка 17:
  
 На той же странице генерируется скрипт для вставки на страницу вашего сайта. Пример такого скрипта: На той же странице генерируется скрипт для вставки на страницу вашего сайта. Пример такого скрипта:
 +<code html>
 <div id="tlFrameContainer"></div> <div id="tlFrameContainer"></div>
             <script type="text/javascript"></script>             <script type="text/javascript"></script>
Строка 31: Строка 31:
             document.body.appendChild(script);             document.body.appendChild(script);
             </script>             </script>
-          +</code>
    
  
Строка 66: Строка 66:
 Пример данных API: Пример данных API:
  
 +<code json>
         {         {
             "hall_id": "2244567",             "hall_id": "2244567",
             "hall_name": "Зал",             "hall_name": "Зал",
             "performance_id": 9999,             "performance_id": 9999,
 +            "performance_basis_id": 123456, // Если передан GET параметр ?extended=1
             "reveal_dt": "2001-01-01 00:00:00",             "reveal_dt": "2001-01-01 00:00:00",
             "script": "<script> var TLConf = {             "script": "<script> var TLConf = {
Строка 87: Строка 89:
             "total_ticket_count": 20             "total_ticket_count": 20
         }         }
 +</code>
  
   * //script// – готовый код для разворачивания фрейма Ticketland. В нем указана ссылка на схему зала  мероприятия по заданной дате.   * //script// – готовый код для разворачивания фрейма Ticketland. В нем указана ссылка на схему зала  мероприятия по заданной дате.
Строка 96: Строка 98:
 Пример PHP – кода для обращения к API – Ticketland: Пример PHP – кода для обращения к API – Ticketland:
  
 +<code php>
      if (!ini_get('allow_url_fopen')) {      if (!ini_get('allow_url_fopen')) {
         error_log("set allow_url_fopen to true or change script to use curl" . PHP_EOL);         error_log("set allow_url_fopen to true or change script to use curl" . PHP_EOL);
Строка 132: Строка 135:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
             print $result . PHP_EOL;             print $result . PHP_EOL;
 +</code>
  
  
Строка 137: Строка 141:
   * //password// – пароль от сервиса backstage.ticketland.ru   * //password// – пароль от сервиса backstage.ticketland.ru
   * //$result// – JSON – объект содержащий всю информацию из API – Ticketland   * //$result// – JSON – объект содержащий всю информацию из API – Ticketland
 +
 +----
 +
 +=== Расширенный Iframe (новая версия) ===
 +Теперь, используя каналы продаж, вы сможете получать заранее список мероприятий, которые еще не вышли в продажу, но дата выхода указана в системе для МДТЗК.
 +
 +Ссылка для подключения к новому API: https://backstage.ticketland.ru/frame/api/shows?get_future_performances=1
 +Формат авторизации не изменился и остается актуальным, чтобы получать новые данные достаточно указать для существующих обращений к API параметр «?get_future_performances=1».
 +
 +**Отличия в следующем:** 
 +  * В JSON-ответ будут попадать также мероприятия/фреймы, дата старта продаж по которым в будущем.
 +  * Для мероприятий, у которых в билетной системе установлена дата старта продаж, в параметре reveal_dt будет передаваться дата и время старта продаж. Для мероприятий, где это дата не установлена, передается значение для reveal_dt по умолчанию «2001-01-01 00:00:00».
 +
 +При подключении к новому API необходимо начать учитывать передаваемые в параметре reveal_dt дату и время. Параметр будет говорить, доступны ли сейчас продажи по конкретному мероприятию с установленным каналом продаж. То есть, если текущая дата и время больше указанных в reveal_dt, то продажи по мероприятию активны и клиенту можно давать страницу с виджетом.
 +
 +**Возможны 2 механики:**
 +  - Выводить на сайте мероприятия, чья дата продаж в будущем с неактивной кнопкой и информацией о старте продаж.
 +  - Не выводить на сайте мероприятие, чья дата старта продаж еще не началась.
 +
 +**Ниже возможная схеме регулировки отображения кнопок:**
 +{{:backstage:reguliprovka_knopok_api.png|}}
 +
 +----
 +
 +=== Параметры TLConf ===
 +  * **googleAnalytics**
 +идентификатор счетчика, если на сайте используется несколько счетчиков google аналитики
 +значение по умолчанию '' (пустая строка)
 +
 +  * **useEcommerceGa**
 +использовать для передачи данных функцию ga
 +значение по умолчанию true
 +
 +  * **useEcommerceGtag**
 +использовать для передачи данных функцию gtag
 +значение по умолчанию false,
 +
 +  * **ecommerceCallback**
 +указать callback функцию в которую будет передан объект ecommerce по умолчанию function(ecommerce){
 +window.dataLayer = window.dataLayer || [];
 +window.dataLayer.push(ecommerce);
 +}
 +
 +=== Данные для ecommerce ===
 +Для получения данных электронной торговли есть два способа
 +
 +  - подписаться на событие передаваемое из "фрейма" через механизм postMessage. Пример window.addEventListener('message', function(event){try{var json = JSON.parse(event.data)} catch(){}}, false); Документация https://developer.mozilla.org/ru/docs/Web/API/EventTarget/addEventListener
 +  - в конфиге переопределить функцию. <code js>TLConf.ecommerceCallback = function(ecommerce){};</code> ecommerce это объект с данными в формате расширенной электронной торговли https://developers.google.com/tag-manager/enhanced-ecommerce
 +
 +** Покупка **
 +
 +<code JSON>
 +{
 +  "ecommerce":
 +    {
 +      "purchase":
 +        {
 +          "actionField":
 +            {"id":"52346890","revenue":"600"},
 +          "products":[
 +            {
 +              "id":"1353580",
 +              "name":"Юные таланты Бразилии, 2020-10-31 19:00:00",
 +              "brand":"Театр имени",
 +              "category":"Юные таланты Бразилии",
 +              "variant":"eticket",
 +              "quantity":1,
 +              "price":"600"
 +            }
 +          ]
 +        }
 +    }
 +}
 +</code>
 +
 +----
 +
 +=== Фрейм в Вконтакте ===
 +
 +== Для организации продаж в социальной сети вконтакте нужно ==
 +
 +  * Профиль социальной сети ВКонтакте
 +  * Группа или публичная страница, где вы являетесь администратором
 +  * доступ к номеру мобильного телефона, который привязан к вашему аккаунту ВКонтактe
 +
 +  - Запросите у саппорта личный iframe-hash(1) для vk.com
 +  - Перейдите на страницу создания приложения https://vk.com/editapp?act=create 
 +    - Введите название вашего приложения, например «Купить билет»
 +    - Выберите платформу: Встраиваемое приложение
 +    - Нажмите кнопку "Перейти к настройке приложения" {{:backstage:vk-4-create-application.png?600|}}
 +  - Выполните Подтверждение действия через SMS {{:backstage:vk-4-mobile-sms.png?400|}}
 +  - В разделе 'Информация' поля 'Название', 'Описание', 'Краткое описание', 'Категория' заполнить на свое усмотрение. Иконку можете использовать свою, или нашу (если такая имеется) {{:backstage:vk-6-editapp.png?400|}}
 +  - После этого смело нажимайте на кнопку 'Сохранить изменения' (не имеет значения под каким из блоков вы нажмете, сохранять все изменения во всех блоках)
 +  - Далее переходим во вкладку настройки. Поле 'Состояние' выставить в 'Приложение включено и видно всем'
 +  - Во всех блоках, где есть поле 'Url' вставить урл формата https://www.ticketland.ru/site/internalFrame/?iframe-internal=1&lite-layout=1&iframe-hash='iframe-hash(1)'в этом месте должен быть access hash фрейма, который вы запросили у саппорта&start-url=тут относительный урл на мероприятие на сайте тикетленда. Нажимаем 'Сохранить изменения'  {{:backstage:vk-7-com-editapp-settings.png?400|}}
 +  - Переходим в сообщество, где вы являетесь администратором и нажимаем на кнопку 'Управление' {{:backstage:vk-8-community-settings.png?400|}}
 +  - Переходим во вкладку 'Приложения' {{:backstage:vk-9-community-setting-app.png?400|}} и листаем в самый вниз, где видим наше приложение. {{:backstage:vk-10-my-app.png?400|}}Добавляем его и настраиваем так, как нам нужно. {{:backstage:vk-11-my-app-settings.png?400|}} Не забываем нажать кнопку Сохранить.
 +
 +После этого все готово и все работает
 +
  

backstage/6-nastroit-prodazhu-biletov-na-sayte-teatra.1600407399.txt.gz · Последнее изменение: 2020/09/18 08:36 — v.voronin