LibreDTE

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

Methods

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

Si alguno de los RUT son inválidos.

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

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
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.

Tags
throws
SiiClientException

Si el envío tuvo algún problema.


        
On this page

Search results