Для ШІ-агентів та інтеграторів

7 інструментів

MCP і REST без ключа · каталог, розрахунок, заявки

Під’єднайте асистента до каталогу agrodiler.com: він знайде підшипник за номером, ГОСТом або розміром, порахує підсумок із доставкою й надішле заявку від імені покупця. Ключ і реєстрація не потрібні. Грошей API не списує: покупець підтверджує заявку кодом із листа, після цього з ним зв’язується менеджер.

Під’єднання— одна адреса, без ключа

MCP-сервер · Streamable HTTPhttps://www.agrodiler.com/mcp

Без сесії та входу: додайте адресу як віддалений MCP-сервер у налаштуваннях клієнта. Ревізія протоколу 2026-07-28, клієнти на ревізіях 2025 року теж працюють. В офіційному реєстрі MCP сервер записаний як com.agrodiler/catalog.

REST API · OpenAPI 3.1, версія 1.1.0https://www.agrodiler.com/api/agent/v1/
Відкрити openapi.yaml

Ті самі інструменти: 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-products
get_productОдна позиція: номер, бренд, розмір, наявність, мінімальна партія й ціна. Ціни немає — її назве менеджер.REST: get-product
quoteПідсумок за правилами кошика сайту: ціни, мінімальне замовлення, доставка; для ЄС окремо доставка й ПДВ. Замовлення не створює.REST: quote
cart_linkПосилання на сайт із заповненим кошиком і формою замовлення — якщо покупець хоче завершити сам.REST: cart-link
Заявкастворюють і підтверджують заявку, оплату не беруть
place_orderНадсилає заявку, коли покупець погодився з позиціями й сумою. Йому на пошту приходить 6-значний код.REST: place-order
confirm_orderПідтверджує заявку кодом, який назвав покупець. Код не вгадувати: 8 спроб на заявку.REST: confirm-order
resend_codeНовий код, якщо лист не прийшов або код сплив (діє 30 хвилин). Не більше 2 разів на заявку.REST: resend-code

Як оформлюється замовлення— це заявка, а не покупка: оплати через API немає

  1. search_productsАгент

    Знаходить позиції й бере їхні handle.

  2. quoteАгент

    Рахує підсумок. Покупець бачить суму й погоджується; total_minor із відповіді йде далі.

  3. place_orderАгент

    Передає позиції, ім’я та пошту покупця, expected_total_minor і новий idempotency_key. Отримує order_number і order_secret.

  4. Код із листаПокупець

    Отримує 6-значний код, він діє 30 хвилин. Називає його агентові або підтверджує посиланням із листа.

  5. confirm_orderАгент

    Передає код разом з order_number і order_secret. Заявка йде менеджерові.

  6. МенеджерАгроділер

    Перевіряє наявність і ціну, зв’язується з покупцем. Далі договір і рахунок.

  • Сума змінилася після quote — прийде помилка price_changed і нова сума в new_total. Покажіть її покупцеві й надішліть заявку з нею.
  • Обірвався зв’язок на place_order — повторіть із тим самим idempotency_key: повернеться та сама заявка, другої не буде.
  • order_secret потрібен лише для confirm_order і resend_code. Не виводьте його в чат і в публічні логи.
  • Велика заявка приходить із needs_phone_check: менеджер зателефонує покупцеві до підтвердження.
  • Не підтвердили за 48 годин — контакти покупця знеособлюються, код перестає діяти; сама заявка лишається.
  • Покупець хоче оформити сам — cart_link дасть посилання на сайт із заповненим кошиком і формою замовлення.

Ринки, мови, валюти— обираються параметром lang

en

ЄС, ціни в євро, доставка в країни ЄС. get_product віддає ціну без ПДВ, quote додає ПДВ країни доставки.

Обов’язковий ship_to.country — код країни: DE, PL, FR. Мінімальне замовлення — 49,00 € без ПДВ.

uk, ru

Україна, ціни в гривнях із ПДВ, доставка Новою поштою. ship_to не передавати. Якщо lang не вказано, береться uk.

Мінімальне замовлення — 1 000 грн.

Поля із закінченням _minor — у копійках або центах: 3300 означає 33,00. price_hint приходить у гривнях або євро. Назви товарів — мовою lang, службові повідомлення API — англійською.

Ліміти— на одну мережеву адресу, для IPv6 — на мережу /64

60 викликів на хвилину

Загалом, по всіх інструментах.

3 заявки на годину

place_order.

10 підтверджень на годину

confirm_order.

3 листи на годину

На одну поштову скриньку — листи з кодом, перші й повторні. Ще стелі на годину: 5 листів на адресу, 10 на підмережу (IPv4 /24, IPv6 /48).

8 спроб коду

На одну заявку. Новий код спроби не скидає.

2 повторні коди

resend_code на одну заявку; попередній код перестає діяти.

Понад ліміт — відповідь HTTP 429 і заголовок Retry-After: через скільки секунд повторити.

Якщо щось не так— Пн–Пт 8:00⁠–⁠17:00 за київським часом

Надішліть запит, відповідь повністю і час, коли запит пішов. Код помилки — у полі error, пояснення — у message. Пошта: info@agrodiler.com