BuildEnvioRecibosJob
extends AbstractJob
in package
implements
JobInterface
Construye el XML `EnvioRecibos` firmado.
El proceso:
- Se genera la estructura XML principal con placeholder
<Recibo/>. - Para cada recibo se genera y firma su XML individual con el ID
LibreDTE_T{tipo}F{folio}. - Se reemplazan los placeholders con los recibos firmados.
- Se firma el
SetReciboscompleto con IDLibreDTE_SetDteRecibidos.
Attributes
- #[Job]
- $name: 'build_envio_recibos'
- $worker: 'document_response'
- $component: 'exchange'
- $package: 'billing'
Table of Contents
Interfaces
- JobInterface
Properties
- $signatureService : SignatureServiceInterface
- $xmlEncoder : XmlEncoderInterface
Methods
- __construct() : mixed
- build() : EnvioRecibos
- Construye y firma el XML `EnvioRecibos`.
- normalizeCaratula() : array<string, mixed>
- Normaliza la carátula con los campos requeridos y sus valores por defecto.
- normalizeRecibo() : array<string, mixed>
- Normaliza un recibo con los campos requeridos y sus valores por defecto.
Properties
$signatureService
private
SignatureServiceInterface
$signatureService
$xmlEncoder
private
XmlEncoderInterface
$xmlEncoder
Methods
__construct()
public
__construct(XmlEncoderInterface $xmlEncoder, SignatureServiceInterface $signatureService) : mixed
Parameters
- $xmlEncoder : XmlEncoderInterface
- $signatureService : SignatureServiceInterface
build()
Construye y firma el XML `EnvioRecibos`.
public
build(ExchangeDocumentBag $bag) : EnvioRecibos
Parameters
- $bag : ExchangeDocumentBag
-
Bolsa con carátula y lista de recibos. Cada recibo debe tener:
TipoDoc,Folio,FchEmis,RUTEmisor,RUTRecep,MntTotal,Recintoy opcionalmenteRutFirma.
Return values
EnvioRecibosnormalizeCaratula()
Normaliza la carátula con los campos requeridos y sus valores por defecto.
private
normalizeCaratula(array<string, mixed> $caratula) : array<string, mixed>
Parameters
- $caratula : array<string, mixed>
Return values
array<string, mixed>normalizeRecibo()
Normaliza un recibo con los campos requeridos y sus valores por defecto.
private
normalizeRecibo(array<string, mixed> $recibo, string $id) : array<string, mixed>
Parameters
- $recibo : array<string, mixed>
- $id : string
-
ID del DocumentoRecibo.