LibreDTE

SiiLazyWorkerInterface extends WorkerInterface

Interfaz del lazy worker del SII.

Table of Contents

Methods

authenticate()  : string
Obtiene un token de autenticación asociado al certificado digital.
checkXmlDocumentSentStatus()  : SiiCheckXmlDocumentSentStatusResponse
Obtiene el estado actualizado del envío de un documento XML al SII.
consumeWebservice()  : XmlInterface
Realiza una solicitud a un servicio web del SII mediante el uso de WSDL.
requestXmlDocumentSentStatusByEmail()  : SiiRequestXmlDocumentSentStatusByEmailResponse
Solicita al SII que le envíe el estado del DTE mediente correo electrónico.
sendXmlDocument()  : int
Realiza el envío de un documento XML al SII.
validateDocument()  : SiiValidateDocumentResponse
Obtiene el estado de un documento en el SII.
validateDocumentSignature()  : SiiValidateDocumentSignatureResponse
Obtiene el estado avanzado de un documento en el SII.

Methods

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
SiiAuthenticateException

Si hubo algún error al obtener el token.

Return values
string

El token asociado al certificado digital de la solicitud.

checkXmlDocumentSentStatus()

Obtiene el estado actualizado del envío de un documento XML al SII.

public checkXmlDocumentSentStatus(SiiRequestInterface $request, int $trackId, string $company) : SiiCheckXmlDocumentSentStatusResponse

Este estado podría no ser el final, si no es un estado final se debe reintentar la consulta posteriormente al SII.

Referencia: https://www.sii.cl/factura_electronica/factura_mercado/estado_envio.pdf

Parameters
$request : SiiRequestInterface

Datos de la solicitud al SII.

$trackId : int

Número de seguimiento asignado al envío del XML.

$company : string

RUT de la empresa emisora del XML que se envió.

Tags
throws
SiiCheckXmlDocumentSentStatusException

En caso de error.

Return values
SiiCheckXmlDocumentSentStatusResponse

consumeWebservice()

Realiza una solicitud a un servicio web del SII mediante el uso de WSDL.

public consumeWebservice(SiiRequestInterface $request, string $service, string $function[, array<string|int, mixed>|int $args = [] ][, int|null $retry = null ]) : XmlInterface

Este método prepara y normaliza los datos recibidos y llama al método que realmente hace la consulta al SII: callServiceFunction().

Parameters
$request : SiiRequestInterface

Datos de la solicitud al SII.

$service : string

Nombre del servicio del SII que se consumirá.

$function : string

Nombre de la función que se ejecutará en el servicio web del SII.

$args : array<string|int, mixed>|int = []

Argumentos que se pasarán al servicio web.

$retry : int|null = null

Intentos que se realizarán como máximo para obtener respuesta.

Tags
throws
SiiConsumeWebserviceException

En caso de error.

Return values
XmlInterface

Documento XML con la respuesta del servicio web.

requestXmlDocumentSentStatusByEmail()

Solicita al SII que le envíe el estado del DTE mediente correo electrónico.

public requestXmlDocumentSentStatusByEmail(SiiRequestInterface $request, int $trackId, string $company) : SiiRequestXmlDocumentSentStatusByEmailResponse

El correo al que se informa el estado del DTE es el que está configurado en el SII, no siendo posible asignarlo mediante el servicio web.

La principal ventaja de utilizar este método es que el SII en el correo incluye los detalles de los rechazos, algo que no entrega a través del servicio web de consulta del estado del envío del XML al SII.

Referencia: https://www.sii.cl/factura_electronica/factura_mercado/OIFE2005_wsDTECorreo_MDE.pdf

Parameters
$request : SiiRequestInterface

Datos de la solicitud al SII.

$trackId : int

Número de seguimiento asignado al envío del XML.

$company : string

RUT de la empresa emisora del documento.

Tags
throws
SiiRequestXmlDocumentSentStatusByEmailException

En caso de error.

Return values
SiiRequestXmlDocumentSentStatusByEmailResponse

sendXmlDocument()

Realiza el envío de un documento XML al SII.

public sendXmlDocument(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
throws
UnexpectedValueException

Si alguno de los RUT son inválidos.

throws
SiiSendXmlDocumentException

Si hay algún error al enviar el XML.

Return values
int

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

validateDocument()

Obtiene el estado de un documento en el SII.

public validateDocument(SiiRequestInterface $request, string $company, int $document, int $number, string $date, int $total, string $recipient) : SiiValidateDocumentResponse

Este estado solo se obtiene si el documento se encuentra aceptado por el SII, ya sea aceptado 100% OK o con reparos.

Este servicio valida que el documento exista en SII (esté aceptado) y además que los datos del documento proporcionados coincidan.

Referencia: https://www.sii.cl/factura_electronica/factura_mercado/estado_dte.pdf

Parameters
$request : SiiRequestInterface

Datos de la solicitud al SII.

$company : string

RUT de la empresa emisora del documento.

$document : int

Tipo de documento tributario electrónico.

$number : int

Folio del documento.

$date : string

Fecha de emisión del documento, formato: AAAA-MM-DD.

$total : int

Total del documento.

$recipient : string

RUT del receptor del documento.

Tags
throws
SiiValidateDocumentException

En caso de error.

Return values
SiiValidateDocumentResponse

validateDocumentSignature()

Obtiene el estado avanzado de un documento en el SII.

public validateDocumentSignature(SiiRequestInterface $request, string $company, int $document, int $number, string $date, int $total, string $recipient, string $signature) : SiiValidateDocumentSignatureResponse

Este estado solo se obtiene si el documento se encuentra aceptado por el SII, ya sea aceptado 100% OK o con reparos.

Este servicio valida que el documento exista en SII (esté aceptado), que los datos del documento proporcionados coincidan. Finalmente, valida que la firma electrónica del documento coincida con la enviada al SII.

Referencia: https://www.sii.cl/factura_electronica/factura_mercado/OIFE2006_QueryEstDteAv_MDE.pdf

Parameters
$request : SiiRequestInterface

Datos de la solicitud al SII.

$company : string

RUT de la empresa emisora del documento.

$document : int

Tipo de documento tributario electrónico.

$number : int

Folio del documento.

$date : string

Fecha de emisión del documento, formato: AAAA-MM-DD.

$total : int

Total del documento.

$recipient : string

RUT del receptor del documento.

$signature : string

Tag DTE/Signature/SignatureValue del XML.

Tags
throws
SiiValidateDocumentSignatureException

En caso de error.

Return values
SiiValidateDocumentSignatureResponse

        
On this page

Search results