تنزيل النصوص وبيانات التفاعل الخاصة بـ Copilot

يستخدم ممثلو خدمة العملاء (ممثلو الخدمة أو الممثلون) ميزات Copilot مثل نسخ الملخصات واستخدام الرد المقترح والملاحظات والدردشة. يتم تخزين تفاعلات مساعد الطيار في جداول تفاعل مساعد الطيار (msdyn_copilotinteraction)وبيانات تفاعل مساعد الطيار (msdyn_copilotinteractiondata)ونص مساعد الطيار (msdyn_copilottranscript)وبيانات نسخ مساعد الطيار (msdyn_copilottranscriptdata) في Dataverse. يمكنك تنزيل النصوص وبيانات التفاعل باستخدام واجهة برمجة تطبيقات الويب Dataverse أو SDK ل .NET.

ابتداء من أغسطس 2025، يتم تخزين تفاعلات الطيار المساعد في جدول msdyn_copilotevents . تحتوي جداول msdyn_copilotinteraction و msdyn_copilotinteractiondata على سجلات قبل أغسطس.

المتطلبات الأساسية

  • تأكد من تحديد خانة الاختيار بيانات تجربة الدعم في كوبيلايت للأسئلة والبريد الإلكتروني بحيث يتم تخزين بيانات المعاملات والتفاعلات بواسطة النظام في Dataverse.
  • تأكد من تسجيل الدخول باستخدام دور مسؤول القناة متعددة الاتجاهات أو مشرف القناة متعددة الاتجاهات.

استرداد ملخص المحادثة

عندما يستخدم ممثل الخدمة Copilot لإنشاء ملخص محادثة، يتم تخزين الملخص في msdyn_conversationinsight الجدول في Dataverse. يتم إنشاء سجل في الجدول بمعرف محادثة فريد مخزن في msdyn_ConversationId الحقل. يتم تخزين نص الملخص في msdyn_copilotsummary الحقل.

على سبيل المثال، بعد إنهاء محادثة مع عميل، يستخدم ممثل الخدمة Copilot لإنشاء ملخص محادثة. يتم تخزين ملخص المحادثة في msdyn_conversationinsight الجدول بالقيم التالية.

السمة قيمة العينة
معرف المحادثة 70B76AB52-120B-49E6-9DCE-53F235125A01
ملخص المحادثة "المشكلة: مشكلة في صمام التحضير في آلة القهوة. خطوات تحري الخلل وإصلاحه: أبلغ العميل عن المشكلة. النتيجة: تم الإبلاغ عن المشكلة لمزيد من المساعدة."

يمكنك استرداد ملخص المحادثة على النحو التالي:

  1. حدد معرف المحادثة، وهو المعرف الأساسي للسجل في الجدول msdyn_ocliveworkitem . في مثالنا ، هذه القيمة هي 70b76ab52-120b-49e6-9dce-53f235125a01.

  2. استخدم طلب واجهة برمجة تطبيقات الويب التالي لتصفية سجل الجدول msdyn_conversationinsight .

    
     [Organization URI]/api/data/v9.2/msdyn_conversationinsights?$filter=_msdyn_conversationid_value eq '<conversation-ID>'
    
    

    في مثالنا ، يكون طلب واجهة برمجة تطبيقات الويب كما يلي.

     https://<yourorg>.crm.dynamics.com/api/data/v9.2/msdyn_conversationinsights?$filter=_msdyn_conversationid_value eq '70b76ab52-120b-496e-9dce-53f235125a01'
    

    نموذج الاستجابة لمثالنا هو كما يلي:

    {
    "status": { "code": 20000, "message": "Successfully fetched summary from insights" },
    "summary": "Issue: Trouble with the brew valve on the coffee machine.\nTroubleshooting steps: \n- Customer reported the issue.\nOutcome: Issue reported for further assistance."
    }
    

أين يتم تخزين تفاعلات مساعد الطيار الخاصة بي

يتم تخزين كل تفاعل ممثل خدمة مع Copilot في msdyn_copilotinteraction جدول أو msdyn_copilotevents مع معرف تفاعل فريد. يسرد الجدول التالي مكان تخزين بيانات التفاعل المقابلة لكل نوع تفاعل.

