Довідник 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