LibreDTE

DocumentBagInterface extends OptionsAwareInterface, JsonSerializable

Interfaz para el contenedor de un documento.

Table of Contents

Methods

getAlias()  : string
Entrega el alias del tipo de documento que contiene la bolsa.
getBuilderOptions()  : array<string, mixed>
Obtiene las opciones del constructor del documento.
getCaf()  : CafInterface|null
Obtiene el CAF para timbrar el documento.
getCertificate()  : CertificateInterface|null
Obtiene el certificado para firmar el documento.
getCodigoTipoDocumento()  : int|null
getData()  : array<string, mixed>|null
Obtiene los datos del documento.
getDataReader()  : ArrayReader|null
Obtiene un lector de los datos del documento o `null` si no se pueden generar.
getDocument()  : DocumentInterface|null
Obtiene el documento tributario electrónico.
getDocumentAuth()  : array<string, mixed>|null
Obtiene los datos de la autorización del emisor para emitir DTE.
getDocumentData()  : array<string, mixed>|null
Obtiene los datos del documento agregando los datos específicos de LibreDTE.
getDocumentExtra()  : array<string, mixed>|null
Obtiene los datos extras del documento.
getDocumentStamp()  : string|null
Obtiene el timbre del DTE.
getDocumentType()  : TipoDocumentoInterface|null
Obtiene el tipo de documento tributario electrónico.
getDocumentTypeId()  : int|null
Obtiene el código numérico del documento tributario electrónico.
getEmisor()  : EmisorInterface|null
Obtiene el emisor del documento.
getFolio()  : int|string|null
Obtiene el folio del documento.
getId()  : string
Entrega el ID del documento.
getInputData()  : string|null
Obtiene los datos de entrada del documento.
getLibredteData()  : array<string, mixed>|null
Obtiene los datos de LibreDTE que están asociados al documento pero no son parte de la estructura oficial que utiliza el SII.
getLibredteDataReader()  : ArrayReader|null
Obtiene un lector de los datos de LibreDTE que están asociados al documento o `null` si no están asignados.
getNormalizedData()  : array<string, mixed>|null
Obtiene los datos normalizados del documento.
getNormalizedDataReader()  : ArrayReader|null
Obtiene un lector de los datos normalizados del documento o `null` si no están asignados.
getNormalizerOptions()  : array<string, mixed>
Obtiene las opciones del normalizador del documento.
getParsedData()  : array<string, mixed>|null
Obtiene los datos procesados (parseados) del documento.
getParsedDataReader()  : ArrayReader|null
Obtiene un lector de los datos procesados (parseados) del documento o `null` si no están asignados.
getParserOptions()  : array<string, mixed>
Obtiene las opciones del procesador (parser) del documento.
getReceptor()  : ReceptorInterface|null
Obtiene el receptor del documento.
getRendererOptions()  : array<string, mixed>
Obtiene las opciones del renderizador del documento.
getSanitizerOptions()  : array<string, mixed>
Obtiene las opciones del sanitizador del documento.
getTimbre()  : array<string, mixed>|null
Obtiene el timbre del documento.
getTipoDocumento()  : TipoDocumentoInterface|null
getValidatorOptions()  : array<string, mixed>
Obtiene las opciones del validador del documento.
getXmlDocument()  : XmlDocumentInterface|null
Obtiene el documento XML.
getXmlReader()  : XPathReader|null
Obtiene un lector del documento XML o `null` si no está asignado.
requireCaf()  : CafInterface
Obtiene el CAF o falla si no está asignado.
requireCertificate()  : CertificateInterface
Obtiene el certificado o falla si no está asignado.
requireData()  : array<string, mixed>
Obtiene los datos del documento o falla si no se pueden generar.
requireDataReader()  : ArrayReader
Obtiene un lector de los datos del documento o falla si no se pueden generar.
requireDocument()  : DocumentInterface
Obtiene el documento tributario electrónico o falla si no está asignado.
requireEmisor()  : EmisorInterface
Obtiene el emisor del documento o falla si no está asignado.
requireInputData()  : string
Obtiene los datos de entrada del documento o falla si no están asignados.
requireNormalizedData()  : array<string, mixed>
Obtiene los datos normalizados del documento o falla si no están asignados.
requireNormalizedDataReader()  : ArrayReader
Obtiene un lector de los datos normalizados del documento o falla si no están asignados.
requireTipoDocumento()  : TipoDocumentoInterface
Obtiene el tipo de documento tributario electrónico o falla si no está asignado.
requireXmlDocument()  : XmlDocumentInterface
Obtiene el documento XML o falla si no está asignado.
requireXmlReader()  : XPathReader
Obtiene un lector del documento XML o falla si no está asignado.
setCaf()  : static
Asigna el CAF para timbrar el documento.
setCertificate()  : static
Asigna el certificado para firmar el documento.
setDocument()  : static
Asigna el documento tributario electrónico.
setDocumentType()  : static
Asigna el tipo de documento tributario electrónico.
setEmisor()  : static
Asigna el emisor del documento.
setFolio()  : static
Asigna el folio numérico al documento.
setInputData()  : static
Asignar los datos de entrada del documento.
setLibredteData()  : static
Asigna los datos de LibreDTE que están asociados al documento pero no son parte de la estructura oficial que utiliza el SII.
setNormalizedData()  : static
Asigna los datos normalizados del documento.
setParsedData()  : static
Asigna los datos procesados (parseados) del documento.
setReceptor()  : static
Asigna el receptor del documento.
setTimbre()  : static
Asigna el timbre del documento.
setTipoDocumento()  : static
setXmlDocument()  : static
Asigna el documento XML.
toArray()  : array<string|int, mixed>
Entrega los datos de la bolsa como un arreglo.
withCaf()  : DocumentBagInterface
Retorna una nueva bolsa con los datos del DTE e incluye un archivo CAF.
withCertificate()  : DocumentBagInterface
Retorna una nueva bolsa con los datos del DTE e incluye un certificado.

