Please i need help
i'm trying to send a request from odoo to an api ,i create a function to send the request but i have an error
import requests
from requests.auth import HTTPBasicAuth
from odoo import models, fields, api
from odoo.exceptions import UserError
import logging
_logger = logging.getLogger(__name__)
class LaboratoryRequest(models.Model):
_inherit = 'acs.laboratory.request'
def send_request_to_api(self,**kwargs):
# Préparer les données
try:
data = {
"count": 1,
"results": [
{
"request_id": self.id,
"x_studio_code_demande": self.x_studio_code_demande or "",
"id": self.id,
"name": self.name,
"patient_id": self.patient_id.id,
"x_studio_nom_patient": self.patient_id.name or "",
"x_studio_code_patient": self.x_studio_code_patient or "",
"x_studio_date_naissance": self.x_studio_date_naissance or "",
"x_studio_sexe": self.x_studio_sexe or "",
"sample_ids": [
{
"id": sample.id,
"name": sample.name,
"test_ids": [
{
"id": test.id,
"name": test.name,
"x_studio_valeur_automate": test.x_studio_valeur_automate or "",
"x_studio_unit_automate": test.x_studio_unit_automate or ""
} for test in sample.test_ids
]
} for sample in self.sample_ids
],
"user_id": self.user_id.id,
"x_studio_automate": self.x_studio_automate or "",
"date_requested": self.date_requested,
"date_analysis": self.date_analysis,
}
]
}
# URL et authentification
url = "https://..................."
auth = HTTPBasicAuth('SIL_......', '.......')
# Envoyer les données avec une requête POST
_logger.info(f"Envoi des données à {url} : {data}")
response = requests.post(url, json=data, auth=auth)
# Vérifier la réponse
response.raise_for_status() # Cela lèvera une exception pour les statuts d'erreur HTTP
_logger.info(f"Réponse de l'API : {response.json()}")
except requests.exceptions.RequestException as e:
raise UserError(f"Erreur de connexion à l'API : {str(e)}")
except Exception as e:
raise UserError(f"Erreur : {str(e)}")
return True
and the error when i click on the button
RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/https://erp.cliniquebiasa.org/web/assets/b766502/web.assets_web.min.js:2877:13)