instrukcija_po_registracii_servisa_na_platforme
Различия
Показаны различия между двумя версиями страницы.
| instrukcija_po_registracii_servisa_na_platforme [2026/05/03 09:00] – создано sharixadmin | instrukcija_po_registracii_servisa_na_platforme [2026/05/03 09:15] (текущий) – sharixadmin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Подключение | + | ====== Подключение своего ShariX Open к Платформе ShariX ====== |
| - | Эта инструкция | + | Инструкция для владельца сервиса, |
| + | |||
| + | ===== Что получится после настройки ===== | ||
| После подключения: | После подключения: | ||
| - | * пользователи смогут регистрироваться на сервисе с синхронизацией профиля через платформу; | + | * сервис |
| - | * пользователь платформы | + | * владелец сервиса получит права администратора сервиса; |
| - | * платформа | + | * пользователи смогут подключать сервис через платформу; |
| - | * изменения профиля и пароля смогут | + | * новые |
| - | * владелец | + | * изменения профиля и пароля смогут |
| - | ===== 1. Термины ===== | + | ===== 1. Подготовьте сервис ===== |
| - | ^ Термин ^ Что означает ^ | + | Выполняется на сервере, |
| - | | Сервис | Установленный экземпляр ShariX Open. Например, | + | |
| - | | Платформа | Центральная платформа ShariX. Например, | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | | Ключ доступа платформы к сервису | Ключ, который генерируется на сервисе и переносится на платформу | + | |
| - | | '' | + | |
| - | | '' | + | |
| - | <note important> | + | Откройте |
| - | Не путайте | + | |
| - | * **Сервис → Платформа**: | + | Для первичного подключения рекомендуется: |
| - | * **Платформа → Сервис**: платформа использует '' | + | |
| - | </ | + | |
| - | + | ||
| - | ===== 2. Что должно быть уже | + | |
| - | + | ||
| - | Перед | + | |
| - | + | ||
| - | - ShariX Open установлен и открывается в браузере. | + | |
| - | - На сервисе есть пользователь, | + | |
| - | - На платформе есть пользователь, | + | |
| - | - Установлены и применены миграции всех подключенных модулей. | + | |
| - | - Сервис доступен с платформы по сети. | + | |
| - | - На сервисе в '' | + | |
| - | + | ||
| - | Пример настройки на сервисе: | + | |
| < | < | ||
| + | DEBUG=True | ||
| PLATFORM_INTEGRATION=2 | PLATFORM_INTEGRATION=2 | ||
| - | PLATFORM_API_URL=https:// | + | PLATFORM_API_URL=https:// |
| DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT | DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT | ||
| + | SYSTEMD_SERVICE_NAME=sharix_main | ||
| </ | </ | ||
| - | Рекомендуемый режим для первичной | + | Что |
| - | < | + | ^ Настройка ^ Что указать ^ |
| - | PLATFORM_INTEGRATION=2 | + | | '' |
| - | </code> | + | | '' |
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| - | Это подготовительный режим. В нем можно | + | Возможные |
| - | После | + | ^ Значение ^ Когда использовать ^ |
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| - | < | + | После изменения '' |
| - | PLATFORM_INTEGRATION=1 | + | |
| - | </ | + | |
| - | ===== 3. Режимы | + | Если доступен веб-интерфейс |
| - | ^ Значение ^ Название ^ Смысл ^ | + | - Войдите в Django admin сервиса. |
| - | | '' | + | - Откройте раздел '' |
| - | | '' | + | |
| - | | '' | + | - Подтвердите перезапуск. |
| - | | '' | + | |
| - | | '' | + | |
| - | <note warning> | + | Если кнопка перезапуска не работает, проверьте '' |
| - | '' | + | |
| - | </ | + | |
| - | ===== 4. Шаг 1. Настроить сервис перед подключением к платформе ===== | + | Пример: |
| - | + | ||
| - | Выполняется **на сервере сервиса ShariX Open**. | + | |
| - | + | ||
| - | Откройте '' | + | |
| < | < | ||
| - | PLATFORM_INTEGRATION=2 | + | SYSTEMD_SERVICE_NAME=sharix_main |
| - | PLATFORM_API_URL=https:// | + | |
| - | DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT | + | |
| </ | </ | ||
| - | Если сервис должен регистрировать обычных пользователей как клиентов сервиса: | + | Для ручного перезапуска через сервер: |
| < | < | ||
| - | DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT | + | systemctl restart sharix_main.service |
| </ | </ | ||
| - | Если сервис должен регистрировать пользователей только локально, | + | ===== 2. Сгенерируйте на сервисе ключ для платформы ===== |
| - | + | ||
| - | < | + | |
| - | DEFAULT_CLIENT_ROLE=METASERVICE-GUEST | + | |
| - | </ | + | |
| - | + | ||
| - | Если сервис должен принимать заявки корпоративных клиентов: | + | |
| - | + | ||
| - | < | + | |
| - | DEFAULT_CLIENT_ROLE=METASERVICE-CORPCLIENT | + | |
| - | </ | + | |
| - | + | ||
| - | <note important> | + | |
| - | Если указано '' | + | |
| - | </ | + | |
| - | + | ||
| - | ===== 5. Шаг | + | |
| - | Выполняется | + | Выполняется в интерфейсе сервиса ShariX Open. |
| - | - Войдите на сервис под | + | - Войдите на сервис под администратором. |
| - Откройте кабинет метасервиса. | - Откройте кабинет метасервиса. | ||
| - Нажмите кнопку генерации API-ключа для платформы. | - Нажмите кнопку генерации API-ключа для платформы. | ||
| - Скопируйте полученный ключ. | - Скопируйте полученный ключ. | ||
| - | Этот ключ нужен платформе, | + | Этот ключ нужен платформе, |
| - | Пример того, куда платформа потом будет обращаться: | + | Если '' |
| - | < | + | Если '' |
| - | GET | + | |
| - | PATCH https:// | + | |
| - | POST https:// | + | |
| - | PATCH https:// | + | |
| - | </ | + | |
| - | <note warning> | + | ===== 3. Создайте сервис на платформе ===== |
| - | В рабочем режиме ключ может быть показан только один раз после генерации. Скопируйте его сразу. | + | |
| - | В отладочном режиме '' | + | Выполняется на Платформе ShariX. |
| - | </ | + | |
| - | ===== 6. Шаг 3. Создать сервис на платформе ===== | + | |
| - | + | ||
| - | Выполняется **на Платформе ShariX**. | + | |
| - | + | ||
| - | | + | |
| - Откройте раздел создания сервиса. | - Откройте раздел создания сервиса. | ||
| - | - Заполните данные | + | - Создайте сервис и заполните основные данные: |
| - | * название | + | * название; |
| * юридическое название; | * юридическое название; | ||
| * ИНН; | * ИНН; | ||
| * реквизиты; | * реквизиты; | ||
| * описание; | * описание; | ||
| - | * URL сайта сервиса; | + | * адрес сайта сервиса. |
| - | * API URL сервиса; | + | |
| - | * ключ доступа платформы к сервису. | + | |
| - | Ключевые поля для интеграции: | + | На этапе первичного создания на платформе может не быть |
| - | ^ Поле | + | Сначала создайте сервис. |
| - | | '' | + | |
| - | | '' | + | |
| - | Пример: | + | ===== 4. Заполните на платформе данные для связи с сервисом ===== |
| - | < | + | Выполняется |
| - | api_url=https:// | + | |
| - | dbsynce_key=ключ_сгенерированный_на_сервисе | + | |
| - | </ | + | |
| - | После сохранения платформа создает | + | Нужно заполнить два значения. |
| - | < | + | ^ Что заполнить на платформе ^ Что туда вставить ^ |
| - | PLATFORM_API_KEY | + | | API URL сервиса | Адрес API вашего сервиса. Например: |
| - | </code> | + | | Ключ доступа к сервису |
| - | Этот ключ нужен сервису, | + | Пример: |
| - | + | ||
| - | ===== 7. Что платформа делает автоматически после сохранения сервиса ===== | + | |
| - | + | ||
| - | Если на платформе заполнены: | + | |
| - | + | ||
| - | * '' | + | |
| - | * '' | + | |
| - | * платформенный API-ключ для сервиса, | + | |
| - | + | ||
| - | то платформа автоматически пытается выполнить настройку сервиса. | + | |
| - | + | ||
| - | ==== 7.1. Передача настроек на сервис ==== | + | |
| - | + | ||
| - | Платформа вызывает API сервиса: | + | |
| < | < | ||
| - | PATCH /my/api/v1/ | + | API URL сервиса: |
| + | Ключ доступа к сервису: | ||
| </ | </ | ||
| - | На сервис | + | Сохраните карточку |
| - | < | + | ===== 5. Передайте |
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | } | + | |
| - | </ | + | |
| - | Сервис | + | После создания сервиса платформа генерирует ключ, |
| - | < | + | Этот ключ должен попасть на сервис в '' |
| - | METASERVICE_ID=< | + | |
| - | PLATFORM_API_KEY=< | + | |
| - | </ | + | |
| - | + | ||
| - | <note important> | + | |
| - | Платформа | + | |
| - | </ | + | |
| - | + | ||
| - | ==== 7.2. Назначение METASERVICE-ADMIN на сервисе ==== | + | |
| - | + | ||
| - | После обновления настроек платформа вызывает API сервиса и передает текущего пользователя платформы как администратора сервиса: | + | |
| < | < | ||
| - | POST / | + | PLATFORM_API_KEY=ключ_выданный_платформой |
| </ | </ | ||
| - | С ролью: | + | Также сервис должен знать свой ID на платформе: |
| < | < | ||
| - | METASERVICE-ADMIN | + | METASERVICE_ID=ID_сервиса_на_платформе |
| </ | </ | ||
| - | Сервис должен: | + | Есть два способа заполнить эти значения. |
| - | * создать пользователя, | + | ==== Способ 1. Автоматически через кнопку на платформе ==== |
| - | * назначить ему роль '' | + | |
| - | * снять '' | + | |
| - | * снять лишние права '' | + | |
| - | * оставить только одного '' | + | |
| - | ==== 7.3. Проверка состояния | + | Используйте этот способ, если уже заполнены: |
| - | Платформа вызывает: | + | * API URL сервиса; |
| + | * ключ доступа платформы | ||
| + | * сервис доступен с платформы. | ||
| - | < | + | В карточке или форме редактирования сервиса на платформе нажмите кнопку обновления настроек сервиса, |
| - | GET / | + | |
| - | </ | + | |
| - | И проверяет: | + | После этого платформа сама запишет на сервис в '' |
| < | < | ||
| - | metaservice_admin_is_valid | + | METASERVICE_ID=ID_сервиса_на_платформе |
| - | metaservice_admin_count | + | PLATFORM_API_KEY=ключ_выданный_платформой |
| </ | </ | ||
| - | Если на сервисе больше одного '' | + | После записи настроек |
| - | ===== 8. Шаг 4. Проверить результат на сервисе ===== | + | На сервисе это можно сделать через: |
| - | Выполняется **на сервисе ShariX Open**. | + | - Django admin; |
| + | - '' | ||
| + | - кнопку '' | ||
| - | Проверьте '' | + | ==== Способ 2. Вручную через .env ==== |
| - | < | + | Если автоматическая кнопка недоступна или не сработала, внесите |
| - | PLATFORM_INTEGRATION=2 | + | |
| - | PLATFORM_API_URL=https:// | + | |
| - | METASERVICE_ID=< | + | |
| - | PLATFORM_API_KEY=< | + | |
| - | </ | + | |
| - | + | ||
| - | Проверьте, | + | |
| - | + | ||
| - | * появился или обновился | + | |
| - | * у него есть роль '' | + | |
| - | * у пользователя '' | + | |
| - | * в кабинете метасервиса нет предупреждения | + | |
| - | + | ||
| - | Если используется Testkit, можно проверить endpoint: | + | |
| < | < | ||
| - | GET / | + | METASERVICE_ID=ID_сервиса_на_платформе |
| + | PLATFORM_API_KEY=ключ_выданный_платформой | ||
| </ | </ | ||
| - | Ожидаемый смысл ответа: | + | После |
| - | < | + | ===== 6. Назначьте администратора сервиса ===== |
| - | status=ok | + | |
| - | metaservice_admin_is_valid=true | + | |
| - | metaservice_admin_count=1 | + | |
| - | platform_api_key_configured=true | + | |
| - | </ | + | |
| - | ===== 9. Шаг 5. Активировать сервис | + | После того как платформа может обращаться к сервису, она назначает владельца сервиса администратором сервиса. |
| - | После | + | Обычно это происходит после сохранения настроек интеграции на платформе. |
| - | На сервисе | + | В результате на сервисе |
| - | < | + | * пользователь-владелец сервиса создан или обновлен; |
| - | PLATFORM_INTEGRATION=1 | + | * у него есть роль '' |
| - | </ | + | * тестовый пользователь '' |
| + | * других лишних '' | ||
| - | После изменения '' | + | Проверьте это в кабинете метасервиса на сервисе. |
| - | На платформе | + | Если на сервисе найдено больше одного '' |
| - | ===== 10. Регистрация пользователей после подключения ===== | + | Оставьте одного администратора сервиса. |
| - | ==== 10.1. Пользователь регистрируется | + | ===== 7. Проверьте состояние подключения ===== |
| - | Если на сервисе: | + | На сервисе |
| - | + | ||
| - | < | + | |
| - | DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT | + | |
| - | PLATFORM_INTEGRATION=1 | + | |
| - | </ | + | |
| - | + | ||
| - | или: | + | |
| < | < | ||
| PLATFORM_INTEGRATION=2 | PLATFORM_INTEGRATION=2 | ||
| + | PLATFORM_API_URL=https:// | ||
| + | METASERVICE_ID=ID_сервиса_на_платформе | ||
| + | PLATFORM_API_KEY=ключ_выданный_платформой | ||
| </ | </ | ||
| - | то при регистрации | + | На платформе в карточке |
| - | Если пользователь | + | * API URL сервиса заполнен; |
| + | * ключ доступа к сервису | ||
| + | * сервис не находится в аварийном режиме; | ||
| + | * текущий владелец сервиса соответствует администратору на сервисе. | ||
| - | * сервис | + | На сервисе проверьте: |
| - | * если платформа успешно создала пользователя, на сервисе создается '' | + | |
| - | * если платформа недоступна, | + | |
| - | * если пользователь уже существует на платформе, | + | |
| - | ==== 10.2. Пользователь уже есть на платформе ==== | + | * кабинет метасервиса |
| + | * нет предупреждения о нескольких '' | ||
| + | * Testkit, если подключен, открывается; | ||
| + | * регистрация | ||
| - | Если пользователь уже существует на платформе и хочет подключить сервис: | + | ===== 8. Переведите сервис |
| - | - пользователь | + | Когда все проверки прошли успешно, измените на сервисе |
| - | - открывает список активных сервисов; | + | |
| - | - выбирает нужный | + | |
| - | - нажимает | + | |
| - | + | ||
| - | После этого платформа вызывает API сервиса и создает/обновляет пользователя на сервисе. | + | |
| - | + | ||
| - | ==== 10.3. Корпоративный клиент ==== | + | |
| - | + | ||
| - | Если на сервисе: | + | |
| < | < | ||
| - | DEFAULT_CLIENT_ROLE=METASERVICE-CORPCLIENT | + | PLATFORM_INTEGRATION=1 |
| </ | </ | ||
| - | то при | + | Перезапустите сервис. |
| - | * создается пользователь; | + | После |
| - | * назначается роль корпоративного клиента; | + | |
| - | * создается '' | + | |
| - | * создается заявка '' | + | |
| - | * текущий пользователь становится представителем корпоративного клиента. | + | |
| - | ===== 11. Синхронизация профиля | + | ===== 9. Проверьте регистрацию пользователя ===== |
| - | Состояние синхронизации пользователя на сервисе хранится в записи '' | + | Проверьте сценарий самостоятельной регистрации на сервисе. |
| - | ^ Значение ^ Смысл ^ | + | Если в '' |
| - | | '' | + | |
| - | | '' | + | |
| - | + | ||
| - | Если | + | |
| - | + | ||
| - | Пользователь может управлять синхронизацией в своем профиле, | + | |
| - | + | ||
| - | * сервис подключен к платформе; | + | |
| - | * '' | + | |
| - | * у пользователя есть запись '' | + | |
| - | * базовая роль регистрации допускает создание клиента. | + | |
| - | + | ||
| - | ===== 12. Смена профиля и пароля ===== | + | |
| - | + | ||
| - | Если у пользователя включена синхронизация: | + | |
| - | + | ||
| - | * изменение профиля на сервисе отправляется на платформу; | + | |
| - | * смена пароля на сервисе отправляется на платформу; | + | |
| - | * платформа обновляет данные у себя; | + | |
| - | * платформа пробует отправить изменения на другие сервисы, | + | |
| - | + | ||
| - | Если один из связанных сервисов не принял изменение: | + | |
| - | + | ||
| - | * операция для пользователя-инициатора не откатывается; | + | |
| - | * профиль или пароль на инициирующем сервисе уже изменены; | + | |
| - | * платформа переводит проблемный сервис в аварийный режим; | + | |
| - | * пользователю может быть показано предупреждение со списком сервисов, | + | |
| - | + | ||
| - | ===== 13. Аварийный режим ===== | + | |
| - | + | ||
| - | Если активный сервис должен синхронизироваться с платформой, | + | |
| < | < | ||
| - | 3 | + | DEFAULT_CLIENT_ROLE=METASERVICE-CLIENT |
| + | PLATFORM_INTEGRATION=1 | ||
| </ | </ | ||
| - | Это означает: | + | то на форме регистрации пользователь сможет выбрать синхронизацию с платформой. |
| - | < | + | Ожидаемое поведение: |
| - | error | + | |
| - | </ | + | |
| - | В аварийном режиме сервис не считается корректно синхронизированным. | + | ^ Ситуация ^ Что должно произойти ^ |
| + | | Пользователь выбрал синхронизацию, | ||
| + | | Пользователь выбрал | ||
| + | | Пользователь не выбрал | ||
| + | | Платформа временно недоступна | Пользователь создается локально, синхронизация отключается, | ||
| - | Чтобы вернуть сервис в рабочее состояние: | + | ===== 10. Проверьте подключение существующего пользователя платформы ===== |
| - | - проверьте доступность API сервиса; | + | Выполняется на платформе. |
| - | - проверьте '' | + | |
| - | - проверьте '' | + | |
| - | - проверьте '' | + | |
| - | - проверьте '' | + | |
| - | - проверьте, | + | |
| - | - после исправления переведите статус интеграции обратно в активный. | + | |
| - | ===== 14. Минимальный чек-лист подключения ===== | + | - Войдите на платформу под пользователем, |
| + | - Откройте список сервисов. | ||
| + | | ||
| + | - Нажмите подключение сервиса. | ||
| - | ==== На сервисе ==== | + | Ожидаемое поведение: |
| - | | + | |
| - | - В '' | + | |
| - | - В '' | + | * на сервисе у пользователя |
| - | | + | * синхронизация профиля будет |
| - | - Скопирован сгенерированный | + | |
| - | ==== На платформе ==== | + | ===== 11. Проверьте синхронизацию профиля ===== |
| - | - Создана запись | + | На сервисе откройте |
| - | - Заполнен '' | + | |
| - | - В '' | + | |
| - | - Платформа выдала сервису '' | + | |
| - | - Платформа успешно записала на сервис '' | + | |
| - | - Платформа назначила текущего | + | |
| - | - Health-check сервиса проходит успешно. | + | |
| - | ==== После настройки ==== | + | Если синхронизация доступна, в профиле должна быть кнопка включения или отключения синхронизации с платформой. |
| - | + | ||
| - | - На сервисе в '' | + | |
| - | - '' | + | |
| - | - На сервисе ровно один '' | + | |
| - | - Пользователь-владелец сервиса может зайти в кабинет | + | |
| - | - Сервис можно перевести | + | |
| - | + | ||
| - | ===== 15. Типовые ошибки ===== | + | |
| - | + | ||
| - | ==== Платформа не может связаться с сервисом ==== | + | |
| Проверьте: | Проверьте: | ||
| - | | + | |
| - | | + | - Измените имя или email. |
| - | | + | |
| - | * не блокирует | + | |
| - | * корректен ли ключ '' | + | |
| - | ==== Сервис не может связаться с платформой ==== | + | Если пользователь подключен к нескольким |
| - | Проверьте на сервисе: | + | Если какой-то сервис |
| - | < | + | * изменение у пользователя не откатывается; |
| - | PLATFORM_API_URL | + | * проблемный сервис переводится в аварийный режим; |
| - | METASERVICE_ID | + | * пользователю показывается предупреждение. |
| - | PLATFORM_API_KEY | + | |
| - | PLATFORM_INTEGRATION | + | |
| - | </ | + | |
| - | ==== Пользователь уже существует на платформе | + | ===== 12. Проверьте смену пароля ===== |
| - | Это не всегда ошибка. | + | На сервисе смените пароль пользователя. |
| - | Если | + | Если синхронизация включена: |
| - | | + | |
| - | | + | * сервис передает изменение |
| - | - подключить | + | |
| - | ==== На сервисе несколько METASERVICE-ADMIN ==== | + | Если один из связанных |
| - | Сервис в таком состоянии не считается корректно настроенным для активной интеграции. | + | * пароль у пользователя все равно меняется; |
| + | * недоступный сервис переводится в аварийный режим; | ||
| + | * пользователь получает | ||
| - | Нужно оставить одного администратора | + | ===== 13. Если сервис |
| - | В кабинете метасервиса должно отображаться | + | Аварийный режим означает, что платформа пыталась синхронизироваться |
| - | ==== Таблицы Testkit не созданы ==== | + | Проверьте по порядку: |
| - | + | ||
| - | Если при открытии Testkit | + | |
| - | + | ||
| - | < | + | |
| - | relation " | + | |
| - | </ | + | |
| - | нужно убедиться, что миграции модуля Testkit | + | - Открывается ли сервис в браузере. |
| + | - Правильно ли указан API URL сервиса на платформе. | ||
| + | - Правильно ли вставлен ключ доступа к сервису на платформе. | ||
| + | - Правильно ли указан '' | ||
| + | - Есть ли на сервисе '' | ||
| + | - Есть ли на сервисе '' | ||
| + | - Ровно ли один пользователь имеет роль '' | ||
| + | - Перезапущен ли сервис после | ||
| - | Обычно достаточно выполнить общий update/ | + | После исправления снова сохраните настройки интеграции |
| - | ===== 16. Рекомендуемый порядок для запуска ===== | + | ===== 14. Короткий порядок действий |
| - | - На сервисе установить '' | + | - На сервисе |
| - | - На сервисе указать | + | - Перезапустить сервис. |
| - На сервисе сгенерировать ключ доступа платформы к сервису. | - На сервисе сгенерировать ключ доступа платформы к сервису. | ||
| - | - На платформе создать запись сервиса. | + | - На платформе создать сервис. |
| - | - На платформе | + | - На платформе |
| - | - На платформе вставить ключ сервиса в '' | + | - На платформе вставить ключ, сгенерированный на сервисе. |
| - | - Сохранить сервис | + | - Сохранить сервис. |
| - | - Дождаться автоматической записи '' | + | - На платформе обновить настройки сервиса, чтобы на сервис попали '' |
| - | - Проверить, | + | - Перезапустить |
| - | - Проверить | + | - Проверить, |
| + | - Проверить | ||
| + | | ||
| + | - Проверить изменение профиля. | ||
| + | - Проверить смену пароля. | ||
| - Перевести сервис в '' | - Перевести сервис в '' | ||
| - | - Провести тестовую | + | - Перезапустить сервис. |
| - | - Провести тестовое подключение уже существующего пользователя платформы к сервису. | + | |
| - | - Провести тестовое изменение профиля и пароля. | + | |
instrukcija_po_registracii_servisa_na_platforme.1777798841.txt.gz · Последнее изменение: — sharixadmin