Methods

getAlias()

Entrega el alias del tipo de documento que contiene la bolsa.

public getAlias() : string
Return values
string

getBuilderOptions()

Obtiene las opciones del constructor del documento.

public getBuilderOptions() : array<string, mixed>
Return values
array<string, mixed>

getCertificate()

Obtiene el certificado para firmar el documento.

public getCertificate() : CertificateInterface|null
Return values
CertificateInterface|null

getData()

Obtiene los datos del documento.

public getData() : array<string, mixed>|null

Los datos se arman en un nodo DTE con los datos normalizados. Si está disponible además se agrega el timbre.

Estos datos no incluyen la firma electrónica.

Tampoco se incluyen datos específicos de LibreDTE. Si se necesitan los datos del documento completo, con los datos específicos de LibreDTE, usar el método getDocumentData().

Return values
array<string, mixed>|null

getDataReader()

Obtiene un lector de los datos del documento o `null` si no se pueden generar.

public getDataReader() : ArrayReader|null

El lector es una instantánea de los datos: se debe pedir uno nuevo después de modificarlos para leer los cambios.

Return values
ArrayReader|null

getDocumentAuth()

Obtiene los datos de la autorización del emisor para emitir DTE.

public getDocumentAuth() : array<string, mixed>|null
Return values
array<string, mixed>|null

getDocumentData()

Obtiene los datos del documento agregando los datos específicos de LibreDTE.

public getDocumentData() : array<string, mixed>|null

Si se quieren solo los datos del documento, sin los agregados de LibreDTE se deben extrar directamente del DTE.

Por otro lado, si se quieren los datos normalizados preparados para firma se debe utilizar getData().

Return values
array<string, mixed>|null

getDocumentExtra()

Obtiene los datos extras del documento.

public getDocumentExtra() : array<string, mixed>|null

Esto entregará todos los datos extras del documento menos aquellos que son parte de los datos que se agregan a la estructura de datos del documento tributario para completar tags entre diferentes tipos de documentos. O sea, todo lo extra, menos el índice dte.

Return values
array<string, mixed>|null

getDocumentStamp()

Obtiene el timbre del DTE.

public getDocumentStamp() : string|null
Return values
string|null

getDocumentTypeId()

Obtiene el código numérico del documento tributario electrónico.

public getDocumentTypeId() : int|null
Return values
int|null

getFolio()

Obtiene el folio del documento.

public getFolio() : int|string|null

