Código fuente para apigatewaycl.api_client.sii.actividades_economicas

#
# API Gateway: Cliente de API en Python.
# Copyright (C) API Gateway <https://www.apigateway.cl>
#
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
# bajo los términos de la GNU Lesser General Public License (LGPL) publicada
# por la Fundación para el Software Libre, ya sea la versión 3 de la Licencia,
# o (a su elección) cualquier versión posterior de la misma.
#
# Este programa se distribuye con la esperanza de que sea útil, pero SIN
# GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD
# PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la GNU Lesser General
# Public License (LGPL) para obtener una información más detallada.
#
# Debería haber recibido una copia de la GNU Lesser General Public License
# (LGPL) junto a este programa. En caso contrario, consulte
# <http://www.gnu.org/licenses/lgpl.html>.
#

"""
Módulo para obtener las actividades económicas del SII.

Para más información sobre la API, consulte la `documentación completa
de Actividades Económicas
<https://www.apigateway.cl/docs>`_.
"""

from __future__ import annotations

from typing import Any

from .. import ApiBase, ApiResponse


[documentos] class ActividadesEconomicas(ApiBase): """ Cliente para las actividades económicas del SII. Provee métodos para obtener listados de actividades económicas, tanto de primera como de segunda categoría. """
[documentos] def listado( self, categoria: int | None = None ) -> ApiResponse[dict[str, Any]]: """ Obtiene un listado de actividades económicas, filtrando por categoría. Respuesta (ejemplo):: { "data": { "Explotación de minas y canteras": { "Actividades de apoyo para la extracción de petróleo y...": [ { "codigo": "091002", "actividad_economica": "Actividades de apoyo para...", "afecta_iva": false, "categoria": "G", "internet": true } ], "Actividades de apoyo para la explotación de otras min...": [ { "codigo": "099002", "actividad_economica": "Actividades de apoyo para...", "afecta_iva": false, "categoria": "G", "internet": true } ] } }, "metadata": {"timestamp": "..."} } :param int categoria: Categoría de las actividades económicas (opcional). :return: Respuesta de la API, con `data` y `metadata`. En `data`, el listado de actividades económicas. :rtype: ApiResponse[dict[str, Any]] """ url = self._build_url( '/sii/contribuyentes/actividades_economicas', categoria=categoria, ) response = self.client.get(url) return self._json(response)
[documentos] def listado_primera_categoria(self) -> ApiResponse[dict[str, Any]]: """ Obtiene un listado de actividades económicas de primera categoría. Respuesta (ejemplo):: { "data": { "Explotación de minas y canteras": { "Actividades de apoyo para la extracción de petróleo y...": [ { "codigo": "091002", "actividad_economica": "Actividades de apoyo para...", "afecta_iva": false, "categoria": "G", "internet": true } ], "Actividades de apoyo para la explotación de otras min...": [ { "codigo": "099002", "actividad_economica": "Actividades de apoyo para...", "afecta_iva": false, "categoria": "G", "internet": true } ] } }, "metadata": {"timestamp": "..."} } :return: Respuesta de la API, con `data` y `metadata`. En `data`, el listado de primera categoría. :rtype: ApiResponse[dict[str, Any]] """ return self.listado(1)
[documentos] def listado_segunda_categoria(self) -> ApiResponse[dict[str, Any]]: """ Obtiene un listado de actividades económicas de segunda categoría. Respuesta (ejemplo):: { "data": { "Explotación de minas y canteras": { "Actividades de apoyo para la extracción de petróleo y...": [ { "codigo": "091002", "actividad_economica": "Actividades de apoyo para...", "afecta_iva": false, "categoria": "G", "internet": true } ], "Actividades de apoyo para la explotación de otras min...": [ { "codigo": "099002", "actividad_economica": "Actividades de apoyo para...", "afecta_iva": false, "categoria": "G", "internet": true } ] } }, "metadata": {"timestamp": "..."} } :return: Respuesta de la API, con `data` y `metadata`. En `data`, el listado de segunda categoría. :rtype: ApiResponse[dict[str, Any]] """ return self.listado(2)