Introducción
Esta guía le mostrará cómo utilizar la API Workiva para importar un archivo en Wdata.
Si desea automatizar la importación de un archivo de conjunto de datos en una tabla Wdata , pero no desea utilizar cadenas con el conector Workiva , puede utilizar en su lugar la API Workiva directamente desde cadenas con el conector HTTP o desde cualquier software externo capaz de interactuar con una API REST asegurada con OAuth 2.0.
Configuración inicial
En primer lugar, debe crear una concesión de API que generará un ID de cliente y un secreto. Esto puede hacerlo cualquier cuenta de usuario de Workiva con al menos permisos de "Propietario del espacio de trabajo" o "Administrador de seguridad de la organización" y siguiendo las instrucciones de proporcionadas aquí.
Autenticación
Una vez que haya configurado correctamente la concesión de la API, el primer paso en la comunicación con la API es obtener la autenticación. Esto utiliza un intercambio de token de portador oauth 2.0 estándar de la industria y requiere una llamada POST como se detalla en las instrucciones de aquí.
Importar
Hay dos pasos necesarios para cargar datos en una tabla Wdata utilizando la API de Workiva:
- Cargue el archivo en la tabla Wdata de su elección (https://developers.workiva.com/wdata-v1/wdata-uploadfile/). Esto añadirá su archivo como un conjunto de datos en la tabla con el estado "staged". Por lo tanto, los nuevos datos no aparecerán en ninguna consulta o vista de la tabla en este momento.
- Importe el archivo (https://developers.workiva.com/wdata-v1/wdata-importfile/). El "Id" que reciba en la respuesta de la carga se puede utilizar en la propiedad "fileId" para importar el archivo y, si se realiza correctamente, añadir los datos a la tabla y hacer que estén disponibles en las consultas y la vista.
Con ejemplos
Clave
| Texto | Reemplazar por |
{URL base} |
Su código de ubicación pertinente, tal y como se define aquí |
{tableId} |
Su identificador de tabla Wdata como que se encuentra en la URL (ver aquí) |
{fileId} |
El id del archivo que importa en el paso de carga |
En los ejemplos siguientes, las URL se muestran para la plataforma de la UE; para EE.UU. o APAC, el "eu" debe cambiar a "app" o "apac" respectivamente.
-
Subir
Cargue el archivo en la tabla Wdata de su elección: https://developers.workiva.com/wdata-v1/wdata-uploadfile/
Ejemplo:
POST: {baseURL}/api/v1/file Cabeceras: Content-Type: multipart/form-data; boundary="boundary" Body: --boundary Content-Disposition: form-data; name="delimiter" punto y coma --boundary Content-Disposition: form-data; name="tableId" {tableId} --boundary Content-Disposition: form-data; name="file"; filename="filename.csv" Content-Type: text/plain fruta;cantidad Manzana;133 Albaricoque;175 Aguacate;182 Plátano;187 Arándano;160 Zarzamora;178 Grosella;102 Arándano;156 Grosella;194 Cereza;182 Chirimoya;169 Clementina;165 Dátil;112 Ciruela damascena;164 Durián;157 Berenjena;189 --boundary-- -
Importar
A continuación, utilice el "Id" que recibe en la respuesta como el "fileId" para importar el archivo en este: https://developers.workiva.com/wdata-v1/wdata-importfile/
Ejemplo:
POST: {baseURL}/api/v1/table/{tableId}/import Cabeceras: Content-Type: application/json Body: { "delimiter":";", "fileId":"{fileId}" }Nota: Esta petición sólo inicia la importación del archivo y la respuesta se envía sin esperar a que tenga éxito o falle.
Comprobar estado
No es necesario, pero será una buena práctica en la mayoría de los casos de uso para confirmar y registrar/informar si la importación de archivos se ha realizado correctamente o no. Esto puede hacerse con las dos peticiones GET siguientes.
-
Para confirmar que el punto final de importación de archivos ha importado correctamente el archivo, debe utilizar (sondear) el punto final Recuperar un único archivo para el mismo
{fileId}de la importación y, a continuación, comprobar la respuesta de su archivo.Ejemplo:
GET: {baseURL}/api/v1/file/{fileId} Cabeceras: Content-Type: application/json - Si el estado es "IMPORTING", la importación aún está en curso, por lo que deberá pausar el proceso durante un tiempo antes de repetir la solicitud anterior (sondeo).
- Un estado "IMPORTADO" indica que el archivo se ha importado correctamente.
- Si el estado de su archivo sigue siendo "STAGED" y el "numErrors" es mayor que cero, entonces el archivo no se ha podido importar y puede utilizar el punto final Retrieve errors para recuperar los mensajes de error que se produjeron.
Solución de problemas
Si no puede realizar ninguna solicitud a la API (error 401 No autorizado)
- Compruebe que ha utilizado el prefijo de URL correcto para la ubicación de su espacio de trabajo Workiva.
- Compruebe que está utilizando el ID de cliente y el secreto correctos en su solicitud, sin espacios antes ni después.
La autenticación funciona pero las solicitudes posteriores no (errores 404 o 500)
- Compruebe que el usuario especificado en la concesión de API que ha creado tiene acceso al ID de tabla Wdata especificado.
- Compruebe que la tabla Wdata se encuentra en el mismo espacio de trabajo que la concesión de la API.
- Compruebe que utiliza los ID de archivo correctos, sin espacios antes ni después.
- Compruebe que sus cabeceras, en particular el "Content-Type", coinciden con la documentación.
Mi archivo se carga correctamente pero da error al importarlo
- Compruebe que ha especificado el delimitador correcto.
- Asegúrese de que los datos de su archivo están en un formato de archivo plano con las cabeceras en la fila 1 de la columna A y los datos en la fila 2 de la columna A.
- Asegúrese de que el número de columnas de encabezado coincide con el número de columnas de datos.
- Compruebe que los tipos de datos coinciden con los especificados en la configuración de la tabla Wdata.
- Recuperar los errores relacionados con la importación de archivos para la posterior resolución de problemas