Este proyecto ha sido archivado en favor de nodecfdi/sat-estado-cfdi
versión 2.
Las características de este proyecto han sido integradas en nodecfdi/sat-estado-cfdi
, por lo tanto, este proyecto no es mantenido a partir de 2024-04-10.
Si implementaste la versión 1 de nodecfdi/sat-estado-cfdi
y nodecfdi/sat-estado-cfdi-soap
entonces puedes seguir la guía de actualización en https://nodecfdi.com/librarys/sat-estado-cfdi/upgrade/ para actualizar tu código.
Consulta el estado de un CFDI en el webservice del SAT usando SOAP (sin WSDL)
🇺🇸 The documentation of this project is in spanish as this is the natural language for intented audience.
🇲🇽 La documentación del proyecto está en español porque ese es el lenguaje principal de los usuarios.
Esta librería contiene objetos para consumir el Servicio de Consulta de CFDI del SAT usando SOAP.
Esta librería provee un objeto SoapConsumerClient
que se usa en Consumer
de la librería @nodecfdi/sat-estado-cfdi
.
La implementación utiliza la dependecia soap
y configura el cliente y la llamada para no usar
el archivo WSDL porque el servicio del SAT ya no lo ofrece.
Esta librería está inspirada en: https://github.com/phpcfdi/sat-estado-cfdi-soap/
Se necesita una libreria compatible que proporcione las funciones del dom para el ejemplo se uso @xmldom/xmldom.
npm i axios @nodecfdi/sat-estado-cfdi-soap --save
yarn add axios @nodecfdi/sat-estado-cfdi-soap
pnpm add axios @nodecfdi/sat-estado-cfdi-soap
import { SoapConsumerClient, SoapClientFactory } from '@nodecfdi/sat-estado-cfdi-soap';
import { Consumer } from '@nodecfdi/sat-estado-cfdi';
import { install } from '@nodecfdi/cfdiutils-common';
import { DOMParser, XMLSerializer, DOMImplementation } from '@xmldom/xmldom';
install(new DOMParser(), new XMLSerializer(), new DOMImplementation());
// puedes usar el SoapClientFactory para mandar opciones custom al subyacente cliente axios (https://axios-http.com/docs/req_config).
const soapClientFactory = new SoapClientFactory({ timeout: 100000 });
// crear la instancia básica del Cliente Soap para el consumidor
// puedes omitir el envío del param soapClientFactory si quieres usar el cliente por default.
const client = new SoapConsumerClient(soapClientFactory);
// creamos el consumidor con nuestro cliente
const consumer = new Consumer(client);
// consumimos el webservice!
const response = await consumer.executeAsync('...expression');
// usamos el resultado
if (response.getCancellable().notCancellable()) {
console.log('CFDI no es cancelable');
}
Puedes obtener soporte abriendo un ticket en Github.
Adicionalmente, esta librería pertenece a la comunidad OcelotlStudio, así que puedes usar los mismos canales de comunicación para obtener ayuda de algún miembro de la comunidad.
Esta librería se mantendrá compatible con al menos la versión con soporte activo de Node más reciente.
También utilizamos Versionado Semántico 2.0.0 por lo que puedes usar esta librería sin temor a romper tu aplicación.
Las contribuciones con bienvenidas. Por favor lee CONTRIBUTING para más detalles y recuerda revisar el archivo CHANGELOG.
The @nodecfdi/sat-estado-cfdi-soap
library is copyright © NodeCfdi - OcelotlStudio and licensed for use under the MIT License (MIT). Please see LICENSE for more information.