Documentação

Exceções

Trate erros da API TypeSafe, limites de pedidos, falhas de ligação e tempos limite.

Exceção base

typesafe_sdk.TypeSafeError

Bases: Exception

Exceção base para falhas do SDK.

Erros HTTP

typesafe_sdk.TypeSafeAPIError

Bases: TypeSafeError

Uma resposta HTTP malsucedida com o respetivo corpo e metadados do pedido.

status

instance-attribute

status = status

Código de estado da resposta HTTP.

body

instance-attribute

body = body

O corpo de erro JSON do servidor, o texto simples da resposta ou None para um corpo vazio.

headers

instance-attribute

headers = headers

Cabeçalhos da resposta HTTP.

endpoint

instance-attribute

endpoint = endpoint

O método e o URL do pedido, sem credenciais, parâmetros de consulta ou fragmento, quando disponíveis.

request_id

property

request_id: str | None

O cabeçalho de resposta x-typesafe-request-id ou None se estiver ausente.

typesafe_sdk.TypeSafeBadRequestError

Bases: TypeSafeAPIError

O pedido era inválido (400).

typesafe_sdk.TypeSafeAuthenticationError

Bases: TypeSafeAPIError

A autenticação falhou (401).

typesafe_sdk.TypeSafePermissionDeniedError

Bases: TypeSafeAPIError

O acesso foi negado (403).

typesafe_sdk.TypeSafeNotFoundError

Bases: TypeSafeAPIError

O recurso não foi encontrado (404).

typesafe_sdk.TypeSafeUnprocessableEntityError

Bases: TypeSafeAPIError

O pedido falhou a validação do servidor (422).

typesafe_sdk.TypeSafeRateLimitError

Bases: TypeSafeAPIError

O limite de pedidos foi excedido (429).

retry_after_ms

instance-attribute

retry_after_ms = parse_retry_after(headers)

A espera pedida pelo servidor em milissegundos ou None se não estiver disponível.

typesafe_sdk.TypeSafeInternalServerError

Bases: TypeSafeAPIError

O servidor não conseguiu processar o pedido (5xx).

Erros de ligação

typesafe_sdk.TypeSafeAPIConnectionError

Bases: TypeSafeError, ConnectionError

Um pedido falhou sem uma resposta HTTP.

typesafe_sdk.TypeSafeAPITimeoutError

Bases: TypeSafeAPIConnectionError, TimeoutError

Um pedido excedeu o tempo limite configurado.

timeout

instance-attribute

timeout = timeout

A definição de tempo limite usada para o pedido, em segundos ou como um httpx2.Timeout.

Validação de respostas

typesafe_sdk.TypeSafeAPIResponseValidationError

Bases: TypeSafeAPIError

Uma resposta HTTP bem-sucedida cujo corpo continha dados obrigatórios em falta ou estruturalmente inválidos.

field_path

instance-attribute

field_path = field_path

Caminho com pontos para o campo problemático, como answers.tone.confidence.

args

instance-attribute

args = (
    status,
    body,
    headers,
    field_path,
    endpoint,
)