Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Field Service-organisationer skal planlægge arbejde, ofte via en helpdesk-servicemedarbejder direkte af kunden. Reservationer oprettes typisk baseret på de ressourcer, der er tilgængelige for virksomheden, og kravene til arbejdet.
Når du bruger mindst Dynamics 365 Field Service v8.8.43.51 og Universal Resource Scheduling v3.12.46.21 til at planlægge arbejde, så brug msdyn_SearchResourceAvailability API'et til at hente alle de berettigede ressourcer til jobbet, så du effektivt kan planlægge arbejdet. På tidspunktet for denne skrivning er v3 den nyeste version af msdyn_SearchResourceAvailability og understøtter web API-kald.
Bemærk
Brug den nyeste version af API'et, da ældre versioner måske bruger forældede autentificeringsmetoder.
Inputparametre
| Name | Type | Description | Påkrævet | Standard |
|---|---|---|---|---|
| Version | String | Versionsnummeret på API'en identificerer den version af API'en, der skal aktiveres. Den følger formatet af major.minor.patch. Anmodningen behøver ikke at indeholde det fulde versionsnummer.
|
Ja | -I/R- |
| IsWebApi | Boolean | Sæt til True for at bruge planlægningsassistenten via web-API'en. | Ja | -I/R- |
| Krav | Enhed | Denne attribut angiver det ressourcekrav, som ressourcetilgængelighed hentes til. Det forventes at være en msdyn_resourcerequirement-objekttype. Kravet kan være en post, der allerede findes i databasen, eller en post, der er oprettet med de nødvendige begrænsninger. Objektet skal indeholde alle de specifikke oplysninger, der er relevante for søgningen.
@odata.type for denne enhed bør være Microsoft.Dynamics.CRM.msdyn_requirement. Følgende vigtige attributter skal udfyldes:
|
Ja | -I/R- |
| Indstillinger | Enhed | Attributten Settings hjælper dig med at filtrere de hentede ressourcer yderligere. Angiv indstillinger som attributter i en entitetspose. Typen af objekt betyder ikke noget. Du kan angive et hvilket som helst logisk objektnavn. | Ja | -I/R- |
| ResourceSpecification | Enhed | Definér attributten resourceSpecification som attributter i en entitetspose.
@odata.type for denne enhed bør være Microsoft.Dynamics.CRM.expando. |
Nej | None |
Objektet Indstillinger
Indstillingsobjektet er ikke et objekt, der findes i Dataverse, men det er en samling af alle følgende attributter, der hjælper med at filtrere resultater af API-for planlægningsassistenten. Dermed bør @odata.type for denne enhed være Microsoft.Dynamics.CRM.expando.
| Name | Type | Description | Påkrævet | Standard |
|---|---|---|---|---|
| ConsiderSlotsWithLessThanRequiredCapacity | Boolean | Angiv denne til Sand, hvis en tidsrubrik med mindre end den krævede kapacitet (indsats) skal tages i betragtning, når potentielle ledige tidsintervaller i ressourcens kalender skal anvendes. | Nej | Falsk |
| ConsiderSlotsWithLessThanRequiredDuration | Boolean | Angiv denne til Sand, hvis en tidsrubrik med mindre end den krævede varighed skal tages i betragtning, når potentielle ledige tidsintervaller i ressourcens kalender skal anvendes. | Nej | Falsk |
| ConsiderSlotsWithOverlappingBooking | Boolean | Angiv denne til Sand, hvis en tidsrubrik med overlappende reservationer skal tages i betragtning, når potentielle ledige tidsintervaller i ressourcens kalender skal anvendes. | Nej | Falsk |
| ConsiderSlotsWithProposedBookings | Boolean | Angiv denne til Sand, hvis en tidsrubrik med foreslåede reservationer skal tages i betragtning, når potentielle ledige tidsintervaller i ressourcens kalender skal anvendes. | Nej | Falsk |
| ConsiderAppointments | Boolean | Angives til True for API'en til søgning i ressourcetilgængelighed for at overholde eksisterende Dataverse-aftaler som reservationer på ressourcen, hvis indstillingerne for organisations- og ressourceniveau er angivet. Aftaler med status som Optaget eller Fuldført betragtes som utilgængelige for planlægning af operationer. | Nej | Falsk |
| ConsiderTravelTime | Boolean | Angiv denne til Sand, hvis rejsetid skal tages i betragtning, når potentielle ledige tidsintervaller i ressourcens kalender skal anvendes. | Nej | Sand |
| EksklusionRessourceKarakteristika | Boolean | Sæt dette til True for at udelukke ressourceegenskaber for tidsintervallerne i respons. | Nej | Falsk |
| MovePastStartDateToCurrentDate | Boolean | Angiv denne til Sand for at flytte en startdato i fortiden til dags dato. | Nej | Falsk |
| UseRealTimeResourceLocation | Boolean | Angiv denne til Sand, hvis realtidsplacering af ressourcer skal bruges, når potentielle ledige tidsintervaller i ressourcens kalender skal beregnes. | Nej | Falsk |
| SortOrder | EntityCollection | Angiv sorteringsrækkefølgen ved hjælp af en objektsamling. Hvert objekt i samlingen repræsenterer ét sorteringskriterium og kan kun sortere Resources fra svaret, men ikke TimeSlots.
@odata.type for denne enhed bør være Microsoft.Dynamics.CRM.expando. Du skal udfylde følgende attributter:
|
Nej | None |
| MaxResourceTravelRadius | Enhed | Denne attribut angiver det maksimum, der kan defineres i et objekt.
@odata.type for denne enhed bør være Microsoft.Dynamics.CRM.expando. Du skal udfylde følgende attributter:
|
Nej | 0 km. Hvis det er tilfældet, returneres der ingen ressourcer for krav på stedet. |
| MaxNumberOfResourcesToEvaluate | Integer | Denne attribut definerer en grænse for antallet af ressourcer, der tages i betragtning til anmodningen. | Nej | Hvis denne attribut ikke er inkluderet i API-kaldet, bruger systemet Resource Availability Retrieval Limit fra planlægningsklar entitetsdefinition, som defineret i Rediger-indstillinger for aktiverede enheder. Hvis den er inkluderet i kaldet, overskriver den den definerede grænse for hentning af ressourcetilgængelighed. |
| Overvej OutlookSchedules | Boolean | Sæt dette til True hvis skemaer fra Outlook bør tages i betragtning. Kun tilgængelig i versioner 3.1.0 og nyere. | Nej | Falsk |
Objektet Ressourcespecifikation
| Name | Type | Description | Påkrævet | Standard |
|---|---|---|---|---|
| ResourceTypes | EntityCollection | Denne attribut angiver den ressourcetype, der kræves til kravet. Brug en entitetssamling til at angive denne attribut. De enkelte objekter i samlingen repræsenterer én reserverbar ressourcetype.
@odata.type for denne enhed bør være Microsoft.Dynamics.CRM.msdyn_resourceType. Denne egenskab er nødvendig:
|
Nej | Alle ressourcetyper undtagen medvirkende |
| PreferredResources | EntityCollection | Denne attribut angiver de foretrukne ressourcer til kravet. Tilføj ressourcer til denne entitetssamling for at sikre, at de ligger øverst på listen over tilgængelige ressourcer. Selv ressourcer, der ikke er en del af entitetssamlingen, er på listen, men kun efter de foretrukne ressourcer. | Nej | None |
| RestrictedResources | EntityCollection | Denne attribut angiver de ressourcer, der ikke skal overvejes til kravet. Alle tidsrum for denne ressource filtreres fra listen over resultater fra dette API. | Nej | None |
| MustChooseFromResources | EntityCollection | Denne attribut angiver de eneste ressourcer, der kan være på listen over tilgængelige ressourcer. Alle de andre resultater fra outputlisten filtreres fra. | ||
| Begrænsninger | Enhed | Denne attribut angiver de yderligere begrænsninger, der skal gælde for hentning af tilgængelige ressourcer. | Nej | None |
| RetrieveResourcesQueryId | GUID | Id for forespørgslen Hent ressourcer. | Nej | Standard-id til forespørgslen Hent ressource. |
| BookedResourceId | GUID | Denne attribut angiver den ressource, der aktuelt er reserveret til kravet. | Nej | None |
Bemærk
Brug en enhedssamling af bookable resource entities til at angive attributterne Foretravest, Begrænset og MustChooseFrom . Hver enhed i samlingen repræsenterer én Foretrukken, Begrænset eller MustChooseFrom-ressource . Denne egenskab er nødvendig for dem:
-
Værdi (Guid): Den bookable resource ID for Foretrukne, Begrænsede eller MustChooseFrom-ressourcen .
@odata.typefor denne enhed bør væreMicrosoft.Dynamics.CRM.msdyn_bookableresource.
Begrænsninger
Angiv yderligere begrænsninger gennem attributter i denne enhed. Typen af objekt betyder ikke noget. Du kan angive et hvilket som helst logisk objektnavn.
Gennemse forespørgslen Hent ressourcer i indstillingerne i planlægningstavlen for at identificere, hvilke begrænsninger der kan være gældende. De omfatter som standard følgende:
| Name | Type | Description |
|---|---|---|
| Egenskaber | EntityCollection | En samling af egenskaber, som en kvalificeret ressource skal have. Hver post indeholder et characteristic med karakteristisk ID. Eventuelt kan du inkludere en ratingvalue med vurderingsværdi-ID for at filtrere ressourcer efter et specifikt færdighedsniveau. |
| Roller | EntityCollection | En samling rolle-id'er, som en kvalificeret ressource skal have. |
| Distrikter | EntityCollection | En samling distrikts-id'er. En kvalificeret ressource skal tildeles til et af distrikterne. |
| UnspecifiedTerritory | Boolean | I kombination med distriktsbegrænsningen angiver du, at en kvalificeret skal tildeles til et af distrikterne eller slet ikke et distrikt. |
| OrganizationalUnits | EntityCollection | En samling af afdelings-id'er. En kvalificeret ressource skal være medlem af en af de angivne afdelinger. |
| Teams | EntityCollection | En samling team-id'er. En kvalificeret ressource skal tilhøre et team (indebærer, at ressourcetypen er en systembruger). |
| BusinessUnits | EntityCollection | En samling forretningsenheds-ID'er. En kvalificeret ressource skal tilhøre en afdeling (indebærer, at ressourcetypen er en systembruger). |
Outputparametre
På det højeste niveau har outputtet følgende fire parametre. Resultaterne repræsenteres i objektsamlinger og objekter. Svar inkluderer måske ikke alle de attributter, der beskrives her som null-værdier, eller I/T-værdier findes ikke i svaret. Kontrollér altid, om der findes en attribut, inden du forsøger at få adgang til den.
| Name | Type | Description |
|---|---|---|
| TimeSlots | EntityCollection | En samling tidsrubrikresultater. Du kan finde flere oplysninger i afsnittet om tidsrubrikobjekt. |
| Ressourcer | EntityCollection | En samling ressourceresultater. Ressourcer repræsenteres som en samling objekter med følgende attributter:
|
| Relaterede | Enhed | Relaterede ressourcer repræsenterer ressourcer og tidsrubrikker for ressourcer, der ikke er direkte kvalificeret til det ønskede krav, men som er relateret. Hvis et medlem af medvirkende f.eks. kvalificerer til et krav, vil de andre medlemmer af samme medvirkende være relaterede resultater.
|
| Undtagelser | Enhed | Denne attribut indeholder oplysninger om eventuelle undtagelser, der er opstået, og oplysninger om, om hvis og hvor ressourcesøgningen blev afkortet.
|
Objektet Tidsrubrikker
| Name | Type | Description |
|---|---|---|
| id | GUID | Entydigt id for tidsrubrikken |
| Type | Integer | Typen af tidsrum. Det kan være en af følgende værdier:
|
| StartTime | Datetime | Starttidspunktet for tidsrubrikken. Hvis der er rejse for kravet, er denne gang starttidspunktet for rejsen. Hvis ikke, er denne gang starttidspunktet for kravet. |
| ArrivalTime | Datetime | Ankomsttidspunktet for tidsrubrikken. Hvis der er rejse for kravet, er dette tidspunkt starttidspunktet for kravet, efter rejsen er fuldført. Hvis ikke, er det det samme som starttiden for tidsrubrikken. |
| EndTime | Datetime | Sluttidspunktet for tidsrubrikken. |
| Indsats | Integer | Ressourcens indsats eller kapacitet til at udføre kravene. |
| ResourceRequirement | EntityReference | Det ressourcekrav, som tidsrubrikker hentes til. |
| Potentiel | Boolean | En boolesk værdi, der angiver, om tidsrubrikken potentielt kan opfylde det ønskede krav. |
| IsDuplicate | Boolean | En boolesk værdi, der angiver, om tidsrubrikken er en dublet. |
| AllowOverlapping | Boolean | En boolesk værdi, der angiver, om overlapning er tilladt. |
| Ressource | Enhed | Den ressource, som tidsrubrikken tilhører. Du kan finde flere oplysninger under tidsrubrikressource. |
| Lokation | Enhed | Lokationen har tre attributter:
|
| Rejse | Enhed | Dette objekt indeholder oplysninger om rejsetid og afstandsoplysninger for en tidsrubrik. Der er følgende attributter:
|
| Næste | Enhed | Dette objekt indeholder oplysninger om rejsetiden og afstanden til næste reservation af tidsrubrik.
|
| Tilgængelighed | Enhed | De detaljerede oplysninger om tilgængelighed for en tidsrubrik. Denne enhed bruges med tidsgrupper.
|
| TimeGroup | Enhed | Detaljerne om en tidsgruppe.
|
Tip
Når du opretter bookinger ved hjælp af API'en, brug feltet Potentiale , der er beskrevet i tabellen. Hvis du ikke bruger det pågældende felt, kan det medføre overlappende eller upassende reservationer.
Tidsrubrikressource
| Name | Type | Description |
|---|---|---|
| Ressource | EntityReference | En objektreference til den reserverbare ressource. |
| ResourceGroup | EntityReference | En objektreference til den reserverbare ressourcegruppe. |
| Afdeling | EntityReference | En objektreference til afdelingen. |
| OrganizationalUnit | EntityReference | En objektreference til afdelingen. |
| ResourceType | Integer | Ressourcetypen. Se attributten ResourceType på objektet BookableResource for at få vist mulige værdier. |
| PoolId | GUID | Id'et for den pulje, som ressourcen er medlem af, under tidsrubrikkens varighed. |
| CrewId | GUID | Id'et for det mandskab, som ressourcen er medlem af, under tidsrubrikkens varighed. |
| Egenskaber | EntityCollection | Egenskaber for reserverbare ressourcer. Hvert objekt i samlingen indeholder objekter med egenskaber og bedømmelsesoplysninger.
|
| HasStartLocation | Boolean | En boolesk værdi, der angiver, om ressourcen har en startlokation. |
| HasEndLocation | Boolean | En boolesk værdi, der angiver, om ressourcen har en slutlokation. |
| Mailadresse | String | Ressourcens mailadresse. |
| Telefon | String | Ressourcens telefonnummer. |
| ImagePath | String | Stien til ressourcens billede. |
| CalendarId | GUID | Ressourcens kalender-id. |
Eksempler
I dette eksempel bruger du version 3 af schedule assistant API'en, som understøtter web API-kald, for et krav med en varighed på 60 minutter. Ved at bruge attributten settings filtrerer du resultaterne. Du overvejer to ressourcetyper til det endelige resultat: 1 og 2 (med andre ord, generisk og kontakt).
{
"Version": "4",
"IsWebApi": true,
"Requirement": {
"msdyn_fromdate": "2021-07-14T00:00:00Z",
"msdyn_todate": "2021-07-15T23:59:00Z",
"msdyn_remainingduration": 60,
"msdyn_duration": 60,
"msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
"@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
},
"Settings": {
"ConsiderSlotsWithProposedBookings": false,
"MovePastStartDateToCurrentDate": true,
"@odata.type": "Microsoft.Dynamics.CRM.expando"
},
"ResourceSpecification": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"ResourceTypes": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "1"
},
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "2"
}
],
"Constraints": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Characteristics": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"characteristic": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
},
"ratingvalue": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}
}
],
"Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Territories": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
}
],
"Roles@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Roles": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "76998e42-744c-f011-877d-6045bdfb899e"
}
]
}
}
}
Følgende eksempel viser korrekt brug af objektsamlinger. I dette tilfælde specificerer MustChooseFromResourcesden .
{
"Version": "4",
"IsWebApi": true,
"Requirement": {
"msdyn_fromdate": "2021-07-14T00:00:00Z",
"msdyn_todate": "2021-07-15T23:59:00Z",
"msdyn_remainingduration": 60,
"msdyn_duration": 60,
"msdyn_latitude": 47.64807,
"msdyn_longitude": -122.41249,
"msdyn_worklocation": 690970000,
"msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
"@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
},
"Settings": {
"ConsiderSlotsWithProposedBookings": false,
"MovePastStartDateToCurrentDate": true,
"MaxNumberOfResourcesToEvaluate":500,
"ConsiderTravelTime": true,
"MaxResourceTravelRadius": {
"Value": 20,
"Unit" : 192350000,
"@odata.type": "Microsoft.Dynamics.CRM.expando"
},
"@odata.type": "Microsoft.Dynamics.CRM.expando"
},
"ResourceSpecification": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"ResourceTypes": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "1"
},
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "2"
}
],
"MustChooseFromResources@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"MustChooseFromResources": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "2145a982-f718-ed11-b83e-0022482d79c8"
}
],
"Constraints": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Characteristics": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"characteristic": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
},
"ratingvalue": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}
}
],
"Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Territories": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
}
]
}
}
}