Общий QR-код — для администратора сайта
Страница для того, кто ведёт сайт заведения. Её можно переслать как есть. Задача — чтобы адрес на сайте заведения вёл на страницу выбора мессенджера Нямбота. Тогда на упаковке и в рекламе печатается адрес заведения, а не Нямбота.
Что нужно сделать#
Два адреса возьми у владельца. Оба есть в СРМ Нямбота, в карточке общего QR-кода:
| Что | Пример | Где в СРМ |
|---|---|---|
| Адрес на сайте заведения — его зашили в QR-код | https://твойсайт.ru/app | «Адрес в QR-коде» |
| Адрес Нямбота — куда вести | https://nyambot.ru/go/твой-адрес | «Адрес Нямбота» |
твой-адрес — не текст, который надо вписать, а адрес конкретного кода: его задают при создании кода, он стоит после nyambot.ru/go/. твойсайт.ru/app — тоже заготовка: подставь домен сайта заведения и путь, который выбрал владелец.
Пример. Сайт заведения — pizzeria-example.ru, владелец завёл код с адресом pizzeria-lenina и выбрал путь /app. Тогда:
| Что | Значение |
|---|---|
| Адрес в QR-коде | https://pizzeria-example.ru/app |
| Адрес Нямбота | https://nyambot.ru/go/pizzeria-lenina |
| Строка для nginx | location = /app { return 302 https://nyambot.ru/go/pizzeria-lenina; } |
| Строка для Apache | Redirect 302 /app https://nyambot.ru/go/pizzeria-lenina |
| Проверка | curl -sI https://pizzeria-example.ru/app → location: https://nyambot.ru/go/pizzeria-lenina |
Во всех командах ниже подставляй так же.
Нужна переадресация 302 с первого адреса на второй. Лучше 302, а не 301: браузеры запоминают 301 насовсем, и если заведение когда-нибудь поменяет, куда ведёт адрес, вернувшиеся гости уйдут на старый.
Требования:
- адрес на сайте открывается по https с действующим сертификатом;
- переадресация ведёт прямо на адрес Нямбота или цепочкой не длиннее пяти шагов;
- путь совпадает точно:
/app, а не/app/(или настрой оба).
nginx#
В блок server домена, который слушает 443:
location = /app { return 302 https://nyambot.ru/go/твой-адрес; }
Если QR-код ведёт на отдельный поддомен, например menu.твойсайт.ru, — отдельный server на весь поддомен:
server {
listen 443 ssl;
server_name menu.твойсайт.ru;
ssl_certificate /путь/к/fullchain.pem;
ssl_certificate_key /путь/к/privkey.pem;
return 302 https://nyambot.ru/go/твой-адрес;
}
Проверить и применить без остановки сайта:
sudo nginx -t && sudo systemctl reload nginx
🔴 Направить поддомен на nyambot.ru записью DNS (CNAME) нельзя: сервер Нямбота чужие домены не обслуживает, гость увидит ошибку сертификата.
Apache#
В .htaccess в корне сайта (или в конфиге виртуального хоста):
Redirect 302 /app https://nyambot.ru/go/твой-адрес
Конструктор сайтов#
В настройках сайта раздел «Переадресации» или «Редиректы»: откуда — /app, куда — https://nyambot.ru/go/твой-адрес, тип — 302 (временная), если конструктор даёт выбрать. Опубликуй сайт заново, если конструктор этого требует.
Вместо переадресации — страница-файл#
Если переадресацию настроить негде, можно выложить готовую страницу. Владелец скачает её в СРМ: карточка кода → «Изменить» → «Свой домен» → «Скачать страницу». Это один HTML-файл без внешних зависимостей.
Положи его так, чтобы он открывался по адресу на сайте заведения. Для https://твойсайт.ru/app:
mkdir -p /var/www/твойсайт.ru/app
cp твой-адрес.html /var/www/твойсайт.ru/app/index.html
Путь к корню сайта подставь свой. Переходы в СРМ при этом не считаются, а при смене бота файл нужно выложить заново — переадресация удобнее.
Как проверить#
curl -sI https://твойсайт.ru/app
В ответе должно быть HTTP/2 302 (или 301) и строка location: https://nyambot.ru/go/твой-адрес. Для страницы-файла — 200, а в коде страницы строка <meta name="nyambot-qr" content="твой-адрес">.
После этого владелец нажимает «Проверить» в карточке кода в СРМ — Нямбот сам откроет адрес и подтвердит, что всё ведёт куда нужно.
Если что-то не так#
| «Проверить» в СРМ отвечает | Что поправить |
|---|---|
| Адрес ведёт не на страницу этого QR-кода | «куда» в переадресации: адрес Нямбота целиком, без опечаток; не больше пяти переадресаций подряд |
| Сайт ответил ошибкой | путь /app не настроен или файла нет (404) |
| До сайта не достучаться | домен не отвечает или нет действующего сертификата https |
| Этот адрес проверить нельзя | адрес ведёт во внутреннюю сеть — нужен публичный адрес |
Вопросы — владельцу заведения или в поддержку Нямбота.