Pular para o conteúdo principal
Este conteúdo se aplica a versão do dispositivo: 1.1.0.0

Primeiros passos

Visão geral

Este documento fornece um guia introdutório para integrar os modelos de IA da Legit.Health usando a API JSON. Este guia destina-se a ajudar suas equipes a se prepararem para a implementação antes de consultar a documentação detalhada da API.

Convenção de URL

Ao longo desta documentação, usaremos {path} para referenciar a URL base e a versão da API. Por exemplo: {path}/auth/login significa https://plus.legit.health/version/auth/login

Endpoints utilizados

O processo de integração envolve os seguintes endpoints:

  • /auth/login: Endpoint de autenticação para obter tokens de acesso.
  • /clinical/diagnosis-support: Endpoint para obter suporte diagnóstico com base em entradas de imagem e localização corporal.
  • /clinical/severity-assessment: Endpoint para quantificação dos sinais visuais

Exemplo básico

Para ajudá-lo a começar com a integração da API, forneceremos uma imagem de exemplo simples de Hidradenite Supurativa. Este único exemplo permite que você:

  1. Teste o fluxo de trabalho de integração completo:
    • Autentique-se com a API
    • Envie uma imagem para análise
    • Receba resultados de suporte diagnóstico
    • Receba resultados de sinais visuais
  2. Compreenda os formatos de requisição e resposta de cada endpoint:
    • Como formatar corretamente os dados de imagem
    • Quais respostas esperar
    • Como manipular os tokens da API

Assim que esta integração básica estiver funcionando corretamente, podemos prosseguir com materiais de teste adicionais para cenários mais complexos.

Thumbnail of the Exemplo de hidradenite supurativa image
Exemplo de hidradenite supurativa
Imagem de exemplo para testar o fluxo de trabalho de integração completo

Você pode encontrar mais imagens de exemplo na: seção Materiais para Integração - Estendida deste manual de instalação.

Exemplos de requisição de endpoint

Autenticação /auth/login

Usando o Postman

Corpo

Adicione as chaves e os valores de username e password para autenticar.

Captura de tela do Postman

Captura de tela da aba de Autorização do aplicativo de desktop Postman

Cabeçalhos

Este endpoint /login espera um corpo JSON com Content-Type: application/json.

Envie as credenciais como um objeto JSON bruto:

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

A figura a seguir mostra como definir os cabeçalhos no Postman.

Captura de tela do Postman

Captura de tela da aba de Autorização do aplicativo de desktop Postman

Exemplos de código

Requisição
Exemplo em 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")

Resposta:
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"tokenType": "bearer",
"expiresIn": 3600
}

Cabeçalhos comuns

Todas as requisições, exceto /auth/login, devem incluir o token bearer obtido no endpoint /auth/login no cabeçalho Authorization.

Captura de tela do Postman mostrando o token bearer definido no cabeçalho Authorization

Definindo o token bearer no cabeçalho Authorization no aplicativo de desktop Postman

Suporte diagnóstico /clinical/diagnosis-support

Usando o Postman

Captura de tela do Postman

Captura de tela da aba de Autorização do aplicativo de desktop Postman

Exemplos de código

Corpo da requisição:

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

Nota: Substitua "base64image" pela string codificada em base64 real da sua imagem. Você pode usar o exemplo de imagem em base64 dos Materiais I: Integração Básica para testar.

Exemplos de linguagens de programação

Exemplos em 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())

Medida de gravidade /clinical/severity-assessment

Usando o Postman

Captura de tela do Postman

Captura de tela da aba de Autorização do aplicativo de desktop Postman

Exemplos de código

Requisição:

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

Considerações

Certifique-se de que todas as requisições e respostas estejam formatadas corretamente de acordo com a especificação da API JSON. Para quaisquer problemas encontrados durante a integração, consulte a seção de solução de problemas na documentação oficial ou entre em contato com nossa equipe de suporte para assistência.

Próximos passos

Assim que tiver revisado este guia, você poderá prosseguir para consultar a documentação detalhada da API a fim de garantir a implementação adequada de cada endpoint. Muito obrigado, e permanecemos à sua disposição para qualquer dúvida que possa ter.