Перейти до основного вмісту
Дії

Актуальні дані під час дзвінка

Нехай агент питає у вашої системи замовлення, залишок на складі або дані акаунта, поки абонент чекає.

Із API Tool RAG агент просто посеред розмови запитує у вашої системи актуальні дані — статус замовлення, залишок товару, дані акаунта — і відповідає за ними. Коли його викликати, агент вирішує сам за вашим описом.

Налаштування​

  1. Додайте інструмент

    Відкрийте агента → Дії → Додати інструмент → CRM і сервіси → API Tool RAG.

  2. Опишіть його й спрямуйте на ваш ендпоінт
    ПолеЩо вказати
    Названаприклад, Пошук замовлення
    Загальна умоваКоли його використовувати, наприклад, клієнт питає про статус замовлення
    URL API-ендпоінтунаприклад, https://api.yourshop.com/orders/{order_id} — {placeholders} заповнюються значеннями, які зібрав агент
    HTTP-методGET, POST, PUT, DELETE або PATCH
    Повідомлення під час виконанняЩо агент каже, поки чекає, наприклад, Хвилинку, перевіряю ваше замовлення
    Тайм-аут запиту (мс)Скільки чекати на відповідь; за замовчуванням 5000
    Заголовки, Параметри запитуНеобов'язкові постійні значення, наприклад ваш API-ключ
  3. Укажіть, що агент має дізнатися

    Схема параметрів тіла (JSON) перелічує значення, які агент дізнається в абонента й надсилає, — див. нижче. Якщо обов'язкового значення бракує, агент спершу запитає його.

порада

Завжди заповнюйте Повідомлення під час виконання — тиша, поки йде запит, звучить як обірваний дзвінок.

Схема параметрів тіла​

Це не саме тіло запиту, а JSON Schema значень, які треба зібрати. Куди вони потрапляють:

ВипадокКуди йде значення
В URL є {name}В URL
GET, DELETEРешта — як ?key=value
POST, PUT, PATCHРешта — як тіло JSON

Пошук замовлення за номером:

{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Номер замовлення, про яке питає клієнт, зазвичай від 6 до 10 цифр. Якщо не назвав, запитай."
}
},
"required": ["order_id"]
}

Бронювання з кількома значеннями:

{
"type": "object",
"properties": {
"product_id": { "type": "string", "description": "ID товару з попереднього пошуку." },
"quantity": { "type": "integer", "minimum": 1, "maximum": 10, "description": "Скільки штук. За замовчуванням 1." },
"delivery_method": { "type": "string", "enum": ["pickup", "home_delivery", "locker"], "description": "Як клієнт хоче отримати товар." },
"customer_email": { "type": "string", "format": "email", "description": "Email для підтвердження. Якщо не назвав, запитай." }
},
"required": ["product_id", "delivery_method", "customer_email"]
}

Статичний ендпоінт, наприклад години роботи: { "type": "object", "properties": {} }.

Добрі схеми для голосу:

  • Тримайте схему пласкою: 3–5 значень.
  • Пишіть description для кожного значення, із прикладами, — саме вони найкраще спрямовують агента.
  • Для фіксованих варіантів використовуйте enum: агент зіставить «синій» із blue.
  • Позначайте значення як required, лише якщо без нього запит не спрацює.
  • Використовуйте імена в snake_case, що збігаються з {placeholders} в URL.

Приклади використання​

  • Статус замовлення — «Де моє замовлення 482913?»
  • Наявність — перевірити залишок або вільний столик у вашій власній системі.
  • Питання щодо акаунта — баланс, кінець договору, відкриті тікети.

Поширені проблеми​

ПроблемаЩо перевірити
Агент його не викликаєНехай Загальна умова називає конкретний запит
Ваш ендпоінт отримує порожні значенняІмена в схемі мають точно збігатися з {placeholders}
Агент каже, що не зміг перевіритиВаш ендпоінт відповідав довше за тайм-аут або повернув помилку