Acción msdyn_ForecastApi

Como desarrollador, lea esta documentación de referencia para utilizar la acción personalizada msdyn_ForecastApi para recuperar y actualizar datos de pronóstico. También puede utilizar esta acción para almacenar datos de pronóstico de vez en cuando, como una instantánea. Luego puede utilizar la instantánea para comparar los datos del pronóstico a lo largo del tiempo. Utilice el código de muestra de API de pronóstico para comenzar con la acción personalizada msdyn_ForecastApi.

Requisitos de licencia y rol

Tipo de requisito Debe tener
Licencia Dynamics 365 Sales Premium o Dynamics 365 Sales Enterprise
Más información: Precios de Dynamics 365 Sales
Roles de seguridad Personalizador del sistema
Más información: Roles de seguridad predefinidos para Sales

Parámetros

Nombre de parámetro Obligatorio Descripción
WebApiName Contiene el nombre de la API a ejecutar.
RequestJson Contiene los parámetros y los argumentos para la llamada a la API.

Lista de API

A continuación se muestra el conjunto de API que puede invocar utilizando la acción personalizada msdyn_ForecastApi.

GET_ForecastConfigurations

Devuelve la lista de todas las configuraciones de previsión configuradas.

Ejemplo

POST [Organization URI]/api/data/v9.1/msdyn_ForecastApi/ HTTP/1.1
Content-Type: application/json

{
    "WebApiName": "GET_ForecastConfigurations",
    "RequestJson": "{}"
}
Parámetro Type Descripción
WebApiName String Nombre de la API
RequestJson String Objeto JSON serializado

Response

{
   "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.msdyn_ForecastApiResponse",
   "response": [
      {
         "Columns": [
             {
                        "ForecastConfigurationColumnId": "0ad51075-912b-4e00-a7a1-91170e437d27",
                        ...
                        "ForecastConfigurationId": "27bd2c40-f868-ea11-a811-000d3a37bb2c",
                        ...
             },
             {
                        "ForecastConfigurationColumnId": "c3ef8024-6517-4168-adc7-bb5b520554a0",
                        ...
                        "ForecastConfigurationId": "27bd2c40-f868-ea11-a812-125d3a37bb2d",
                        ...
               
             }],
         "PermissionRoles": null,
         "AdditionalFilters": "<fetch version=\"1.0\" mapping=\"logical\"><entity name=\"opportunity\"><\/entity><\/fetch>",
         "IsSnapshotScheduled": false,
         "SnapshotSchedule": null,
         "SnapshotTimeZone": null,
         "PublishedDateTime": "0001-01-01T00:00:00",
         "DefaultViewIdForUnderlyingRecords": "bf649add-6c30-ea11-a813-000d3a5475f7"
      }
   ]
}

Valor de retorno

Lista de configuraciones de previsión

GET_ForecastConfigurationsByName

Devuelve todas las configuraciones de previsión que tienen el nombre proporcionado como parte de la carga útil de la solicitud.

Ejemplo

POST [Organization URI]/api/data/v9.1/msdyn_ForecastApi HTTP/1.1
Content-Type: application/json

{
    "WebApiName": "GET_ForecastConfigurationsByName",
    "RequestJson": "{\"Name\":\"api_test1\"}"
}
Parámetro Type Descripción
WebApiName String Nombre de la API
RequestJson Objeto JSON Consta de Name: nombre de la configuración de previsión

Response

{
   "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.msdyn_ForecastApiResponse",
   "response": [
      {
         "Columns": [
             {
                 "Name": "api_test1",
                 ...
                 "ForecastConfigurationId": "bcf37937-487e-ea11-a811-000d3a37bb2c",
                 ...
             }
         ],
         "PermissionRoles": null,
         "AdditionalFilters": "<fetch version=\"1.0\" mapping=\"logical\"><entity name=\"opportunity\"><\/entity><\/fetch>",
         "IsSnapshotScheduled": false,
         "SnapshotSchedule": null,
         "SnapshotTimeZone": null,
         "PublishedDateTime": "0001-01-01T00:00:00",
         "DefaultViewIdForUnderlyingRecords": "bf649add-6c30-ea11-a813-000d3a5475f7"
      }
   ]
}

Valor de retorno

Lista de configuraciones de previsión

