API ⚙️ EXTERNA 🌐 ODOO: Código Python para INICIO de SESIÓN | Autenticación de usuario | UID API Key

API ⚙️ EXTERNA 🌐 ODOO: Código Python para INICIO de SESIÓN | Autenticación de usuario | UID API Key

Introducción a la Conexión con la API Externa

Presentación del Tema

  • El presentador se introduce como "huevo" y menciona que el video abordará cómo iniciar sesión en una aplicación externa utilizando Python, aunque también se pueden usar otros lenguajes como PHP o Java.

Importación de Librerías

  • Se destaca la importancia de importar la librería xmlrpc.client, que facilita la comunicación mediante el protocolo RPC (Remote Procedure Call), utilizado por la API externa de Odoo.

Configuración Inicial

  • Para establecer conexión, se requiere información clave: URL, nombre de base de datos, nombre de usuario, contraseña y clave API. Se sugiere crear variables para cada uno de estos valores.

Obtención de Datos Necesarios

  • Se explica cómo obtener la URL base desde el entorno Odoo. Es crucial copiar solo esta URL base y no una específica de un modelo o módulo.
  • El presentador menciona que ya tiene cuatro variables definidas: URL, nombre de base de datos, nombre del usuario y contraseña.

Activación del Modo Debug

  • Para encontrar el nombre de la base de datos en Odoo, es necesario activar el modo debug y buscar en la parte superior derecha donde aparece el nombre del usuario junto al nombre de la base.

Proceso de Autenticación

Uso del Usuario Creado

  • Se utilizará un usuario previamente creado llamado "usuario app", con una contraseña definida entre 1 y 9. También se puede usar una clave API generada anteriormente.

Verificación Inicial

  • Se comenta sobre las dos opciones para autenticarse: usando directamente la contraseña o utilizando la clave API generada desde Odoo. Ambas son válidas e intercambiables.

Invocación a Funciones RPC

  • Se utiliza el endpoint xmlrpc para verificar los datos de conexión mediante una función llamada version, que devuelve información básica sobre la conexión establecida.

Comprobación Exitosa

  • Al ejecutar el programa, se imprime información sobre la versión del sistema al cual se está accediendo, lo que indica que los datos son correctos.

Autenticación Final

Llamada a Método Autenticado

  • A continuación, se invoca el método authenticate, pasando parámetros como nombre de base de datos, usuario y contraseña para obtener un identificador único (ID).

Resultados Obtenidos

  • Al imprimir lo devuelto por este método, se obtiene un ID correspondiente al usuario autenticado; en este caso específico es 9. Este número representa el ID asignado al "usuario api".

Comparativa entre Métodos

  • Al cambiar entre usar password o clave API para autenticarse, los resultados siguen siendo consistentes; esto demuestra que ambos métodos son igualmente válidos en términos funcionales.

Resumen del Proceso

Pasos Clave Recapitulativos

  • Importar xmlrpc.client.
  • Definir variables con los datos necesarios (URL, base de datos, usuario).
  • Acceder al endpoint xmlrpc para verificar conexión.
Video description

En este video muestro como llenar los datos de conexión para la autenticación e inicio de sesión utilizando la API Key o contraseña. Enseño el código Python de cómo usar xmlrpc.client para invocar la función authenticate y obtener el UID del usuario. ¡Prepárate para llevar tus integraciones con Odoo al siguiente nivel con este script Python. Más de 300 líneas de código que te ayudarán en tu conexión a la API Externa de Odoo! 🚀 Descárgalo aquí 👇 https://ko-fi.com/s/0466aa2700 🌐 Hosting que utilizo: linode.gvw92c.net/RyqgXv 🎤 El micrófono que utilizo: https://amzn.to/3NK26Qw ☕️ Apoya a este canal con un Café: https://ko-fi.com/josuheuh CÓDIGO PYTHON AUTENTICACIÓN ODOO CON API EXTERNA ==================================================== # Protocolo Llamada a Procedimiento Remoto import xmlrpc.client # Datos de conexión url = 'url_de_instancia_odoo' db = 'nombre_de_base_de_datos' username = 'nombre_de_usuario' password = 'constraseña_o_clave_api' # Inicio de sesión common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url)) common.version() uid = common.authenticate(db, username, password, {}) ==================================================== 00:00 Introducción 00:24 Importar la librería xmlrpc.client 01:15 Datos de conexión: url, base de datos, usuario y password 04:10 Verificar que la conexión es correcta 05:43 Autenticarse con la función authenticate 06:41 UID del Usuario 07:24 Autenticarse con la Clave API (API Key) 08:03 Resumen código Python completo