This question has been flagged
1 Reply
20520 Views

Guys,

I have a REST API and for example, let's image this is my endpoint:

www.nabvigator360.com/api/order/create

This is a POSt request to add a new order. I need to create a form (view) in Odoo and connect with this endpoint.

Can we do this in Odoo? (community edition or enterprise edition)


And also I need to create another view and display all the added orders in Odoo.


(My endpoints use my database)


Thank you in advance.

Avatar
Discard
Best Answer

Hello,

Yes this is defiantly possible, I have done a few integrations which work off the same principle. You would NEED to create a custom module as Odoo doesn't allow you to import Python libraries into Python code through the UI.

You would use the Requests Python library to make such requests. It is pretty simple to get the hang of if you haven't used the library before. You just put your end endpoint, data and headers if required (Quickstart). 

You just need to define the trigger which calls your endpoint, from your question it looks like when you create the Sales Order. You could override the create function and put your, this would look something like this: 

    @api.model_create_multi
    @api.returns('self', lambda value: value.id)
    def create(self, vals_list):
        records = super(sales_test, self).create(vals_list)
        for vals in vals_list:
            response = requests.post("https://ptsv2.com/t/z4za5-1610576490/post", data=vals)
            response.raise_for_status()
        return records

This is the result that I get in my endpoint: Image

You may need to configure the when you want to make your calls but this should get you started. Feel free to email me and I would happily send you the module I have created to get you started.

Hope this helps,

Thanks, 

Avatar
Discard
Author

Thank you so much. I will check this and let you know. Really appreciate your quick response.

Is it possible to load the data from the Rest API on tree view?

This seems so helpful, can I get your email please, the one in your profile seems not working well.