header.title
header.description
overview.title
overview.description
gettingStarted.title
gettingStarted.webhookEndpoint
POST https://bob.ood.ooo/api/n8n/webhookgettingStarted.authentication.title
gettingStarted.authentication.description
gettingStarted.authentication.apiKey.title
gettingStarted.authentication.apiKey.badgegettingStarted.authentication.apiKey.description
gettingStarted.authentication.apiKey.step1.title
- gettingStarted.authentication.apiKey.step1.items.0
- gettingStarted.authentication.apiKey.step1.items.1
- gettingStarted.authentication.apiKey.step1.items.2
- gettingStarted.authentication.apiKey.step1.items.3
- gettingStarted.authentication.apiKey.step1.items.4
gettingStarted.authentication.apiKey.step1.warning
gettingStarted.authentication.apiKey.step2.title
gettingStarted.authentication.apiKey.step2.description
gettingStarted.authentication.apiKey.step2.bearerLabel
gettingStarted.authentication.apiKey.step2.bearerValue
gettingStarted.authentication.apiKey.step2.apiKeyLabel
gettingStarted.authentication.apiKey.step2.apiKeyValue
gettingStarted.authentication.apiKey.step3.title
gettingStarted.authentication.apiKey.step3.description
- gettingStarted.authentication.apiKey.step3.items.0
- gettingStarted.authentication.apiKey.step3.items.1
- gettingStarted.authentication.apiKey.step3.items.2
- gettingStarted.authentication.apiKey.step3.items.3
- gettingStarted.authentication.apiKey.step3.items.4
gettingStarted.authentication.apiKey.step3.headerValue
gettingStarted.authentication.sessionCookie.title
gettingStarted.authentication.sessionCookie.badgegettingStarted.authentication.sessionCookie.description
- gettingStarted.authentication.sessionCookie.steps.0
- gettingStarted.authentication.sessionCookie.steps.1
- gettingStarted.authentication.sessionCookie.steps.2
- gettingStarted.authentication.sessionCookie.steps.3
- gettingStarted.authentication.sessionCookie.steps.4
gettingStarted.authentication.sessionCookie.warning
supportedActions.title
supportedActions.executeMethod.title
supportedActions.executeMethod.description
{
"action": "execute_method",
"model": "res.partner",
"method": "search_read",
"args": [[["is_company", "=", true]]],
"kwargs": {
"fields": ["name", "email", "phone"],
"limit": 10
}
}supportedActions.chat.title
supportedActions.chat.description
{
"action": "chat",
"message": "List all customers with outstanding invoices over $1000"
}supportedActions.getConfig.title
supportedActions.getConfig.description
{
"action": "get_config"
}supportedActions.testConnection.title
supportedActions.testConnection.description
{
"action": "test_connection"
}commonOperations.title
commonOperations.createRecord
{
"action": "execute_method",
"model": "res.partner",
"method": "create",
"args": [{
"name": "New Customer",
"email": "customer@example.com"
}]
}commonOperations.updateRecord
{
"action": "execute_method",
"model": "res.partner",
"method": "write",
"args": [
[123],
{"phone": "+1234567890"}
]
}commonOperations.deleteRecord
{
"action": "execute_method",
"model": "res.partner",
"method": "unlink",
"args": [[123, 124, 125]]
}commonOperations.searchAndRead
{
"action": "execute_method",
"model": "sale.order",
"method": "search_read",
"args": [[
["state", "=", "sale"],
["date_order", ">=", "2025-01-01"]
]],
"kwargs": {
"fields": ["name", "partner_id", "amount_total"],
"order": "date_order desc",
"limit": 50
}
}exampleUseCases.title
exampleUseCases.formSubmission.title
exampleUseCases.formSubmission.description
- exampleUseCases.formSubmission.items.0
- exampleUseCases.formSubmission.items.1
- exampleUseCases.formSubmission.items.2
exampleUseCases.dailySalesReport.title
exampleUseCases.dailySalesReport.description
- exampleUseCases.dailySalesReport.items.0
- exampleUseCases.dailySalesReport.items.1
- exampleUseCases.dailySalesReport.items.2
exampleUseCases.lowStockAlerts.title
exampleUseCases.lowStockAlerts.description
- exampleUseCases.lowStockAlerts.items.0
- exampleUseCases.lowStockAlerts.items.1
- exampleUseCases.lowStockAlerts.items.2
bestPractices.title
- bestPractices.items.0.title bestPractices.items.0.text
- bestPractices.items.1.title bestPractices.items.1.text
- bestPractices.items.2.title bestPractices.items.2.text
- bestPractices.items.3.title bestPractices.items.3.text
- bestPractices.items.4.title bestPractices.items.4.text
- bestPractices.items.5.title bestPractices.items.5.text
- bestPractices.items.6.title bestPractices.items.6.text
- bestPractices.items.7.title bestPractices.items.7.text
errorHandling.title
errorHandling.description
{
"success": false,
"error": "Error message",
"details": "Detailed error information"
}errorHandling.commonErrors.title
- errorHandling.commonErrors.items.0
- errorHandling.commonErrors.items.1
- errorHandling.commonErrors.items.2
hmacVerification.title
hmacVerification.description
hmacVerification.howItWorks.title
- hmacVerification.howItWorks.steps.0
- hmacVerification.howItWorks.steps.1
- hmacVerification.howItWorks.steps.2
- hmacVerification.howItWorks.steps.3
hmacVerification.nodejs.title
const crypto = require('crypto');
// Your request body
const requestBody = {
action: "execute_method",
model: "res.partner",
method: "search_read",
args: [[["is_company", "=", true]]],
kwargs: { fields: ["name", "email"], limit: 10 }
};
// Your HMAC secret from API key settings
const hmacSecret = "your_hmac_secret_here";
// Generate signature
const bodyString = JSON.stringify(requestBody);
const signature = crypto
.createHmac('sha256', hmacSecret)
.update(bodyString)
.digest('hex');
// Add to headers
const headers = {
'Authorization': 'Bearer sk_live_xxxxxxxxxxxxx',
'X-HMAC-Signature': signature,
'Content-Type': 'application/json'
};hmacVerification.python.title
import hmac
import hashlib
import json
# Your request body
request_body = {
"action": "execute_method",
"model": "res.partner",
"method": "search_read",
"args": [[["is_company", "=", True]]],
"kwargs": {"fields": ["name", "email"], "limit": 10}
}
# Your HMAC secret from API key settings
hmac_secret = "your_hmac_secret_here"
# Generate signature
body_string = json.dumps(request_body, separators=(',', ':'))
signature = hmac.new(
hmac_secret.encode('utf-8'),
body_string.encode('utf-8'),
hashlib.sha256
).hexdigest()
# Add to headers
headers = {
'Authorization': 'Bearer sk_live_xxxxxxxxxxxxx',
'X-HMAC-Signature': signature,
'Content-Type': 'application/json'
}hmacVerification.tip
rateLimits.title
rateLimits.description
- •rateLimits.limit
rateLimits.headers.title
rateLimits.headers.description
HTTP/1.1 429 Too Many Requests
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 2025-01-28T12:00:00.000Z
{
"error": "Rate limit exceeded",
"limit": 100,
"resetAt": "2025-01-28T12:00:00.000Z"
}rateLimits.note