Scans aanroepen van extern

Scans aanroepen van extern

Hierbij een toelichting over hoe scans kunnen worden opgevraagd vanaf de server van de Spend Cloud. De scans kunnen worden opgevraagd door een het samenstellen van een link (URL). Deze link heeft een beperkte geldigheidsduur, om de kans op ongewenste toegang tot de scans te minimaliseren.

De URL moet worden opgebouwd in het volgende formaat:

https://spend.cloud/api/external-invoice-access?customer=klantnaam&file=09207160021_org.pdf&time=1257953055&checksum=4b036398bf0014aa754b702ffd2bff9c7451af29

'customer' is altijd een vaste waarde per klant, over het algemeen de naam van de klant in kleine letters. Deze waarde wordt verstrekt door Visma | ProActive.

'file' is het bestand dat jullie willen oproepen. Dit is het originele boekstuknummer (zonder punten in het nummer) bij ons, met _org.pdf achter het boekstuknummer.

'time' is de of de unix timestamp, of de tijd in het formaat 'YYYYMMDDHHMMSS' van het ogenblik datde link gegenereerd wordt. Deze tijd, in het gekozen formaat, dient ook gebruikt te worden om dechecksum te maken.

'checksum' is de sha1 hash van de string die bestaat uit 'file', 'time' en een 'wachtwoordhash' (in die volgorde).

De wachtwoordhash (wordt verstrekt door Visma | ProActive) is dus het gedeelte wat niet ongecodeerd wordt meegezonden, wat alleen wij aan beide zijdes weten. Deze links hebben een geldigheidsduur van 3minuten, dit wordt op de server bepaald met de time die wordt meegezonden. De server wordt ieder uur gelijk gezet een tijdserver, het is dus zaak de server waar de links gegenereerd worden ook (redelijk) gelijk te laten lopen.

Idea
Krijg je een foutmelding te zien? Er zijn diverse online tools beschikbaar om zelf een zogenoemde sha1 hash te genereren, bijvoorbeeld via sha1-online. Met deze tools kun je gemakkelijk testen of je de juiste gegevens gebruikt om een scan aan te roepen. Genereer een hash door de gegevens die benodigd zijn voor de checksum, bijvoorbeeld: 12345678_ord.pdf20251231091500wachtwoordhash . Genereer de hash, vul bovenstaande url in je browser in met de juiste gegevens en plak de gegenereerde checksum achter checksum=. Houd er rekening mee dat de link maximaal drie minuten geldig is vanaf het tijdstip dat in de hash is opgenomen.