Skip to Content
Odoo Menu
  • Prijavi
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Knjigovodstvo
  • Zaloga
  • PoS
  • Projekt
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
Pomoč

api request

Naroči se

Get notified when there's activity on this post

This question has been flagged
functionapibutton
2013 Prikazi
Avatar
Esaie Labah

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)

0
Avatar
Opusti
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Prijavi
Related Posts Odgovori Prikazi Aktivnost
Odoo API
function api
Avatar
2
avg. 18
4678
How to open a wizard with yes or no buttons (Odoo 14) Solved
function button Buttons
Avatar
Avatar
Avatar
2
sep. 22
9681
[Odoo 10] Update view calling function from another model using button? Solved
function button odoo10.0
Avatar
Avatar
4
mar. 19
10393
New api search domain id and condition? Solved
function domain api
Avatar
Avatar
1
okt. 15
10007
How to connect button with function? Solved
function form inherit button
Avatar
Avatar
Avatar
3
dec. 23
20889
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now