Skip to content

DocumentResource

Un recurso que además emite documentos electrónicos.

Extends

Extended by

Constructors

Constructor

ts
new DocumentResource(transport, config): DocumentResource;

Parameters

ParameterType
transportTransport
configIssuerConfig

Returns

DocumentResource

Inherited from

Resource.constructor

Properties

documentType

ts
readonly documentType: 
  | "electronic_invoice"
  | "electronic_credit_note"
  | "electronic_debit_note"
  | "electronic_remission_note"
  | "electronic_auto_invoice"
  | "electronic_receipt"
  | "electronic_disablement";

El tipo de documento que emite este recurso.

Methods

get()

ts
get(id): Promise<Document>;

Un recurso por su id.

Parameters

ParameterType
idnumber

Returns

Promise<Document>

Inherited from

Resource.get


list()

ts
list(params?): Promise<Page<Document>>;

Una página de resultados.

Para recorrer todo sin escribir el bucle del cursor:

ts
for await (const factura of (await sd.invoices.list()).autoPaging()) { ... }

Parameters

ParameterType
paramsListParams

Returns

Promise<Page<Document>>

Inherited from

Resource.list


delete()

ts
delete(id): Promise<void>;

Borra el recurso.

Parameters

ParameterType
idnumber

Returns

Promise<void>

Inherited from

Resource.delete


cancel()

ts
cancel(id, reason): Promise<void>;

Anula el documento ante la DNIT.

Solo se puede anular un documento aprobado, y el motivo es obligatorio. La anulación es asíncrona: el documento pasa a cancellation_requested y termina en cancelled.

No devuelve el documento porque la API no lo manda —responde el id de la anulación—; para ver cómo quedó hay que releerlo con Resource.get o esperarlo con waitUntilFinal.

Parameters

ParameterType
idnumber
reasonstring

Returns

Promise<void>


resendEmail()

ts
resendEmail(id): Promise<void>;

Reenvía el documento por correo al receptor.

Parameters

ParameterType
idnumber

Returns

Promise<void>


resendToSet()

ts
resendToSet(id): Promise<void>;

Reenvía a la DNIT un documento que quedó en error.

Como cancel, no devuelve el documento: hay que releerlo.

Parameters

ParameterType
idnumber

Returns

Promise<void>


kudeUrl()

ts
kudeUrl(id): Promise<string>;

URL temporal del KuDE en PDF.

Está disponible recién cuando el documento se generó. Antes, la API responde 404.

Parameters

ParameterType
idnumber

Returns

Promise<string>


waitUntilFinal()

ts
waitUntilFinal(id, options?): Promise<Document>;

Consulta el documento hasta que llegue a un estado final.

Sirve para el flujo "emito y necesito el CDC ahora". Si se puede escuchar webhooks, es mejor eso: esto consume cuota del límite de 5 solicitudes por segundo.

El plazo por omisión es holgado a propósito: un documento pasa por varios estados intermedios antes de quedar aprobado, y cada salto lo da el servidor por su cuenta, así que el recorrido completo puede llevar minutos. Agotar la espera no cancela nada: el documento sigue su curso.

Ojo con los estados intermedios que parecen finales: recoverable_errorno corta la espera, porque SmartDoc lo reintenta solo.

Parameters

ParameterType
idnumber
optionsWaitOptions

Returns

Promise<Document>

Throws

si se agota el tiempo.