重要
/beta バージョンの API は変更される可能性があります。 運用アプリケーションでのこれらの API の使用はサポートされていません。
Work IQ Chat API を使用すると、organization 内で定義されたアクセス制御を尊重しながら、Microsoft 365 Copilot とのマルチターンの会話を作成して継続できます。 Chat API を使用して、Microsoft 365 Copilot との同期会話を続行します。
このドキュメントでは、Chat API を使用して同期的な Copilot の会話を継続することについて説明します。 Chat API を使用して Copilot の会話を作成したり、ストリーミングされた会話を続行したりする方法について説明します。
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
| アクセス許可の種類 | 最小特権アクセス許可 | より高い特権のアクセス許可 |
|---|---|---|
| 委任 (職場または学校のアカウント) | WorkIQAgent.Ask | 注意事項なし。 |
| 委任 (個人用 Microsoft アカウント) | サポートされていません。 | サポートされていません。 |
| アプリケーション | サポートされていません。 | サポートされていません。 |
HTTP 要求
POST https://workiq.svc.cloud.microsoft/rest/conversations/{conversationId}/chat
POST https://workiq.svc.cloud.microsoft/rest/beta/conversations/{conversationId}/chat
要求ヘッダー
| 名前 | 説明 |
|---|---|
Authorization |
Bearer {token}. 必須です。
認証と認可についての詳細をご覧ください。 |
Content-Type |
application/json. 必須。 |
要求本文
要求本文で、パラメーターの JSON 表現を指定します。
次の表に、このアクションを呼び出すときに使用できるオプションのパラメーターと必須のパラメーターを示します。
| パラメーター | 型 | 説明 |
|---|---|---|
message |
copilotConversationRequestMessageParameter | Copilot 会話に送信されるチャット メッセージ。 必須です。 |
additionalContext |
copilotContextMessage コレクション | Copilot の会話のための追加のコンテキスト。 これは追加の接地に使用する必要があります。 省略可能。 |
locationHint |
copilotConversationLocation | ユーザーの位置情報。 必須です。 |
contextualResources |
copilotContextualResources | コンテキストとして使用する必要がある OneDrive および SharePoint ファイルを提供し、Web 検索の基礎を切り替えます。 省略可能。 |
応答
成功した場合、このアクションは 200 OK 応答コードと応答本文の copilotConversation を返します。
例
例 1: チャット メッセージを送信する
次の例は、同期エンドポイントを使用して Chat API にプロンプトを送信する方法を示しています。
要求
次の例は要求を示しています。 ▶ この事前入力されたプロンプトを対話型デモで開きます。
POST https://workiq.svc.cloud.microsoft/rest/conversations/0d110e7e-2b7e-4270-a899-fd2af6fde333/chat
Content-Type: application/json
{
"message": {
"text": "What meeting do I have at 9 AM tomorrow morning?"
},
"locationHint": {
"timeZone": "America/New_York"
}
}
POST https://workiq.svc.cloud.microsoft/rest/beta/conversations/0d110e7e-2b7e-4270-a899-fd2af6fde333/chat
Content-Type: application/json
{
"message": {
"text": "What meeting do I have at 9 AM tomorrow morning?"
},
"locationHint": {
"timeZone": "America/New_York"
}
}
応答
次の例は応答を示しています。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "0d110e7e-2b7e-4270-a899-fd2af6fde333",
"createdDateTime": "2025-09-30T15:55:53.4711746Z",
"displayName": "What meeting do I have at 9 AM tomorrow morning?",
"state": "active",
"turnCount": 1,
"messages": [
{
"@odata.type": "#microsoft.graph.copilotConversationResponseMessage",
"id": "cc211f56-1a5e-0af0-fec2-c354ce468b95",
"text": "What meeting do I have at 9 AM tomorrow morning?",
"createdDateTime": "2025-09-30T15:55:53.4711746Z",
"adaptiveCards": [],
"attributions": [],
"sensitivityLabel": {
"sensitivityLabelId": null,
"displayName": null,
"tooltip": null,
"priority": null,
"color": null,
"isEncrypted": null
}
},
{
"@odata.type": "#microsoft.graph.copilotConversationResponseMessage",
"id": "3fe6b260-c682-4f8e-a201-022ccb300742",
"text": "You asked about your meeting scheduled for **9 AM tomorrow**, and I found **1 meeting** on your calendar.\n\n### 📅 Tomorrow at 9 AM\n- **Meeting**: <Event>Contoso Engineering Standup</Event>\n- **Organizer**: <Person>John Doe</Person>[^1^]\n- **Time**: 9:00 AM – 9:30 AM\n- **Location**: Microsoft Teams Meeting\n- **Status**: No one has accepted the invite yet[^1^]\n\nLet me know if you'd like help preparing for this meeting or checking who else was invited.",
"createdDateTime": "2025-09-30T15:55:58.9856658Z",
"adaptiveCards": [
{}
],
"attributions": [
{
"attributionType": "annotation",
"providerDisplayName": "",
"attributionSource": "model",
"seeMoreWebUrl": "https://teams.microsoft.com/l/meeting/details?eventId=BBMkADg5ZjdjZGNiLWRiMzItNDA3MC1iNDNlLTdlMGY4ZDc0ZjdlZgBGAAAAAACm2kxZvrUtTa-iv1uzeNCxBwA4nsl0tFf4R7qmHdVqpNbsAAAAAAENAAA4nsl0tFf4R7qmHdVqpNbsAAAVa4BBAAA%3d&EntityRepresentationId=988db526-6e9b-46ec-906e-3fba32438e5d",
"imageWebUrl": "",
"imageFavIcon": "",
"imageWidth": 0,
"imageHeight": 0
},
{
"attributionType": "annotation",
"providerDisplayName": "",
"attributionSource": "model",
"seeMoreWebUrl": "https://www.office.com/search?q=John+Doe&EntityRepresentationId=g38b20af-0d21-47fd-8e45-fd9d55215cb3",
"imageWebUrl": "",
"imageFavIcon": "",
"imageWidth": 0,
"imageHeight": 0
},
{
"attributionType": "citation",
"providerDisplayName": "Contoso Engineering Standup",
"attributionSource": "model",
"seeMoreWebUrl": "https://teams.microsoft.com/l/meeting/details?eventId=BBMkADg5ZjdjZGNiLWRiMzItNDA3MC1iNDNlLTdlMGY4ZDc0ZjdlZgBGAAAAAACm2kxZvrUtTa-iv1uzeNCxBwA4nsl0tFf4R7qmHdVqpNbsAAAAAAENAAA4nsl0tFf4R7qmHdVqpNbsAAAVa4BBAAA%3d",
"imageWebUrl": "",
"imageFavIcon": "",
"imageWidth": 0,
"imageHeight": 0
}
],
"sensitivityLabel": {
"sensitivityLabelId": null,
"displayName": null,
"tooltip": null,
"priority": null,
"color": null,
"isEncrypted": null
}
}
]
}
例 2: チャット メッセージのコンテキストとして OneDrive または SharePoint ファイルを使用する
次の例は、Chat API にメッセージを送信するときに、OneDrive または SharePoint ファイルをコンテキストとして使用する方法を示しています。 複数の OneDrive および SharePoint ファイルを、チャット メッセージを送信する際のコンテキストとして使用できます。
要求
次の例は要求を示しています。
POST https://workiq.svc.cloud.microsoft/rest/conversations/0d110e7e-2b7e-4270-a899-fd2af6fde333/chat
Content-Type: application/json
{
"message": {
"text": "Summarize this document for me."
},
"locationHint": {
"timeZone": "America/New_York"
},
"contextualResources": {
"files": [
{
"uri": "https://contoso.sharepoint.com/sites/Engineering/Shared%20Documents/Specs/Business-Model.docx"
}
]
}
}
POST https://workiq.svc.cloud.microsoft/rest/beta/conversations/0d110e7e-2b7e-4270-a899-fd2af6fde333/chat
Content-Type: application/json
{
"message": {
"text": "Summarize this document for me."
},
"locationHint": {
"timeZone": "America/New_York"
},
"contextualResources": {
"files": [
{
"uri": "https://contoso.sharepoint.com/sites/Engineering/Shared%20Documents/Specs/Business-Model.docx"
}
]
}
}
応答
次の例は応答を示しています。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "0d110e7e-2b7e-4270-a899-fd2af6fde333",
"createdDateTime": "2025-09-30T16:15:13.0889735Z",
"displayName": "What meeting do I have at 9 AM tomorrow morning?",
"state": "active",
"turnCount": 2,
"messages": [
{
"@odata.type": "#microsoft.graph.copilotConversationResponseMessage",
"id": "7b9f74b6-673a-7077-d29e-5ef8a6c6968c",
"text": "Summarize this document for me.",
"createdDateTime": "2025-09-30T16:15:13.0889735Z",
"adaptiveCards": [],
"attributions": [],
"sensitivityLabel": {
"sensitivityLabelId": null,
"displayName": null,
"tooltip": null,
"priority": null,
"color": null,
"isEncrypted": null
}
},
{
"@odata.type": "#microsoft.graph.copilotConversationResponseMessage",
"id": "85e25e6e-4218-40fb-91a3-897d555d18d0",
"text": "You asked for a summary of the document \"<File>Business-Model.docx</File>\". Here's a concise overview based on its content:\n\n---\n\n## **Summary: What Is a Business Model?**\n\n### **Definition & Importance**\n- A business model is a holistic framework for creating, delivering, and capturing value. It's not just about monetization, but about how an organization systematically unlocks long-term value for itself and its customers.\n- Business models are essential for startups and established companies alike, as they guide value creation, customer engagement, and sustainable growth.\n\n### **Key Concepts**\n- **Business Model vs. Business Plan:** A business model is about experimentation and testing assumptions in the real world, while a business plan is a static document with projections that are often untested.\n- **Business Model vs. Revenue Strategy:** Monetization is just one part of a business model. A true business model also covers operations, customer acquisition, retention, supply chain, and more.\n\n### **Design & Innovation**\n- Business model design is about building a sustainable value chain, starting with a clear value proposition and focusing on key stakeholders.\n- Innovation in business models can be more disruptive than technological innovation. Companies like Company1, Company2, and Company3 succeeded by innovating their business models, not just their technology.\n- Competitive advantages (or \"moats\") are often built around innovative business models, especially in the digital era.\n\n### **Experimentation**\n- Business modeling is an iterative process, much like scientific experimentation. Entrepreneurs must test, adapt, and refine their models to find what works in the marketplace.\n\n### **Frameworks**\n- **Business Model Canvas:** A popular tool that breaks down a business model into key partners, activities, value propositions, customer relationships, segments, resources, channels, cost structure, and revenue streams.\n- **Lean Startup Canvas:** Focuses on experimentation, customer feedback, and iterative design, especially for startups.\n\n### **Components (FourWeekMBA Perspective)**\n- **People Dimension:** Value proposition, brand positioning, and ambitious goal setting.\n- **Financial Dimension:** Customer segments, distribution channels, and profit formula.\n\n### **Types of Business Models**\nThe document details 30+ business model types, including:\n- Asymmetric (hidden revenue, e.g., Company1, Company4)\n- One-for-one (e.g., Company5)\n- Razor and blade (e.g., Company6)\n- Peer-to-peer (e.g., Company7)\n- Multi-sided platforms (e.g., Company8)\n- Freemium, subscription, affiliate, consulting, agency, vertically integrated, e-commerce marketplace, discount, attention merchant, privacy-focused, franchising, on-demand, user-generated content, educational niche, chain/franchise mix, instant news, blockchain-based, multi-brand, family-owned, humanist enterprise, direct-to-consumer, enterprise/complex sales, distribution-based, and more.\n\n### **Key Takeaways**\n- There is no single best business model; success depends on context, timing, and market conditions.\n- Business models must evolve with changing technologies and market needs.\n- Experimentation, adaptability, and a clear value proposition are critical for long-term success.\n\n---\n\nIf you'd like a deeper dive into any specific section or business model type from the document, just let me know!",
"createdDateTime": "2025-09-30T16:15:25.509337Z",
"adaptiveCards": [
{}
],
"attributions": [
{
"attributionType": "annotation",
"providerDisplayName": "",
"attributionSource": "model",
"seeMoreWebUrl": "https://contoso.sharepoint.com/sites/Engineering/Shared%20Documents/Specs/Business-Model.docx",
"imageWebUrl": "",
"imageFavIcon": "",
"imageWidth": 0,
"imageHeight": 0
},
{
"attributionType": "citation",
"providerDisplayName": "529425287-What-Is-a-Business-Model",
"attributionSource": "grounding",
"seeMoreWebUrl": "https://contoso.sharepoint.com/sites/Engineering/Shared%20Documents/Specs/Business-Model.docx",
"imageWebUrl": "",
"imageFavIcon": "",
"imageWidth": 0,
"imageHeight": 0
}
],
"sensitivityLabel": {
"sensitivityLabelId": null,
"displayName": null,
"tooltip": null,
"priority": null,
"color": null,
"isEncrypted": null
}
}
]
}
例 3: チャット メッセージを送信するときに Web 検索の根拠をオフに切り替える
次の例は、Chat API にチャット メッセージを送信するときに Web 検索の根拠をオフに切り替える方法を示しています。 Web 検索の接地がオフに切り替えられている場合、チャット メッセージへの応答にエンタープライズ検索の接地のみが使用されます。 Web 検索のグラウンディングの切り替えは、1 ターンの操作です。
要求
次の例は要求を示しています。
POST https://workiq.svc.cloud.microsoft/rest/conversations/0d110e7e-2b7e-4270-a899-fd2af6fde333/chat
Content-Type: application/json
{
"message": {
"text": "What is the highest grossing movie at the global box office this year?"
},
"locationHint": {
"timeZone": "America/New_York"
},
"contextualResources": {
"webContext": {
"isWebEnabled": false
}
}
}
POST https://workiq.svc.cloud.microsoft/rest/beta/conversations/0d110e7e-2b7e-4270-a899-fd2af6fde333/chat
Content-Type: application/json
{
"message": {
"text": "What is the highest grossing movie at the global box office this year?"
},
"locationHint": {
"timeZone": "America/New_York"
},
"contextualResources": {
"webContext": {
"isWebEnabled": false
}
}
}
応答
次の例は応答を示しています。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "0d110e7e-2b7e-4270-a899-fd2af6fde333",
"createdDateTime": "2025-09-30T20:54:38.6856711Z",
"displayName": "What meeting do I have at 9 AM tomorrow morning?",
"state": "active",
"turnCount": 3,
"messages": [
{
"@odata.type": "#microsoft.graph.copilotConversationResponseMessage",
"id": "40ec0e9f-d46a-0d57-a3c4-7342d86929d9",
"text": "What is the highest grossing movie at the global box office this year?",
"createdDateTime": "2025-09-30T20:54:38.6856711Z",
"adaptiveCards": [],
"attributions": [],
"sensitivityLabel": {
"sensitivityLabelId": null,
"displayName": null,
"tooltip": null,
"priority": null,
"color": null,
"isEncrypted": null
}
},
{
"@odata.type": "#microsoft.graph.copilotConversationResponseMessage",
"id": "9c0a96b9-ccf1-4a50-82ca-1ef7c2776c54",
"text": "You asked: **What is the highest grossing movie at the global box office this year?**\n\nCurrently, I do not have access to real-time web search or external box office databases, and there are no internal enterprise documents or files provided that contain this information. As a result, I cannot provide the latest global box office data for this year.\n\n**How you can find this information:**\n- The most reliable sources for up-to-date box office rankings are websites like Source1, Source2, or Source3. These sites regularly update global box office statistics and highlight the top-grossing films of the year.\n\nIf you have a specific internal report or file related to box office performance, please let me know where to find it, and I'll be happy to summarize the relevant details for you! Would you like tips on how to track box office trends or insights into recent movie industry performance?",
"createdDateTime": "2025-09-30T20:54:45.2785423Z",
"adaptiveCards": [
{}
],
"attributions": [],
"sensitivityLabel": {
"sensitivityLabelId": null,
"displayName": null,
"tooltip": null,
"priority": null,
"color": null,
"isEncrypted": null
}
}
]
}
例 4: チャット メッセージで追加のコンテキストを送信する
次の例は、チャット メッセージを含むより多くのコンテキストを Chat API に送信する方法を示しています。 この追加のコンテキストは、ドキュメント、記事、Web サイトからの抜粋など、Chat API が推論するための基礎を提供します。
要求
次の例は要求を示しています。
POST https://workiq.svc.cloud.microsoft/rest/conversations/0d110e7e-2b7e-4270-a899-fd2af6fde333/chat
Content-Type: application/json
{
"message": {
"text": "What is the birthday of my best friend, John Doe?"
},
"additionalContext": [
{
"text": "John Doe's birthday is on January 1st."
}
],
"locationHint": {
"timeZone": "America/New_York"
}
}
POST https://workiq.svc.cloud.microsoft/rest/beta/conversations/0d110e7e-2b7e-4270-a899-fd2af6fde333/chat
Content-Type: application/json
{
"message": {
"text": "What is the birthday of my best friend, John Doe?"
},
"additionalContext": [
{
"text": "John Doe's birthday is on January 1st."
}
],
"locationHint": {
"timeZone": "America/New_York"
}
}
応答
次の例は応答を示しています。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "0d110e7e-2b7e-4270-a899-fd2af6fde333",
"createdDateTime": "2025-09-30T21:00:22.9880382Z",
"displayName": "What meeting do I have at 9 AM tomorrow morning?",
"state": "active",
"turnCount": 4,
"messages": [
{
"@odata.type": "#microsoft.graph.copilotConversationResponseMessage",
"id": "70894d7b-94b2-d65a-f4ed-7f7b10f63737",
"text": "What is the birthday of my best friend, John Doe?",
"createdDateTime": "2025-09-30T21:00:22.9880382Z",
"adaptiveCards": [],
"attributions": [],
"sensitivityLabel": {
"sensitivityLabelId": null,
"displayName": null,
"tooltip": null,
"priority": null,
"color": null,
"isEncrypted": null
}
},
{
"@odata.type": "#microsoft.graph.copilotConversationResponseMessage",
"id": "65b34190-40d2-4933-9539-8324684aca5a",
"text": "You asked for the birthday of your best friend, <Person>John Doe</Person>.\n\nBased on the information available, <Person>John Doe</Person>'s birthday is on **January 1st**. If you need this added to your calendar or want a reminder set up, just let me know!",
"createdDateTime": "2025-09-30T21:00:26.9371633Z",
"adaptiveCards": [
{}
],
"attributions": [],
"sensitivityLabel": {
"sensitivityLabelId": null,
"displayName": null,
"tooltip": null,
"priority": null,
"color": null,
"isEncrypted": null
}
}
]
}