SiiRequest
in package
implements
SiiRequestInterface
uses
OptionsAwareTrait
Clase para administrar la solicitud al sitio web del SII de Chile.
Table of Contents
Interfaces
- SiiRequestInterface
- Interfaz para una solicitud al SII.
Properties
- $optionsSchema : array<string|int, mixed>
- Reglas de esquema de las opciones de la solicitud al SII.
- $certificate : CertificateInterface|null
- Certificado digital que se utilizará en las consultas al SII.
Methods
- __construct() : mixed
- Constructor de la configuración de conexión.
- getAmbiente() : SiiAmbiente
- Entrega el ambiente que está configurado para realizar las conexiones al Servicio de Impuestos Internos.
- getCertificate() : CertificateInterface|null
- Obtiene el certificado digital asociado a la solicitud.
- getReintentos() : int
- Entrega la cantidad de reintentos que se deben realizar al hacer una consulta a un servicio web del SII.
- getTokenDefaultCache() : string
- Indica cuál es la caché por defecto que se debe utilizar al realizar la consulta al SII en la gestión de tokens.
- getTokenKey() : string
- Obtiene la clave (llave) del token en la caché según el certificado digital asignado.
- getTokenTtl() : int
- Obtiene el TTL del token solicitado al SII.
- getVerificarSsl() : bool
- Indica si se está o no verificando el SSL en las conexiones al SII.
Properties
$optionsSchema
Reglas de esquema de las opciones de la solicitud al SII.
protected
array<string|int, mixed>
$optionsSchema
= [
// Por defecto la conexión es a los servidores de producción del SII.
'ambiente' => ['types' => \libredte\lib\Core\Package\Billing\Component\Integration\Enum\SiiAmbiente::class, 'default' => \libredte\lib\Core\Package\Billing\Component\Integration\Enum\SiiAmbiente::PRODUCCION, 'choices' => [\libredte\lib\Core\Package\Billing\Component\Integration\Enum\SiiAmbiente::PRODUCCION, \libredte\lib\Core\Package\Billing\Component\Integration\Enum\SiiAmbiente::CERTIFICACION]],
// Especifica cuántos reintentos se realizarán de manera automática al
// hacer una solicitud al SII. El reintento se hará utilizando
// "exponential backoff", por lo que un número muy grande implicará un
// tiempo de ejecución alto.
'reintentos' => ['types' => 'int', 'default' => 10, 'normalizer' => null],
// Especifica si se debe o no realizar la validación del certificado
// SSL del SII. A veces, en pruebas sobre todo, ha resultado útil poder
// desactivar esta validación. Sin embargo, se desaconseja hacerlo por
// motivos de seguridad.
'verificar_ssl' => ['types' => 'bool', 'default' => true],
// Opciones para el token que se utilizará en la solicitud.
'token' => ['types' => 'array', 'schema' => [
// Esta es la caché por defecto que se utilizará al solicitar
// una caché que implemente PSR-16 para almarcenar el token.
'cache' => ['types' => 'string', 'default' => 'memory', 'choices' => ['memory', 'filesystem']],
// Formato de la clave en caché para guardar el token asociado a
// un certificado. Se utiliza un placeholder que se reemplazará
// con el ID del certificado.
'key' => ['types' => 'string', 'default' => 'libredte_lib_sii_auth_token_%s'],
// Tiempo en segundos que el token es válido desde que se
// solicitó. Será el tiempo que se mantenga en caché.
'ttl' => ['types' => 'int', 'default' => 60],
]],
]
$certificate
Certificado digital que se utilizará en las consultas al SII.
private
CertificateInterface|null
$certificate
Methods
__construct()
Constructor de la configuración de conexión.
public
__construct([CertificateInterface|null $certificate = null ][, array<string|int, mixed>|DataContainerInterface $options = [] ]) : mixed
Parameters
- $certificate : CertificateInterface|null = null
- $options : array<string|int, mixed>|DataContainerInterface = []
-
Opciones de la solicitud.
getAmbiente()
Entrega el ambiente que está configurado para realizar las conexiones al Servicio de Impuestos Internos.
public
getAmbiente() : SiiAmbiente
Return values
SiiAmbiente —Ambiente que se utilizará en la conexión al SII.
getCertificate()
Obtiene el certificado digital asociado a la solicitud.
public
getCertificate() : CertificateInterface|null
Return values
CertificateInterface|nullgetReintentos()
Entrega la cantidad de reintentos que se deben realizar al hacer una consulta a un servicio web del SII.
public
getReintentos([int|null $reintentos = null ]) : int
Parameters
- $reintentos : int|null = null
Return values
intgetTokenDefaultCache()
Indica cuál es la caché por defecto que se debe utilizar al realizar la consulta al SII en la gestión de tokens.
public
getTokenDefaultCache() : string
Return values
string —Tipo de caché por defecto configurada.
getTokenKey()
Obtiene la clave (llave) del token en la caché según el certificado digital asignado.
public
getTokenKey() : string
Return values
stringgetTokenTtl()
Obtiene el TTL del token solicitado al SII.
public
getTokenTtl() : int
Return values
intgetVerificarSsl()
Indica si se está o no verificando el SSL en las conexiones al SII.
public
getVerificarSsl() : bool
Return values
bool —true
si se está verificando, false
en caso contrario.