SendXmlDocumentJob
extends AbstractJob
in package
implements
JobInterface
Clase para el envío de documentos al SII.
Table of Contents
Interfaces
- JobInterface
Properties
- $authenticateJob : AuthenticateJob
- $xmlComponent : XmlComponentInterface
Methods
- __construct() : mixed
- Constructor del worker.
- send() : int
- Realiza el envío de un documento 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
$authenticateJob
private
AuthenticateJob
$authenticateJob
$xmlComponent
private
XmlComponentInterface
$xmlComponent
Methods
__construct()
Constructor del worker.
public
__construct(AuthenticateJob $authenticateJob, XmlComponentInterface $xmlComponent) : mixed
Parameters
- $authenticateJob : AuthenticateJob
- $xmlComponent : XmlComponentInterface
send()
Realiza el envío de un documento XML al SII.
public
send(SiiRequestInterface $request, XmlInterface $doc, string $company[, bool $compress = false ][, int|null $retry = null ]) : int
Parameters
- $request : SiiRequestInterface
-
Datos de la solicitud al SII.
- $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.
Tags
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(SiiRequestInterface $request, 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
- $request : SiiRequestInterface
-
Datos de la solicitud al SII.
- $data : array<string|int, mixed>
-
Arreglo con los datos del formulario del SII, incluyendo el archivo XML que se subirá.
- $retry : int
Tags
Return values
XmlInterface —Respuesta del SII al enviar el XML.
validateUploadXmlResponse()
Valida la respuesta recibida desde el SII al enviar un XML.
private
validateUploadXmlResponse(SiiRequestInterface $request, array<string|int, mixed> $response) : void
Parameters
- $request : SiiRequestInterface
-
Datos de la solicitud al SII.
- $response : array<string|int, mixed>
-
Arreglo con los datos del XML de la respuesta.