Skip to Content
Menu

Webhooks & Restful APIs for Odoo

by
Odoo

45.00

v 17.0 Third Party 6
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 1507
Technical Name nx_api_webhook_kit
LicenseLGPL-3
Versions 15.0 16.0 17.0 18.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 1507
Technical Name nx_api_webhook_kit
LicenseLGPL-3
Versions 15.0 16.0 17.0 18.0

Advanced RESTful APIs & webhooks

A powerful toolkit for managing webhooks and RESTful APIs in Odoo. Easily create, configure, and monitor webhook endpoints for seamless third-party integration.

Free Module Customization Offer!

Need assistance or have questions? We're here to help!

Get up to 10 hours of free customization for this module!

Customize this module to match your specific business needs. Whether it's enhancing existing features or adding new functionalities, our team is ready to assist you.

Contact Us: support@nxonbytes.com

Webhook Service

RESTAPI Service

Key Features

Unlock the full potential of seamless system integration with our **Advanced RESTful API & Webhook Kit**. Designed for efficiency and reliability, this module offers two core functionalities:

RESTful API Service

  • Seamless Third-Party Integration: Expose Odoo endpoints securely for smooth data exchange.
  • Customizable Endpoints: Define and configure API services tailored to your business needs.
  • Secure Authentication: Ensure data protection with token-based authentication.

Webhook Service

  • Real-Time Event Notifications: Automate data synchronization by triggering webhooks on record creation, updates, or deletions.
  • Flexible Configuration: Easily set up webhook endpoints and define specific event triggers.
  • Scalable & Reliable: Ensure consistent data flow between Odoo and external applications.

Manage RESTAPI Services

Here you can create and manage RESTful API services in Odoo. Define custom API endpoints, set up authentication, and securely expose Odoo data to external applications.

Configure RESTAPI Service

Here you can set up and manage RESTful API services within Odoo to enable secure and seamless data exchange with external systems. Easily define custom endpoints, configure authentication methods, and streamline integrations to enhance system connectivity.

Fields & Features

  • API Name: A unique name for the API service to help identify it.
  • API Unique ID: A unique identifier for the API service. Example: create_customer.
  • API Endpoint: The complete URL where the API can be accessed. This is computed automatically.
  • Model: Select the Odoo model associated with this API for CRUD operations.
  • Request Method: Defines how the API interacts with data:
    • GET: Read data.
    • POST: Create new records.
    • PUT: Update existing records.
    • DELETE: Remove records.
  • Request Type: Determines how data is sent:
    • HTTP: Standard HTTP request.
    • JSON: JSON-based request.
  • Authentication Required: Specifies if authentication is needed to access the API.
  • Response Schema: Defines the expected JSON structure for API responses.
  • Active: Determines if the API service is enabled.
  • Enable Logs: If enabled, logs API requests and responses for debugging.
  • Logs: Stores log records related to this API service.
  • Prepare Payload Script: A Python script to modify the request payload before processing.
  • Build Response Script: A Python script to modify response data before returning it to the client.

Filter & Read Records

Parameter Type Example Description
_page Integer 1 Specifies the page number for pagination (default: 1).
_page_count Integer 10 Defines the number of records per page (default: 10).
_order String name asc Specifies sorting order (e.g., "id desc" for descending, "name asc" for ascending).
field_name String customer_id Filters results where "customer_id" is equal to the provided value.
field_name__ne String customer_id__ne=5 Filters results where "customer_id" is NOT equal to 5.
field_name__gt Integer amount__gt=100 Filters results where "amount" is greater than 100.
field_name__lt Integer amount__lt=500 Filters results where "amount" is less than 500.
field_name__gte Integer date__gte=2024-01-01 Filters results where "date" is greater than or equal to 2024-01-01.
field_name__lte Integer date__lte=2024-12-31 Filters results where "date" is less than or equal to 2024-12-31.
field_name__in List status__in=["pending", "approved"] Filters results where "status" is either "pending" or "approved".
field_name__nin List category_id__nin=[1,2,3] Filters results where "category_id" is NOT in [1,2,3].
field_name__like String name__like="John" Filters results where "name" contains "John" (case-insensitive).
field_name__nlike String name__nlike="Test" Filters results where "name" does NOT contain "Test".

Manage RESTAPI Logs

View and manage logs of RESTful API service requests and responses in Odoo. Monitor API activity, and track data exchanges to ensure seamless communication between Odoo and external applications.

Create & Manage Access Tokens

