Интеграции: ключи API, вебхуки, оповещения, вход для других сайтов
Как подключить к сайту склад, бота, мессенджер или другой ваш сайт — безопасно и только к тому, что вы разрешили.
Раздел Интеграции собирает четыре способа связать сайт с внешним миром: «Ключи API», «Вебхуки», «Оповещения» и «Вход для других сайтов».
Ключи API
Ключ даёт программе снаружи — складу, бухгалтерии, своему боту — доступ к сайту от вашего имени, но только к тому, что вы отметите. Ключ не может больше, чем вы сами: сняли у себя право — у ключа оно пропадёт. Ключ показывается один раз: сайт хранит только его отпечаток и показать ключ ещё раз не сможет, потеряли — выпустите новый. Программа передаёт ключ заголовком «Authorization: Bearer nx_…». Кнопка загрузки отдаёт файл OpenAPI для Postman и генераторов клиентов: в нём только те точки, на которые хватает ваших прав. Если ни один включённый модуль пока нечего отдать по ключу, список областей доступа будет пуст.
Вебхуки
Когда на сайте что-то случилось — оплатили заказ, завели учётную запись, — сайт сообщает об этом на указанный вами адрес: складу, бухгалтерии, боту. Сообщения уходят через очередь. Адрес — только внешний: на адреса внутри сервера и локальной сети сайт не стучится. Каждое сообщение подписано: заголовок X-Nex1on-Signature — это подпись sha256 от тела сообщения, посчитанная с вашим секретом; принимающая сторона проверяет её и так узнаёт, что сообщение пришло с вашего сайта. Если сменить секрет, старый перестанет подходить и принимающую сторону придётся перенастроить.
Оповещения
Сообщения о важном — на телефон: новая заявка, заказ, подписка, сбой. Сообщение короткое: название сайта, что случилось и номер; имён, почты и текстов обращений в нём нет. Подключается бот Telegram (нужен номер чата или @имя канала, бот должен быть в этом чате) или входящий вебхук Slack либо Discord. Адрес вебхука после сохранения не показывается. В час уходит ограниченное число сообщений: когда предел достигнут, остальные события до конца часа не отправляются. Ссылку на панель в сообщение можно включить отдельной галочкой, но тогда её увидит и служба сообщений.
Вход для других сайтов
Ваши другие сайты и приложения могут принимать вход через учётки этого сайта (OpenID Connect). Это работает только для клиентов, которых вы завели здесь; согласие человека обязательно, доступ можно отозвать — у одного клиента или у всех сразу. С согласия человека сайту-клиенту уходят его имя, логин, язык и (по желанию) проверенная почта — только то, что разрешено областями доступа. Учётки с доступом в панель по умолчанию входить на чужие сайты через нас не могут: разрешает владелец для каждого клиента отдельно.
Что нужно для включения: адрес сайта в настройках запуска должен быть https (на своём компьютере допускается http://localhost), у сайта должен быть настоящий ключ шифрования (app.key), на хостинге должно работать расширение openssl. После включения на сайте появятся открытые адреса /.well-known/openid-configuration и /.well-known/jwks.json (личного в них ничего нет) и точки обмена /oauth/…. Секрет клиента показывается один раз после создания. Перед включением допишите в политику сайта абзац о передаче данных чужим сайтам по согласию человека.