AuthenticateJob
extends AbstractJob
in package
implements
JobInterface
Clase para gestionar las solicitudes de token para autenticación al SII.
Table of Contents
Interfaces
- JobInterface
Properties
- $cache : CacheInterface
- Instancia con la implementación de la caché que se utilizará para el almacenamiento de los tokens.
- $consumeWebserviceJob : ConsumeWebserviceJob
- Trabajo que realiza consultas a la API SOAP del SII.
- $signatureComponent : SignatureComponentInterface
- Componente para firma electrónica.
- $xmlComponent : XmlComponentInterface
- Componente para manejo de documentos XML.
Methods
- __construct() : mixed
- Constructor y sus dependencias.
- authenticate() : string
- Obtiene un token de autenticación asociado al certificado digital.
- getCache() : CacheInterface
- Entrega una instancia con la implementación de una caché para ser utilizada en la biblioteca.
- getSeedFromSii() : int
- Obtiene una semilla desde el SII para luego usarla en la obtención del token para la autenticación.
- getTokenFromSii() : string
- Método para obtener el token de la sesión en el SII.
Properties
$cache
Instancia con la implementación de la caché que se utilizará para el almacenamiento de los tokens.
private
CacheInterface
$cache
$consumeWebserviceJob
Trabajo que realiza consultas a la API SOAP del SII.
private
ConsumeWebserviceJob
$consumeWebserviceJob
$signatureComponent
Componente para firma electrónica.
private
SignatureComponentInterface
$signatureComponent
$xmlComponent
Componente para manejo de documentos XML.
private
XmlComponentInterface
$xmlComponent
Methods
__construct()
Constructor y sus dependencias.
public
__construct(SignatureComponentInterface $signatureComponent, XmlComponentInterface $xmlComponent, ConsumeWebserviceJob $consumeWebserviceJob[, CacheInterface|null $cache = null ]) : mixed
Parameters
- $signatureComponent : SignatureComponentInterface
- $xmlComponent : XmlComponentInterface
- $consumeWebserviceJob : ConsumeWebserviceJob
- $cache : CacheInterface|null = null
authenticate()
Obtiene un token de autenticación asociado al certificado digital.
public
authenticate(SiiRequestInterface $request) : string
El token se busca primero en la caché, si existe, se reutilizará, si no existe se solicitará uno nuevo al SII.
Parameters
- $request : SiiRequestInterface
-
Datos de la solicitud al SII.
Tags
Return values
string —El token asociado al certificado digital de la solicitud.
getCache()
Entrega una instancia con la implementación de una caché para ser utilizada en la biblioteca.
private
getCache(string $defaultCache) : CacheInterface
Parameters
- $defaultCache : string
-
Caché por defecto que se debe crear.
Return values
CacheInterface —Implementación de caché PSR-16.
getSeedFromSii()
Obtiene una semilla desde el SII para luego usarla en la obtención del token para la autenticación.
private
getSeedFromSii(SiiRequestInterface $request) : int
Este es el único servicio web que se puede llamar sin utilizar el certificado digital. Es de libre consumo y se usa para obtener la semilla necesaria para luego, usando el certificado, obtener un token válido para la sesión en el SII.
Nota: la semilla tiene una validez de 2 minutos.
WSDL producción: https://palena.sii.cl/DTEWS/CrSeed.jws?WSDL WSDL certificación: https://maullin.sii.cl/DTEWS/CrSeed.jws?WSDL
Parameters
- $request : SiiRequestInterface
-
Datos de la solicitud al SII.
Tags
Return values
int —La semilla si se logró obtener.
getTokenFromSii()
Método para obtener el token de la sesión en el SII.
private
getTokenFromSii(SiiRequestInterface $request) : string
Primero se obtiene una semilla, luego se firma la semilla con el certificado digital y con esta semilla firmada se hace la solicitud del token al SII.
Referencia: http://www.sii.cl/factura_electronica/autenticacion.pdf
WSDL producción: https://palena.sii.cl/DTEWS/GetTokenFromSeed.jws?WSDL WSDL certificación: https://maullin.sii.cl/DTEWS/GetTokenFromSeed.jws?WSDL
Parameters
- $request : SiiRequestInterface
-
Datos de la solicitud al SII.
Tags
Return values
string —Token para autenticación en SII.