Generate and manage access tokens for RESTful API services in Odoo. Securely authenticate external applications and users to access Odoo data through API endpoints.

Manage Webhook Services

Here you can create and manage webhook services in Odoo. Set up webhook endpoints, define trigger conditions, and automate data synchronization with external applications.

Configure Webhook Service

Easily create and configure webhook services in Odoo based on your specific needs. Define trigger conditions, set up webhook endpoints, and customize response data formatting to ensure seamless real-time data synchronization with external systems.

Fields & Features

  • Title: A unique name for the webhook service.
  • Active: Determines if the webhook service is enabled.
  • Enable Logs: If enabled, logs webhook requests and responses for debugging.
  • Model: Select the Odoo model associated with this webhook.
  • Trigger Fields: The action will be triggered if one of these fields is updated. If empty, all fields are watched.
  • Trigger Event: Defines when the webhook is triggered:
    • On Create: Triggered when a new record is created.
    • On Update: Triggered when an existing record is updated.
  • Endpoint URL: The external URL where the webhook will send data.
  • Request Method: Defines how data is sent:
    • GET: Retrieve data.
    • POST: Send data.
    • PUT: Update existing data.
    • DELETE: Remove data.
  • Webhook Headers: Defines custom headers to be included in the request.
  • Date Filter Field: A date or datetime field to filter records before triggering.
  • Date Filter Selection: Predefined date filters to control when the webhook should run.
  • Timeout: Maximum time (in seconds) to wait for a webhook response.
  • Max Retry Attempts: Number of times the webhook will retry in case of failure.
  • Payload Script: A Python script to modify the request payload before sending.
  • Payload Schema: Defines the schema used to fetch data from the object before sending.
  • Trigger Instantly: If enabled, the webhook triggers immediately upon event occurrence.
  • Expected Response Status: Defines the expected HTTP response status code. If the response does not match, the request retries.
  • Payload Generation Method: Determines how the payload is generated:
    • Model Fields: Data is extracted from model fields.
    • Database Schema: Data is fetched based on predefined database schema.

Webhook Payload: with Model Fields

Payload data is extracted from model fields.

Webhook Payload: with Database Schema

Payload data is fetched based on predefined database schema.

Database Schema:

[
'id',
'name',
'date_order',
'create_date',
'amount_tax',
'amount_total',
'state',
('partner_id', (
    'id',
    'name',
    'city',
)),
('user_id', (
    'id',
    'name',
)),
('payment_term_id', (
    'id',
    'name',
)),
('order_line', [(
    'id',
    ('product_id', (  # many2one
        'id',
        'name',
        'type',
        'barcode',
        ('categ_id', (  # many2one
            'id',
            'name',
        )),
        ('attribute_line_ids', [(  # one2many
            'id',
            'display_name',
        )]),
    )),
    'name',
    'product_uom_qty',
    'price_unit',
    ('tax_id', [(  # many2many
        'id',
        'name',
    )]),
    'price_subtotal',
)]),
]
Payload Data:

{
'id': 41,
'name': 'Your Sale Order Name',
'date_order': '2024-01-26T13:57:52',
'create_date': '2024-01-26T13:57:52.581871',
'amount_tax': 0.0,
'amount_total': 400.0,
'state': 'draft',
'partner_id': {
    'id': 11,
    'name': 'Gemini Furniture',
    'city': 'Fairfield'
},
'user_id': {
    'id': 2,
    'name': 'Mitchell Admin'
},
'order_line': [{
    'id': 57,
    'product_id': {
        'id': 23,
        'name': 'Conference Chair',
        'type': 'product',
        'barcode': False,
        'categ_id': {
            'id': 8,
            'name': 'Office Furniture'
        },
        'attribute_line_ids': [{
            'id': 3,
            'display_name': 'Legs'
        }]
    },
    'name': 'Product 1',
    'product_uom_qty': 2.0,
    'price_unit': 100.0,
    'price_subtotal': 200.0
}, {
    'id': 58,
    'product_id': {
        'id': 27,
        'name': 'Drawer Black',
        'type': 'product',
        'barcode': False,
        'categ_id': {
            'id': 8,
            'name': 'Office Furniture'
        }
    },
    'name': 'Product 2',
    'product_uom_qty': 2.0,
    'price_unit': 100.0,
    'price_subtotal': 200.0
}]
}

Manage Webhook Logs

View and manage logs of webhook service requests and responses in Odoo.

For customization

Reach out to our support team at support@nxonbytes.com for any customization.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.