LibreDTE

AuthenticateJob extends AbstractJob
in package
implements JobInterface

Clase para gestionar las solicitudes de token para autenticación al SII.

Attributes
#[Job]
$name: 'authenticate'
$worker: 'sii_lazy'
$component: 'integration'
$package: 'billing'

Table of Contents

Interfaces

JobInterface

Properties

$cache  : CacheItemPoolInterface
Instancia con la implementación de la caché que se utilizará para el almacenamiento de los tokens.
$consumeWebserviceJob  : ConsumeWebserviceJob
$memoizer  : Memoizer
Instancia utilizada para calcular y cachear el token una sola vez, incluso ante accesos concurrentes.
$signatureService  : SignatureServiceInterface
$xmlService  : XmlServiceInterface

Methods

__construct()  : mixed
Constructor y sus dependencias.
authenticate()  : string
Obtiene un token de autenticación asociado al certificado digital.
getCache()  : CacheItemPoolInterface
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 CacheItemPoolInterface $cache

$memoizer

Instancia utilizada para calcular y cachear el token una sola vez, incluso ante accesos concurrentes.

private Memoizer $memoizer

$signatureService

private SignatureServiceInterface $signatureService

Methods

__construct()

Constructor y sus dependencias.

public __construct(SignatureServiceInterface $signatureService, XmlServiceInterface $xmlService, ConsumeWebserviceJob $consumeWebserviceJob[, CacheItemPoolInterface $cache = null ]) : mixed
Parameters
$signatureService : SignatureServiceInterface

Servicio para firma electrónica.

$xmlService : XmlServiceInterface

Servicio para manejo de documentos XML.

$consumeWebserviceJob : ConsumeWebserviceJob

Trabajo que realiza consultas a la API SOAP del SII.

$cache : CacheItemPoolInterface = 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
AuthenticateException

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) : CacheItemPoolInterface
Parameters
$defaultCache : string

Caché por defecto que se debe crear.

Return values
CacheItemPoolInterface —

Implementación de caché PSR-6.

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
AuthenticateException

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
AuthenticateException

En caso de error.

Return values
string —

Token para autenticación en SII.

On this page

Search results