Для ШІ-агентів та інтеграторів
7 інструментівMCP і REST без ключа · каталог, розрахунок, заявки
Під’єднайте асистента до каталогу agrodiler.com: він знайде підшипник за номером, ГОСТом або розміром, порахує підсумок із доставкою й надішле заявку від імені покупця. Ключ і реєстрація не потрібні. Грошей API не списує: покупець підтверджує заявку кодом із листа, після цього з ним зв’язується менеджер.
Під’єднання— одна адреса, без ключа
https://www.agrodiler.com/mcpБез сесії та входу: додайте адресу як віддалений MCP-сервер у налаштуваннях клієнта. Ревізія протоколу 2026-07-28, клієнти на ревізіях 2025 року теж працюють. В офіційному реєстрі MCP сервер записаний як com.agrodiler/catalog.
https://www.agrodiler.com/api/agent/v1/Ті самі інструменти: POST із JSON у тілі, відповідь у JSON. В openapi.yaml описано всі поля, помилки й ліміти.
https://www.agrodiler.com/uk/llms.txtРозділи сайту, шаблони адрес сторінок і ринки — коротко, щоб асистентові не довелося обходити весь сайт.
Пошук підшипника 6205 2RS · ринок України, три позиціїcurlрядки гортаються вбік
curl -X POST https://www.agrodiler.com/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"search_products",
"arguments":{"query":"6205 2RS","lang":"uk","limit":3}}}' curl -X POST https://www.agrodiler.com/api/agent/v1/search-products \
-H 'content-type: application/json' \
-d '{"query":"6205 2RS","lang":"uk","limit":3}' Відповідь · 14.11.2026, скороченоу MCP — всередині result.structuredContentтіло відповіді
{
"query": "6205 2RS",
"match": "all_words",
"total": 31,
"items": [
{
"handle": "ct-6205-2rs",
"section": "bearing",
"title": "Підшипник CT 6205 2RS",
"brand": "CT",
"in_stock": true,
"stock_qty": 15762,
"price_hint": { "amount": 33, "currency": "uah" },
"url": "https://www.agrodiler.com/uk/pidshypnyk/ct-6205-2rs/"
},
{ "handle": "ct-6205-2rs-c3", … "price_hint": { "amount": 35, … } },
{ "handle": "nte-6205-2rs", … "price_hint": { "amount": 40, … } }
],
"note": "price_hint is the catalog price in UAH at site build time …"
} - total: 31 — стільки позицій знайшлося загалом. У відповіді перші 3, як просили в limit (можна до 20).
- handle передавайте далі: у get_product, quote, cart_link і place_order.
- price_hint — ціна каталогу на момент збірки сайту. Суму, за яку відповідаємо, рахує quote.
Що вміє API— у REST ті самі назви через дефіс
search_productsПошук, як на сайті: номер деталі, позначення підшипника, номер ГОСТ (180205 стане 6205-2RS), розмір 25x52x15, бренд або назва.REST: search-productsget_productОдна позиція: номер, бренд, розмір, наявність, мінімальна партія й ціна. Ціни немає — її назве менеджер.REST: get-productquoteПідсумок за правилами кошика сайту: ціни, мінімальне замовлення, доставка; для ЄС окремо доставка й ПДВ. Замовлення не створює.REST: quotecart_linkПосилання на сайт із заповненим кошиком і формою замовлення — якщо покупець хоче завершити сам.REST: cart-linkplace_orderНадсилає заявку, коли покупець погодився з позиціями й сумою. Йому на пошту приходить 6-значний код.REST: place-orderconfirm_orderПідтверджує заявку кодом, який назвав покупець. Код не вгадувати: 8 спроб на заявку.REST: confirm-orderresend_codeНовий код, якщо лист не прийшов або код сплив (діє 30 хвилин). Не більше 2 разів на заявку.REST: resend-codeЯк оформлюється замовлення— це заявка, а не покупка: оплати через API немає
search_productsАгентЗнаходить позиції й бере їхні handle.
quoteАгентРахує підсумок. Покупець бачить суму й погоджується; total_minor із відповіді йде далі.
place_orderАгентПередає позиції, ім’я та пошту покупця, expected_total_minor і новий idempotency_key. Отримує order_number і order_secret.
- Код із листаПокупець
Отримує 6-значний код, він діє 30 хвилин. Називає його агентові або підтверджує посиланням із листа.
confirm_orderАгентПередає код разом з order_number і order_secret. Заявка йде менеджерові.
- МенеджерАгроділер
Перевіряє наявність і ціну, зв’язується з покупцем. Далі договір і рахунок.
- Сума змінилася після quote — прийде помилка price_changed і нова сума в new_total. Покажіть її покупцеві й надішліть заявку з нею.
- Обірвався зв’язок на place_order — повторіть із тим самим idempotency_key: повернеться та сама заявка, другої не буде.
- order_secret потрібен лише для confirm_order і resend_code. Не виводьте його в чат і в публічні логи.
- Велика заявка приходить із needs_phone_check: менеджер зателефонує покупцеві до підтвердження.
- Не підтвердили за 48 годин — контакти покупця знеособлюються, код перестає діяти; сама заявка лишається.
- Покупець хоче оформити сам — cart_link дасть посилання на сайт із заповненим кошиком і формою замовлення.
Ринки, мови, валюти— обираються параметром lang
ЄС, ціни в євро, доставка в країни ЄС. get_product віддає ціну без ПДВ, quote додає ПДВ країни доставки.
Обов’язковий ship_to.country — код країни: DE, PL, FR. Мінімальне замовлення — 49,00 € без ПДВ.
Україна, ціни в гривнях із ПДВ, доставка Новою поштою. ship_to не передавати. Якщо lang не вказано, береться uk.
Мінімальне замовлення — 1 000 грн.
Поля із закінченням _minor — у копійках або центах: 3300 означає 33,00. price_hint приходить у гривнях або євро. Назви товарів — мовою lang, службові повідомлення API — англійською.
Ліміти— на одну мережеву адресу, для IPv6 — на мережу /64
Загалом, по всіх інструментах.
place_order.
confirm_order.
На одну поштову скриньку — листи з кодом, перші й повторні. Ще стелі на годину: 5 листів на адресу, 10 на підмережу (IPv4 /24, IPv6 /48).
На одну заявку. Новий код спроби не скидає.
resend_code на одну заявку; попередній код перестає діяти.
Понад ліміт — відповідь HTTP 429 і заголовок Retry-After: через скільки секунд повторити.
Якщо щось не так— Пн–Пт 8:00–17:00 за київським часом
Надішліть запит, відповідь повністю і час, коли запит пішов. Код помилки — у полі error, пояснення — у message. Пошта: info@agrodiler.com