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

Налаштування вхідного API

Налаштуйте Odoo для отримання даних з зовнішніх систем через RESTful API кінцеві точки.

Покрокове налаштування

Крок 1: Доступ до налаштувань

Перейдіть до Налаштування > Технічні > BJ API > Конфігурації API у вашому інтерфейсі Odoo.

API Settings Menu Меню конфігурацій API в технічних налаштуваннях

Крок 2: Створення нової конфігурації

Натисніть кнопку Створити, щоб розпочати нову конфігурацію синхронізації API.

API Configuration Form Форма нової конфігурації API

Крок 3: Встановлення типу запиту

Виберіть Тип запиту як "In" для вхідної синхронізації даних.

Inbound Configuration Виберіть "In" для вхідної синхронізації даних

Крок 4: Налаштування основних параметрів

Загальні налаштування

Model Settings Налаштування моделі та фільтрів

  • Назва: Введіть описову назву (наприклад, "API імпорту партнерів")
  • Модель: Виберіть цільову модель Odoo (наприклад, res.partner, product.product)
  • Домен фільтра: Додайте умови для фільтрації записів (необов'язково)

Filter Domain Configuration Налаштування доменних фільтрів для вибору записів

[('active', '=', True)]

Налаштування кінцевої точки

Endpoint Configuration Налаштування ідентифікатора кінцевої точки API

  • Кінцева точка: Визначте унікальний ідентифікатор для вашої кінцевої точки (наприклад, "partners")
  • Це створює шлях API: /bj_api_sync/v1/partners

HTTP методи

HTTP Methods Configuration Виберіть дозволені HTTP операції

Виберіть дозволені операції:

  • GET: Отримання записів
  • POST: Створення нових записів
  • PUT: Оновлення існуючих записів
  • DELETE: Видалення записів

Крок 5: Налаштування автентифікації

Виберіть ваш метод автентифікації:

Без автентифікації

Підходить для внутрішніх або публічних API без вимог безпеки.

Базова автентифікація

Вимагає ім'я користувача та пароль:

Basic Authentication Налаштування базової автентифікації

  • Логін: Ім'я користувача API
  • Пароль: Пароль API

Bearer токен

Використовує автентифікацію з API ключем:

Bearer Token Authentication Налаштування Bearer токена

  • Bearer токен: Ваш API ключ або токен доступу

Приклад заголовка:

Authorization: Bearer your_token_here

Крок 6: Налаштування зіставлення полів

Створіть рядки конфігурації для зіставлення полів Odoo з ключами API:

Field Mapping Configuration Налаштування зіставлення полів між Odoo та зовнішнім API

Поле OdooКлюч зовнішнього APIІдентифікатор записуТип значення
namenameЗвичайний
emailemail_addressЗвичайний
refcustomer_idЗвичайний
phonecontact_phoneЗвичайний

Configuration Lines Detail Детальний вигляд рядків конфігурації з усіма опціями

Важливо: Рівно одне поле має бути позначене як Ідентифікатор запису.

Крок 7: Налаштування пагінації (необов'язково)

Для великих наборів даних:

Pagination Settings Налаштування пагінації для великих наборів даних

  • Пагінація: Увімкнути пагінацію
  • Розмір сторінки: Записів на запит (за замовчуванням: 100)

Шаблони кінцевих точок API

Після налаштування ваша кінцева точка буде доступна за адресою:

Базовий шаблон:
/bj_api_sync/v1/<назва_кінцевої_точки>
/bj_api_sync/v1/<назва_кінцевої_точки>/<id_запису>

Приклади запитів

GET запит - Отримання всіх записів

curl -X GET "http://localhost:8069/bj_api_sync/v1/partners" \
-H "Authorization: Bearer your_token_here"

GET запит - Отримання одного запису

curl -X GET "http://localhost:8069/bj_api_sync/v1/partners/123" \
-H "Authorization: Bearer your_token_here"

POST запит - Створення нового запису

curl -X POST "http://localhost:8069/bj_api_sync/v1/partners" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here" \
-d '{
"name": "Test Partner",
"email": "test@example.com",
"phone": "+1234567890"
}'

PUT запит - Оновлення запису

curl -X PUT "http://localhost:8069/bj_api_sync/v1/partners/123" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_token_here" \
-d '{
"name": "Updated Partner Name",
"email": "updated@example.com"
}'

DELETE запит - Видалення запису

curl -X DELETE "http://localhost:8069/bj_api_sync/v1/partners/123" \
-H "Authorization: Bearer your_token_here"

Конвеєр обробки

Вхідний запит проходить такий потік:

HTTP запит → Автентифікація → Перевірка методу → Пошук конфігурації 
→ Трансформація даних → Обробка запису → Генерація відповіді → Логування

Формати відповідей

Успішна відповідь

{
"status": "success",
"data": {
"id": 123,
"name": "Test Partner",
"email": "test@example.com"
}
}

Відповідь з помилкою

{
"status": "error",
"message": "Authentication failed",
"code": 401
}

Загальні коди помилок

КодОписРішення
401НеавторизованоПеревірте облікові дані автентифікації
404Не знайденоПеревірте конфігурацію кінцевої точки
405Метод не дозволеноУвімкніть HTTP метод у конфігурації
400Поганий запитПеревірте формат JSON даних
500Внутрішня помилка сервераПеревірте журнали сервера для деталей

Найкращі практики

  1. Використовуйте HTTPS у продуктивних середовищах
  2. Впровадьте обмеження швидкості для запобігання зловживанням
  3. Перевіряйте вхідні дані за допомогою Python скриптів
  4. Логуйте всі запити для аудиторського сліду
  5. Ретельно тестуйте перед розгортанням у продакшені

Наступні кроки