Aller au contenu principal

Téléversement via API

Description.

Ce guide vous explique comment envoyer votre fichier de scan en utilisant les API.

Pour rappel :

  • informations sur le fichier : voir guide
  • informations sur les informations de connexion : voir guide

Exemple d'utilisation.

Dans ces exemples, nous utiliserons la commande curl disponible nativement sur Mac et Linux.

Connexion.

Dans un premier temps, il faudra généré un token pour utiliser l'API :

curl -X 'GET' \
'https://ftp.hipli.pro/api/v2/user/token' \
-H 'accept: application/json' \
-H 'authorization: basic bG9naW46cGFzc3dvcmQ='

Il faut encoder en base64 le couple username:password et le passer dans le header authorization de la requête.

Exemple :

  • username = "login"
  • password = "password"

Cela donne : login:password, puis base64("login:password") = "bG9naW46cGFzc3dvcmQ="

Si vous voulez encoder ou comprendre comment fonctionne la base64 : https://www.base64encode.org/

Cette première étape va permettre de récupérer en retour un token d'accès, ainsi qu'une date d'expiration :

{
"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiQVBJVXNlciIsIjE3Mi4yMC4wLjEiXSwiZXhwIjoxNzA2NjQ5MDQ4LCJqdGkiOiJjbXNtMmE0djVvcnM3M2Z1bjA0MCIsIm5iZiI6MTcwNjY0NzgxOCwicGVybWlzc2lvbnMiOlsicGFzc3dvcmQtY2hhbmdlLWRpc2FibGVkIiwicGFzc3dvcmQtcmVzZXQtZGlzYWJsZWQiLCJwdWJsaWNrZXktY2hhbmdlLWRpc2FibGVkIiwibWZhLWRpc2FibGVkIiwiYXBpLWtleS1hdXRoLWNoYW5nZS1kaXNhYmxlZCIsImluZm8tY2hhbmdlLWRpc2FibGVkIiwic2hhcmVzLWRpc2FibGVkIiwic2hhcmVzLXdpdGhvdXQtcGFzc3dvcmQtZGlzYWJsZWQiXSwic3ViIjoiMTcwNjYyNTQ3MDM1MyIsInVzZXJuYW1lIjoiemlkd2NqcXBzd21xMHQzczd1c3M3dG5wIn0.Bki_Ub4jV58zI2RRQRH8xC507p6wJc9CCM8EWixRX00",
"expires_at":"2024-01-30T21:10:48Z"
}

C'est ce token qu'il faudra utiliser dans l'appel suivant.

Dépot du fichier.

Il faut se placer dans le répertoire contenant le fichier à envoyer et exécuter la commande suivante :

curl -X 'POST' \
'https://ftp.hipli.pro/api/v2/user/files' \
-H 'accept: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiQVBJVXNlciIsIjE3Mi4yMC4wLjEiXSwiZXhwIjoxNzA2NjQ4OTQ4LCJqdGkiOiJjbXNtMWg0djVvcnM3M2Z1bjAzMCIsIm5iZiI6MTcwNjY0NzcxOCwicGVybWlzc2lvbnMiOlsicGFzc3dvcmQtY2hhbmdlLWRpc2FibGVkIiwicGFzc3dvcmQtcmVzZXQtZGlzYWJsZWQiLCJwdWJsaWNrZXktY2hhbmdlLWRpc2FibGVkIiwibWZhLWRpc2FibGVkIiwiYXBpLWtleS1hdXRoLWNoYW5nZS1kaXNhYmxlZCIsImluZm8tY2hhbmdlLWRpc2FibGVkIiwic2hhcmVzLWRpc2FibGVkIiwic2hhcmVzLXdpdGhvdXQtcGFzc3dvcmQtZGlzYWJsZWQiXSwic3ViIjoiMTcwNjYyNTQ3MDM1MyIsInVzZXJuYW1lIjoiemlkd2NqcXBzd21xMHQzczd1c3M3dG5wIn0.2PsLujc0eN3I-n69C22NWR3NGZrLuQU8WaF1coBOalA' \
-H 'Content-Type: multipart/form-data' \
-F 'filenames=@scan.csv;type=text/csv'

Pour la partie "Authorization", il faut remplacer le token par celui récupéré dans l'étape précédente (et ajouter Bearer devant).

Le Content-Type doit être multipart/form-data et le fichier doit être envoyé dans le champ filenames comme dans l'exemple (adaptez avec le nom de votre fichier) et le type doit être text/csv.

La commande retourne un code 201 indiquant que le fichier a bien été envoyé.

{
"message": "Upload completed"
}

Le fichier est maintenant déposé et sera traité dans les secondes qui suivent.