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 $retries = 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.

$retries : int|null = null

Intentos máximos al enviar.

Tags
throws
UnexpectedValueException

Si el RUT de la empresa es inválido.

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 $retries) : 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.

$retries : 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