libredte.api_client package
Submodules
libredte.api_client.cobros module
- class libredte.api_client.cobros.Cobros(api_hash=None, api_url=None, api_version=None, api_raise_for_status=True, **kwargs)
Bases:
ApiBase
Clase para interactuar con los endpoints de cobros de la API.
Proporciona métodos para realizar operaciones relacionadas con cobros, como obtener información sobre cobros específicos y realizar pagos de cobros.
- get_cobro_dte_real(dte, folio, emisor)
Obtiene la información de cobro asociada a un DTE real específico.
Envia una solicitud POST para buscar información de cobro basada en un DTE real, dado el tipo de DTE, el folio del DTE, y el RUT del emisor.
- Parámetros:
dte (str) – Tipo de DTE real.
folio (str) – Folio del DTE real.
emisor (str) – RUT del emisor del DTE real.
- Devuelve:
Respuesta JSON con la información de cobro del DTE real.
- get_cobro_dte_temporal(receptor, dte, codigo, emisor)
Obtiene la información de cobro asociada a un DTE temporal específico.
Realiza una solicitud POST para buscar información de cobro basada en un DTE temporal, dado el RUT del receptor, el tipo de DTE, el código del DTE temporal, y el RUT del emisor.
- Parámetros:
receptor (str) – RUT del receptor asociado al DTE temporal.
dte (str) – Tipo de DTE temporal.
codigo (str) – Código único del DTE temporal.
emisor (str) – RUT del emisor del DTE temporal.
- Devuelve:
Respuesta JSON con la información de cobro del DTE temporal.
- get_cobro_info(codigo, emisor)
Obtiene información detallada de un cobro específico.
Realiza una solicitud POST para recuperar detalles completos sobre un cobro, identificado por su código y el RUT del emisor. Esta información puede incluir detalles del estado del cobro, montos, fechas relevantes, entre otros datos específicos del cobro consultado.
- Parámetros:
codigo (str) – Código único que identifica el cobro.
emisor (str) – RUT del emisor asociado al cobro.
- Devuelve:
Respuesta JSON con la información detallada del cobro.
- get_cobros(emisor, filtros)
Obtiene la información de varios cobros.
Realiza una solicitud POST para buscar información sobre múltiples cobros dado el identificador del emisor y filtros de los cobros.
- Parámetros:
emisor (str) – Identificador del emisor de los cobros.
filtros (dict) – Datos de filtrado de cobros.
- Devuelve:
Respuesta JSON con la información del cobro.
- pagar_cobro(codigo, emisor, pagar_cobro)
Realiza el pago de un cobro.
Envía una solicitud POST para efectuar el pago de un cobro específico, identificado por su código y el emisor, utilizando los datos proporcionados para el pago.
- Parámetros:
codigo (str) – Código que identifica el cobro a pagar.
emisor (str) – Identificador del emisor del cobro.
pagar_cobro (dict) – Datos del pago a realizar.
- Devuelve:
Respuesta JSON del resultado del pago del cobro.
libredte.api_client.contribuyentes module
- class libredte.api_client.contribuyentes.Contribuyentes(api_hash=None, api_url=None, api_version=None, api_raise_for_status=True, **kwargs)
Bases:
ApiBase
Clase para interactuar con los endpoints de contribuyentes de la API.
Ofrece métodos para obtener información de contribuyentes específicos, basándose en su RUT.
- get_contribuyente(rut)
Obtiene la información de un contribuyente específico.
Realiza una solicitud GET para buscar información sobre un contribuyente dado su RUT. Esta información puede incluir datos como el nombre del contribuyente, dirección, y otros detalles relevantes.
- Parámetros:
rut (str) – RUT del contribuyente a buscar.
- Devuelve:
Respuesta JSON con la información del contribuyente.
libredte.api_client.dte module
- class libredte.api_client.dte.Dte(api_hash=None, api_url=None, api_version=None, api_raise_for_status=True, **kwargs)
Bases:
ApiBase
Clase para interactuar con los endpoints de DTE de la API.
Esta clase hereda de ApiBase y proporciona métodos específicos para operaciones relacionadas con DTE, como obtener información del receptor, emitir y generar DTEs, tanto temporales como reales, y enviar DTEs por correo electrónico.
- delete_dte_temporal(receptor, dte, codigo, emisor)
Elimina un DTE temporal específico.
- Parámetros:
receptor (str) – RUT del receptor.
dte (str) – Tipo de DTE.
codigo (str) – Código del DTE temporal.
emisor (str) – RUT del emisor.
- Devuelve:
Respuesta JSON con un boolean que retorna verdadero si se
eliminó el DTE temporal.
- dte_emitidos_actualizar_estado(dte, folio, emisor, filtros=None)
Actualiza el estado de un DTE emitido.
- Parámetros:
dte (str) – Tipo de DTE.
folio (str) – Folio del DTE.
emisor (str) – RUT del emisor.
filtros (dict) – Parámetros adicionales para la actualización de estado (opcional).
- Devuelve:
Respuesta JSON con el resultado de la actualización del estado del DTE.
- dte_emitidos_consultar(filtros)
Consulta los DTEs emitidos utilizando filtros de búsqueda.
- Parámetros:
filtros (dict) – Filtros de búsqueda para aplicar en la consulta.
- Devuelve:
Respuesta JSON con los DTEs emitidos que coinciden con los filtros.
- dte_emitidos_ted(dte, folio, emisor, filtros=None)
Obtiene el TED (Timbre Electrónico de DTE) de un DTE emitido.
- Parámetros:
dte (str) – Tipo de DTE.
folio (str) – Folio del DTE.
emisor (str) – RUT del emisor.
filtros (dict) – Parámetros adicionales para la consulta (opcional).
- Devuelve:
Respuesta con el TED del DTE solicitado.
- dte_real_enviar_email(dte, folio, emisor, data_email)
Envía por correo electrónico un DTE real.
- Parámetros:
dte (str) – Tipo de DTE.
folio (str) – Folio del DTE.
emisor (str) – RUT del emisor.
data_email (dict) – Datos del correo electrónico a enviar.
- Devuelve:
Respuesta JSON del resultado del envío.
- dte_temporal_enviar_email(receptor, dte, codigo, emisor, data_email)
Envía por correo electrónico un DTE temporal.
- Parámetros:
receptor (str) – RUT del receptor.
dte (str) – Tipo de DTE.
codigo (str) – Código del DTE temporal.
emisor (str) – RUT del emisor.
data_email (dict) – Datos del correo electrónico a enviar.
- Devuelve:
Respuesta JSON del resultado del envío.
- emitir_dte_real(dte_real, filtros=None)
Genera un DTE real a partir de los datos proporcionados, correspondientes a un dte temporal.
- Parámetros:
dte_real (dict) – Datos del DTE real a generar.
- Devuelve:
Respuesta JSON del DTE real generado.
- emitir_dte_temporal(dte_temporal, filtros=None)
Emite un DTE temporal.
- Parámetros:
dte_temporal (dict) – Datos del DTE temporal a emitir.
filtros (dict) – Parámetros adicionales para la consulta (opcional).
- Devuelve:
Respuesta JSON del DTE temporal emitido.
- get_dte_emitidos(emisor, filtros)
Busca DTEs emitidos por un emisor específico utilizando filtros de búsqueda.
- Parámetros:
emisor (str) – RUT del emisor.
filtros (dict) – Filtros de búsqueda para aplicar.
- Devuelve:
Respuesta JSON con los DTEs emitidos que coinciden con los filtros.
- get_dte_real(dte, folio, emisor, filtros=None)
Obtiene información de un DTE real específico.
- Parámetros:
dte (str) – Tipo de DTE.
folio (str) – Folio del DTE.
emisor (str) – RUT del emisor.
filtros (dict) – Parámetros adicionales para la consulta (opcional).
- Devuelve:
Respuesta JSON con la información del DTE real.
- get_dte_recibido(emisor, dte, folio, receptor, filtros=None)
Obtiene información de un DTE temporal específico.
- Parámetros:
emisor (str) – RUT del emisor.
dte (str) – Tipo de DTE.
folio (str) – Folio del DTE recibido.
receptor (str) – RUT del receptor.
filtros (dict) – Parámetros adicionales para la consulta (opcional).
- Devuelve:
Respuesta JSON con la información del DTE temporal.
- get_dte_recibidos(receptor, filtros)
Obtiene un listado de DTEs recibidos.
- Parámetros:
receptor (str) – RUT del receptor.
filtros (dict) – Parámetros adicionales para la consulta (opcional).
- Devuelve:
Respuesta JSON con la lista del DTEs recibidos.
- get_dte_temporal(receptor, dte, codigo, emisor, filtros=None)
Obtiene información de un DTE temporal específico.
- Parámetros:
receptor (str) – RUT del receptor.
dte (str) – Tipo de DTE.
codigo (str) – Código del DTE temporal.
emisor (str) – RUT del emisor.
filtros (dict) – Parámetros adicionales para la consulta (opcional).
- Devuelve:
Respuesta JSON con la información del DTE temporal.
- get_dte_temporales(emisor, filtros)
Obtiene un listado de DTEs temporales.
- Parámetros:
emisor (str) – RUT del emisor.
filtros (dict) – Parámetros adicionales para la consulta (opcional).
- Devuelve:
Respuesta JSON con la lista del DTEs temporales.
- get_pdf_dte_real(dte, folio, emisor, filtros=None)
Obtiene el PDF de un DTE real específico.
- Parámetros:
dte (str) – Tipo de DTE.
folio (str) – Folio del DTE.
emisor (str) – RUT del emisor.
filtros (dict) – Parámetros adicionales para la consulta (opcional).
- Devuelve:
Respuesta con el PDF del DTE real.
- get_pdf_dte_temporal(receptor, dte, codigo, emisor, filtros=None)
Obtiene el PDF de un DTE temporal específico.
- Parámetros:
receptor (str) – RUT del receptor.
dte (str) – Tipo de DTE.
codigo (str) – Código del DTE.
emisor (str) – RUT del emisor.
filtros (dict) – Parámetros adicionales para la consulta (opcional).
- Devuelve:
Respuesta con el PDF del DTE temporal.
- get_xml_dte_real(dte, folio, emisor)
Obtiene un XML de un DTE emitido.
- Parámetros:
dte (str) – Tipo de DTE.
folio (str) – Folio del DTE emitido.
emisor (str) – RUT del emisor.
- Devuelve:
Respuesta codificada en base64 con el XML del DTE emitido.
- get_xml_dte_recibido(emisor, dte, folio, receptor)
Obtiene un XML de un DTE recibido.
- Parámetros:
emisor (str) – RUT del emisor.
dte (str) – Tipo de DTE.
folio (str) – Folio del DTE emitido.
receptor (str) – RUT del receptor.
- Devuelve:
Respuesta codificada en base64 con el XML del DTE emitido.
- get_xml_dte_temporal(receptor, dte, codigo, emisor)
Obtiene un XML de un DTE temporal.
- Parámetros:
receptor (str) – RUT del receptor.
dte (str) – Tipo de DTE.
codigo (str) – Codigo del DTE emitido.
emisor (str) – RUT del emisor.
- Devuelve:
Respuesta codificada en base64 con el XML del DTE emitido.
Module contents
- class libredte.api_client.ApiBase(api_hash=None, api_url=None, api_version=None, api_raise_for_status=True, **kwargs)
Bases:
ABC
Clase base para las clases que consumen la API (wrappers).
- Parámetros:
api_hash (str) – Hash de autenticación del usuario. Si es None, se
intentará obtener de la variable de entorno LIBREDTE_HASH. :param str api_url: URL base del servicio de LibreDTE. Si es None, se intentará obtener de la variable de entorno LIBREDTE_URL o se usará la URL por defecto. :param str api_version: Versión de la API a utilizar. Por defecto, se usa una versión predefinida. :param bool api_raise_for_status: Si se debe lanzar una excepción automáticamente para respuestas de error HTTP. Por defecto es True. :param dict kwargs: Argumentos adicionales para la autenticación.
- class libredte.api_client.ApiClient(hash=None, url=None, version=None, raise_for_status=True)
Bases:
object
Cliente API para integrarse con LibreDTE.
Esta clase proporciona funcionalidades para interactuar con los servicios web de LibreDTE, permitiendo realizar operaciones GET y POST, y crear enlaces a recursos de LibreDTE.
- Parámetros:
url (str) – URL base del servicio de LibreDTE.
http_auth (requests.auth.HTTPBasicAuth) – Autenticación para las solicitudes HTTP.
ssl_check (bool) – Indica si se debe verificar el certificado SSL del host.
rut (int) – RUT del contribuyente en LibreDTE.
- AMBIENTE_SII_PRODUCCION = 0
- AMBIENTE_SII_PRUEBAS = 1
- create_link(resource, rut=None)
Crea un enlace que apunta a un recurso específico en la plataforma de LibreDTE.
- Parámetros:
resource (str) – Recurso al que se desea acceder en la plataforma de LibreDTE.
rut (int) – RUT del contribuyente en LibreDTE con el que se quiere
usar el recurso. Si es None, se usará el RUT almacenado en la clase. :return: URL formada para acceder al recurso especificado. :rtype: str
- get(resource, headers=None)
Realiza una solicitud GET a un recurso de la API de LibreDTE.
- Parámetros:
resource (str) – Recurso de la API que se desea consumir.
headers (dict) – Cabeceras adicionales para la solicitud. Si es
None, se usarán las cabeceras por defecto. :return: Objeto de respuesta de la solicitud HTTP. :rtype: requests.Response :raises ApiException: Lanza una excepción si ocurre un error en la solicitud HTTP, como errores de conexión, timeout o HTTP.
- post(resource, data=None, headers=None)
Realiza una solicitud POST a un recurso de la API de LibreDTE.
- Parámetros:
resource (str) – Recurso de la API que se desea consumir.
data (dict, str) – Datos que se enviarán con la solicitud. Si es
un diccionario, se codificará como JSON. :param dict headers: Cabeceras adicionales para la solicitud. Si es None, se usarán las cabeceras por defecto. :return: Objeto de respuesta de la solicitud HTTP. :rtype: requests.Response :raises ApiException: Lanza una excepción si ocurre un error en la solicitud HTTP, como errores de conexión, timeout o HTTP.
- set_ambiente_sii(ambiente=None)
Establece el ambiente del Servicio de Impuestos Internos (SII) para las solicitudes de la API.
Este método permite configurar el ambiente (producción o pruebas) que se utilizará en las solicitudes subsiguientes. El ambiente se puede especificar directamente o ser obtenido de la variable de entorno “LIBREDTE_AMBIENTE”. Los valores válidos son identificadores para producción (“0”, “produccion”, “prod”, “palena”) y pruebas (“1”, “pruebas”, “test”, “maullin”).
- Parámetros:
ambiente (str) – Identificador del ambiente a establecer. Si es None,
se intentará obtener de la variable de entorno “LIBREDTE_AMBIENTE”. :return: El ambiente del SII configurado. :rtype: str :raises ApiException: Si el valor proporcionado para el ambiente es inválido.
- set_contribuyente(rut=None)
Establece el RUT del contribuyente para las solicitudes de la API.
Este método permite configurar el RUT del contribuyente que se utilizará en las solicitudes subsiguientes. Si se proporciona un RUT, este se utiliza; de lo contrario, se intenta obtener de la variable de entorno “LIBREDTE_RUT”.
- Parámetros:
rut – RUT del contribuyente a establecer. Si es None, se intentará
obtener de la variable de entorno “LIBREDTE_RUT”. :type rut: int, str, optional :return: El RUT del contribuyente configurado. :rtype: int :raises ApiException: Si el RUT es inválido o no se puede convertir a entero.
- set_hash(hash)
Configura la autenticación HTTP básica usando un hash proporcionado.
Este método toma un hash, lo valida (o transforma) en un nombre de usuario mediante __validate_hash y establece la autenticación HTTP básica para su uso en futuras solicitudes HTTP. La contraseña se establece como un valor predeterminado “X”.
- Parámetros:
hash (str) – Un hash que se valida y se usa para configurar el
nombre de usuario en la autenticación HTTP básica.
- set_ssl(ssl_check=True)
Configura las opciones de SSL para las conexiones HTTP.
Este método permite activar o desactivar la verificación del certificado SSL del servidor. Si se activa, las conexiones HTTP verificarán el certificado SSL del servidor; si se desactiva, no lo harán.
- Parámetros:
ssl_check (bool) – Indica si se debe verificar el certificado SSL del host.
Por defecto es True.
- Devuelve:
El estado actualizado de la verificación del SSL.
- Tipo del valor devuelto:
bool
Ejemplo de uso: client.set_ssl(False) # Desactiva la verificación SSL
- exception libredte.api_client.ApiException(message, code=None, params=None)
Bases:
Exception
Excepción personalizada para errores en el cliente de la API.
- Parámetros:
message (str) – Mensaje de error.
code (int) – Código de error (opcional).
params (dict) – Parámetros adicionales del error (opcional).