GET_ForecastPeriodsByForecastConfigurationId

Devuelve todos los períodos de pronóstico para el identificador de configuración de pronóstico activo, que se proporciona como parte de la carga útil de la solicitud.

Ejemplo

POST [Organization URI]/api/data/v9.1/msdyn_ForecastApi HTTP/1.1
Content-Type: application/json

{
  "WebApiName": "GET_ForecastPeriodsByForecastConfigurationId",
  "RequestJson": "{
      \"ForecastConfigurationId\":\"04323a04-da7f-ea11-a811-000d3a37bb2c\"
      }"
}
Parámetro Type Descripción
WebApiName String Nombre de la API
RequestJson Objeto JSON Contiene ForecastConfigurationId: identificador de configuración de previsión

Response

{
   "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.msdyn_ForecastApiResponse",
   "response": [
      {
         "Id": "8b8cadd8-ede3-4b21-97cf-93efc0337089",
         "ForecastConfigurationId": "04323a04-da7f-ea11-a811-000d3a37bb2c",
         "RecurrenceIndex": 0,
         "ValidFrom": "2020-04-01T00:00:00Z",
         "ValidTo": "2020-06-30T23:59:59Z",
         "Name": "FY2020 Q2",
         "RecomputeStatus": 10,
         "LastRecomputedOn": "2020-05-25T08:04:24.817Z",
         "RecomputationStartTime": "2020-06-05T05:04:30.904Z",
         "RecomputeStatusChangedOn": "2020-06-05T06:04:00.363Z",
         "FailureInfo": "Microsoft.Azure.WebJobs.FunctionFailedException: The activity function 'CreateUpdateForecastHierarchy' failed: \"An item with the same key has already been added. Key: b1d30f13-ce56-ea11-a812-000d3a382f93\". See the function execution logs for additional details. ---> System.ArgumentException: An item with the same key has already been added. Key: b1d30f13-ce56-ea11-a812-000d3a382f93\r\n   at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)\r\n   at Microsoft.Dynamics.Forecasting.RecomputeEngine.HierarchyManager.<>c__DisplayClass23_0.<GetForecastInstancesByHierarchyEntityId>b__0(ForecastInstance forecastInstance) in C:\\src\\cloud_IDEs\\ide5\\Azure\\RecomputeEngine\\HierarchyManager\\HierarchyManager.cs:line 727\r\n   at System.Collections.Generic.List`1.ForEach(Action`1 action)\r\n   at Microsoft.Dynamics.Forecasting.RecomputeEngine.HierarchyManager.GetForecastInstancesByHierarchyEntityId(ForecastConfiguration forecastConfiguration, Guid forecastRecurrenceId) in C:\\src\\cloud_IDEs\\ide5\\Azure\\RecomputeEngine\\HierarchyManager\\HierarchyManager.cs:line 727\r\n   at Microsoft.Dynamics.Forecasting.RecomputeEngine.HierarchyManager.CreateOrUpdateForecastDataWithLatestHierarchy(ForecastConfiguration forecastConfiguration, Guid forecastRecurrenceId, Dictionary`2 latestHierarchyEntityList) in C:\\src\\cloud_IDEs\\ide5\\Azure\\RecomputeEngine\\HierarchyManager\\HierarchyManager.cs:line 602\r\n   at Microsoft.Dynamics.Forecasting.RecomputeEngine.HierarchyManager.<>c__DisplayClass16_0.<CreateOrUpdateForecastHierarchy>b__0() in C:\\src\\cloud_IDEs\\ide5\\Azure\\RecomputeEngine\\HierarchyManager\\HierarchyManager.cs:line 283\r\n   at System.Threading.Tasks.Task.InnerInvoke()\r\n   at System.Threading.Tasks.Task.<>c.<.cctor>b__275_1(Object obj)\r\n   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)\r\n   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at Microsoft.Dynamics.Forecasting.RecomputeEngine.HierarchyManager.CreateOrUpdateForecastHierarchy(ForecastConfiguration forecastConfiguration, Guid forecastRecurrenceId, Dictionary`2 latestHierarchyEntityList) in C:\\src\\cloud_IDEs\\ide5\\Azure\\RecomputeEngine\\HierarchyManager\\HierarchyManager.cs:line 255\r\n   at Microsoft.Dynamics.Forecasting.RecomputeEngine.HierarchyManager.CreateOrUpdateForecastHierarchy(Guid orgId, Guid forecastConfigurationId, Guid forecastRecurrenceId, Dictionary`2 latestHierarchyEntityList) in C:\\src\\cloud_IDEs\\ide5\\Azure\\RecomputeEngine\\HierarchyManager\\HierarchyManager.cs:line 167\r\n   at Microsoft.Dynamics.Forecasting.AzureFunctions.CreateUpdateForecastHierarchy.Run(CreateUpdateForecastHierarchyInput input) in C:\\src\\cloud_IDEs\\ide5\\Azure\\AzureFunctions\\Recompute\\ActivityFunctions\\CreateUpdateForecastHierarchy.cs:line 43\r\n   at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\\projects\\azure-webjobs-sdk-rqm4t\\src\\Microsoft.Azure.WebJobs.Host\\Executors\\VoidTaskMethodInvoker.cs:line 20\r\n   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\\projects\\azure-webjobs-sdk-rqm4t\\src\\Microsoft.Azure.WebJobs.Host\\Executors\\FunctionInvoker.cs:line 52\r\n   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\\projects\\azure-webjobs-sdk-rqm4t\\src\\Microsoft.Azure.WebJobs.Host\\Executors\\FunctionExecutor.cs:line 585\r\n   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstanceEx instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\\projects\\azure-webjobs-sdk-rqm4t\\src\\Microsoft.Azure.WebJobs.Host\\Executors\\FunctionExecutor.cs:line 532\r\n   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstanceEx instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\\projects\\azure-webjobs-sdk-rqm4t\\src\\Microsoft.Azure.WebJobs.Host\\Executors\\FunctionExecutor.cs:line 468\r\n   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstanceEx instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\\projects\\azure-webjobs-sdk-rqm4t\\src\\Microsoft.Azure.WebJobs.Host\\Executors\\FunctionExecutor.cs:line 278\r\n   --- End of inner exception stack trace ---\r\n   at Microsoft.Azure.WebJobs.DurableOrchestrationContext.CallDurableTaskFunctionAsync[TResult](String functionName, FunctionType functionType, String instanceId, RetryOptions retryOptions, Object input) in E:\\functions\\azure-functions-durable-extension\\src\\WebJobs.Extensions.DurableTask\\DurableOrchestrationContext.cs:line 498\r\n   at Microsoft.Dynamics.Forecasting.AzureFunctions.OrchestratorFunctionBase.ExecuteActivityAsync(DurableOrchestrationContext context, String functionName, Object input, Dictionary`2 telemetryProps) in C:\\src\\cloud_IDEs\\ide5\\Azure\\AzureFunctions\\OrchestratorFunctionBase.cs:line 252\r\n   at Microsoft.Dynamics.Forecasting.AzureFunctions.RecomputeOrchestrator.ExecuteRecomputeOrchestration(DurableOrchestrationContext context, RecomputeOrchestratorInput recomputeInput, String correlationId, Dictionary`2 telemetryProps) in C:\\src\\cloud_IDEs\\ide5\\Azure\\AzureFunctions\\Recompute\\RecomputeOrchestrator.cs:line 169",
         "RecurrenceState": 0,
         "UpdatedAttribteList": null
      }
    ]
}