ميزة الجدول
طرح سؤال msdyn_copilottranscriptdata
ردود الفعل ، ملخص الحالة ، كتابة بريد إلكتروني ، اقتراح رد msdyn_copilotinteractiondata، msdyn_copilotevents

إشعار

يتم تخزين سجلات تفاعل Copilot في msdyn_copilotevents الجدول، بدءا من أغسطس 2025. يتم تخزين السجلات السابقة لشهر أغسطس في الجدولين msdyn_copilotinteraction وmsdyn_copilotinteractiondata.

الحصول على msdyn_copilotinteractionid و msdyn_interactiondataid من سجلات تفاعل مساعد الطيار

قبل القيام بإجراءات مثل تنزيل نص أو عرض ملاحظات حرفية، يجب عليك استرداد قيم msdyn_copilotinteractionid ومعرف سجل msdyn_copilotinteractiondata المقابل من msdyn_copilotinteraction. يمكنك استخدام استدعاء واجهة برمجة تطبيقات الويب التالي للحصول على معرف التفاعل في msdyn_copilotinteractionid الحقل ومعرف interactiondataid في msdyn_interactiondataid_value الحقل.

[Organization URI]/api/data/v9.1/msdyn_copilotinteractions
Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0  

احصل على msdyn_copilotinteractionid من Copilot Event Records

قبل تحميل نص أو عرض الملاحظات الحرفية، يجب عليك استرجاع قيم من msdyn_copilotinteractionidmsdyn_copilotevents الجدول. يمكنك استخدام استدعاء واجهة برمجة التطبيقات التالية للحصول على معرف التفاعل في msdyn_copilotinteractionid الحقل.

[Organization URI]/api/data/v9.2/msdyn_copilotevents
Accept: application/json  
OData-MaxVersion: 4.0  
OData-Version: 4.0  

السمات الرئيسية

السمات الرئيسية من السجل هي كما يلي.

السمة التعريف
msdyn_copilotinteractionid معرف فريد لمثيلات الكيان
msdyn_scenariorequestid جمع تفاعلات متعددة مرتبطة بتطبيق Copilot.
على سبيل المثال: يسأل أحد الممثلين عن مساعد الطيار سؤالا ثم يضع علامة على الرد المستلم بإبهام لأعلى. يعتبران تفاعلين ، لكنهما جزء من نفس السيناريو.
msdyn_scenariotype يشير إلى الميزة المستخدمة من قبل الممثل.
msdyn_interactiontype يشير إلى التفاعل التمثيلي المحدد مع مساعد الطيار.
msdyn_interactionforid معرف الكيان للسجل المشار إليه، والذي تفاعل فيه الممثل مع Copilot.
msdyn_interactionforlogicalname الاسم المنطقي للكيان للسجل المشار إليه، والذي تفاعل فيه الممثل مع مساعد الطيار.
سياق_التفاعل_msdyn سياق إضافي مثل الإشارة إلى النصوص.
msdyn_interactiondataid يشير إلى كيان msdyn_copilotinteractiondata يحتوي على بيانات تفاعل

استجابة العينة

تشير الاستجابة التالية إلى سيناريو يطرح فيه أحد الممثلين على مساعد الطيار سؤالا ، ثم يحدد زر الإبهام لأسفل لتقديم ملاحظات. ، msdyn_scenariorequestidmsdyn_scenariotype هو نفسه لكل من التفاعلات. msdyn_interactiontype يتم تعيين قيم التفاعلات على 100230305 و 100230302 ، والتي تتوافق مع Generated و Thumbs down.