Cuando el folio es un entero se asume que es un folio oficial del SII.

Cuando es un folio alfanumérico (string) se asume que es un folio de una cotización de LibreDTE.

Cuando el folio no existe (falta, o es null, false o 0) se entregará null.

El folio puede provenir del documento normalizado (si existe) o del documento parseado (si aun no se normaliza).

Return values
int|string|null

getInputData()

Obtiene los datos de entrada del documento.

public getInputData() : string|null
Return values
string|null

getLibredteData()

Obtiene los datos de LibreDTE que están asociados al documento pero no son parte de la estructura oficial que utiliza el SII.

public getLibredteData() : array<string, mixed>|null
Return values
array<string, mixed>|null

getLibredteDataReader()

Obtiene un lector de los datos de LibreDTE que están asociados al documento o `null` si no están asignados.

public getLibredteDataReader() : ArrayReader|null

El lector es una instantánea de los datos: se debe pedir uno nuevo después de modificarlos para leer los cambios.

Return values
ArrayReader|null

getNormalizedData()

Obtiene los datos normalizados del documento.

public getNormalizedData() : array<string, mixed>|null
Return values
array<string, mixed>|null

getNormalizedDataReader()

Obtiene un lector de los datos normalizados del documento o `null` si no están asignados.

public getNormalizedDataReader() : ArrayReader|null

El lector es una instantánea de los datos: se debe pedir uno nuevo después de modificarlos para leer los cambios.

Return values
ArrayReader|null

getNormalizerOptions()

Obtiene las opciones del normalizador del documento.

public getNormalizerOptions() : array<string, mixed>
Return values
array<string, mixed>

getParsedData()

Obtiene los datos procesados (parseados) del documento.

public getParsedData() : array<string, mixed>|null
Return values
array<string, mixed>|null

getParsedDataReader()

Obtiene un lector de los datos procesados (parseados) del documento o `null` si no están asignados.

public getParsedDataReader() : ArrayReader|null

El lector es una instantánea de los datos: se debe pedir uno nuevo después de modificarlos para leer los cambios.

Return values
ArrayReader|null

getParserOptions()

Obtiene las opciones del procesador (parser) del documento.

public getParserOptions() : array<string, mixed>
Return values
array<string, mixed>

getRendererOptions()

Obtiene las opciones del renderizador del documento.

public getRendererOptions() : array<string, mixed>
Return values
array<string, mixed>

getSanitizerOptions()

Obtiene las opciones del sanitizador del documento.

public getSanitizerOptions() : array<string, mixed>
Return values
array<string, mixed>

getTimbre()

Obtiene el timbre del documento.

public getTimbre() : array<string, mixed>|null

Este es el nodo TED del documento.

Return values
array<string, mixed>|null

getValidatorOptions()

Obtiene las opciones del validador del documento.

public getValidatorOptions() : array<string, mixed>
Return values
array<string, mixed>

getXmlDocument()

Obtiene el documento XML.

public getXmlDocument() : XmlDocumentInterface|null
Return values
XmlDocumentInterface|null

getXmlReader()

Obtiene un lector del documento XML o `null` si no está asignado.

public getXmlReader() : XPathReader|null

El lector lee el documento XML cada vez que se le pide un dato, por lo que ve los cambios que se hagan en el documento.

Return values
XPathReader|null

requireCertificate()

Obtiene el certificado o falla si no está asignado.

public requireCertificate() : CertificateInterface
Tags
throws
DocumentException

Si la bolsa no lo tiene asignado.

Return values
CertificateInterface

requireData()

Obtiene los datos del documento o falla si no se pueden generar.

public requireData() : array<string, mixed>
Tags
throws
DocumentException

Si la bolsa no tiene datos normalizados.

Return values
array<string, mixed>

requireDataReader()

Obtiene un lector de los datos del documento o falla si no se pueden generar.

public requireDataReader() : ArrayReader

El lector es una instantánea de los datos: se debe pedir uno nuevo después de modificarlos para leer los cambios.

Tags
throws
DocumentException

Si la bolsa no tiene datos normalizados.

Return values
ArrayReader

requireInputData()

Obtiene los datos de entrada del documento o falla si no están asignados.

