Odoo数据库API服务

提供通过HTTP端点访问Odoo数据库数据的API服务,适用于需要集成Odoo数据的用户和自动化系统。

  • by AngelUciDev
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 GhostSlayer-maker/mcp_server_docker_bstock

使用说明

MCP服务API文档

本文档描述了如何与MCP服务API交互,该API旨在通过HTTP端点提供对ODOO数据库数据的访问。它对于希望了解功能的用户和需要集成的自动化系统(如IAS)都很有用。

认证

所有对API的请求都需要API密钥进行身份验证。该密钥必须在标题中提供 X-API-KEY 每个应用程序。

API密钥位于文件中 .env 项目,低变量 API_KEY.

标题示例:

X-API-KEY: tu-api-key-segura-aqui

年轻女士很重要! Reemplaza: tu-api-key-segura-aqui 使用您的真实API密钥。

API的终点

1.健康检查

验证服务状态和数据库连接。

  • 网址: /api/health
  • 方法: GET
  • 认证: 需要 X-API-KEY

应用程序示例(CURL):

curl -X GET http://localhost:5000/api/health -H 'X-API-KEY: tu-api-key-segura-aqui'

应用程序示例(Python-for IAS/自动化):

import requests

api_key = "tu-api-key-segura-aqui"
headers = {"X-API-KEY": api_key}

response = requests.get("http://localhost:5000/api/health", headers=headers)
print(response.json())

成功响应示例(JSON):

{
    "status": "ok",
    "database_connection": "successful"
}

2.列表

获取数据库中所有可用表的列表。

  • 网址: /api/tables
  • 方法: GET
  • 认证: 需要 X-API-KEY

应用程序示例(CURL):

curl -X GET http://localhost:5000/api/tables -H 'X-API-KEY: tu-api-key-segura-aqui'

应用程序示例(Python-for IAS/自动化):

import requests

api_key = "tu-api-key-segura-aqui"
headers = {"X-API-KEY": api_key}

response = requests.get("http://localhost:5000/api/tables", headers=headers)
print(response.json())

成功响应示例(JSON):

{
    "tables": [
        "ir_act_client",
        "ir_act_report_xml",
        "res_users",
        // ... otras tablas
    ],
    "count": 89
}

3.参考具体表格

获取特定表中的所有记录。

  • 网址: /api/query/{table_name}
  • 方法: GET
  • 路由参数:
    • table_name (字符串):要查询的表的名称(例如。 res_users).
  • 认证: 需要 X-API-KEY

应用程序示例 res_users):

curl -X GET http://localhost:5000/api/query/res_users -H 'X-API-KEY: tu-api-key-segura-aqui'

应用程序示例(Python-for IAS/自动化):

import requests

api_key = "tu-api-key-segura-aqui"
headers = {"X-API-KEY": api_key}

table_name = "res_users"
response = requests.get(f"http://localhost:5000/api/query/{table_name}", headers=headers)
print(response.json())

成功响应示例(JSON-Partial):

[
    {
        "id": 3,
        "company_id": 1,
        "partner_id": 3,
        "login": "default",
        // ... otros campos
    },
    // ... otros registros
]

4.自定义SQL查询

允许在数据库中执行自定义SQL查询。 小心使用!

  • 网址: /api/custom_query
  • 方法: POST
  • 认证: 需要 X-API-KEY
  • 应用程序主体(JSON):
    {
        "query": "SELECT id, login FROM res_users LIMIT 5"
    }
    

应用程序示例(CURL):

curl -X POST http://localhost:5000/api/custom_query \
     -H 'Content-Type: application/json' \
     -H 'X-API-KEY: tu-api-key-segura-aqui' \
     -d '{"query": "SELECT id, login FROM res_users LIMIT 5"}'

应用程序示例(Python-for IAS/自动化):

import requests
import json

api_key = "tu-api-key-segura-aqui"
headers = {
    "Content-Type": "application/json",
    "X-API-KEY": api_key
}

query_payload = {"query": "SELECT id, login FROM res_users LIMIT 5"}

response = requests.post(
    "http://localhost:5000/api/custom_query",
    headers=headers,
    data=json.dumps(query_payload)
)
print(response.json())

成功响应示例(JSON-Partial):

{
    "results": [
        {
            "id": 3,
            "login": "default"
        },
        {
            "id": 2,
            "login": "admin"
        }
    ]
}

要将此服务器与ChatGPT集成,您可以使用以下提示符:

您是一个可以通过MCP API查询ODOO数据的向导。 要进行查询,请使用以下端点:

  1. 要获取表的架构:get/api/schema/{table_name}
  2. 列出可用表:get/api/tables
  3. 以自然语言进行查询:post/api/chatgpt_query
  4. 进行自定义SQL查询:post/api/custom_query

API密钥是:[tu-API-key] 服务器位于:http://localhost:5000

当用户询问ODOO数据时,首先从相关表中获得架构,然后进行适当的查询。

本文档提供了与MCP服务API交互的基本指南。为了更先进地使用或解决问题,建议查看应用程序的源代码。