Invoering
Deze handleiding laat je zien hoe je de Workiva API kunt gebruiken om een bestand in Wdatate importeren.
Als u het importeren van een datasetbestand in een Wdata-tabelwilt automatiseren, maar geen chains met de Workiva-connectorwilt gebruiken, kunt u in plaats daarvan de Workiva API rechtstreeks vanuit chains gebruiken met de HTTP-connector of vanuit externe software die kan communiceren met een REST API die is beveiligd met OAuth 2.0.
Eerste installatie
Eerst moet je een API-grant aanmaken, waarmee een client-ID en een clientgeheim worden gegenereerd. Dit kan worden gedaan door elk Workiva-gebruikersaccount met ten minste de machtigingen "Workspace Owner" of "Org Security Administrator" en door de instructies te volgen die hierworden gegeven.
Authenticatie
Zodra de API-toegang correct is ingesteld, is de eerste stap in de communicatie met de API het verkrijgen van authenticatie. Hierbij wordt gebruikgemaakt van een industriestandaard oauth 2.0 bearer token exchange en is een POST-aanroep vereist, zoals gedetailleerd beschreven in de instructies hier.
Importeren
Er zijn twee noodzakelijke stappen om gegevens in een Wdata-tabel te laden met behulp van de Workiva API:
- Upload het bestand naar de door u gekozen Wdata-tabel (https://developers.workiva.com/wdata-v1/wdata-uploadfile/). Hiermee wordt uw bestand als dataset aan de tabel toegevoegd met de status "staged". De nieuwe gegevens zullen daarom op dit moment niet in query's of weergaven van de tabel verschijnen.
- Importeer het bestand (https://developers.workiva.com/wdata-v1/wdata-importfile/). De "Id" die u in het antwoord van de upload ontvangt, kan vervolgens worden gebruikt in de eigenschap "fileId" om het bestand te importeren en, indien succesvol, de gegevens aan de tabel toe te voegen en beschikbaar te maken in query's en weergaven.
Met voorbeelden
Sleutel
| Tekst | Vervangen door |
{baseURL} |
Uw relevante locatiecode zoals hier gedefinieerd |
{tableId} |
Uw Wdata-tabel-ID als gevonden in de URL (zie hier) |
{bestands-ID} |
De ID van het bestand dat u importeert tijdens het uploaden. |
In de onderstaande voorbeelden worden URL's voor het EU-platform weergegeven; voor de VS of APAC moet "eu" respectievelijk worden vervangen door "app" of "apac".
-
Uploaden
Upload het bestand naar de door u gekozen Wdata-tabel: https://developers.workiva.com/wdata-v1/wdata-uploadfile/
Voorbeeld:
POST: {baseURL}/api/v1/file Headers: Content-Type: multipart/form-data; boundary="boundary" Body: --boundary Content-Disposition: form-data; name="delimiter" puntkomma --boundary Content-Disposition: form-data; name="tableId" {tableId} --boundary Content-Disposition: form-data; name="file"; filename="filename.csv" Content-Type: text/plain fruit;quantity Appel;133 Abrikoos;175 Avocado;182 Banaan;187 Bosbes;160 Braam;178 Zwarte bes;102 Blauwe bes;156 Aalbes;194 Kers;182 Cherimoya;169 Clementine;165 Dadel;112 Pruim;164 Durian;157 Aubergine;189 --boundary-- -
Importeren
Gebruik vervolgens de "Id" die je in het antwoord ontvangt als de "fileId" om het bestand te importeren via deze link: https://developers.workiva.com/wdata-v1/wdata-importfile/
Voorbeeld:
POST: {baseURL}/api/v1/table/{tableId}/import Headers: Content-Type: application/json Body: { "delimiter;", "fileId{fileId}" }Opmerking: Dit verzoek start alleen de bestandsimport en het antwoord wordt verzonden zonder te wachten op een succes of mislukking.
Controleer de status
Het is niet verplicht, maar in de meeste gevallen is het raadzaam om te controleren en te registreren/rapporteren of de bestandsimport al dan niet succesvol was. Dit kan met de volgende twee GET-verzoeken.
-
Om te bevestigen dat het importbestand-eindpunt het bestand succesvol heeft geïmporteerd, moet u het eindpunt Retrieve a single file gebruiken (polling) voor hetzelfde
{fileId}van de import en vervolgens het antwoord controleren op uw bestand.Voorbeeld:
GET: {baseURL}/api/v1/file/{fileId} Headers: Inhoudstype: toepassing/json - Als de status "IMPORTEREN" is, is de import nog bezig. U moet het proces daarom even pauzeren voordat u de vorige aanvraag (poll) herhaalt.
- De status "GEÏMPORTEERD" geeft aan dat het bestand succesvol is geïmporteerd.
- Als de status van uw bestand nog steeds "STAGED" is en "numErrors" groter is dan nul, dan is het importeren van het bestand mislukt en kunt u het eindpunt Retrieve errors gebruiken om de opgetreden foutmeldingen op te halen.
Probleemoplossing
Als u geen verzoeken naar de API kunt verzenden (foutmelding 401 Unauthorized)
- Controleer of je het juiste URL-voorvoegsel hebt gebruikt voor de locatie van je Workiva-werkruimte.
- Controleer of u de juiste Client ID en Secret in uw verzoek gebruikt, zonder spaties ervoor of erna.
Authenticatie werkt, maar volgende verzoeken mislukken (404- of 500-foutmeldingen).
- Controleer of de gebruiker die is opgegeven in de API-machtiging die u hebt aangemaakt, toegang heeft tot de opgegeven Wdata-tabel-ID.
- Controleer of de Wdata-tabel zich in dezelfde werkruimte bevindt als de API-toekenning.
- Controleer of u de juiste bestands-ID's gebruikt, zonder spaties ervoor of erna.
- Controleer of uw headers, met name het "Content-Type", overeenkomen met de documentatie.
Mijn bestand wordt succesvol geüpload, maar er treden fouten op bij het importeren.
- Controleer of u het juiste scheidingsteken hebt opgegeven.
- Zorg ervoor dat de gegevens in uw bestand een plat bestandsformaat hebben, waarbij de kopteksten in rij 1 van kolom A staan en de gegevens in rij 2 van kolom A.
- Zorg ervoor dat het aantal koptekstkolommen overeenkomt met het aantal gegevenskolommen.
- Controleer of de gegevenstypen overeenkomen met de typen die zijn opgegeven in de configuratie van de Wdata-tabel.
- Foutmeldingen ophalen met betrekking tot de bestandsimport voor verdere probleemoplossing