Руководство Melbis Shop: оглавление
Открывает веб-модуль этого магазина так, как его открывает программа в своих окнах: от имени пользователя сессии и с полями окна. Для проверки и разработки встроенных и внешних модулей — «Веб-модули».
Не требуется: права на модуль проверяет сам модуль по ключу, как в
окне программы; с debug — «Прямой доступ → Разработка →
Получить конфигурацию» (AGENT_ENGINE_DEV_CONFIG).
| Параметр | Тип | Что это |
|---|---|---|
url |
строка | адрес, по которому программа открывает модуль:
/?mod=melbis_web_sample. Полный адрес принимается, только
если это адрес этого магазина |
[post] |
объект | поля окна — order_id, store_id,
topic_id и другие — и func, чтобы вызвать
функцию модуля |
[cookies] |
объект | куки прошлого ответа, имя → значение, чтобы остаться в той же сессии модуля. Без них — новая сессия |
[headers] |
объект | заголовки запроса — как у shop_page; без своего
Accept-Language уходит язык программы |
[find] |
строка | показать места ответа, где встречается этот текст, вместо его начала |
[debug] |
да/нет | добавить отчёт отладчика |
Каждый вызов — POST. Сервер сам добавляет к полям login,
stamp и sign пользователя сессии, как
программа с флажком «Требуется идентификация пользователя»; через агента
они не проходят: если модуль печатает свои переменные, подпись в его
ответе и в файле заменена на <sign>. Какие поля шлёт
каждое окно — «Веб-модули». Значение поля
post — строка, число или да/нет; список значений уходит как
имя[]=… по одному на значение.
Куки — как у shop_page: приходят в
ответе и уходят с вызовом, сервер их не хранит. Сессия модуля длится,
пока агент передаёт куки дальше. Без них каждый вызов открывает новую
сессию, а вход подписью идёт при каждом вызове.
Язык — как у браузера программы: сервер ставит язык
программы в Accept-Language, если в headers не
задан свой, и модуль узнаёт его так же, как в окне программы — «Веб-модули», раздел «Язык пользователя».
{"url": "https://shop.example.com/?mod=melbis_web_sample", "debug": false,
"post": "order_id=1&func=GetGoods", "cookies": {"MELBIS_SHOP": "p81sd…"}, "status": 200,
"headers": {"Content-Type": "text/html; charset=UTF-8"},
"bytes": 1840, "time": 71, "title": "",
"file": "D:\\Melbis\\shop.example.com\\mcp\\claude-code\\prices-sept\\modules\\mod_melbis_web_sample.html",
"report": null, "found": null}Затем текстом — первые 2000 символов ответа модуля, если не заданы ни
find, ни debug.
Поля — как у shop_page;
post — поля, которые передал агент, без login,
stamp и sign, или null. Ответ
модуля сохраняется в modules\ папки разговора, имя файла
берётся из адреса.
| Ответ | Когда |
|---|---|
url is required… |
не указан url |
Only pages of this store can be fetched: … |
в url полный адрес другого сайта |
The field [<имя>] of post takes a value or a list of values… |
в поле post объект или список в списке |
cookies takes an object…,
The cookie [<имя>] cannot be sent…,
headers takes an object…,
The header [<имя>] … |
куки или заголовки переданы не так — как у shop_page |
ACCESS_DENIED… и
The code of the debugger is read through engine_dev_config… |
debug без права «Получить конфигурацию» |
Cannot connect to …,
HttpSendRequest failed, code … |
сайт не отвечает этому компьютеру |
Отказ самого модуля — например, Access denied у функции
без права на модуль — приходит обычным ответом в тексте. Общие отказы —
«Ответы и отказы».