Aller au contenu principal
Version: version du dispositif : 1.1.0.0

Prise en main

Vue d'ensemble​

Ce document constitue un guide d'introduction à l'intégration des modèles d'IA de Legit.Health au moyen de l'API JSON. Il a pour objet d'aider vos équipes à préparer la mise en œuvre avant de consulter la documentation détaillée de l'API.

Convention d'URL

Dans l'ensemble de cette documentation, nous utilisons {path} pour désigner l'URL de base et la version de l'API. Par exemple, {path}/auth/login signifie https://plus.legit.health/version/auth/login.

Endpoints utilisés​

Le processus d'intégration fait appel aux points de terminaison (endpoints) suivants :

  • /auth/login : endpoint d'authentification permettant d'obtenir des jetons d'accès.
  • /clinical/diagnosis-support : endpoint permettant d'obtenir une aide au diagnostic à partir d'une image et de la localisation anatomique fournies en entrée.
  • /clinical/severity-assessment : endpoint de quantification des signes visuels.

Exemple de base​

Pour vous aider à démarrer l'intégration de l'API, nous mettons à votre disposition une image d'exemple simple d'hidradénite suppurée (maladie de Verneuil). Ce seul exemple vous permet de :

  1. Tester l'ensemble du flux d'intégration :
    • vous authentifier auprès de l'API ;
    • envoyer une image pour analyse ;
    • recevoir les résultats de l'aide au diagnostic ;
    • recevoir les résultats des signes visuels.
  2. Comprendre les formats de requête et de réponse de chaque endpoint :
    • comment formater correctement les données de l'image ;
    • quelles réponses attendre ;
    • comment gérer les jetons de l'API.

Une fois cette intégration de base fonctionnelle, nous pourrons passer à d'autres supports de test pour des scénarios plus complexes.

Thumbnail of the Exemple d'hidradénite suppurée image
Exemple d'hidradénite suppurée
Image d'exemple pour tester l'ensemble du flux d'intégration

Vous trouverez d'autres images d'exemple dans la section « Matériel d'intégration, version étendue » de ce manuel d'installation.

Exemples de requêtes aux endpoints​

Authentification /auth/login​

Avec Postman​

Corps​

Ajoutez les clés et valeurs correspondant au nom d'utilisateur et au mot de passe pour vous authentifier.

Capture d'écran de Postman

Capture d'écran de l'onglet Authorization de l'application de bureau Postman

En-têtes​

Cet endpoint /login attend un corps JSON avec Content-Type: application/json.

Envoyez les identifiants sous la forme d'un objet JSON brut :

{
"username": "your_username",
"password": "your_password"
}

La figure suivante montre comment définir les en-têtes dans Postman.

Capture d'écran de Postman

Capture d'écran de l'onglet Authorization de l'application de bureau Postman

Exemples de code​

Requête​
Exemple Python
import requests
from requests.exceptions import RequestException

def login(base_url: str, username: str, password: str) -> dict:
"""
Authenticate with the API and get access token.

Args:
base_url: The base URL of the API
username: Your API username
password: Your API password

Returns:
dict: Response containing access_token, token_type and expires_in

Raises:
RequestException: If the request fails or returns non-200 status
"""
try:
# Create a session for connection pooling and cookie persistence
http_session = requests.Session()

# Make the login request
request_response = http_session.post(
f"{base_url}/login",
json={
"username": username,
"password": password
},
)

# Raise error for non-200 responses
request_response.raise_for_status()

# Return the JSON response
return request_response.json()

except RequestException as e:
print(f"Login failed: {str(e)}")
raise

# Example usage

try:
response = login(
base_url="{{path}}",
username="your_username",
password="your_password"
)
print("Successfully logged in")
print(f"Access token: {response['access_token']}")
print(f"Token type: {response['token_type']}")
print(f"Expires in: {response['expires_in']} seconds")

except RequestException:
print("Failed to authenticate with the API")

Réponse :​
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"tokenType": "bearer",
"expiresIn": 3600
}

En-têtes communs​

Toutes les requêtes, à l'exception de /auth/login, doivent inclure dans l'en-tête Authorization le jeton d'accès (bearer token) obtenu auprès de l'endpoint /auth/login.

Capture d'écran de Postman montrant le jeton d'accès (bearer token) défini dans l'en-tête Authorization

Définition du jeton d'accès (bearer token) dans l'en-tête Authorization de l'application de bureau Postman

Aide au diagnostic /clinical/diagnosis-support​

Avec Postman​

Capture d'écran de Postman

Capture d'écran de l'onglet Authorization de l'application de bureau Postman

Exemples de code​

Corps de la requête :

{
"images": [
{
"colorModel": "rgb",
"fileFormat": "jpeg",
"data": "base64image"
}
]
}

Remarque : remplacez "base64image" par la chaîne encodée en base64 de votre image. Pour vos tests, vous pouvez utiliser l'exemple d'image encodée en base64 du « Matériel I : intégration de base ».

Exemples par langage de programmation​

Exemples Python
import requests

url = "{path}/clinical/diagnosis-support"
headers = {
"Authorization": "Bearer your_access_token",
"Content-Type": "application/json"
}
payload = {
"images": [
{
"colorModel": "rgb",
"fileFormat": "jpeg",
"data": "base64image"
}
]
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())

Évaluation de la sévérité /clinical/severity-assessment​

Avec Postman​

Capture d'écran de Postman

Capture d'écran de l'onglet Authorization de l'application de bureau Postman

Exemples de code​

Requête :

{
"image": {
"data": "base64image",
"colorModel": "rgb",
"fileFormat": "jpeg"
},
"experts": [
"inflammatory_nodular_lesion_detector",
"inflammatory_pattern_identificator",
"follicular_inflammatory_pattern_classifier"
]
}

Points d'attention​

Veillez à ce que toutes les requêtes et réponses respectent le format défini par la spécification de l'API JSON. Pour tout problème rencontré lors de l'intégration, consultez la section de dépannage de la documentation officielle ou contactez notre équipe d'assistance.

Étapes suivantes​

Après avoir pris connaissance de ce guide, vous pouvez consulter la documentation détaillée de l'API afin de mettre correctement en œuvre chaque endpoint. Nous vous remercions et restons à votre disposition pour toute question.