SiiRtcWorker
extends AbstractWorker
in package
implements
SiiRtcWorkerInterface
Clase del worker del RTC del SII.
Gestiona el envío del Archivo Electrónico de Cesión (AEC) al Registro de Transferencias de Créditos (RTC) del SII y las consultas del estado de los envíos y de las cesiones.
Attributes
- #[Worker]
- $name: 'sii_rtc'
- $component: 'integration'
- $package: 'billing'
Table of Contents
Interfaces
- SiiRtcWorkerInterface
- Interfaz del worker del RTC del SII.
Properties
- $checkAecSentStatusJob : CheckAecSentStatusJob
- $getAssignmentStatusJob : GetAssignmentStatusJob
- $getRelatedAssignmentStatusJob : GetRelatedAssignmentStatusJob
- $sendAecJob : SendAecJob
Methods
- __construct() : mixed
- checkAecSentStatus() : CheckAecSentStatusResponse
- Obtiene el estado actualizado del envío de un AEC al RTC del SII.
- getAssignmentStatus() : GetAssignmentStatusResponse
- Obtiene el estado de la cesión de un documento en el RTC del SII.
- getRelatedAssignmentStatus() : GetAssignmentStatusResponse
- Obtiene el detalle de la cesión de un documento para una empresa vinculada con ella, ya sea como tenedor o como receptor.
- sendAec() : SendAecResponse
- Envía un AEC al Registro de Transferencias de Créditos (RTC) del SII.
Properties
$checkAecSentStatusJob
private
CheckAecSentStatusJob
$checkAecSentStatusJob
$getAssignmentStatusJob
private
GetAssignmentStatusJob
$getAssignmentStatusJob
$getRelatedAssignmentStatusJob
private
GetRelatedAssignmentStatusJob
$getRelatedAssignmentStatusJob
$sendAecJob
private
SendAecJob
$sendAecJob
Methods
__construct()
public
__construct(SendAecJob $sendAecJob, CheckAecSentStatusJob $checkAecSentStatusJob, GetAssignmentStatusJob $getAssignmentStatusJob, GetRelatedAssignmentStatusJob $getRelatedAssignmentStatusJob) : mixed
Parameters
- $sendAecJob : SendAecJob
- $checkAecSentStatusJob : CheckAecSentStatusJob
- $getAssignmentStatusJob : GetAssignmentStatusJob
- $getRelatedAssignmentStatusJob : GetRelatedAssignmentStatusJob
checkAecSentStatus()
Obtiene el estado actualizado del envío de un AEC al RTC del SII.
public
checkAecSentStatus(SiiRequestInterface $request, int $trackId) : CheckAecSentStatusResponse
Parameters
- $request : SiiRequestInterface
-
Datos de la solicitud al SII.
- $trackId : int
-
Número de seguimiento asignado al envío del AEC.
Attributes
- #[Operation]
- $parameters: ['request' => ['example' => ['certificate' => ['certificate' => '', 'privateKey' => ''], 'options' => ['environment' => SiiEnvironment::PRODUCTION]]], 'trackId' => ['example' => 1234567890]]
Return values
CheckAecSentStatusResponse —El estado del envío.
getAssignmentStatus()
Obtiene el estado de la cesión de un documento en el RTC del SII.
public
getAssignmentStatus(SiiRequestInterface $request, string $company, int $document, int $number[, string|null $assignmentId = null ]) : GetAssignmentStatusResponse
Parameters
- $request : SiiRequestInterface
-
Datos de la solicitud al SII.
- $company : string
-
RUT del emisor del documento cedido.
- $document : int
-
Tipo de documento tributario electrónico (33 o 34).
- $number : int
-
Folio del documento.
- $assignmentId : string|null = null
-
Clave de acceso a la información de la cesión.
Attributes
- #[Operation]
- $parameters: ['request' => ['example' => ['certificate' => ['certificate' => '', 'privateKey' => ''], 'options' => ['environment' => SiiEnvironment::PRODUCTION]]], 'company' => ['example' => '12345678-5'], 'document' => ['example' => 33], 'number' => ['example' => 1234], 'assignmentId' => ['example' => '']]
Return values
GetAssignmentStatusResponse —El estado de la cesión.
getRelatedAssignmentStatus()
Obtiene el detalle de la cesión de un documento para una empresa vinculada con ella, ya sea como tenedor o como receptor.
public
getRelatedAssignmentStatus(SiiRequestInterface $request, string $company, int $document, int $number, string $relatedCompany) : GetAssignmentStatusResponse
Parameters
- $request : SiiRequestInterface
-
Datos de la solicitud al SII.
- $company : string
-
RUT del emisor del documento cedido.
- $document : int
-
Tipo de documento tributario electrónico (33 o 34).
- $number : int
-
Folio del documento.
- $relatedCompany : string
-
RUT de la empresa vinculada con la cesión.
Attributes
- #[Operation]
- $parameters: ['request' => ['example' => ['certificate' => ['certificate' => '', 'privateKey' => ''], 'options' => ['environment' => SiiEnvironment::PRODUCTION]]], 'company' => ['example' => '12345678-5'], 'document' => ['example' => 33], 'number' => ['example' => 1234], 'relatedCompany' => ['example' => '76192083-9']]
Return values
GetAssignmentStatusResponse —El detalle de la cesión.
sendAec()
Envía un AEC al Registro de Transferencias de Créditos (RTC) del SII.
public
sendAec(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 que se enviará.
- $company : string
-
RUT del cedente (empresa que cede el documento).
- $emailNotif : string
-
Correo electrónico de contacto del cedente para notificaciones del SII sobre el resultado del procesamiento del AEC.
- $retries : int|null = null
-
Intentos que se realizarán como máximo al enviar.
Attributes
- #[Operation]
- $parameters: ['request' => ['example' => ['certificate' => ['certificate' => '', 'privateKey' => ''], 'options' => ['environment' => SiiEnvironment::PRODUCTION]]], 'doc' => ['example' => ''], 'company' => ['example' => '12345678-5'], 'emailNotif' => ['example' => 'cedente@example.com']]
Return values
SendAecResponse —Respuesta con el Track ID del envío.