Availability |
Odoo Online
Odoo.sh
On Premise
|
Lines of code | 1507 |
Technical Name |
nx_api_webhook_kit |
License | LGPL-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.
[
'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',
)]),
]
{
'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