{
          "@odata.etag": "W/\"17413914\"",
          "msdyn_interactiontype": 100230305,
          "msdyn_clienttimestamp": "2025-03-19T08:00:34Z",
          "modifiedon": "2025-03-19T08:00:34Z",
          "msdyn_interactionforlogicalname": "msdyn_ocliveworkitem",
          "overriddencreatedon": null,
          "msdyn_scenariotype": 100230201,
          "importsequencenumber": null,
          "_modifiedonbehalfby_value": null,
          "msdyn_interactionforid": "2cc5ea06-a4fd-4f83-8e75-0324383b953f",
          "statecode": 0,
          "msdyn_scenariorequestid": "cbdc1bef-6099-7f9a-f1fe-dab02e36315b",
          "_organizationid_value": "7eede269-bbb1-ef11-8a64-000d3a350e1a",
          "versionnumber": 17413914,
          "utcconversiontimezonecode": 190,
          "_msdyn_interactiondataid_value": null,
          "_createdonbehalfby_value": null,
          "_modifiedby_value": "864a96d6-6bb0-ef11-a730-000d3a59065a",
          "createdon": "2025-03-19T08:00:34Z",
          "msdyn_interactioncontext": "{\"OcSessionId\":\"28dea393-c175-4788-9494-07fd42ee0884\",\"ResponseStatusCode\":20000,\"Plugins\":{\"IsContentRedacted\":false},\"Transcript\":{\"Id\":\"8d1d70e6-3297-644a-4e86-00d8973223a0\",\"DataId\":\"a1584aaf-d5bd-357d-54a8-84dbdba547f9\"},\"Filters\":{\"AgentContextFilters\":[],\"AutomatedFilters\":[]},\"Streaming\":{\"State\":\"GENERATED\"},\"ResponseSource\":{\"category\":\"KnowledgeSearch\",\"subCategory\":\"KnowledgeSearch\"},\"IsAutoPrompt\":true,\"AutoPromptTrigger\":\"follow-up-prompt\",\"IsAutoExpanded\":false,\"IsSuggestedPrompt\":false,\"IsEmbed\":false,\"IsStandalone\":false}",
          "msdyn_name": null,
          "statuscode": 1,
          "msdyn_copilotinteractionid": "c49dc43b-9804-f011-bae2-6045bd014292",
          "_createdby_value": "864a96d6-6bb0-ef11-a730-000d3a59065a",
          "timezoneruleversionnumber": 0
      },
      {
          "@odata.etag": "W/\"17413983\"",
          "msdyn_interactiontype": 100230302,
          "msdyn_clienttimestamp": "2025-03-19T08:00:37Z",
          "modifiedon": "2025-03-19T08:00:41Z",
          "msdyn_interactionforlogicalname": "msdyn_ocliveworkitem",
          "overriddencreatedon": null,
          "msdyn_scenariotype": 100230201,
          "importsequencenumber": null,
          "_modifiedonbehalfby_value": null,
          "msdyn_interactionforid": "2cc5ea06-a4fd-4f83-8e75-0324383b953f",
          "statecode": 0,
          "msdyn_scenariorequestid": "cbdc1bef-6099-7f9a-f1fe-dab02e36315b",
          "_organizationid_value": "7eede269-bbb1-ef11-8a64-000d3a350e1a",
          "versionnumber": 17413983,
          "utcconversiontimezonecode": 190,
          "_msdyn_interactiondataid_value": null,
          "_createdonbehalfby_value": null,
          "_modifiedby_value": "864a96d6-6bb0-ef11-a730-000d3a59065a",
          "createdon": "2025-03-19T08:00:41Z",
          "msdyn_interactioncontext": "{\"OcSessionId\":\"28dea393-c175-4788-9494-07fd42ee0884\",\"IsEmbed\":false,\"IsStandalone\":false}",
          "msdyn_name": null,
          "statuscode": 1,
          "msdyn_copilotinteractionid": "cb9dc43b-9804-f011-bae2-6045bd014292",
          "_createdby_value": "864a96d6-6bb0-ef11-a730-000d3a59065a",
          "timezoneruleversionnumber": 0
      },

تنزيل نصوص الدردشة

عندما يسأل ممثل الخدمة Copilot سؤالا، يتم حفظ الدردشة كنسخة مشفرة بتنسيق base64 المشفر باستخدام مجموعة أحرف UTF-16LE في msdyn_copilottranscriptdata الجدول في Dataverse. يمكنك تنزيل النصوص لمراجعة المحادثة والردود المقدمة من Copilot.