public requireInputData() : string
Tags
throws
DocumentException

Si la bolsa no lo tiene asignado.

Return values
string

requireNormalizedData()

Obtiene los datos normalizados del documento o falla si no están asignados.

public requireNormalizedData() : array<string, mixed>
Tags
throws
DocumentException

Si la bolsa no lo tiene asignado.

Return values
array<string, mixed>

requireNormalizedDataReader()

Obtiene un lector de los datos normalizados del documento o falla si no están asignados.

public requireNormalizedDataReader() : ArrayReader

El lector es una instantánea de los datos: se debe pedir uno nuevo después de modificarlos para leer los cambios.

Tags
throws
DocumentException

Si la bolsa no lo tiene asignado.

Return values
ArrayReader

requireXmlDocument()

Obtiene el documento XML o falla si no está asignado.

public requireXmlDocument() : XmlDocumentInterface
Tags
throws
DocumentException

Si la bolsa no lo tiene asignado.

Return values
XmlDocumentInterface

requireXmlReader()

Obtiene un lector del documento XML o falla si no está asignado.

public requireXmlReader() : XPathReader

El lector lee el documento XML cada vez que se le pide un dato, por lo que ve los cambios que se hagan en el documento.

Tags
throws
DocumentException

Si la bolsa no lo tiene asignado.

Return values
XPathReader

setCertificate()

Asigna el certificado para firmar el documento.

public setCertificate(CertificateInterface|null $certificate) : static
Parameters
$certificate : CertificateInterface|null
Return values
static

setFolio()

Asigna el folio numérico al documento.

public setFolio(int $folio) : static

El folio se asignará a los datos normalizados si existen o bien a los datos parseados si aun no se normaliza.

Parameters
$folio : int
Return values
static

setInputData()

Asignar los datos de entrada del documento.

public setInputData(string|array<string, mixed>|stdClass|null $inputData) : static

Si los datos no son string se serializan como JSON.

Parameters
$inputData : string|array<string, mixed>|stdClass|null
Return values
static

setLibredteData()

Asigna los datos de LibreDTE que están asociados al documento pero no son parte de la estructura oficial que utiliza el SII.

public setLibredteData(array<string, mixed>|null $libredteData) : static
Parameters
$libredteData : array<string, mixed>|null
Return values
static

setNormalizedData()

Asigna los datos normalizados del documento.

public setNormalizedData(array<string, mixed>|null $normalizedData) : static
Parameters
$normalizedData : array<string, mixed>|null
Return values
static

setParsedData()

Asigna los datos procesados (parseados) del documento.

public setParsedData(array<string, mixed>|null $parsedData) : static
Parameters
$parsedData : array<string, mixed>|null
Return values
static

setTimbre()

Asigna el timbre del documento.

public setTimbre(array<string, mixed>|null $timbre) : static

Este es el nodo TED del documento.

Parameters
$timbre : array<string, mixed>|null
Return values
static

setXmlDocument()

Asigna el documento XML.

public setXmlDocument(XmlDocumentInterface|null $xml) : static
Parameters
$xml : XmlDocumentInterface|null
Return values
static

toArray()

Entrega los datos de la bolsa como un arreglo.

public toArray() : array<string|int, mixed>
Return values
array<string|int, mixed>

withCaf()

Retorna una nueva bolsa con los datos del DTE e incluye un archivo CAF.

public withCaf(CafInterface $caf) : DocumentBagInterface

Las bolsas no se pueden reutilizar una vez se normalizaron, porque ya se generó el DTE. Este método sirve para agregar a una bolsa sin CAF el CAF y tener una nueva bolsa sin el DTE para volver a construir y timbrar.

Parameters
$caf : CafInterface
Return values
DocumentBagInterface

withCertificate()

Retorna una nueva bolsa con los datos del DTE e incluye un certificado.

public withCertificate(CertificateInterface $certificate) : DocumentBagInterface

Las bolsas no se pueden reutilizar una vez se normalizaron, porque ya se generó el DTE. Este método sirve para agregar a una bolsa sin certificado digital el certificado y tener una nueva bolsa sin el DTE para volver a construir y firmar.

Parameters
$certificate : CertificateInterface
Return values
DocumentBagInterface
On this page

Search results