Hello CU12040032-0,
You're right, the terminology can be a bit overlapping in the Microsoft Dynamics 365 ecosystem. The good news is that the same underlying Web API used for Dynamics 365 Customer Engagement (CRM) is also the primary API for interacting with data in Dynamics 365 Customer Service.
Think of it this way: Dynamics 365 Customer Service is a model-driven app built on the Power Platform, just like Sales, Marketing, and other "Customer Engagement" modules. They all share the same core data platform (Dataverse, formerly Common Data Service) and therefore the same API for programmatic access.
API Documentation for Dynamics 365 Customer Service (using the Web API):
The official documentation you should be referring to is indeed the Microsoft Dynamics 365 Customer Engagement (on-premises) Web API Reference. This documentation covers all the CRUD (Create, Read, Update, Delete) operations and other actions you can perform on entities within the Dataverse, which includes all the Customer Service-specific entities like Cases (Incidents), Queues, Agents, etc.
You can find the latest documentation here:
Key Areas within the Documentation for Your Integration:
- Authentication: Your third-party application will need to authenticate with Dynamics 365 to access the data. The documentation covers various authentication methods, including OAuth 2.0, which is generally recommended for secure integrations. Look for sections on:
- Querying Data (Pulling Tickets): To retrieve tickets (Cases), you'll use the Retrieve and RetrieveMultiple operations of the Web API.
- Updating Data (Answering Tickets): To update ticket information (e.g., adding notes, changing status, assigning to an agent), you'll use the Update operation.
- Creating Data (e.g., adding notes or activities): If the third-party system needs to create new records related to the tickets, you'll use the Create operation.
Guidance for Your Integration:
- Authentication Setup: Start by registering your third-party application in Azure AD and configuring the necessary permissions to access your Dynamics 365 environment.
- Identify Required Entities and Attributes: Determine which entities (primarily
incident
for Cases) and attributes your integration needs to interact with (e.g., ticketnumber
, title
, description
, statuscode
, ownerid
, customerid
, createdon
, modifiedon
).
- Implement Data Pulling Logic: Use the
RetrieveMultiple
operation with appropriate OData $filter
clauses to fetch relevant tickets based on criteria like status (e.g., new, active), assignment, or creation date. Consider using pagination ($top
and $skiptoken
) for handling large volumes of data.
- Implement Data Answering/Updating Logic: Use the
Update
operation to send updates back to Dynamics 365 when the third-party system answers or modifies a ticket. Ensure you are sending the correct entity ID and the attributes you want to update in the correct format.
- Consider Real-time Updates (Optional but Recommended): For a more seamless integration, explore using Webhooks or Azure Service Bus integration to receive real-time notifications when tickets are created or updated in Dynamics 365, instead of constantly polling the API.
- Error Handling and Logging: Implement robust error handling and logging mechanisms in your integration to track issues and ensure data consistency.
- Rate Limiting: Be aware of the Dynamics 365 Web API's rate limits to avoid being throttled. Design your integration to handle potential throttling scenarios gracefully (e.g., using exponential backoff).
In summary, while you might not find specific API documentation labeled "Dynamics 365 Customer Service API," the Dynamics 365 Customer Engagement Web API is the correct resource. It provides all the necessary tools to pull and answer tickets within the Customer Service module. Focus on the authentication, querying, and updating sections of the documentation, and consider exploring real-time integration options for a more efficient solution. Good luck with your integration!
If my answer was helpful, please click Like, and if it solved your problem, please mark it as verified to help other community members find more. If you have further questions, please feel free to contact me.
My response was crafted with AI assistance and tailored to provide detailed and actionable guidance for your Microsoft Dynamics 365 query.
Regards,
Daivat Vartak