على سبيل المثال ، أثناء العمل في حالة ما ، يسأل ممثل الخدمة مساعد الطيار "كيف يمكنني حجز رحلة؟". يقوم Copilot بإنشاء استجابة استنادا إلى مقالة قاعدة المعرفة. إذا كنت ترغب في تنزيل نص الدردشة، فقم بتنفيذ الخطوات التالية:

  1. استخدم استدعاء واجهة برمجة تطبيقات الويب للحصول على معرف التفاعل.

  2. قم بتصفية جدول msdyn_copilotinteraction باستخدام معرف التفاعل المطلوب للوصول إلى السمة Transcript.DataID من msdyn_interactioncontext. استخدم طلب واجهة برمجة تطبيقات الويب التالي لتصفية البيانات حسب معرف التفاعل.

    
       [Organization URI]/api/data/v9.1/msdyn_copilotinteractions(<msdyn_copilotinteractionid>)
       Accept: application/json  
       OData-MaxVersion: 4.0  
       OData-Version: 4.0  
    
    السمة قيمة السيناريو الخاص بنا
    msdyn_copilotinteractionid F0970641-C1E7-EE11-904C-000D3A3BB867
    msdyn_scenariorequestid 93893746-e203-e9b6-18b9-887d68d18daf
    msdyn_scenariotype طرح سؤال
    msdyn_interactiontypename تم إنشاؤه
    msdyn_interactionforid 1CD6023D-D326-EE11-9966-000D3A3411CF (الحالة التي بدأ منها التفاعل)
    سياق_التفاعل_msdyn {\"OcSessionId\":\"28dea393-c175-4788-9494-07fd42ee0884\",\"ResponseStatusCode\":20000,\"Plugins\":{\"IsContentRedacted\":false},\"Transcript\":{\"Id\":\"8d1d70e6-3297-644a-4e86-00d8973223a0\",\"DataId\":\"a1584aaf-d5bd-357d-54a8-84dbdba547f9\"},\"Filters\":{\"AgentContextFilters\":[],\"AutomatedFilters\":[]},\"Streaming\":{\"State\":\"GENERATED\"},\"ResponseSource\":{\"category\":\"KnowledgeSearch\",\"subCategory\":\"KnowledgeSearch\"},\"IsAutoPrompt\":true,\"AutoPromptTrigger\":\"follow-up-prompt\",\"IsAutoExpanded\":false,\"IsSuggestedPrompt\":false,\"IsEmbed\":false,\"IsStandalone\":false}
  3. انسخ قيمة Trasncript.DataId من msdyn_interactioncontext. في مثالنا، هذه القيمة هي a1584aaf-d5bd-357d-54a8-84dbdba547f9.

  4. يسترد طلب واجهة برمجة تطبيقات الويب التالي النص المشفر بتنسيق base64/UTF-16LE.

      [Organization URI]/api/data/v9.1/msdyn_copilottranscriptdatas(<Transcript:DataID>)/msdyn_transcriptdata
      Accept: application/json  
      OData-MaxVersion: 4.0  
      OData-Version: 4.0  
    

    في مثالنا ، يكون طلب واجهة برمجة تطبيقات الويب كما يلي.

     [Organization URI]/api/data/v9.1/msdyn_copilottranscriptdatas(a1584aaf-d5bd-357d-54a8-84dbdba547f9)/msdyn_transcriptdata
    
  5. قم بفك تشفير البيانات المشفرة باستخدام وحدة فك ترميز base64 باستخدام خيار مجموعة أحرف UTF-16LE للحصول على النص. يمكنك استخدام أداة فك التشفير عبر الإنترنت لفك تشفير البيانات. على سبيل المثال، يتم عرض النص الذي تم فك تشفيره على النحو التالي.

    
    {
      "messages": [
        {
          "id": "283c2269-b131-dac2-3aed-847bd99402e7",
          "requestId": "93893746-e203-e9b6-18b9-887d68d18daf",
          "message": "How can I book a trip?",
          "sequence": 0,
          "user": "user",
          "timestamp": 1711052758750,
          "isActivityError": false,
          "context": {}
        },
        {
          "id": "eba9e9d5-71e2-9502-0bca-9387246fb094",
          "requestId": "93893746-e203-e9b6-18b9-887d68d18daf",
          "message": "To book a trip, follow these steps:\n\n1. Go to the travel portal.\n2. Click on \"Travel\" and then select \"Book a Trip\".\n3. Fill in your name, contact information, and the dates of your trip.\n4. Choose your destination from the drop-down menu. Here's the data you'll be working with:\n\n```json\n{\n    \"id\": \"11bb11bb-cc22-dd33-ee44-55ff55ff55ff\",\n    \"title\": \"Booking Travel\",\n    \"source\": \"internal_kb\"\n}\n```\n\n5. Select a hotel from the drop-down menu and specify the check-in and check-out dates. If you don't want to book a hotel, you can check the \"I do not want to book a hotel\" box.\n6. Choose the type of rental car you want. If you don't want to rent a car, you can check the \"I do not want to rent a car\" box.\n7. Click \"Submit\".\n\nOnce you've submitted your booking request, you will receive a follow-up communication from a representative with a quote. You can also add any notes or additional information by clicking on the case from the My Bookings screen.",
          "sequence": 1,
          "user": "bot",
          "timestamp": 1711052776968,
          "isActivityError": false,
          "sources": [
            {
              "id": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
              "title": "Booking Travel",
              "source": "internal_kb"
            }
          ],
          "context": {
            "customerIntent": "How to book a trip?"
          }
        }
      ],
      "context": {
        "chatId": "21b27e83-299d-a639-3e4a-8dcd6332e184",
        "sessionId": "session-id-2",
        "entityId": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
        "entityName": "knowledgearticle"
      }
    } 
    
    

استرجاع الملاحظات الحرفية

عندما يتفاعل أحد الممثلين مع Copilot، يمكنه تقديم ملاحظات حول الردود التي يقدمها Copilot. يتم تخزين الملاحظات في العمود msdyn_verbatim الموجود في msdyn_copilotinteractiondata الجدول في Dataverse.

على سبيل المثال، استجابة مساعد الطيار ليست دقيقة ويحدد الممثل أيقونة الإبهام لأسفل لتقديم ملاحظات. ويقدم الممثل أيضا تعليقات حرفية. يقوم التطبيق بإنشاء سجل في msdyn_copilotinteraction الجدول مع التعيين msdyn_interactiontypename إلى ThumbsDown.

السمات الرئيسية للسجل هي كما يلي.

السمة عينة من البيانات لمثالنا
msdyn_copilotinteractionid 817FF9E4-CBE7-EE11-904C-000D3A3BB867
msdyn_scenariorequestid 93893746-e203-e9b6-18b9-887d68d18daf
msdyn_scenariotype طرح سؤال
msdyn_interactiontype 100230302
msdyn_interactiontypename ThumbsDown
msdyn_interactionforid 1CD6023D-D326-EE11-9966-000D3A3411CF
msdyn_interactiondataid 807FF9E4-CBE7-EE11-904C-000D3A3BB867
معرّف القسم 20250622-20250628-100230203

إشعار

PartitionID ينطبق فقط إذا كنت تستخدم الجدول msdyn_copilotevents .

يمكنك الحصول على التعليقات الحرفية التي يقدمها الممثل على النحو التالي.

  1. احصل على قيمة معرف سجل msdyn_copilotinteractiondata المطلوبة من msdyn_copilotinteraction الجدول.

إشعار

تجاوز هذه الخطوة إذا كنت تستخدم الطاولة msdyn_copilotevents . إن msdyn_copilotinteractiondataid متاح بالفعل في جدول msdyn_copilotevents.

  1. قم بتشغيل طلب واجهة برمجة تطبيقات الويب التالي لاسترداد الملاحظات الحرفي.

    إذا كنت تستخدم الجدول msdyn_copilotevents ، استخدم التالي:

    [Organization URI]/api/data/v9.1/msdyn_copilotevents(msdyn_copiloteventid=<GUID>,partitionid='<partitionId>')
    

    في مثالنا، طلب واجهة برمجة تطبيقات الويب هو كما يلي:

    [Organization URI]/api/data/v9.2/msdyn_copilotevents(msdyn_copiloteventid=f9d841e5-34e7-ee11-904c-000d3a3bb867,partitionid='20250622-20250628-100230203')
    
  2. اعرض التعليقات الحرفية المتوفرة في عمود msdyn_verbatim. على سبيل المثال ، التعليقات المستردة هي كما يلي.

    
      {
      "@odata.etag": "W/\"29538313\"",
      "_owningbusinessunit_value": "0e9ec0a2-eb6a-ed11-9561-000d3a336228",
      "statecode": 0,
      "statuscode": 1,
      "_createdby_value": "586cb7a8-eb6a-ed11-9561-000d3a336228",
      "msdyn_copilotinteractiondataid": "807ff9e4-cbe7-ee11-904c-000d3a3bb867",
      "_ownerid_value": "586cb7a8-eb6a-ed11-9561-000d3a336228",
      "modifiedon": "2024-03-21T21:42:21Z",
      "msdyn_verbatim": "Article is outdated",
      "_owninguser_value": "586cb7a8-eb6a-ed11-9561-000d3a336228",
      "_modifiedby_value": "586cb7a8-eb6a-ed11-9561-000d3a336228",
      "versionnumber": 29538313,
      "createdon": "2024-03-21T21:42:21Z",
      "msdyn_interactiondata_name": null,
      "overriddencreatedon": null,
       "importsequencenumber": null,
      "_modifiedonbehalfby_value": null,
      "msdyn_interactiondata": null,
      "utcconversiontimezonecode": null,
      "_createdonbehalfby_value": null,
      "msdyn_name": null,
      "_owningteam_value": null,
      "timezoneruleversionnumber": null
    }
    
    

تنزيل بيانات التفاعل

باستثناء نصوص طرح السؤال، في جميع التفاعلات الأخرى بين الممثلين وCopilot، يتم تخزين البيانات في msdyn_copilotinteractiondata جدول أو msdyn_copilotevents في Dataverse.

على سبيل المثال، يمكن أن يكون التفاعل ممثلا يستخدم Copilot لإنشاء بريد إلكتروني أو ملخص حالة. السمات الرئيسية لمثالنا هي كما يلي.

السمة قيمة السيناريو الخاص بنا
msdyn_copilotinteractionid 0dd941e5-34e7-ee11-904c-000d3a3bb867
msdyn_scenariorequestid 42AE7F8E-736F-1CEA-035B-6BF970B48E9C
msdyn_scenariotype ملخص القضية
msdyn_interactiontype 100230305
msdyn_interactiontypename تم إنشاؤه
msdyn_interactionforid 1CD6023D-D326-EE11-9966-000D3A3411CF
سياق_التفاعل_msdyn {"Filters":{"AgentContextFilters":[],"DynamicFilters":{"IsApplied":false}}}
msdyn_interactiondataid F9D841E5-34E7-EE11-904C-000D3A3BB867

يمكنك تنزيل بيانات التفاعل على النحو التالي.

  1. احصل على قيمة معرف سجل msdyn_copilotinteractiondata المطلوبة من msdyn_copilotinteraction الجدول.

إشعار

تجاوز هذه الخطوة إذا كنت تستخدم الطاولة msdyn_copilotevents . العنصر msdyn_copilotinteractiondataid متوفر بالفعل في جدول msdyn_copilotevents.

  1. شغل طلب واجهة برمجة تطبيقات الويب التالي لاسترجاع بيانات التفاعلات بصيغة base64 المشفرة:

    إذا كنت تستخدم جدول msdyn_copilotevents، استخدم التالي:

    <org-url>/api/data/v9.2/msdyn_copilotevents(msdyn_copiloteventid=<GUID>,partitionid='<partitionId>')/msdyn_interactiondata/$value 
    

    في مثالنا، طلب واجهة برمجة تطبيقات الويب هو كما يلي:

    <org-url>/api/data/v9.2/msdyn_copilotevents(msdyn_copiloteventid=f9d841e5-34e7-ee11-904c-000d3a3bb867,partitionid='20250622-20250628-100230203')/msdyn_interactiondata/$value 
    

  1. فك تشفير البيانات المشفرة base64 للحصول على النص. يمكنك استخدام أداة فك ترميز base64 عبر الإنترنت لفك تشفير البيانات. بالنسبة لمثال البريد الإلكتروني الخاص بنا ، يتم عرض بيانات التفاعل التي تم فك تشفيرها على النحو التالي.

إشعار

اطرح سؤالا واقترح ردا وقم بصياغة بريد إلكتروني استخدم برنامج الترميز base64 مع مجموعة أحرف UTF-16LE. يستخدم ملخص الحالة والمحادثة مجموعة أحرف UTF-8. نوصي باستخدام نفس مجموعة الأحرف التي تم استخدامها لتشفير البيانات لفك تشفيرها.

لقطة شاشة لبيانات التفاعل التي تم فك تشفيرها.

استخدام Copilot لحل مشاكل العملاء
عرض تقرير تحليلات مساعد الطيار