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.