Importación personalizada de datos históricos mediante el uso de API
Descripción general
Otra alternativa para no usar Eleveo Data Importer es importar los datos históricos mediante el uso de la API proporcionada. En esta página se describe la API, sus puntos de conexión y los casos de uso.
La API solicita una autenticación, por este motivo, la carga de los datos históricos a WFM consta de dos pasos:
Solicitar y obtener un token de autenticación,
cargar el token y los datos a la API.
Requisitos previos
Como requisito previo, es necesario agregar al cliente proveedor a User Management. Siga el procedimiento que se describe en la página Cómo gestionar clientes de proveedor y escribe el ID del cliente y los valores secretos (se usarán para solicitar el token). Luego, continúe en esta página.
Puntos de conexión de la API
Los siguientes puntos de conexión de la API están disponibles:
Obtenga token de acceso – http://<host>:<puerto>/auth/dominios/<inquilino>/protocolo/conexión-openid/token donde:
<host> es una dirección o nombre del servidor donde se está ejecutando WFM
<puerto> es un puerto abierto en el servidor donde se está ejecutando WFM
<inquilino> es el nombre del dominio (si no está seguro de cuál es el nombre del inquilino, compruebe el URL de las aplicaciones de Eleveo: <tenant>.myeleveo.com)
Envíe los datos históricos a WFM – http://<inquilino>.<host>:<puerto>/_rest/forecasting/historical-data/historical-data-push donde:
<host> es una dirección o nombre del servidor donde se está ejecutando WFM
<puerto> es un puerto abierto en el servidor donde se está ejecutando WFM
<inquilino> es el nombre del dominio (si no está seguro de cuál es el nombre de inquilino, compruebe el URL de las aplicaciones d eEleveo: <inquilino>.myeleveo.com)
Cómo solicitar y obtener el token
La siguiente table muestra un ejemplo de solicitud de HTTP, así como los atributos de encabezado y el cuerpo relevantes que se necesitan para obtener un token de acceso. El cuerpo JSON proporcionado contiene ejemplos de parámetros configurados, reemplácelos por los ajustes correspondientes. Use una aplicación de terceros o el comando cURL para enviar una solicitud.
Acción | HTTP | Punto de conexión | Encabezado | Cuerpo |
Obtener token de acceso | POST | http://<host>:<puerto>/auth | Content-Type: application/x-www-form-urlencoded | { client_id: <ID de cliente del proveedor del cliente en User Management> client_secret: <Secreto del proveedor del cliente en User Management>} |
Respuesta de muestra:
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJXUzRxalJCZmUxRk4xa3UxakszcWpNS1pQQUJHNzdIQzBwSXlISXgxc0tRIn0.eyJqdGkiOiIyMDMzMWRjMi00NmZlLTQxMjQtYWZmZS0yYzllNWFmMGFjYzQiLCJleHAiOjE1OTAxMzUyNjUsIm5iZiI6MCwiaWF0IjoxNTkwMTM0OTY1LCJpc3MiOiJodHRwOi8vc3NvLmRldjA2My5kZXYuem9vbWludC5jb206MzA3MTcvYXV0aC9yZWFsbXMvZGV2MSIsImF1ZCI6IndmbS1hZG1pbmlzdHJhdGlvbi1hcHAiLCJzdWIiOiI0OTRmZWNkMS00ZTZmLTQwZTAtYTQxOC00OTNlZTQzYmUzN2UiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJ3Zm0tZm9yZWNhc3RpbmctYXBwIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiNjQ2MjRlZTctNjlmZS00YTEyLTljY2MtZjc1Y2ZiYzExY2I5IiwiYWNyIjoiMSIsInJlc291cmNlX2FjY2VzcyI6eyJ3Zm0tYWRtaW5pc3RyYXRpb24tYXBwIjp7InJvbGVzIjpbIldGTV9WSUVXX1FVRVVFIiwiV0ZNX0NSRUFURV9RVUVVRSJdfSwid2ZtLWZvcmVjYXN0aW5nLWFwcCI6eyJyb2xlcyI6WyJXRk1fREVMRVRFX0ZPUkVDQVNUIiwiV0ZNX0hJU1RPUklDQUxfREFUQV9QVVNIIiwiV0ZNX0NSRUFURV9GT1JFQ0FTVCIsIldGTV9WSUVXX0ZPUkVDQVNUIiwiV0ZNX0VESVRfRk9SRUNBU1QiLCJXRk1fRklMRV9VUExPQUQiXX19LCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJjbGllbnRJZCI6IndmbS1mb3JlY2FzdGluZy1hcHAiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImNsaWVudEhvc3QiOiIxMC4zMi4wLjEiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtd2ZtLWZvcmVjYXN0aW5nLWFwcCIsImNsaWVudEFkZHJlc3MiOiIxMC4zMi4wLjEiLCJlbWFpbCI6InNlcnZpY2UtYWNjb3VudC13Zm0tZm9yZWNhc3RpbmctYXBwQHBsYWNlaG9sZGVyLm9yZyJ9.bmcfw_Afwfek_SswhdKPAXImLigcVC3vfPjvR3TOMW1DwYSLiFtodEyzo200V-EwLVKQR2wXjCNfAFMCRYiaR3b4B3peT6cra9dVYXaU8pwfqpXmJb1IdxAxHvlu8fVjBJfiOyIZ6N2mFmTXqUqucioAFv2wD6LkrcpR1QXQcBzwKtb87xemSWL1NivAHUjz-wgg_-x5qAGfJofqQUI7F00Img2VmhkJfac1YWnBAcPaNEm0RGeVlANB1gL77C1opHrSBIUDzk56JaiR2WDjHPheSxo4CGKfTo0rp9dq3hK5jYU62KY8sAjADMy3j6dfE3zSfgehzaXVNyug2AE-7Q",
"expires_in": 300,
"refresh_expires_in": 1800,
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJjYzEzZmFhOS0yZmY4LTQyZjYtODQxYS0yMzY5ODIyMDQ2ZWMifQ.eyJqdGkiOiJmZGJjNTlkYi0yYzFiLTRmOTQtOTZjNC00ZDc3NjE0YzdhZmUiLCJleHAiOjE1OTAxMzY3NjUsIm5iZiI6MCwiaWF0IjoxNTkwMTM0OTY1LCJpc3MiOiJodHRwOi8vc3NvLmRldjA2My5kZXYuem9vbWludC5jb206MzA3MTcvYXV0aC9yZWFsbXMvZGV2MSIsImF1ZCI6Imh0dHA6Ly9zc28uZGV2MDYzLmRldi56b29taW50LmNvbTozMDcxNy9hdXRoL3JlYWxtcy9kZXYxIiwic3ViIjoiNDk0ZmVjZDEtNGU2Zi00MGUwLWE0MTgtNDkzZWU0M2JlMzdlIiwidHlwIjoiUmVmcmVzaCIsImF6cCI6IndmbS1mb3JlY2FzdGluZy1hcHAiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiI2NDYyNGVlNy02OWZlLTRhMTItOWNjYy1mNzVjZmJjMTFjYjkiLCJyZXNvdXJjZV9hY2Nlc3MiOnsid2ZtLWFkbWluaXN0cmF0aW9uLWFwcCI6eyJyb2xlcyI6WyJXRk1fVklFV19RVUVVRSIsIldGTV9DUkVBVEVfUVVFVUUiXX0sIndmbS1mb3JlY2FzdGluZy1hcHAiOnsicm9sZXMiOlsiV0ZNX0RFTEVURV9GT1JFQ0FTVCIsIldGTV9ISVNUT1JJQ0FMX0RBVEFfUFVTSCIsIldGTV9DUkVBVEVfRk9SRUNBU1QiLCJXRk1fVklFV19GT1JFQ0FTVCIsIldGTV9FRElUX0ZPUkVDQVNUIiwiV0ZNX0ZJTEVfVVBMT0FEIl19fSwic2NvcGUiOiJlbWFpbCBwcm9maWxlIn0.03-IhDoWsXfBCkmj1l6rv7U9XNBu_vw2zpirrEPnxPc",
"token_type": "bearer",
"not-before-policy": 0,
"session_state": "64624ee7-69fe-4a12-9ccc-f75cfbc11cb9",
"scope": "email profile"
Cómo cargar datos a WFM
Hay dos formas de cargar los datos:
Como una única solicitud
Como una solicitud fragmentada
Solicitud única
Cuando se envía una pequeña cantidad de datos a WFM (por ejemplo, una carga incremental), los datos se pueden enviar en una solicitud. En dicho caso, establezca los parámetros de consulta:
pushToken – identificador único de operación (UUID), se puede generar con las directrices que se describen aquí
source – nombre del ACD desde el que se cargan los datos
lastChunk – una marca que identifica si el fragmento es el último de la secuencia; en tal caso, debe establecerse como 'true'
Se considera que la importación se completó (y se muestra en la lista del historial de importación de la pantalla Importación de datos) una vez que se envía la solicitud con el parámetro lastChunk=true.
Solicitud fragmentada
Cuando se envía una gran cantidad de datos a WFM (principalmente durante la carga inicial o como carga completa), es mejor dividir una acción de carga grande en solicitudes o fragmentos más pequeños. Divida los datos en varias partes para enviarlos en solicitudes independientes. Configure los parámetros de las solicitudes de la siguiente manera:
Todos los fragmentos relacionados con la misma operación de carga comparten los mismos parámetros pushToken y source (los fragmentos de una solicitud de carga se identifican en función del parámetro de consulta pushToken).
El parámetro lastChunk equivale a 'true' solo en el último fragmento de la secuencia. En los demás fragmentos, se establece en 'false'.
Se considera que la importación se completó (y se muestra en la lista del historial de importación de la pantalla Importación de datos) una vez que se envió la solicitud con el parámetro lastChunk=true.
Definición de la API
Use una aplicación de terceros o el comando cURL para enviar una solicitud. Incluya el token obtenido en el paso anterior.
Acción | HTTP Método | Punto de conexión | Encabezado | Parámetros de consulta | Cuerpo |
---|---|---|---|---|---|
Envío de datos históricos | POST | http://<inquilino>. <host>: <puerto> /_rest /forecasting /historical-data /historical-data-push | Tipo de contenido: texto /csv ID de inquilino: <nombre del dominio> Autorización: Portador <token recibido en el paso anterior> | pushToken: identificador único de operación (UUID) para cada carga sourceId: nombre del ACD desde el que se cargan los datos lastChunk: marca que identifica si el fragmento es el último de la secuencia historicalDataInterval: (opcional) la longitud del intervalo entre valores en el archivo CSV en segundos; estos son los valores posibles: 900, 1800, 3600, 7200, etc. (múltiplo de 15 minutos); si no se especifica nada, se espera el valor predeterminado de 900 segundos (15 minutos) | El cuerpo de texto es un flujo de entrada con un formato de archivo específico, que se describe en la página Formato de archivo, por ejemplo: Tenga en cuenta que los datos históricos deberían abordar el día completo, desde las 00:00 hasta las 24:00 (en intervalos de 15 minutos), ¡incluso si los valores de algunos intervalos es igual a cero! Si existen brechas, los datos se cargarán pero no se podrán crear previsiones basadas en ellos. |