LibreDTE

SiiDocumentSenderWorker extends AbstractWorker
in package
implements SiiDocumentSenderWorkerInterface

Clase para el envío de documentos al SII.

Table of Contents

Interfaces

SiiDocumentSenderWorkerInterface
Interfaz del worker que envía (sube) los documentos (XML) al SII.

Properties

$lazyWorker  : SiiLazyWorkerInterface
$tokenManager  : SiiTokenManagerWorkerInterface
$xmlComponent  : XmlComponentInterface

Methods

__construct()  : mixed
Constructor del worker.
sendXml()  : int
Realiza el envío de un XML al SII.
createXmlFile()  : array<string|int, mixed>
Guarda el XML en un archivo temporal y, si es necesario, lo comprime.
getXmlFilePath()  : string
Obtiene un nombre único para el archivo del XML que se desea crear.
uploadXml()  : XmlInterface
Sube el archivo XML al SII y retorna la respuesta de este.
validateUploadXmlResponse()  : void
Valida la respuesta recibida desde el SII al enviar un XML.

Properties

Methods

sendXml()

Realiza el envío de un XML al SII.

public sendXml(CertificateInterface $certificate, XmlInterface $doc, string $company[, bool $compress = false ][, int|null $retry = null ]) : int
Parameters
$certificate : CertificateInterface

Certificado digital.

$doc : XmlInterface

Documento XML que se desea enviar al SII.

$company : string

RUT de la empresa emisora del XML.

$compress : bool = false

Indica si se debe enviar comprimido el XML.

$retry : int|null = null

Intentos que se realizarán como máximo al enviar.

Return values
int

Número de seguimiento (Track ID) del envío del XML al SII.

createXmlFile()

Guarda el XML en un archivo temporal y, si es necesario, lo comprime.

private createXmlFile(string $xml, bool $compress) : array<string|int, mixed>
Parameters
$xml : string

Documento XML que se guardará en el archivo..

$compress : bool

Indica si se debe crear un archivo comprimido.

Return values
array<string|int, mixed>

Arreglo con la ruta al archivo creado y su mimetype.

getXmlFilePath()

Obtiene un nombre único para el archivo del XML que se desea crear.

private getXmlFilePath(bool $compress) : string
Parameters
$compress : bool

Indica si se debe crear un archivo comprimido.

Return values
string

Arreglo con la ruta al archivo.

uploadXml()

Sube el archivo XML al SII y retorna la respuesta de este.

private uploadXml(CertificateInterface $certificate, array<string|int, mixed> $data, int $retry) : XmlInterface

Este método emula la subida mendiante los siguientes formularios:

  • Producción: https://palena.sii.cl/cgi_dte/UPL/DTEauth?1
  • Certificación: https://maullin.sii.cl/cgi_dte/UPL/DTEauth?1
Parameters
$certificate : CertificateInterface

Certificado digital.

$data : array<string|int, mixed>

Arreglo con los datos del formulario del SII, incluyendo el archivo XML que se subirá.

$retry : int
Tags
throws
SiiLazyException

Si no se puede obtener el token para enviar el XML al SII o si hubo un problema (error) al enviar el XML al SII.

Return values
XmlInterface

Respuesta del SII al enviar el XML.

validateUploadXmlResponse()

Valida la respuesta recibida desde el SII al enviar un XML.

private validateUploadXmlResponse(CertificateInterface $certificate, array<string|int, mixed> $response) : void
Parameters
$certificate : CertificateInterface

Certificado digital.

$response : array<string|int, mixed>

Arreglo con los datos del XML de la respuesta.

Tags
throws
SiiLazyException

Si el envío tuvo algún problema.


        
On this page

Search results