Valor de retorno

Lista de periodos de previsión.

GET_ForecastInstances

Devuelve la lista de instancias de previsión que son un registro de entidad de una sola fila.

Nota

Los períodos de previsión pueden tener muchas instancias de previsión. Mucho más de lo que le gustaría obtener en una sola solicitud. Los puntos finales de la API proporcionan de forma predeterminada una cantidad limitada de elementos por solicitud.
Nota: las consultas grandes pueden perjudicar el rendimiento, por lo que la cantidad de resultados por página tiene un límite de 4000 registros. Si desea recuperar más de 4000 registros, por ejemplo, para crear una lista del lado del cliente de todas las instancias de pronóstico disponibles, puede realizar varias solicitudes de API y combinar los resultados dentro de su aplicación.

Ejemplo

POST [Organization URI]/api/data/v9.1/msdyn_ForecastApi HTTP/1.1
Content-Type: application/json

{
    "WebApiName": "GET_ForecastInstances",
    "RequestJson": "{
    	\"ForecastPeriodId\":\"8b8cadd8-ede3-4b21-97cf-93efc0337089\",
    	\"ForecastConfigurationId\":\"04323a04-da7f-ea11-a811-000d3a37bb2c\", 
    	\"SortingAttribute\":\"HierarchyEntityRecord.RecordId\",
    	\"SortingOrder\":\"DSC\",
    	\"PageSize\":1,
    	\"PageNo\":1,
        \"GetParticipatingRecordsFetchXml\":true,
        \"ParticipatingRecordsViewId\":\"bf649add-6c30-ea11-a813-000d3a5475f7\"
    }"
}
Parámetro Type Descripción
WebApiName String Nombre de la API
RequestJson Objeto JSON Consiste en
ForecastPeriodId: Identificador único del periodo de previsión
ForecastConfigurationId: Identificador único de la configuración de previsión
SortingAttribute: el atributo basado en el que desea realizar la clasificación en la paginación
SortingOrder: ASC para orden ascendente DSC para orden descendente
PageSize: número de registros que desea recuperar en una sola página
PageNo: para qué registros de página desea buscar.
GetParticipatingRecordsFetchXml:Bandera que indica si es necesario obtener XML de los registros participantes en respuesta.
ParticipatingRecordsViewId:Esto es necesario cuando GetParticipatingRecordsFetchXml es verdadero. Este es un ID de consulta (vista) guardada mediante el cual se genera el XML de búsqueda de registros participantes.

