Что это
Odoo External API позволяет внешней программе обращаться к моделям ERP: например, читать разрешенные контакты и товары. Состав моделей зависит от вашей базы и установленных модулей. API не является AI-агентом и сам не согласовывает закупки.
В Odoo 19 появился JSON-2 с API-ключом в Bearer-заголовке. Пример для старого XML-RPC нельзя переносить в него простой заменой адреса. Для новой интеграции сначала проверьте версию, доступность API и документацию своей базы.
В подписочных планах внешний API доступен на Custom, не на Standard и One App Free. При собственном размещении отдельно учитываются редакция и модули. Для начала полезна небольшая выборка учебных контактов; подтверждение заказа, платежи и складские изменения требуют отдельного контроля.
Ключевые параметры
- Категория: Операционные задачи
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- Можно обращаться к бизнес-моделям через HTTP без ручных выгрузок.
- Права пользователя, record rules и доступ к полям учитываются при операциях JSON-2.
- Метод search_read объединяет поиск и чтение в одном вызове.
- Отдельный пользователь интеграции упрощает ограничение доступа и учет действий.
Ограничения
- Тариф, редакция, версия и установленные модули определяют доступный интерфейс.
- JSON-2 и старые RPC-интерфейсы различаются по авторизации и формату аргументов.
- Несколько JSON-2 вызовов не образуют одну общую транзакцию; связанные действия требуют специального метода.
- Ключ действует с правами пользователя; избыточные права позволяют менять реальные бизнес-данные.
Как использовать
1. Подготовка. Выберите учебную базу Odoo 19 с доступным JSON-2. Уточните план Custom для подписочного доступа. Создайте вымышленный контакт Учебный поставщик и запишите его ID. Проверьте модель res.partner и поля в документации вашей базы.
2. Настройка. Администратор выделяет пользователя только с нужными правами чтения и правилами доступа. Создайте API key с коротким сроком через Preferences > Account Security > New API Key. Храните ключ на сервере; используйте HTTPS.
3. Первый результат. Отправьте POST https://ВАШ_ODOO/json/2/res.partner/search_read с Authorization: Bearer TOKEN, Content-Type: application/json и телом {"domain":[["id","=",TEST_ID]],"fields":["name"],"limit":1}. Замените адрес, TOKEN и TEST_ID. При необходимости укажите X-Odoo-Database. Получите id и name учебного контакта.
4. Проверка. Сверьте имя и ID с интерфейсом, проверьте отсутствие лишних полей и прав изменения. POST здесь вызывает чтение, а не создание контакта: решает выбранный метод. Заказы и складские операции в этот тест не включайте; цепочку будущих изменений проектируйте с проверкой согласованности и подтверждением человека.
Доступ и оплата
- Модель оплаты: Платно
- Бесплатный тариф: Нет
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
Для подписочного доступа документация указывает Custom; Standard и One App Free не включают внешний API. При самостоятельном размещении уточняйте редакцию и наличие интерфейса у администратора. Цена и доступность российской оплаты здесь не подтверждены.
Когда не подходит
- Использовать JSON-2 на Odoo 18 без проверки
- Ожидать внешний API на любом облачном плане
- Подтверждать закупки по непроверенному ответу модели
Альтернативы
1C OData относится к опубликованной базе 1С. Katana API и MRPeasy API работают со своими производственными системами. Это альтернативы задачи обмена данными ERP, а не способы получить доступ к вашей Odoo-базе без ее прав и условий.