Pular para o conteúdo

Python

Use a biblioteca requests com uma Session: reaproveita a conexão e mantém os cabeçalhos entre chamadas. Não há SDK oficial.

Requisitos

Python 3.9+ e requests (pip install requests).

Cliente mínimo

Envia o token, a clínica ativa quando houver e transforma o erro padrão em exceção com o requestId.

import requests​BASE_URL = "https://myclinc.leadpoint.com.br/v1"​def client(token, clinic_id=None):    s = requests.Session()    s.headers["Authorization"] = f"Bearer {token}"    if clinic_id:        s.headers["X-Clinic-Id"] = clinic_id    return s​def call(s, method, path, **kwargs):    res = s.request(method, BASE_URL + path, timeout=30, **kwargs)    if res.status_code == 204:        return None    body = res.json()    if not res.ok:        erro = body["error"]        raise RuntimeError(f"{res.status_code} {erro['code']}: {erro['message']} (requestId {erro['requestId']})")    return body

Percorrer uma lista

Listas usam cursor: repita enquanto meta.hasNext for verdadeiro. Detalhes em Paginação e filtros.

s = client(token)cursor = Nonewhile True:    params = {"limit": 100}    if cursor:        params["cursor"] = cursor    page = call(s, "GET", "/patients", params=params)    for paciente in page["data"]:        print(paciente["id"], paciente["name"])    if not page["meta"]["hasNext"]:        break    cursor = page["meta"]["nextCursor"]

Exemplo da referência

Gerado do contrato para listar pacientes (GET /v1/patients).

import requests​url = "https://myclinc.leadpoint.com.br/v1/patients?limit=25"headers = {    "Authorization": "Bearer <TOKEN>",    "X-Clinic-Id": "<clinic_id>",}​res = requests.get(url, headers=headers, timeout=30)if not res.ok:    erro = res.json()["error"]    raise RuntimeError(f"{erro['code']}: {erro['message']} ({erro['requestId']})")data = res.json()["data"]
Troque os marcadores entre < > pelos seus valores. O token nunca deve ficar no código-fonte: leia de uma variável de ambiente.