A continuación se da un JSON de ejemplo para el objeto RequestJson.

{
    "WebApiName": "GET_ForecastInstances",
    "RequestJson": "{
    	\"ForecastPeriodId\":\"{{frid}}\",
    	\"ForecastConfigurationId\":\"{{fcid}}\", 
    	\"SortingAttribute\":\"HierarchyEntityRecord.RecordId\",
    	\"SortingOrder\":\"DSC\",
    	\"PageSize\":1,
    	\"PageNo\":1,
        \"GetParticipatingRecordsFetchXml\":false  
    }"
} 

Response

{
   "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.msdyn_ForecastApiResponse",
   "response": {
      "ForecastInstances": [
          "ForecastInstanceId": "95d2305a-a0be-4b34-84ac-b10e67b0771a",
          "ForecastConfigurationId": "04323a04-da7f-ea11-a811-000d3a37bb2c",
            ...],
      "HasMorePages": false,
      "ParticipatingRecordsFetchXml": "",
      "Code": 200,
      "Message": "OK"
   }
}

Valor de retorno

Lista de instancias de pronóstico.

Update_SimpleColumnByEntityId

Actualiza los valores específicos de columna usando los valores de los parámetros pasados.

Nota

Una gran cantidad de solicitudes de actualización en una sola llamada a la API puede afectar el rendimiento, por lo que las actualizaciones por solicitud tienen un límite de 50.

Ejemplo

POST [Organization URI]/api/data/v9.1/msdyn_ForecastApi HTTP/1.1
content-type: application/json

