crm は何をしますか?
Microsoft Dynamics 365 CE オンプレミス 9.x Web API(OData v4、NTLM認証)向けのステートフルCLI+エージェントスキル。
概要
このスキルは、Dynamics 365 CEのWeb APIと対話するためのステートフルなコマンドラインインターフェースを提供します。NTLM認証をサポートし、オンプレミス環境での安全な接続を実現します。
前提条件
- Node.js 18以上
- Dynamics 365 CE オンプレミス 9.x
- NTLM認証が有効なドメインアカウント
インストール
npm install -g gharib89/crm
設定
.envファイルを作成し、以下の環境変数を設定します:
CRM_ORG_URL=https://your-crm-org.example.com
CRM_USERNAME=your-username
CRM_PASSWORD=your-password
CRM_DOMAIN=YOUR_DOMAIN
使用法
コマンド
| コマンド | 説明 |
|---|---|
crm login | NTLM認証を使用してログイン |
crm whoami | 現在のユーザー情報を表示 |
crm list <entity> | エンティティレコードを一覧表示 |
crm get <entity> <id> | 特定のレコードを取得 |
crm create <entity> | 新しいレコードを作成 |
crm update <entity> <id> | 既存のレコードを更新 |
crm delete <entity> <id> | レコードを削除 |
crm query <entity> <filter> | ODataフィルターでクエリ |
例
# すべての取引先企業を一覧表示
crm list accounts
# 特定の取引先企業を取得
crm get accounts 00000000-0000-0000-0000-000000000000
# 新しい取引先企業を作成
crm create accounts
# 取引先企業名を更新
crm update accounts 00000000-0000-0000-0000-000000000000
# 取引先企業を削除
crm delete accounts 00000000-0000-0000-0000-000000000000
API
このスキルはDynamics 365 CEのWeb API(OData v4)を使用します。すべてのリクエストはNTLM認証で保護されています。
サポートされるエンドポイント
GET /api/data/v9.x/<entity>- エンティティレコードの一覧表示GET /api/data/v9.x/<entity>(<id>)- 特定のレコードの取得POST /api/data/v9.x/<entity>- 新しいレコードの作成PATCH /api/data/v9.x/<entity>(<id>)- 既存のレコードの更新DELETE /api/data/v9.x/<entity>(<id>)- レコードの削除
エージェントモード
Cursor、Claude Code、Codexなどのエージェントで使用する場合、crmコマンドを直接呼び出してDynamics 365 CEと対話できます。エージェントは以下のようにタスクを実行できます:
- 顧客レコードの検索と取得
- データの一括更新
- レコード作成の自動化
- データ移行ジョブの実行
トラブルシューティング
- 認証エラー:
.envファイルの資格情報が正しいことを確認してください。 - タイムアウト: 組織URLが到達可能であり、ファイアウォールがトラフィックをブロックしていないことを確認してください。
- HTTP 403: NTLM認証が適切に設定されていることを確認してください。
ライセンス
MIT