+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/components/RightActionPanel.vue b/docs/.vitepress/theme/components/RightActionPanel.vue
new file mode 100644
index 0000000..32218b5
--- /dev/null
+++ b/docs/.vitepress/theme/components/RightActionPanel.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
diff --git a/docs/.vitepress/theme/index.js b/docs/.vitepress/theme/index.js
new file mode 100644
index 0000000..8065213
--- /dev/null
+++ b/docs/.vitepress/theme/index.js
@@ -0,0 +1,15 @@
+import DefaultTheme from 'vitepress/theme'
+import CustomLayout from './components/Layout.vue'
+
+import BasicBlock from './components/BasicBlock.vue'
+
+export default {
+ ...DefaultTheme,
+ Layout: CustomLayout,
+ enhanceApp({ app }) {
+ DefaultTheme.enhanceApp?.({ app })
+
+ app.component('BasicBlock', BasicBlock)
+ }
+}
+
diff --git a/docs/.vitepress/theme/rightPanel.js b/docs/.vitepress/theme/rightPanel.js
new file mode 100644
index 0000000..961fea4
--- /dev/null
+++ b/docs/.vitepress/theme/rightPanel.js
@@ -0,0 +1,10 @@
+export const rightPanels = [
+ {
+ id: 'api',
+ title: 'API Reference',
+ buttonLabel: 'API',
+ items: [
+ { text: 'Introduction', link: 'docs/integration/api/' },
+ ]
+ }
+]
diff --git a/docs/integration/api/index.md b/docs/integration/api/index.md
new file mode 100644
index 0000000..e4785e0
--- /dev/null
+++ b/docs/integration/api/index.md
@@ -0,0 +1,33 @@
+# Introduction
+
+Welcome to <%= config[:service_name] %> API Reference. This reference will help you to create new, more effective S2S or M2S integration.
+
+Our API is RESTful and you can use any language to work with it.
+
+We provide examples as:
+
+- cURL
+- Javascript (web)
+- Swift (iOS)
+- Kotlin (Android)
+- Java (Android)
+
+Every request in this API can include a set of parameters — some mandatory, others optional.
+
+Optional parameters may affect how requests are processed.
+
+For example, the stream parameter (explained below) provides a way to label the source of data.
+
+
\ No newline at end of file
diff --git a/docs/integration/index.md b/docs/integration/index.md
index 30404ce..1978ddb 100644
--- a/docs/integration/index.md
+++ b/docs/integration/index.md
@@ -1 +1,17 @@
-TODO
\ No newline at end of file
+# Интеграция и API
+
+Интеграция любого инструмента REES46 начинается с базовой интеграции CDP:
+
+1. Установка SDK на сайт и в мобильные приложения.
+2. Трекинг действий посетителей.
+3. Синхронизация заказов.
+4. Первичный импорт аудитории и истории заказов.
+5. Загрузка фида с товарами или услугами.
+
+Поэтому рекомендуем начать с раздела "[Начальная интеграция](./start/index.md)" и выполнить максимум рекомендаций.
+
+Платформа может работать с любым устройством, у которого есть интернет.
+
+Есть SDK и есть REST API.
+
+Для управления есть еще Dashboard API, ссылка на него идет отдельно.
\ No newline at end of file
diff --git a/docs/integration/loyalty/wallet/apple.md b/docs/integration/loyalty/wallet/apple.md
new file mode 100644
index 0000000..b965090
--- /dev/null
+++ b/docs/integration/loyalty/wallet/apple.md
@@ -0,0 +1,63 @@
+# Настройка Apple Wallet
+
+Вам потребуется аккаунт Apple Developer и MacBook, чтобы сгенерировать сертификат Apple Pass. Если с этим есть сложности, обратитесь к нашей команде поддержки.
+
+Краткий план действий:
+
+1. Создаем идентификатор Pass ID
+2. Создаем CSR файл
+3. Генерируем CER-файл
+4. Импортируем в Keychain
+5. Выгружаем сертификат P12
+6. Загружаем в личный кабинет
+
+## Создаем идентификатор Pass ID
+
+1. Зайдите в Apple Developer
+2. Перейдите в раздел `Certificates, Identifiers & Profiles`
+3. Выберите `Identifiers`
+4. Нажмите `[+]`
+5. Впишите описание (любой текст) и идентификатор пасса, что-то вроде `pass.ru.mywebsite.loyalty` (строка может быть любая, главное чтобы это было похоже на Reverse DNS)
+6. Нажмите "Сохранить"
+
+Не закрывайте окно, нам потребуется форма создания сертификата через один шаг.
+
+## Создаем CSR файл
+
+1. Откройте на MacBook приложение `Keychain Access`
+2. В меню выберите `Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority...`
+3. В новом окне в параметре `Request is` выберите вариант `Saved to disk`
+4. Сохраните файл `CertificateSigningRequest.certSigningRequest` на жесткий диск, он потребуется на следующем шаге
+
+## Генерируем CER-файл
+
+1. Вернитесь в окно браузера, где вы создали `Pass Identifier` (если закрыли, то откройте `Certificates, Identifiers & Profiles > Identifiers`, справа-сверху вместо `App IDs` выберите `Pass Type IDs`, и кликните в идентификатор, который вы создали ранее)
+2. Нажмите кнопку `Create certificate`
+3. В имя сертификата впишите что угодно
+4. Выберите в поле файла созданный ранее файл `CertificateSigningRequest.certSigningRequest`
+5. Нажмите `Continue`
+6. На следующем экране скачайте `.cer` файл на жесткий диск
+
+## Импортируем в Keychain
+
+1. Двойной клик на полученный `.cer` файл
+2. Откроется `Keychain Access`
+3. В секции `login` через поле поиска найдите тот Pass Type ID, который вы создали в секции `Создаем идентификатор Pass ID`
+
+## Выгружаем сертификат P12
+
+1. Правой кнопкой на имя `Pass Type ID`, откроется контекстное меню
+2. Выберите `Export "Pass Type ID ..."`
+3. Откроется окно с указанием имени файла (по-умолчанию `Certificates`), оставьте его как есть, и формат файла `.p12` тоже. Нажмите `Save`
+4. В следующем окне введите пароль к сертификату (обязательно)
+
+## Загружаем в личный кабинет
+
+1. Откройте в личном кабинете REES46 экран настройки Wallet
+2. Скроллируйте вниз, пока не увидите форму загрузки сертификата Apple
+3. Выберите файл из предыдущего пункта и введите пароль
+4. Нажмите "Загрузить"
+5. Если получили ошибку пароля, значит пароль указан неправильно (проверьте, что не вставляете лишние пробелы)
+6. После успешной загрузки вы увидите дату, до которой действует сертификат. Не забывайте проверять ее и загрузить новый сертификат до того, как наступит эта дата, иначе вы не сможете создавать новые пассы
+
+На этом с Apple все. Настройте [Google](./google.md) и можно приступать к [выдаче пассов вашим клиентам](./distribute.md).
\ No newline at end of file
diff --git a/docs/integration/loyalty/wallet/distribute.md b/docs/integration/loyalty/wallet/distribute.md
new file mode 100644
index 0000000..1fc2abe
--- /dev/null
+++ b/docs/integration/loyalty/wallet/distribute.md
@@ -0,0 +1,3 @@
+# Передача пассов клиентам
+
+Как получить pass-файлы и отдать клиентам.
\ No newline at end of file
diff --git a/docs/integration/loyalty/wallet/google.md b/docs/integration/loyalty/wallet/google.md
new file mode 100644
index 0000000..db662e1
--- /dev/null
+++ b/docs/integration/loyalty/wallet/google.md
@@ -0,0 +1,46 @@
+# Настройка Google Wallet
+
+Вам потребуется аккаунт разработчика Google.
+
+Краткий план действий:
+
+1. Активируем Google Wallet
+2. Создаем сервисный аккаунт в Google Console
+3. Загружаем ключ сервисного аккаунта в настройки Wallet
+4. Публикуем свой Google Wallet для всех клиентов
+
+## Активируем Google Wallet
+
+1. Зайдите в Google Wallet Console: https://pay.google.com/business/console/home
+2. Перейдите в пункт меню `Google Wallet API` слева в меню
+3. Скопируйте длинное числовое значение `Issuer ID` (19-значное число немного правее заголовка страницы `Google Wallet API`). Это значение понадобится на странице настройки Wallet в личном кабинете REES46
+4. Перейдите в Google Console: https://console.cloud.google.com
+5. Найдите в поиске Google Wallet API и перейдите на его страницу: https://console.cloud.google.com/marketplace/product/google/walletobjects.googleapis.com?q=search&referrer=search
+6. Нажмите "Activate"
+
+## Создаем сервисный аккаунт в Google Console
+
+1. Перейдите в раздел `Credentials`: https://console.cloud.google.com/apis/credentials
+2. Сверху нажмите кнопку `+ Create credentials`
+3. Выберите в меню `Service Account`
+4. В форме укажите имя ключа (любое) и `Service account ID` (любой)
+5. Нажмите `Done`
+6. На следующей странице найдите созданный вами сервисный аккаунт и перейдите в него
+7. На странице сервисного аккаунта кликните в меню `Keys`
+8. Далее `Add key` и в выпадающем меню `Create new key`
+9. Выберите формат JSON и нажмите `Create`
+10. Сохраните скачанный файл, он потребуется на следующем шаге
+
+## Загружаем ключ сервисного аккаунта в настройки Wallet
+
+1. Откройте в личном кабинете REES46 экран настройки Wallet
+2. Скроллируйте вниз, пока не увидите форму загрузки файла ключа Google
+3. Выберите файл из предыдущего пункта и в поле `Issuer ID` впишите значение, полученное ранее
+4. Нажмите `Загрузить`
+5. После успешной загрузки вы увидите сообщение о том, что файл ключа загружен
+
+Можно приступать к [выдаче пассов вашим клиентам](./distribute.md).
+
+## Больше информации
+
+Подробная инструкция по Google Wallet: https://developers.google.com/wallet/generic
\ No newline at end of file
diff --git a/docs/integration/loyalty/wallet/index.md b/docs/integration/loyalty/wallet/index.md
new file mode 100644
index 0000000..ac22a4b
--- /dev/null
+++ b/docs/integration/loyalty/wallet/index.md
@@ -0,0 +1,16 @@
+# Введение в Wallet
+
+Wallet позволяет хранить пассы (pass, виртуальные карты лояльности) в телефоне покупателя.
+
+Первичная настройка оформления пасса выполняется в личном кабинете в разделе `Программа лояльности > Wallet`.
+
+Вы можете выбрать цвет фона и текста, загрузить логотип и стрип (горизонтальная картинка), указать контактные данные и до 10 точек геолокации с вашими розничными точками продаж.
+
+Затем необходимо загрузить сертификаты Apple и Google, чтобы заработала поддержка пасс-файлов:
+
+1. [Сертификат Apple](./apple.md)
+2. [Сертификат Google](./google.md)
+
+## Полезная информация
+
+* Структура Apple Pass, из каких компонентов состоит pass и пр. [Читать](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/PassKit_PG/Creating.html)
\ No newline at end of file
diff --git a/docs/integration/start/index.md b/docs/integration/start/index.md
new file mode 100644
index 0000000..b939154
--- /dev/null
+++ b/docs/integration/start/index.md
@@ -0,0 +1,17 @@
+# Начальная интеграция
+
+
+
+
\ No newline at end of file
diff --git a/docs/public/integration/start/api/android-java.md b/docs/public/integration/start/api/android-java.md
new file mode 100644
index 0000000..d548577
--- /dev/null
+++ b/docs/public/integration/start/api/android-java.md
@@ -0,0 +1 @@
+adssdsdf
\ No newline at end of file
diff --git a/docs/public/integration/start/api/android-kotlin.md b/docs/public/integration/start/api/android-kotlin.md
new file mode 100644
index 0000000..9733108
--- /dev/null
+++ b/docs/public/integration/start/api/android-kotlin.md
@@ -0,0 +1 @@
+sdsdsd
\ No newline at end of file
diff --git a/docs/public/integration/start/api/curl.md b/docs/public/integration/start/api/curl.md
new file mode 100644
index 0000000..0e9e67d
--- /dev/null
+++ b/docs/public/integration/start/api/curl.md
@@ -0,0 +1 @@
+dssdsdfsdf
\ No newline at end of file
diff --git a/docs/public/integration/start/api/general.md b/docs/public/integration/start/api/general.md
new file mode 100644
index 0000000..2448afd
--- /dev/null
+++ b/docs/public/integration/start/api/general.md
@@ -0,0 +1 @@
+sdsdsdsd
\ No newline at end of file
diff --git a/docs/public/integration/start/api/ios.md b/docs/public/integration/start/api/ios.md
new file mode 100644
index 0000000..8e48f46
--- /dev/null
+++ b/docs/public/integration/start/api/ios.md
@@ -0,0 +1 @@
+dssdsd
\ No newline at end of file
diff --git a/docs/public/integration/start/api/js.md b/docs/public/integration/start/api/js.md
new file mode 100644
index 0000000..2448afd
--- /dev/null
+++ b/docs/public/integration/start/api/js.md
@@ -0,0 +1 @@
+sdsdsdsd
\ No newline at end of file
diff --git a/docs/public/integration/start/api/react-native.md b/docs/public/integration/start/api/react-native.md
new file mode 100644
index 0000000..e69de29
diff --git a/docs/public/integration/start/content/1.md b/docs/public/integration/start/content/1.md
new file mode 100644
index 0000000..92fe939
--- /dev/null
+++ b/docs/public/integration/start/content/1.md
@@ -0,0 +1 @@
+тест 1
\ No newline at end of file
diff --git a/docs/public/integration/start/content/2.md b/docs/public/integration/start/content/2.md
new file mode 100644
index 0000000..48595e2
--- /dev/null
+++ b/docs/public/integration/start/content/2.md
@@ -0,0 +1,14 @@
+Что такое Lorem Ipsum?
+Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для текстов на латинице с начала XVI века. В то время некий безымянный печатник создал большую коллекцию размеров и форм шрифтов, используя Lorem Ipsum для распечатки образцов. Lorem Ipsum не только успешно пережил без заметных изменений пять веков, но и перешагнул в электронный дизайн. Его популяризации в новое время послужили публикация листов Letraset с образцами Lorem Ipsum в 60-х годах и, в более недавнее время, программы электронной вёрстки типа Aldus PageMaker, в шаблонах которых используется Lorem Ipsum.
+
+Почему он используется?
+Давно выяснено, что при оценке дизайна и композиции читаемый текст мешает сосредоточиться. Lorem Ipsum используют потому, что тот обеспечивает более или менее стандартное заполнение шаблона, а также реальное распределение букв и пробелов в абзацах, которое не получается при простой дубликации "Здесь ваш текст.. Здесь ваш текст.. Здесь ваш текст.." Многие программы электронной вёрстки и редакторы HTML используют Lorem Ipsum в качестве текста по умолчанию, так что поиск по ключевым словам "lorem ipsum" сразу показывает, как много веб-страниц всё ещё дожидаются своего настоящего рождения. За прошедшие годы текст Lorem Ipsum получил много версий. Некоторые версии появились по ошибке, некоторые - намеренно (например, юмористические варианты).
+
+
+Откуда он появился?
+Многие думают, что Lorem Ipsum - взятый с потолка псевдо-латинский набор слов, но это не совсем так. Его корни уходят в один фрагмент классической латыни 45 года н.э., то есть более двух тысячелетий назад. Ричард МакКлинток, профессор латыни из колледжа Hampden-Sydney, штат Вирджиния, взял одно из самых странных слов в Lorem Ipsum, "consectetur", и занялся его поисками в классической латинской литературе. В результате он нашёл неоспоримый первоисточник Lorem Ipsum в разделах 1.10.32 и 1.10.33 книги "de Finibus Bonorum et Malorum" ("О пределах добра и зла"), написанной Цицероном в 45 году н.э. Этот трактат по теории этики был очень популярен в эпоху Возрождения. Первая строка Lorem Ipsum, "Lorem ipsum dolor sit amet..", происходит от одной из строк в разделе 1.10.32
+
+Классический текст Lorem Ipsum, используемый с XVI века, приведён ниже. Также даны разделы 1.10.32 и 1.10.33 "de Finibus Bonorum et Malorum" Цицерона и их английский перевод, сделанный H. Rackham, 1914 год.
+
+Где его взять?
+Есть много вариантов Lorem Ipsum, но большинство из них имеет не всегда приемлемые модификации, например, юмористические вставки или слова, которые даже отдалённо не напоминают латынь. Если вам нужен Lorem Ipsum для серьёзного проекта, вы наверняка не хотите какой-нибудь шутки, скрытой в середине абзаца. Также все другие известные генераторы Lorem Ipsum используют один и тот же текст, который они просто повторяют, пока не достигнут нужный объём. Это делает предлагаемый здесь генератор единственным настоящим Lorem Ipsum генератором. Он использует словарь из более чем 200 латинских слов, а также набор моделей предложений. В результате сгенерированный Lorem Ipsum выглядит правдоподобно, не имеет повторяющихся абзацей или "невозможных" слов.
\ No newline at end of file
diff --git a/docs/public/integration/start/content/3.md b/docs/public/integration/start/content/3.md
new file mode 100644
index 0000000..99dcc48
--- /dev/null
+++ b/docs/public/integration/start/content/3.md
@@ -0,0 +1 @@
+тест 3
\ No newline at end of file
diff --git a/package.json b/package.json
index cbda090..3091a70 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,10 @@
"docs:preview": "vitepress preview docs"
},
"devDependencies": {
- "vitepress": "^2.0.0-alpha.12"
+ "vitepress": "^2.0.0-alpha.12",
+ "vue": "^3.5.25"
+
+ },
+ "dependencies": {
}
}