Data Platform コネクタで Odoo ERP データを抽出する
Odoo コネクタは、任意の Odoo ERP インスタンスからデータを抽出します:連絡先、CRM リード、販売注文、請求書、製品、在庫、HR、プロジェクトなど
目的
Odoo コネクタは、任意の Odoo ERP インスタンスからデータを抽出します:連絡先、CRM リード、販売注文、請求書、製品、在庫、HR、プロジェクトなど。
26 の事前定義済みモデルが 9 のドメインをカバー + 任意の Odoo モデル用の カスタムモデル エンドポイント + スキーマのイントロスペクション用の モデルフィールド エンドポイント。
このコネクタは Odoo JSON-RPC API から 生の JSON を返します。プラットフォームは自動的に入れ子になったオブジェクトを列にフラット化し、結果をレイクハウスに保存します。手動でのスキーマ定義は必要ありません。
Odoo 14–19 と互換性があります。
1. API キーを取得する
- Odoo インスタンスにログインします
- アバターをクリック(右上)> マイプロフィール
- アカウントセキュリティ タブに移動します
- 新しい API キーをクリックします
- 説明を入力します(例:
data-platform-connector) - キーを生成をクリックします
- キーをすぐにコピーします:一度だけ表示されます
Odoo Online: API アクセスには カスタムプラン が必要です。Odoo 料金を参照してください。
2. 認証情報を設定する
3. 利用可能なエンドポイントの種類
models: 事前定義済みモデル
26 の一般的に使用される Odoo モデルをドメインごとにグループ化:
パラメータ:
custom_model: 任意の Odoo モデル
事前定義済みリストにないモデル(例:helpdesk.ticket, mrp.production, fleet.vehicle)用。
model_fields: スキーマのイントロスペクション
任意のモデルのフィールド定義(名前、タイプ、必須、ヘルプテキスト、関係)を返します。データを抽出する前に利用可能なフィールドを発見するのに役立ちます。
4. Data Platform に Odoo ソースを追加する
- Data Platform の コネクタ で、ソースストアから Odoo を見つけ、選択をクリックします。
- 手順 2から接続フィールドを入力します:URL、ログイン、API キー、および(セルフホストの場合)データベース。
- 接続をクリックして認証情報を確認します。コネクタは JSON-RPC を介して認証し、Odoo
uidを解決します。 - エンドポイントを追加をクリックし、ドロップダウンから
models,custom_model, またはmodel_fieldsを選択し、そのエンドポイントが必要とするパラメータを入力します(例:モデル、オプションの フィールドフィルタ、オプションの ドメインフィルタ、オプションの 最大アイテム数)。 - このソースで取り込みたい追加のエンドポイントごとに手順 4 を繰り返します。各エンドポイントはレイクハウス内の別々のテーブルになります。
- ソースに名前を付け、作成をクリックします。
技術名はソースが作成された後に変更できません。Data Platform SDKでソースを開く際に使用されます。
5. クイック例:連絡先を抽出する
- エンドポイント:
models - モデル:
res.partner(連絡先) - フィールドフィルタ:
name, email, phone, is_company, city, country_id - 最大アイテム数:
100(または空にして全てを抽出)
コネクタは Odoo API から生の JSON を返します。プラットフォームは自動的に入れ子になったオブジェクトをフラット化し、結果をレイクハウスに保存します。
6. ドメインフィルタの構文
ドメインフィルタは Odoo の ポーランド(接頭辞)表記法 を使用します。JSON 配列として入力します:
一般的な演算子:=, !=, >, <, >=, <=, in, not in, like, ilike
OR 条件は | 接頭辞を使用します:
全レコードを抽出するには [] を空にします。
7. ベストプラクティス
フィールドフィルタを使用する
フィルタなしでは Odoo は 全フィールド を返します:一部のモデルには 200 以上のフィールドがあります。特に res.partner のような大規模なモデルの場合、必要なものだけを保持するためにフィールドフィルタを使用します。
max_items から始める
テストを迅速に行うために max_items を 10 または 100 に設定します。満足したら制限を解除します。
model_fields を使用してフィールドを発見する
model_fields エンドポイントは任意のモデルの完全なスキーマを返します。抽出を設定する前にフィールド名、タイプ、関係を発見するために使用します。
ステージと参照テーブル
crm.stage, account.journal, product.category を参照テーブルとして抽出します。ステージ/ジャーナル/カテゴリ ID フィールドでメインデータと結合します。
8. 既知の制限事項
- モデルの利用可能性はインストールされたアプリに依存します。 CRM アプリが必要なモデル(例:
crm.lead)、販売アプリが必要なモデル(例:sale.order)などがあります。custom_modelを使用してインスタンスにモデルが存在するかテストします。 - 一部のフィールドには特定のユーザーグループが必要です。 例えば、
project.project.stage_idは「プロジェクトでステージを使用」グループが必要です。権限エラーが発生した場合、fields_filterを使用して制限されたフィールドを除外します。 - Odoo Online の API アクセスにはカスタムプランが必要です。Odoo 料金を参照してください。
認証の内部、完全なエンドポイントリファレンス、ページネーション、レート制限、出力形式、ドメインフィルタリファレンス、バージョン互換性、制限などの詳細な技術情報については、Odoo 技術リファレンスを参照してください。
さらに深く掘り下げる
トレーニングや技術的なサポートが必要な場合は、営業担当者にお問い合わせください、またはこのリンクをクリックして、プロフェッショナルサービスの専門家にプロジェクトのカスタム分析を依頼し、見積もりを受け取ってください。
質問をする、フィードバックを送信し、Data Platform を構築するチームと直接交流するには、専用の Discord チャンネルにアクセスしてください。
OVHcloud サービスについてサポートが必要な場合は、ヘルプセンターでリクエストを作成してください。
ユーザーコミュニティに参加してください。

