LibreDTE

SendAecJob extends AbstractJob
in package
implements JobInterface

Clase para el envío de un AEC al RTC del SII.

Attributes
#[Job]
$name: 'send_aec'
$worker: 'sii_rtc'
$component: 'integration'
$package: 'billing'

Table of Contents

Interfaces

JobInterface

Properties

$siiLazyWorker  : SiiLazyWorkerInterface

Methods

__construct()  : mixed
send()  : SendAecResponse
Envía un AEC al Registro de Transferencias de Créditos (RTC) del SII.
createXmlFile()  : string
Crea un archivo temporal con el XML del AEC.
uploadAec()  : array<string|int, mixed>
Sube el AEC al endpoint del RTC del SII.
validateResponse()  : void
Valida la respuesta del SII al enviar el AEC.

Properties

Methods

send()

Envía un AEC al Registro de Transferencias de Créditos (RTC) del SII.

public send(SiiRequestInterface $request, XmlDocumentInterface $doc, string $company, string $emailNotif[, int|null $retry = null ]) : SendAecResponse
Parameters
$request : SiiRequestInterface

Datos de la solicitud al SII.

$doc : XmlDocumentInterface

Documento XML del AEC.

$company : string

RUT del cedente.

$emailNotif : string

Correo electrónico de contacto del cedente.

$retry : int|null = null

Intentos máximos al enviar.

Tags
throws
UnexpectedValueException

Si el RUT de la empresa es inválido.

throws
SendAecException

Si hay algún error al enviar el AEC.

Return values
SendAecResponse

Respuesta con el Track ID del envío.

createXmlFile()

Crea un archivo temporal con el XML del AEC.

private createXmlFile(string $xml) : string
Parameters
$xml : string

Contenido XML del AEC (debe incluir declaración).

Return values
string

Ruta al archivo temporal creado.

uploadAec()

Sube el AEC al endpoint del RTC del SII.

private uploadAec(SiiRequestInterface $request, array<string|int, mixed> $data, int $retry) : array<string|int, mixed>

Emula el formulario web en:

  • Producción: https://palena.sii.cl/cgi_rtc/RTC/RTCDocum.cgi?2
  • Certificación: https://maullin.sii.cl/cgi_rtc/RTC/RTCDocum.cgi?2
Parameters
$request : SiiRequestInterface
$data : array<string|int, mixed>

Campos del formulario multipart, incluido el archivo.

$retry : int

Número de reintentos.

Tags
throws
SiiRtcException

Si no se puede autenticar o si el HTTP falla.

Return values
array<string|int, mixed>

Respuesta del SII decodificada como arreglo.

validateResponse()

Valida la respuesta del SII al enviar el AEC.

private validateResponse(array<string|int, mixed> $response) : void

Códigos de estado: 0 → Envío recibido OK. 1 → RUT autenticado no tiene permiso para enviar en empresa cedente. 2 → Error en tamaño del archivo enviado. 4 → Faltan parámetros de entrada. 5 → Error de autenticación (TOKEN inválido, no existe o expirado). 6 → Empresa no es DTE. 9 → Error interno del SII. 10 → Error interno del SII.

Parameters
$response : array<string|int, mixed>

Arreglo decodificado de la respuesta XML del SII.

Tags
throws
SendAecException

Si el STATUS indica un error.


        
On this page

Search results