Exemples d'utilisation de l'API

  • Mise à jour

Voici quelques exemples d'utilisation de l'API de LockSelf en Python 3.

Pour ces exemples nous utiliserons les variables suivantes :

  • [URLAPI] : Correspond à l'url de l'API que vous souhaitez utiliser (Plus d'informations sur l'article Qu'est-ce que l'API LockSelf ?)
  • [XLSTOKEN] : Affiché à la création d'un utilisateur API sous le nom "X-Ls-Token"
  • [AUTHTOKEN] : Affiché à la création d'un utilisateur API sous le nom "X-Auth-Token Key". Il doit toujours être précédé de la mention "Bearer" comme indiqué dans les exemples.

Exemple 1 - LockPass (GET)

Récupération de la liste des identifiants d'une catégorie :

import requests
url = "https://[URLAPI]/api-key/credentials?categoryId=1234&limit=10"
payload={}
headers = {
'X-LS-Token': '[XLSTOKEN]',
'Authorization': 'Bearer [AUTHTOKEN]'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Dans cet exemple nous demandons les 10 premiers identifiants de la catégorie dont l'ID est 1234.

Les autres paramètres de cette méthode sont consultables sur la documentation technique de l'API.

Vous recevrez en retour de l'API une réponse sous la forme suivante :

{
  "page": "1",
  "limit": "10",
  "pages": "2",
  "total": "13",
  "items": [
    {
      "id": 1337,
      "name": "Test",
      "domain": "google.fr",
      "userId": 0,
      "categoryId": "42",
      "creationDate": "2020-05-27 14:51:28",
      "modificationDate": "2020-05-28 14:51:28",
      "isOwner": true,
      "view": 1
    }
  ]
}

Vous pourrez alors récupérer l'ID de l'identifiant qui vous intéresse pour son déchiffrement à l'API.

Exemple 2 - LockPass (POST)

Création d'un identifiant :

import requests
url = "https://[URLAPI]/api-key/credentials"
payload={'categoryId': 1337,
'description': 'Ma description',
'domain': 'lockself.com',
'isAlert': false,
'name': 'Mon identifiant',
'opt1': '',
'opt2': '',
'opt3': '',
'password': 'M0nP4s$',
'tags': '',
'username': 'login@ndd.com'}
headers = {
'X-LS-Token': '[XLSTOKEN]',
'Authorization': 'Bearer [AUTHTOKEN]'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

Dans cet exemple nous demandons à l'API la création d'un identifiant en spécifiant toutes les informations nécessaires à sa création.

La description des paramètres de cette méthode sont consultables sur la documentation technique de l'API.

Vous obtiendrez une réponse sous la forme suivante :

{
  "id": 1234,
  "name": "Mon identifiant",
  "domain": "lockself.com",
  "userId": 4321,
  "categoryId": "12",
  "isOwner": true
}

Exemple 3 - LockTransfer (POST)

Dépôt d'un fichier dans une boite de dépôt :

import requests
url = "https://[URLAPI]/api-key/depositboxes/file"
payload={'depositBoxId': '1234',
'uuid': '12334-5678-54321-32671',
'chunkIndex': '0',
'totalChunkCount': '1',
'totalSize': '22222',
'description': 'Description de mon fichier'}
files=[
('file',('monImage.jpg', open('/home/perso/monImage.jpg','rb'),'image/jpeg'))
]
headers = {
'X-LS-Token': '[XLSTOKEN]',
'Authorization': 'Bearer [AUTHTOKEN]'
}response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)

Dans cet exemple nous déposons un fichier nommé "monImage.jpg" dans la boite de dépôt ayant l'id 1234.

Nous indiquons:

  • l'uuid que nous avons généré au préalable
  • le chunkIndex qui correspond au numéro du morceau de fichier (max 20Mo par morceau)
  • le totalChunkCount qui correspond au nombre total de morceau qui seront envoyés
  • totalSize qui correspond à la taille totale du fichier.

Vous obtiendrez une réponse sous la forme suivante :

{
  "id": "42",
  "userId": "26",
  "status": 0,
  "isPrivate": "true",
  "token": "26vl42",
  "hash1": "faf11c4cf0bc40233e70da3808a97f1c",
  "hash2": "768753d715912d9fd563c0858f5c0615",
  "hashReport": "43c385881ccba6663afc58b766e2c5c3",
  "name": "June report.",
  "description": "You will find attached the financial reports as requested.",
  "ackNotification": "true",
  "uploadNotification": "true",
  "creationDate": "2020-11-02 12:34:39",
  "expirationDate": "20221102",
  "reportLink": "https://www.example.com/report/deposit-box-report?displayReport=1&hash=e2af8bf73873765c0b90370734c3ceb6&hashReport=5g6ea87a92f21a60dd8848fe1ff02568",
  "creatorEmail": "john.doe@example.com",
  "files": [
    {
      "id": "9",
      "hash": "f0ba55c1-16bc-42e3-84c8-9c8e4db872f5",
      "name": "report-december.pdf",
      "size": "42 Mo",
      "realSize": 44444,
      "uploader": "john.doe@company.com",
      "description": "You will find attached the financial reports as requested.",
      "creationDate": "2020-11-02 10:30:02",
      "_links": {
        "add": {
          "href": "string"
        },
        "delete": {
          "href": "string"
        },
        "download": {
          "href": "string"
        }
      }
    }
  ],
  "users": [
    {
      "id": "9",
      "relationId": "98",
      "email": "john.doe@example.com",
      "canModify": "true",
      "isInternal": "false",
      "_links": {
        "add": {
          "href": "string"
        },
        "modify": {
          "href": "string"
        },
        "delete": {
          "href": "string"
        }
      }
    }
  ],
  "externalUsers": [
    {
      "ownerFirstName": "string",
      "ownerLastName": "string",
      "email": "string"
    }
  ],
  "_links": {
    "self": {
      "href": "string"
    },
    "add": {
      "href": "string"
    },
    "modify": {
      "href": "string"
    },
    "delete": {
      "href": "string"
    }
  }
}

Pour plus de détails, vous pouvez consulter la documentation technique de l'API. Elle vous permettra de connaitre les différents paramètres à envoyer pour chaque méthode ainsi que les différents retours possibles.

Cet article vous a-t-il été utile ?

Utilisateurs qui ont trouvé cela utile : 0 sur 0

Vous avez d’autres questions ? Envoyer une demande