Блог

Как подключиться к Odoo 19 с помощью ключа API

post-title

API-ключи заменяют традиционные пароли при подключении к Odoo из внешних систем, таких как скрипты Python, мобильные приложения, бэкенды Node.js и интеграционные платформы.

В этом руководстве вы узнаете, как:

  • Сгенерируйте ключ API в Odoo 19
  • Пример аутентификации с использованием XML-RPC

Сгенерируйте ключ API в Odoo 19:

Прежде чем подключаться к Odoo через API, необходимо сгенерировать надежный ключ API.

Выполните следующие простые шаги:

  • Нажмите на «Мой профиль» (меню в правом верхнем углу).
  • Нажмите «Мои настройки».

Как подключиться к Odoo 19 с помощью API-ключа - Cybrosys, изображение 1

  • Нажмите на раздел «Безопасность» .
  • Нажмите «Добавить ключ API».

Как подключиться к Odoo 19 с помощью API-ключа - Cybrosys, изображение 2

  • Введите имя для вашего ключа > нажмите «Сгенерировать»

Как подключиться к Odoo 19 с помощью API-ключа - Cybrosys, изображение 3

  • Скопируйте ключ API немедленно (Odoo больше его не отобразит).

Как подключиться к Odoo 19 с помощью API-ключа - Cybrosys, изображение 4

Пример использования ключа API в XML-RPC:

API-ключи полностью заменяют ваш обычный пароль пользователя.

При выполнении API-запросов вы будете использовать:

  • URL >  Ваш URL-адрес экземпляра Odoo = “ http://localhost:8019 ” - поскольку это демонстрационная версия
  • db >  имя вашей базы данных = “odoo19”
  • имя пользователя (ваш адрес электронной почты) >  имя пользователя API = admin
  • api_key >  пароль API = aa82ba21cb5e8e59adb1fb5a261c497e2a6a80cd

Это всё, что вам нужно для аутентификации и начала взаимодействия с Odoo.

import xmlrpc.client
url = "http://localhost:8019"
db = "odoo19"
username = "admin"
api_key = "aa82ba21cb5e8e59adb1fb5a261c497e2a6a80cd"
# Authenticate
common = xmlrpc.client.ServerProxy(f"{url}/xmlrpc/2/common")
uid = common.authenticate(db, username, api_key, {})
# Call Odoo model
models = xmlrpc.client.ServerProxy(f"{url}/xmlrpc/2/object")
partners = models.execute_kw(
   db,
   uid,
   api_key,
   'res.partner',
   'search_read',
   [[['is_company', '=', True]]],
   {'fields': ['name', 'email'], 'limit': 5}
)

В этом примере просто извлекается набор записей, содержащий поля имени и электронной почты первых пяти компаний-партнеров. Вы можете выполнить любую операцию, доступную для этого пользователя.

Заключение:

API-ключи в Odoo 19 предоставляют более безопасный, современный и удобный для разработчиков способ интеграции внешних систем с Odoo. Заменяя традиционные пароли, API-ключи снижают риски безопасности, упрощая аутентификацию для скриптов, приложений и сторонних сервисов. Как показано, после генерации и использования API-ключа в XML-RPC-аутентификации вы можете беспрепятственно получать доступ к моделям Odoo и работать с ними в соответствии с правами доступа пользователя. Независимо от того, создаете ли вы интеграции, автоматизацию или пользовательские приложения, использование аутентификации на основе API-ключей является рекомендуемым и перспективным подходом для подключения к Odoo 19.