ConnectionConfig
in package
Clase para administrar todos los parámetros o configuraciones de la conexión al sitio web del SII (Servicio de Impuestos Internos) de Chile.
Table of Contents
Constants
- CERTIFICACION = 1
- Constante para indicar ambiente de certificación (pruebas).
- PRODUCCION = 0
- Constante para indicar ambiente de producción.
- REINTENTOS = 10
- Constante para indicar los reintentos por defecto, y máximos, que se permiten al consumir un servicio web del SII.
Properties
- $config : array<string|int, mixed>
- Configuración por defecto de la conexión al SII.
Methods
- __construct() : mixed
- Constructor de la configuración de conexión.
- getAmbiente() : int
- Entrega el ambiente que está configurado para realizar las conexiones al Servicio de Impuestos Internos.
- getDefaultCache() : string
- Indica cuál es la caché por defecto que se debe utilizar.
- getReintentos() : int
- Entrega la cantidad de reintentos que se deben realizar al hacer una consulta a un servicio web del SII.
- getServidor() : string
- Entrega el servidor del SII según el tipo solicitado y ambiente.
- getUrl() : string
- Método que entrega la URL de un recurso en el SII según el ambiente que se esté usando.
- getVerificarSsl() : bool
- Método que indica si se está o no verificando el SSL en las conexiones al SII.
- getWsdl() : string
- Entrega la URL de un WSDL según su servicio.
- setAmbiente() : self
- Permite asignar el ambiente que se debe usar con las conexiones al Servicio de Impuestos Internos.
- setServidor() : self
- Método que permite asignar el nombre del servidor del SII que se usará para las consultas al SII.
- setVerificarSsl() : self
- Método que permite indicar si se debe o no verificar el certificado SSL del SII.
Constants
CERTIFICACION
Constante para indicar ambiente de certificación (pruebas).
public
int
CERTIFICACION
= 1
PRODUCCION
Constante para indicar ambiente de producción.
public
int
PRODUCCION
= 0
REINTENTOS
Constante para indicar los reintentos por defecto, y máximos, que se permiten al consumir un servicio web del SII.
public
mixed
REINTENTOS
= 10
Properties
$config
Configuración por defecto de la conexión al SII.
private
array<string|int, mixed>
$config
= [
// Por defecto nos conectamos a los servidores de producción.
'ambiente' => self::PRODUCCION,
// Por defecto se asignan los servidores estándars de documentos
// tributarios electrónicos (DTE) para producción (palena) y
// certificación/pruebas (maullin).
'servidores' => ['default' => [self::PRODUCCION => 'palena', self::CERTIFICACION => 'maullin'], 'www4' => [self::PRODUCCION => 'www4', self::CERTIFICACION => 'www4c']],
// URL de los WSDL de diferentes servicios del SII. Se define una regla
// comodín "*" y otras específicas para ciertos servicios que tienen el
// WSDL en otra ruta.
'wsdl' => ['default' => 'https://%s.sii.cl/DTEWS/%s.jws?WSDL', 'QueryEstDteAv' => 'https://%s.sii.cl/DTEWS/services/%s?WSDL', 'wsDTECorreo' => 'https://%s.sii.cl/DTEWS/services/%s?WSDL'],
// 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' => self::REINTENTOS,
// 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' => true,
// Esta es la caché por defecto que se utilizará al solicitar una caché
// que implemente PSR-16 para la biblioteca (ej: TokenManager).
'cache' => ['default' => 'memory'],
]
Methods
__construct()
Constructor de la configuración de conexión.
public
__construct([array<string|int, mixed> $config = [] ]) : mixed
Parameters
- $config : array<string|int, mixed> = []
-
Arreglo con una configuración que reemplazará la por defecto.
getAmbiente()
Entrega el ambiente que está configurado para realizar las conexiones al Servicio de Impuestos Internos.
public
getAmbiente() : int
Return values
int —Ambiente que se utilizará en la conexión.
getDefaultCache()
Indica cuál es la caché por defecto que se debe utilizar.
public
getDefaultCache() : string
Return values
string —Tipo de caché por defecto configurada.
getReintentos()
Entrega la cantidad de reintentos que se deben realizar al hacer una consulta a un servicio web del SII.
public
getReintentos() : int
Return values
intgetServidor()
Entrega el servidor del SII según el tipo solicitado y ambiente.
public
getServidor([string $tipo = 'default' ]) : string
Parameters
- $tipo : string = 'default'
-
Es el tipo de servidor que se está solicitando.
Return values
string —Nombre del servidor al que se debe conectar en el SII.
getUrl()
Método que entrega la URL de un recurso en el SII según el ambiente que se esté usando.
public
getUrl(string $recurso) : string
Parameters
- $recurso : string
-
Recurso del sitio de SII que se desea su URL.
Return values
string —URL del recurso solicitado.
getVerificarSsl()
Método que 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.
getWsdl()
Entrega la URL de un WSDL según su servicio.
public
getWsdl(string $servicio) : string
Parameters
- $servicio : string
-
El servicio para el que se desea su WSDL.
Return values
string —WSDL del servicio si fue encontrado o el WSDL por defecto en el caso que no exista un WSDL específico para el servicio.
setAmbiente()
Permite asignar el ambiente que se debe usar con las conexiones al Servicio de Impuestos Internos.
public
setAmbiente([int $ambiente = self::PRODUCCION ]) : self
Parameters
- $ambiente : int = self::PRODUCCION
Return values
selfsetServidor()
Método que permite asignar el nombre del servidor del SII que se usará para las consultas al SII.
public
setServidor([string $servidor = 'palena' ][, int $ambiente = self::PRODUCCION ][, string $tipo = 'default' ]) : self
Parameters
- $servidor : string = 'palena'
-
Servidor que se usará. Ejemplo: maullin para certificación o palena para producción.
- $ambiente : int = self::PRODUCCION
-
Permite definir si se está cambiando el servidor de certificación o el de producción.
- $tipo : string = 'default'
-
Permite definir el tipo de servidor que se está asignando.
Return values
selfsetVerificarSsl()
Método que permite indicar si se debe o no verificar el certificado SSL del SII.
public
setVerificarSsl([bool $verificar = true ]) : self
Parameters
- $verificar : bool = true
-
true
si se quiere verificar certificado,false
en caso que no (por defecto se verifica).