-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ошибка при загрузке виджета #35
Comments
Ссылка на демо, где можно посмотреть, как виджет не работает онлайн :)) |
Добрый день.
С версии 3.9 как раз была реалзиована пагинация, чтобы не тянуть весь объем целиком. С тестовой средой работает просто потому, что там представлены не все офисы из продовой среды, а значит объем меньше. Сократить его прямо сейчас возможности нет (этот вопрос обсуждался в #34). Отправка запроса с Соответственно, чтобы переключиться на новую версию бэкенда с пагинацией - необходимо прокидывать эти два нужных заголовка. Или вообще переписать бэкенд на JS (по факту - это ведь тот же прокси до апи2) |
Похоже, у меня эта же ошибка. На боевом апи script.php стал возвращать |
С какой версией виджета? |
Пробовал на 3.9.1 и 3.9.3 |
А версия бэкенда от какого? |
script.php тех же версий |
Такая же проблема, решение не найдено |
Разобрались, оказывается менеджер в ЛК нажал на кнопку "обновить ключи" и старые стали недействительными 🤦♂️ |
А можно пожалуйста узнать актуальные ключи? |
На странице документации указаны актуальные ключи от тестовой среды (api.edu.cdek.ru). Актуальные ключи от боевой среды (api.cdek.ru) вы можете посмотреть в вашем личном кабинете. |
Ситуация
Есть headless сайт на Next.js. Бэкенд сделан на Kirby CMS. На сайте есть небольшой интернет-магазин. Пытаюсь интегрировать туда виджет для расчета стоимости доставки и выбора адреса.
Проблема
На тестовом API (https://api.edu.cdek.ru/v2) и с тестовыми ключами получилось все наладить. Несколько дней назад попробовали перейти на боевое API и настоящие ключи и — виджет перестал открываться. Выглядит это так:
Возможные причины
В попытках разобраться обнаружил, что поведение виджета на этом сайте отличается от ожидаемого поведения. Чистая минимальная установка виджета работает так:
На скриншоте видно, что скрипт отправляет 16 запросов вида
?is_handout=true&action=offices&page=15&size=500
. Ответ на каждый запрос весит в районе 120 кб (что и так довольно много), но все ответы приходят и виджет открывается.Для чистоты эксперимента сделал новый проект на Next.js и засетапил в нем такой же минимальный код виджета. По каким-то необъяснимым причинам в таких условиях виджет отправляет аналогичный запрос, но без параметра
size=500
. Результат — огромный ответ от сервера иногда до 15 МБ (!!!), который роняет пребек (на next api routes) и виджет не открывается. Запрос видно на скриншоте:Аналогичный запрос напрямую к серверу service.php выдает ошибку. Пару раз возвращался ответ гигантского размера (больше 10 МБ, что абсолютно неприемлемо в любом случае).
Возможное решение
Убедиться, что виджет всегда отправляет запрос с лимитом
size=500
.Код, чтобы воспроизвести ошибку:
npx create-next-app@latest
. В качетсве роутера выбираем pages routerПо адресу https://api.badgallery.com/api/cdek/service запускается скрипт
service.php
к рабочими ключами из ЛК.The text was updated successfully, but these errors were encountered: