Довідник API
Повна довідкова документація для RESTful API кінцевих точок та опцій конфігурації модуля синхронізації API BJET.
Огляд
Модуль синхронізації API надає RESTful кінцеві точки для двосторонньої синхронізації даних між Odoo та зовнішніми системами.
Базовий URL
https://your-odoo-instance.com/bj_api_sync/v1/
Доступні кінцеві точки
Основні кінцеві точки
- GET
/[endpoint]- Отримати за писи - GET
/[endpoint]/{id}- Отримати один запис за ID - POST
/[endpoint]- Створити нові записи - PUT
/[endpoint]/{id}- Оновити існуючі записи - DELETE
/[endpoint]/{id}- Видалити записи
Де [endpoint] - це назва вашої налаштованої кінцевої точки (наприклад, partners, products тощо)
Методи автентифікації
Модуль підтримує три методи автентифікації:
1. Без автентифікації
Лише для внутрішнього використання або розробки.
2. Базова автентифікація
Authorization: Basic base64(username:password)
3. Bearer токен
Authorization: Bearer your_token_here
Заголовки запиту
Обов'язкові заголовки
Content-Type: application/json
Accept: application/json
Необов'язкові заголовки
X-Request-ID: unique-request-id
X-API-Version: 1.0
Формати відповідей
Успішна відповідь
{
// Дані відповіді
}
Відповідь з помилкою
{
"error": "Опис помилки",
"line_id": "Рядок конфігурації, де виникла помилка",
"status_code": "ERROR_CODE"
}
{
"message": "Опис помилки"
}
Коди статусу HTTP
| Код | Опис |
|---|---|
| 200 | Успішно |
| 201 | Створено |
| 400 | Поганий запит |
| 401 | Неавторизовано |
| 403 | Заборонено |
| 404 | Не знайдено |
| 405 | Метод не дозволено |
| 500 | Внутрішня помилка сервера |
Обмеження швидкості
Odoo не надає вбудованого обмеження швидкості API.
Рекомендовано налаштовувати rate limiting на рівні reverse proxy (наприклад, Nginx, HAProxy або Cloudflare) чи файрволу, особливо для on-premise VM розгортань.
Пропоновані значення за замовчуванням:
- 100 запитів на хвилину з IP-адреси
- 1000 запитів на годину з API ключа
Пагінація
Для GET запитів, що повертають кілька записів:
GET /[endpoint]?limit=100&offset=0
Параметри
limit: Кількість записів для повернення (за замовчуванням: 100)offset: Кількість записів для пропуску (за замовчуванням: 0)
Фільтрація
Використовуйте синтаксис домену для фільтрації:
GET /[endpoint]?active=true
GET /[endpoint]?active=true&state=draft
Детальна документація
Для отримання детальної інформації про конкретні теми див.:
- Посібник з автентифікації - Налаштування автентифікації
- Зіставлення полів - Налаштування зіставлення полів
- Python скрипти - Розширені трансформації
- Усунення несправностей - Поширені проблеми та рішення
Колекція Postman
Завантажте нашу попередньо налаштовану Колекцію Postman для легкого тестування та дослідження API.
Підтримка
Для підтримки та питань щодо API:
- Email: support@bjetpro.com
- Документація: https://bjetpro.com/docs