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
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
$siiLazyWorker
private
SiiLazyWorkerInterface
$siiLazyWorker
Methods
__construct()
public
__construct(SiiLazyWorkerInterface $siiLazyWorker) : mixed
Parameters
- $siiLazyWorker : SiiLazyWorkerInterface
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
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
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.