ActividadesEconomicas
extends ApiBase
in package
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://developers.apigateway.cl/#e64eb128-173a-48c7-ab0b-b6152e59c327>
_.
Cliente específico para interactuar con los endpoints de actividades económicas de la API de API Gateway.
Provee métodos para obtener listados de actividades económicas, tanto de primera como de segunda categoría.
Table of Contents
Properties
- $auth : array<string|int, mixed>
- Arreglo que contendrá el diccionario de autenticación.
- $api_prefix : string
- El prefijo para las rutas de la API.
- $api_token : string|null
- El token de autenticación para la API.
- $api_url : string
- La URL base de la API de API Gateway.
- $api_version : string
- La versión de la API a utilizar.
- $last_response : ResponseInterface|null
- La última respuesta recibida de la API.
- $last_url : string|null
- La última URL utilizada en la solicitud HTTP.
Methods
- __construct() : mixed
- Constructor de la clase base.
- consume() : $this
- Realiza una solicitud HTTP a la API.
- delete() : ResponseInterface|null
- Realiza una solicitud DELETE a la API.
- get() : ResponseInterface|null
- Realiza una solicitud GET a la API.
- getBody() : string
- Obtiene el cuerpo de la última respuesta HTTP.
- getBodyDecoded() : array<string|int, mixed>
- Obtiene el cuerpo de la última respuesta HTTP y lo decodifica de JSON.
- getLastResponse() : ResponseInterface|null
- Obtiene la última respuesta recibida de la API.
- getLastUrl() : string|null
- Obtiene la última URL utilizada en la solicitud HTTP.
- listado_primera_categoria() : ResponseInterface
- Obtiene un listado de actividades económicas de primera categoría.
- listado_segunda_categoria() : ResponseInterface
- Obtiene un listado de actividades económicas de segunda categoría.
- listarActividades() : ResponseInterface
- Obtiene un listado de actividades económicas. Puede filtrar por categoría.
- post() : ResponseInterface|null
- Realiza una solicitud POST a la API.
- put() : ResponseInterface|null
- Realiza una solicitud PUT a la API.
- setToken() : $this
- Establece el token de autenticación.
- setUrl() : $this
- Establece la URL base de la API.
- toArray() : array<string|int, mixed>
- Convierte la última respuesta HTTP en un arreglo asociativo.
- getAuthPass() : array<string|int, mixed>
- Obtiene la autenticación de tipo 'pass'.
- env() : string|null
- Obtiene el valor de una variable de entorno.
- getError() : object
- Extrae información detallada sobre un error a partir de la última respuesta HTTP.
- isAuthCertData() : bool
- Valida si una cadena tiene formato PEM válido.
- isAuthFileData() : bool
- Verifica si una cadena es una cadena codificada en Base64 válida.
- isAuthPass() : bool
- Valida la estructura de un RUT chileno utilizando una expresión regular.
- setupAuth() : void
- Configura la autenticación específica para la aplicación.
- throwException() : mixed
- Lanza una ApiException con los detalles del último error.
Properties
$auth
Arreglo que contendrá el diccionario de autenticación.
protected
array<string|int, mixed>
$auth
= []
$api_prefix
El prefijo para las rutas de la API.
private
string
$api_prefix
= '/api'
$api_token
El token de autenticación para la API.
private
string|null
$api_token
= null
$api_url
La URL base de la API de API Gateway.
private
string
$api_url
= 'https://apigateway.cl'
$api_version
La versión de la API a utilizar.
private
string
$api_version
= 'v1'
$last_response
La última respuesta recibida de la API.
private
ResponseInterface|null
$last_response
= null
$last_url
La última URL utilizada en la solicitud HTTP.
private
string|null
$last_url
= null
Methods
__construct()
Constructor de la clase base.
public
__construct([array<string|int, mixed> $credenciales = [] ][, string|null $token = null ][, string|null $url = null ]) : mixed
Parameters
- $credenciales : array<string|int, mixed> = []
-
Argumentos adicionales para la autenticación.
- $token : string|null = null
-
Token de autenticación para la API.
- $url : string|null = null
-
URL base para la API.
consume()
Realiza una solicitud HTTP a la API.
public
consume(string $resource[, array<string|int, mixed> $data = [] ][, array<string|int, mixed> $headers = [] ][, string|null $method = null ][, array<string|int, mixed> $options = [] ]) : $this
Este método envía una solicitud HTTP a la API de API Gateway, utilizando los parámetros especificados y manejando la autenticación y la respuesta.
Parameters
- $resource : string
-
El recurso de la API al cual realizar la solicitud.
- $data : array<string|int, mixed> = []
-
Datos a enviar en la solicitud (para métodos POST y PUT).
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $method : string|null = null
-
Método HTTP a utilizar (GET, POST, PUT, DELETE).
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Tags
Return values
$this —Instancia actual del cliente para encadenar llamadas.
delete()
Realiza una solicitud DELETE a la API.
public
delete(string $resource[, array<string|int, mixed> $headers = [] ][, array<string|int, mixed> $options = [] ]) : ResponseInterface|null
Parameters
- $resource : string
-
Recurso de la API al cual realizar la solicitud.
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Return values
ResponseInterface|nullget()
Realiza una solicitud GET a la API.
public
get(string $resource[, array<string|int, mixed> $headers = [] ][, array<string|int, mixed> $options = [] ]) : ResponseInterface|null
Parameters
- $resource : string
-
Recurso de la API al cual realizar la solicitud.
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Return values
ResponseInterface|nullgetBody()
Obtiene el cuerpo de la última respuesta HTTP.
public
getBody() : string
Este método devuelve el cuerpo de la respuesta de la última solicitud HTTP realizada utilizando este cliente API.
Tags
Return values
string —El cuerpo de la respuesta HTTP.
getBodyDecoded()
Obtiene el cuerpo de la última respuesta HTTP y lo decodifica de JSON.
public
getBodyDecoded() : array<string|int, mixed>
Este método devuelve el cuerpo de la respuesta de la última solicitud HTTP realizada por este cliente API, decodificándolo de formato JSON a un arreglo asociativo de PHP.
Tags
Return values
array<string|int, mixed> —El cuerpo de la respuesta HTTP decodificado como un arreglo.
getLastResponse()
Obtiene la última respuesta recibida de la API.
public
getLastResponse() : ResponseInterface|null
Return values
ResponseInterface|nullgetLastUrl()
Obtiene la última URL utilizada en la solicitud HTTP.
public
getLastUrl() : string|null
Return values
string|nulllistado_primera_categoria()
Obtiene un listado de actividades económicas de primera categoría.
public
listado_primera_categoria() : ResponseInterface
Return values
ResponseInterface —Respuesta JSON con el listado de actividades económicas de primera categoría.
listado_segunda_categoria()
Obtiene un listado de actividades económicas de segunda categoría.
public
listado_segunda_categoria() : ResponseInterface
Return values
ResponseInterface —Respuesta JSON con el listado de actividades económicas de segunda categoría.
listarActividades()
Obtiene un listado de actividades económicas. Puede filtrar por categoría.
public
listarActividades([int $categoria = null ]) : ResponseInterface
Parameters
- $categoria : int = null
-
Categoría de las actividades económicas (opcional).
Return values
ResponseInterface —Respuesta JSON con el listado de actividades económicas.
post()
Realiza una solicitud POST a la API.
public
post(string $resource, array<string|int, mixed> $data[, array<string|int, mixed> $headers = [] ][, array<string|int, mixed> $options = [] ]) : ResponseInterface|null
Parameters
- $resource : string
-
Recurso de la API al cual realizar la solicitud.
- $data : array<string|int, mixed>
-
Datos a enviar en la solicitud.
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Return values
ResponseInterface|nullput()
Realiza una solicitud PUT a la API.
public
put(string $resource, array<string|int, mixed> $data[, array<string|int, mixed> $headers = [] ][, array<string|int, mixed> $options = [] ]) : ResponseInterface|null
Parameters
- $resource : string
-
Recurso de la API al cual realizar la solicitud.
- $data : array<string|int, mixed>
-
Datos a enviar en la solicitud.
- $headers : array<string|int, mixed> = []
-
Encabezados adicionales para incluir en la solicitud.
- $options : array<string|int, mixed> = []
-
Arreglo con las opciones de la solicitud HTTP.
Return values
ResponseInterface|nullsetToken()
Establece el token de autenticación.
public
setToken(string $token) : $this
Parameters
- $token : string
-
Token de autenticación.
Return values
$thissetUrl()
Establece la URL base de la API.
public
setUrl(string $url) : $this
Parameters
- $url : string
-
URL base.
Return values
$thistoArray()
Convierte la última respuesta HTTP en un arreglo asociativo.
public
toArray() : array<string|int, mixed>
Este método transforma la última respuesta HTTP recibida en un arreglo asociativo, que incluye información del estado HTTP, encabezados y el cuerpo de la respuesta, ya sea en formato de texto o decodificado de JSON.
Tags
Return values
array<string|int, mixed> —Arreglo asociativo con la información de la respuesta.
getAuthPass()
Obtiene la autenticación de tipo 'pass'.
protected
getAuthPass() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —Información de autenticación.
env()
Obtiene el valor de una variable de entorno.
private
env(string $name) : string|null
Parameters
- $name : string
-
Nombre de la variable de entorno.
Return values
string|null —Valor de la variable de entorno o null si no está definida.
getError()
Extrae información detallada sobre un error a partir de la última respuesta HTTP.
private
getError() : object
Este método analiza la última respuesta HTTP para extraer información detallada sobre un error que ocurrió durante la solicitud. Devuelve un objeto con los detalles del error, incluyendo el código y el mensaje.
Return values
object —Detalles del error con propiedades 'code' y 'message'.
isAuthCertData()
Valida si una cadena tiene formato PEM válido.
private
isAuthCertData(string $pemStr) : bool
El formato PEM debe cumplir con los siguientes criterios:
- Comienza con una línea "-----BEGIN [LABEL]-----"
- Termina con una línea "-----END [LABEL]-----"
- Contiene contenido Base64 válido entre las líneas BEGIN y END
Ejemplos de PEM Válidos:
```
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIEbGzVnzANBgkqhkiG9w0BAQsFADBvMQswCQYDVQQGEwJV
...
-----END CERTIFICATE-----
```
Ejemplos de PEM Inválidos:
- Falta la línea de inicio o fin.
- Contenido no codificado en Base64.
- Etiquetas de BEGIN y END que no coinciden.
Parameters
- $pemStr : string
-
La cadena a validar.
Return values
bool —true si la cadena tiene formato PEM válido, false en caso contrario.
isAuthFileData()
Verifica si una cadena es una cadena codificada en Base64 válida.
private
isAuthFileData(string $firmaElectronicaBase64) : bool
Parameters
- $firmaElectronicaBase64 : string
-
La cadena a verificar.
Return values
bool —true si la cadena es válida en Base64, false en caso contrario.
isAuthPass()
Valida la estructura de un RUT chileno utilizando una expresión regular.
private
isAuthPass(string $rut) : bool
Este método verifica que el RUT cumpla con el formato estándar chileno, que incluye puntos como separadores de miles opcionales y un guion antes del dígito verificador. El dígito verificador puede ser un número o la letra 'K'.
Ejemplos de RUT válidos:
- 12.345.678-5
- 12345678-5
- 9.876.543-K
- 9876543-K
Ejemplos de RUT inválidos:
- 12.345.678-9 (dígito verificador incorrecto)
- 12345678- (falta dígito verificador)
- 12345-6 (formato incorrecto)
- 12.345.6785 (falta guion)
- abcdefgh-i (caracteres no permitidos)
Parameters
- $rut : string
-
El RUT a validar.
Return values
bool —true si el RUT tiene un formato válido,false en caso contrario.
setupAuth()
Configura la autenticación específica para la aplicación.
private
setupAuth(array<string|int, mixed> $credenciales) : void
Parameters
- $credenciales : array<string|int, mixed>
-
Parámetros de autenticación. Puede ser 'pass' o 'cert'.
Tags
throwException()
Lanza una ApiException con los detalles del último error.
private
throwException() : mixed
Este método utiliza la información obtenida del método getError() para lanzar una ApiException con un mensaje de error detallado y un código de error asociado. Se utiliza para manejar errores de la API de manera uniforme en toda la clase.