Route Message
Moves an entity instance from one queue to another.
The relevant classes are specified in the following table.
Type | Class |
Request | RouteRequest |
Response | RouteResponse |
Target | TargetQueued |
Entity | See below |
The following table shows the entities and target classes for this message.
Remarks
There are three different types of routing behavior as shown in the following table:
Route type | Description |
User | Used to route the entity instance to the queue belonging to a user. The field EndpointId must be the ID of a user. |
Queue | Used to route the entity instance to a specific queue. The field EndpointId must be the ID of a queue. |
Auto | Used to perform automatic routing using workflow. The field EndpointId is ignored. The field SourceQueueId specifies the ID of the queue that contains the entity instance specified in the Target field. |
To perform this action, the caller must have access rights on the entity instance specified in the request class. For a list of required privileges, see Route Privileges.
Example
The following code example shows how to use the Route message.
[C#]
// Standard CRM Service Setup
CrmService service = new CrmService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Create the target object for the request.
TargetQueuedAppointment target = new TargetQueuedAppointment();
// EntityId is the Guid of the appointment being routed
target.EntityId = new Guid("7E91958D-C8A1-404C-AC2C-9C474FB2427B");
// Create the request object.
RouteRequest route = new RouteRequest();
// Set the properties of the request object.
route.Target = target;
// EndpointId is the GUID of the queue or user the appointment is being routed to.
// The queue cannot be an In Progress queue.
route.EndpointId = new Guid("44E05740-607B-47AA-ABD6-13A007E2DD85");
// RouteType indicates the entity type of the endpoint.
route.RouteType = RouteType.Queue;
// SourceQueueId is the GUID of the queue the appointment is coming from.
route.SourceQueueId = new Guid("BD0C1BDD-3310-4ECA-B2B1-131C2F5ED1B2");
// Execute the request.
RouteResponse routed = (RouteResponse)service.Execute(route);
[Visual Basic .NET]
' Standard CRM Service Setup
Dim service As New CrmService()
service.Credentials = System.Net.CredentialCache.DefaultCredentials
' Create the target object for the request.
Dim target As New TargetQueuedAppointment()
' EntityId is the GUID of the appointment being routed.
target.EntityId = new Guid("7E91958D-C8A1-404C-AC2C-9C474FB2427B");
' Create the request object.
Dim route As New RouteRequest()
' Set the properties of the request object.
route.Target = target
' EndpointId is the GUID of the queue or user the appointment is being routed to.
' The queue cannot be an In Progress queue
route.EndpointId = new Guid("44E05740-607B-47AA-ABD6-13A007E2DD85");
' RouteType indicates the entity type of the endpoint.
route.RouteType = RouteType.Queue
' SourceQueueId is the GUID of the queue the appointment is coming from.
route.SourceQueueId = new Guid("BD0C1BDD-3310-4ECA-B2B1-131C2F5ED1B2");
'((queue)retrieved.BusinessEntityCollection.BusinessEntities[0]).queueid.Value;
' Execute the Request
Dim routed As RouteResponse = CType(service.Execute(route), RouteResponse)
Related Topics