DocumentUploader
in package
Clase para el envío de documentos al SII.
Principalmente es para el envío y consulta de estado del envío de documentos tributarios electrónicos en formato XML.
Table of Contents
Properties
- $certificate : Certificate
- Certificado digital.
- $config : ConnectionConfig
- Configuración de la conexión al SII.
- $tokenManager : TokenManager
- Administrador de tokens de autenticación del SII.
Methods
- __construct() : mixed
- Constructor de la clase que consume servicios web mediante WSDL del SII.
- 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() : XmlDocument
- 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
$certificate
Certificado digital.
private
Certificate
$certificate
$config
Configuración de la conexión al SII.
private
ConnectionConfig
$config
$tokenManager
Administrador de tokens de autenticación del SII.
private
TokenManager
$tokenManager
Methods
__construct()
Constructor de la clase que consume servicios web mediante WSDL del SII.
public
__construct(Certificate $certificate, ConnectionConfig $config, TokenManager $tokenManager) : mixed
Parameters
- $certificate : Certificate
- $config : ConnectionConfig
- $tokenManager : TokenManager
sendXml()
Realiza el envío de un XML al SII.
public
sendXml(XmlDocument $doc, string $company[, bool $compress = false ][, int|null $retry = null ]) : int
Parameters
- $doc : XmlDocument
-
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(array<string|int, mixed> $data, int $retry) : XmlDocument
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
- $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
XmlDocument —Respuesta del SII al enviar el XML.
validateUploadXmlResponse()
Valida la respuesta recibida desde el SII al enviar un XML.
private
validateUploadXmlResponse(array<string|int, mixed> $response) : void
Parameters
- $response : array<string|int, mixed>
-
Arreglo con los datos del XML de la respuesta.