Skip to content

integrationCode

Метод для формирования кода встраивания

js
import { integrationCode, ROUTES, EMBED_TYPES } from 'afisha-widget-manager'

Топ событий

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} cityId - "id" города
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */
integrationCode({
  route: ROUTES.creationsTop,
  embedType: EMBED_TYPES.inline,
  cityId: '2'
})

// Результат
<a-widget route="creationsTop" embed-type="modal" city-id="2"></a-widget>

События по типу

js
/**
 * Метод для формирования кода встраивания
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} cityId - "id" города
 * @param {string} creationType - тип события
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.creationsType,
  embedType: EMBED_TYPES.inline,
  creationType: 'movie',
  cityId: '2'
})

// Результат
<a-widget route="creationsType" embed-type="inline" creation-type="movie" city-id="2"></a-widget>

Расписание события

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} cityId - "id" города
 * @param {string} creationType - тип события
 * @param {string} creationId - id события
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.creationsType,
  embedType: EMBED_TYPES.modal,
  cityId: '2',
  creationType: 'movie',
  creationId: '989798'
})

// Результат
<a-widget route="creation" embed-type="modal" creation-type="movie" creation-id="989798" city-id="2"></a-widget>

Расписание площадки

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} placeId - id площадки
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.place,
  embedType: EMBED_TYPES.modal,
  placeId: '54351'
})

// Результат
<a-widget route="place" embed-type="modal" place-id="54351"></a-widget>

Сеанс

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} sessionId - id сеанса
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.session,
  embedType: EMBED_TYPES.modal,
  sessionId: '102573355'
})

// Результат
<a-widget route="session" embed-type="modal" session-id="102573355"></a-widget>

Магазин

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.store,
  embedType: EMBED_TYPES.modal
})

// Результат
<a-widget route="store" embed-type="modal"></a-widget>

Оформление заказа

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} orderId - id заказа
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.checkout,
  embedType: EMBED_TYPES.inline,
  orderId: '84b80753-757d-442f-8557-738aab0d46c7'
})

// Результат
<a-widget route="checkout" embed-type="inline" order-id="84b80753-757d-442f-8557-738aab0d46c7"></a-widget>

Заказ

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} orderId - id заказа
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.order,
  embedType: EMBED_TYPES.inline,
  orderId: '84b80753-757d-442f-8557-738aab0d46c7'
})

// Результат
<a-widget route="checkout" embed-type="inline" order-id="84b80753-757d-442f-8557-738aab0d46c7"></a-widget>

Список билетов

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.tickets,
  embedType: EMBED_TYPES.inline
})

// Результат
<a-widget route="tickets" embed-type="inline"></a-widget>

Возврат заказов

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.refunds,
  embedType: EMBED_TYPES.modal
})

// Результат
<a-widget route="refunds" embed-type="modal"></a-widget>

Возврат заказа

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} orderId - id заказа
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.refundOrder,
  embedType: EMBED_TYPES.inline,
  orderId: '84b80753-757d-442f-8557-738aab0d46c7'
})

// Результат
<a-widget route="refundOrder" embed-type="inline" order-id="84b80753-757d-442f-8557-738aab0d46c7"></a-widget>

Возврат неизвестного заказа

js
/**
 * @param {Routes} route - наименование экрана
 * @param {EmbedTypes} embedType - тип встраивания
 * @param {string} [widgetKey] - ключ виджета
 * @param {string} [buttonText] - текст кнопки, только для "modal" виджета
 * @param {string} [width] - ширина, только для "inline" виджета
 * @param {string} [height] - высота, только для "inline" виджета
 * @returns {string} - код интеграции
 */

integrationCode({
  route: ROUTES.refundUnknown,
  embedType: EMBED_TYPES.modal
})

// Результат
<a-widget route="refundUnknown" embed-type="modal"></a-widget>