{
    "WebApiName": "Update_ SimpleColumnByEntityId",
    "RequestJson": "
    {
      \"ForecastConfigurationId\":\"0461fb6b-8d85-ea11-a811-000d3a37bb2c\",
      \"ForecastRecurranceId\":\"f8b1122c-b913-4e88-9727-368b6134be3e\",
      \"SimpleColumnUpdateRequests\":[{
        \" HierarchyEntityRecordId\":\"d8680b00-fd31-46c2-8136-7c4df19cf2a8\",
        \"ForecastConfigurationColumnId\":\"65ec7bd1-2de6-49fa-b259-ba74bc721c78\",
        \"ForecastConfigurationColumnValue\":0.0,
        \"IsRolledUpColumnUpdate\":false},{
        \" HierarchyEntityRecordId\":\"11141300-131b-493a-9857-22bd8689b775\",
        \"ForecastConfigurationColumnId\":\"65ec7bd1-2de6-49fa-b259-ba74bc721c78\",
        \"ForecastConfigurationColumnValue\":0.0,
        \"IsRolledUpColumnUpdate\":false}]}"
}
Parámetro Name Descripción
WebApiName String Nombre de la API
ForecastConfigurationId GUID Identificador de configuración de previsión
ForecastRecurranceId GUID Id. de recurrencia de previsión o Id. de período de previsión Una lista de SimpleColumnUpdateRequests es una matriz
HierarchyEntityRecordId GUID EntityRecordId
ForecastConfigurationColumnId GUID Identificador de configuración de columna de previsión
ForecastConfigurationColumnValue Tipo de datos de ForecastConfigurationColumn Valor que debe actualizarse para
IsRolledUpColumnUpdate (opcional) Booleana True si el valor se actualiza para la columna acumulada, False si el valor se actualiza para la columna agregada

Response

{
   "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.msdyn_ForecastApiResponse",
   "response": [
      {
         "Message": "Update Successful",
         "StatusCode": 0,
         "HierarchyEntityRecordId": "d8680b00-fd31-46c2-8136-7c4df19cf2a8",
         "ForecastConfigurationColumnId": "65ec7bd1-2de6-49fa-b259-ba74bc721c78"
      },
      {
         "Message": "Update Successful",
         "StatusCode": 0,
         "HierarchyEntityRecordId": "11141300-131b-493a-9857-22bd8689b775",
         "ForecastConfigurationColumnId": "65ec7bd1-2de6-49fa-b259-ba74bc721c78"
      }
   ]
}

Valor de retorno

Una lista de registros UpdateSimpleColumnByEntityResponse que consta de HierarchyEntityRecordId, ForecastConfigurationColumnId. Message, StatusCode.

Update_SimpleColumnByFIId

Actualiza el valor de columna específico estableciendo los valores de los parámetros pasados.

Nota

Una gran cantidad de solicitudes de actualización en una sola llamada a la API puede afectar el rendimiento, por lo que las actualizaciones por solicitud tienen un límite de 50.

Ejemplo

POST [Organization URI]/api/data/v9.1/msdyn_ForecastApi HTTP/1.1
content-type: application/json

{
    "WebApiName": "Update_SimpleColumnByFIId",
    "RequestJson": "
    {
      \"ForecastConfigurationId\":\"0461fb6b-8d85-ea11-a811-000d3a37bb2c\",
      \"ForecastRecurranceId\":\"f8b1122c-b913-4e88-9727-368b6134be3e\",
      \"SimpleColumnUpdateRequests\":[
      {
        \"ForecastInstanceId\":\"d8680b00-fd31-46c2-8136-7c4df19cf2a8\",
        \"ForecastConfigurationColumnId\":\"65ec7bd1-2de6-49fa-b259-ba74bc721c78\",
        \"ForecastConfigurationColumnValue\":0.0,
        \"IsRolledUpColumnUpdate\":false},
        {
          \"ForecastInstanceId\":\"11141300-131b-493a-9857-22bd8689b775\",
          \"ForecastConfigurationColumnId\":\"65ec7bd1-2de6-49fa-b259-ba74bc721c78\",
          \"ForecastConfigurationColumnValue\":0.0,
          \"IsRolledUpColumnUpdate\":false}]}"
}
Parámetro Type Descripción
WebApiName String Nombre de la API
ForecastConfigurationId GUID Identificador de configuración de previsión
ForecastRecurranceId GUID Id. de recurrencia de previsión o Id. de período de previsión
SimpleColumnUpdateRequests Matriz Incluye lo siguiente
ForecastInstanceId GUID Identificador de instancia de previsión
ForecastConfigurationColumnId GUID Identificador de configuración de columna de previsión
ForecastConfigurationColumnValue Tipo de datos de ForecastConfigurationColumn Valor que debe actualizarse para
IsRolledUpColumnUpdate (opcional) Booleana True si el valor se actualiza para la columna acumulada, false si el valor se actualiza para la columna agregada

Response

{
   "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.msdyn_ForecastApiResponse",
   "response": [
      {
         "Message": "Update Successful",
         "StatusCode": 0,
         "ForecastInstanceId": "d8680b00-fd31-46c2-8136-7c4df19cf2a8",
         "ForecastConfigurationColumnId": "65ec7bd1-2de6-49fa-b259-ba74bc721c78"
      },
      {
         "Message": "Update Successful",
         "StatusCode": 0,
         "ForecastInstanceId": "11141300-131b-493a-9857-22bd8689b775",
         "ForecastConfigurationColumnId": "65ec7bd1-2de6-49fa-b259-ba74bc721c78"
      }
   ]
}

Valor de retorno

Una lista de registros UpdateSimpleColumnByEntityResponse que consta de ForecastInstanceId, ForecastConfigurationColumnId. Message, StatusCode.

GET_ParticipatingRecordsFetchxml

Devuelve el XML de búsqueda para recuperar los registros subyacentes en un pronóstico.

Ejemplo


POST /api/GET_ParticipatingRecordsFetchxml HTTP/1.1
Host: your-api-endpoint.com
Content-Type: application/json

{
    "ForecastConfigurationId": "a01f86da-1b45-ef11-bfe2-6045bd066f80",
    "ForecastPeriodId": "a51f86da-1b45-ef11-bfe2-6045bd066f80",
    "HierarchyRecordId": "697adf08-df43-ef11-bfe2-6045bd07ea28",
    "ForecastInstanceId": "69169046-520b-4040-abfa-2981a2f0aee3",
    "ForecastConfigurationColumnId": "f06490f5-6c27-453c-b06c-0194819202a4",
    "RecordViewId": "bf649add-6c30-ea11-a813-000d3a5475f7",
    "IsRolledUpNodeRequested": "true"
}

Parámetro Type Description
ForecastConfigurationId GUID ID de configuración de pronóstico
Id. del período de pronóstico GUID Identificación del período de pronóstico
Id. de registro de jerarquía GUID El ID del registro en Dataverse para el cual se debe recuperar el registro subyacente. Por ejemplo, el ID de usuario del sistema en el caso de un pronóstico de organigrama, o el ID de territorio en el caso de un pronóstico de territorio.
ForecastInstanceId GUID Identificación de instancia de pronóstico
ForecastConfigurationColumnId GUID ID de la columna de pronóstico que necesita recuperarse. Por ejemplo, cuando desea obtener solo los registros participantes para la columna Mejor caso de su pronóstico, ingrese el ID de la columna Mejor caso . Puede ingresar solo un ID de columna para cada solicitud. Para recuperar más columnas, debe enviar una solicitud para cada columna. Omita este parámetro si desea obtener XML para todas las columnas del pronóstico. Puede obtener el ID de la columna desde la definición de Configuración de pronóstico .
Identificador de vista de registro GUID ID de vista de registro de los registros subyacentes. Obtenga más información sobre cómo obtener el ID de vista en savedquery EntityType
Se ha solicitado el nodo enrollado Booleana Especifica si se deben devolver los valores del nodo acumulado (grupo) o del nodo individual. Si se establece como verdadero, se devuelven todos los registros bajo el nodo de grupo. Si se establece como falso, solo se devuelve el registro del individuo.

Response

{

    "@odata.context": "https://orgname.dynamics.com/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.msdyn_ForecastApiResponse",

    "response": "<fetch version=\"1.0\" mapping=\"logical\" distinct=\"true\"><entity name=\"opportunity\"><filter type=\"and\"><condition attribute=\"estimatedclosedate\" operator=\"between\"><value>2024-07-01T00:00:00.0000000Z</value><value>2024-09-30T23:59:59.0000000Z</value></condition><condition attribute=\"msdyn_forecastcategory\" operator=\"eq\" value=\"100000001\" /></filter><link-entity name=\"systemuser\" from=\"systemuserid\" to=\"ownerid\" link-type=\"inner\"><attribute name=\"systemuserid\" /><filter type=\"and\"><condition attribute=\"systemuserid\" operator=\"eq-or-under\" value=\"697adf08-df43-ef11-bfe2-6045bd07ea28\" /></filter></link-entity><attribute name=\"name\" /><attribute name=\"statuscode\" /><attribute name=\"statecode\" /><attribute name=\"customerid\" /><attribute name=\"ownerid\" /><attribute name=\"msdyn_forecastcategory\" /><attribute name=\"estimatedvalue\" /><attribute name=\"estimatedclosedate\" /><attribute name=\"actualvalue\" /><attribute name=\"actualclosedate\" /><attribute name=\"opportunityid\" /><order attribute=\"name\" descending=\"false\" /></entity></fetch>"

}

Valor de retorno

Una consulta de búsqueda XML que devuelve los registros subyacentes en un pronóstico.

Acciones personalizadas para previsión