LibreDTE

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

$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
throws
SiiAuthenticateException

Si hubo algún error al obtener el token.

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

En caso de error.

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

En caso de error.

Return values
string

Token para autenticación en SII.


        
On this page

Search results