API Gateway API Client

Misii extends ApiBase
in package

Módulo para interactuar con la sección MiSii de un contribuyente en el sitio web del SII.

Para más información sobre la API, consulte la documentación completa de MiSii <https://developers.apigateway.cl/#b585f374-f106-46a9-9f47-666d478b8ac8>_.

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
Cliente específico para interactuar con los endpoints de un Contribuyente de MiSii de la API de API Gateway.
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.
obtenerDatosContribuyenteMisii()  : ResponseInterface
Obtiene los datos de MiSii del contribuyente autenticado en el SII.
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()

Cliente específico para interactuar con los endpoints de un Contribuyente de MiSii de la API de API Gateway.

public __construct(array<string|int, mixed> $credenciales[, string|null $token = null ][, string|null $url = null ]) : mixed

Hereda de ApiBase y utiliza su funcionalidad para realizar solicitudes a la API.

Parameters
$credenciales : array<string|int, mixed>

Credenciales de 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
throws
ApiException

Si se produce un error en la solicitud.

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|null

get()

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|null

getBody()

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
throws
ApiException

Si no hay respuesta previa o el cuerpo no se puede obtener.

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
throws
ApiException

Si no hay respuesta previa o el cuerpo no se puede decodificar.

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|null

getLastUrl()

Obtiene la última URL utilizada en la solicitud HTTP.

public getLastUrl() : string|null
Return values
string|null

obtenerDatosContribuyenteMisii()

Obtiene los datos de MiSii del contribuyente autenticado en el SII.

public obtenerDatosContribuyenteMisii([mixed $auth_cache = null ]) : ResponseInterface
Parameters
$auth_cache : mixed = null

Parámetro de caché de autenticación. Si es 0, se refrescará la caché. Si se obtiene "Too many requests", no usar este parámetro.

Return values
ResponseInterface

Respuesta JSON con los datos del contribuyente.

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|null

put()

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|null

setToken()

Establece el token de autenticación.

public setToken(string $token) : $this
Parameters
$token : string

Token de autenticación.

Return values
$this

setUrl()

Establece la URL base de la API.

public setUrl(string $url) : $this
Parameters
$url : string

URL base.

Return values
$this

toArray()

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
throws
ApiException

Si se encuentra un error en el proceso.

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
throws
ApiException

Si falta información de autenticación.

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
throws
ApiException

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.

Tags
throws
ApiException

Lanza una excepción con detalles del error.


        
On this page

Search results