Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Todo lo que no cabe en los demas foros........
crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 6:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Mié Mar 06, 2019 12:08 pm

Aqui te dejo la rutina con openssl y te dejo explicado que se hace

Código: Seleccionar todo

procedure TForm1.Button10Click(Sender: TObject);
var nodo: IXMLNode;
    input, sal: TStringList;
    comando: string;
begin
  XMLDoc.FileName := 'D:\Proyectos\Varios\post web\DescargaSatWS\resp_descarga.xml';
  //La linea de arriba sería el response obtenido del webservice, el xml que regresa, donde está la cadena en base64
 
  XMLDoc.Active := true;
  nodo := XMLDoc.DocumentElement;
  nodo := nodo.ChildNodes.FindNode('Body');
  nodo := nodo.ChildNodes.First;
  nodo := nodo.ChildNodes.First;
  //Con todo el bloque de arriba cargo el xml en memoria y busco el nodo donde está la cadena b64, que sería el nodo "Paquete"
  input := TStringList.Create;
  sal := TStringList.Create;
  input.Text := nodo.Text;
  //En la linea de arriba obtengo el string de la cadena b64
  StrToStringList(input.Text, sal, 64);
  //En la linea de arriba hay que dividir la cadena b64 en partes de 64 caracteres, para que funcione con openssl
  sal.SaveToFile('D:\Proyectos\Varios\post web\DescargaSatWS\paquete.b64.txt');
  //En la linea de arriba guardamos la cadena b64 ya dividida en partes de 64 caracteres, para decodificarla con openssl
  sal.Free;
  input.Free;
  XMLDoc.Active := false;
  comando := 'openssl base64 -d -in "D:\Proyectos\Varios\post web\DescargaSatWS\paquete.b64.txt" -out ' +
             '"D:\Proyectos\Varios\post web\DescargaSatWS\paquete.b64.zip"';
   // Las lineas de arriba serían el comando de openssl para decodificar y obtener el zip
  comando := CmdExec(comando);
  //En la linea de arriba, ejecuto el comando
  ShowMessage(comando);
end;

cymaq
Mensajes: 9
Registrado: Jue Ene 27, 2011 5:45 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor cymaq » Mié Mar 06, 2019 2:51 pm

Antes que nada gracias Crono81, 2 cosas, para que me funcione en la linea de comando debo agregar ENC, es decir:
openssl enc -base64 -d -in entrada.txt -out salida. txt De esta manera ya con el archivo delimitado a 64 caracteres como me lo mencionaste, lo hice con el editor para no meterme a programar, entonces quedan 64 caracteres y el RET y asi sucesivamente. Pues con la novedad que si me saca un archivo tipo .ZIP pero al quererlo abrir me muestra que esta dañado. Tambien una aclaracion, si en la misma linea de comando al final agregas una "A" segun yo es para no tener que dividir el archivo en bloques de 64, lo puedes leer completo, ya lo hice y tambien me lo genera como un .ZIP pero lo mismo, me dice que no es una .ZIP valido y tratando de recuperar el .ZIP con otra harramienta, me aparece que tiene solo 2 arcchivos uno si esta bien es una .xml y el otro me muestra su nombre mas no sus datos y ya no lo muestra, como si algo hubiera malformado el archivo o como si desde la cadena "paquete" vieniera incorrecto. Quiero creer que el SAT no enviaria un archivo dañado, o podria ser que si???.

Te adjunto el .XML, es real, no hay problema son facturas y nada mas y son pocas, segun la verificacion son 29.
Adjuntos
DESCARGA.XML
(5.18 KiB) Descargado 333 veces

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 6:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Mié Mar 06, 2019 6:03 pm

Pues al parecer si está dañado, obtengo el zip, pero no puedo extraer el par de archivos. habria que consultar al SAT a ver que pudo haber pasado. Pero no se si haya alguna linea o chat para soporte de este tipo. Intenta con una nueva petición, modifica la consulta un segundo para descargar los mismos archivo a ver que pasó.

EDITO: dices que son 29 archivos y yo solo veo 2 en el zip que obtengo, puede que el web service mandara incompleta la cadena b64

cymaq
Mensajes: 9
Registrado: Jue Ene 27, 2011 5:45 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor cymaq » Jue Mar 07, 2019 1:30 pm

CRONOS, DADO y TODOS, muchas gracias por todo el aporte, ya por fin lo pudimos convertir, explico. La problematica fue siempre que estuve trabajando con el archivo que estaba dañado(como me lo confirmaste Cronos), tenia un error con el tamaño de mi campo de respuesta, lo tenia reducido, si te fijas no terminaba la cadena con ==, es que en Cobol debes de definirle el tamaño del string de trabajo digamos. Y si me funciono directamente con el OpenSSL con el string de "Paquete" que le llame entrada.txt sin tenerlo que dividir en bloques de 64 poniendole:

Código: Seleccionar todo

Openssl ENC -base64 -d -in entrada.txt -out salida.zip -A

Ya con esto, solo voy a agragarle la funcion con el activex con el que trabajo para que me lo desencripte sin usar el command line del OpenSSL, directamente con los ActiveX Chilkat desde COBOL, con eso trabajo todo lo de encriptacion y manejo de .xml asi como http de Post y demas.
GRACIAS... TOTALES.

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 6:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Jue Mar 07, 2019 1:52 pm

Que bien, yo tambien me di cuenta del flag -A de openssl gracias a ti para procesar una sóla linea en B64 8-)

cymaq
Mensajes: 9
Registrado: Jue Ene 27, 2011 5:45 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor cymaq » Vie Mar 08, 2019 3:50 pm

Hola de nuevo, oye Cronos voy a echarle un vistazo al Delphi, tambien genera .DLL y los puedo llamar desde y hacia Cobol segun yo, asi ir migrando o conjuntando ciertas aplicaciones, todo lo que tengo de momento yo trabaja para escritorio, pero quiero migrar hacia desarrollo WEB.
Aqui la duda que me surgio, con esa version de Delphi Community solo se desarrolla para Desktop de Windows? o tambien para desarrollo en la Web? o hay alguna version para .NET o algo asi?
Gracias de antemano.

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 6:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Vie Mar 08, 2019 6:44 pm

Para esta versión de Delphi no puedes desarrollar para web, pero si para iOS, Android y Mac, aunque con ciertas limitantes pues no es desarrollo en sus lenguajes nativos, sino que el compilador transforma pascal (el lenguaje base de delphi) a codigo objeto de cada plataforma. Para .Net puedes usar la versión libre de la herramienta de Microsoft: Visual Studio.

Saludos

karl17
Mensajes: 10
Registrado: Vie Ene 25, 2019 12:35 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor karl17 » Jue Mar 21, 2019 6:15 pm

Hola,

Alguien sabe porque siempre me responde "Solicitud Aceptada", pero numeroCfdis=0 ?

http://DescargaMasivaTerceros.sat.gob.m ... taDescarga

Código: Seleccionar todo

<s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><solicitadescargaresponse xmlns="http://DescargaMasivaTerceros.sat.gob.mx"><solicitadescargaresult idsolicitud="f78aaf3f-a150-4c27-aa0f-c401130dd87a" codestatus="5000" mensaje="Solicitud Aceptada"></solicitadescargaresult></solicitadescargaresponse></s:body></s:envelope>


http://DescargaMasivaTerceros.sat.gob.m ... udDescarga

Código: Seleccionar todo

<s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><verificasolicituddescargaresponse xmlns="http://DescargaMasivaTerceros.sat.gob.mx"><verificasolicituddescargaresult codestatus="5000" estadosolicitud="1" codigoestadosolicitud="5000" numerocfdis="0" mensaje="Solicitud Aceptada"></verificasolicituddescargaresult></verificasolicituddescargaresponse></s:body></s:envelope>


Guardo el idSolicitud y no importa si espero 1, 5 o 10+ días, siempre me responde No se encontro la informacion

Código: Seleccionar todo

<s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:header><h:respuesta codestatus="5004" mensaje="No se encontro la informacion" xmlns:h="http://DescargaMasivaTerceros.sat.gob.mx" xmlns="http://DescargaMasivaTerceros.sat.gob.mx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></h:respuesta></s:header><s:body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><respuestadescargamasivatercerossalida xmlns="http://DescargaMasivaTerceros.sat.gob.mx"><paquete></paquete></respuestadescargamasivatercerossalida></s:body></s:envelope>

crono81
Mensajes: 118
Registrado: Lun Dic 16, 2013 6:55 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor crono81 » Lun Abr 01, 2019 5:39 pm

Hasta hoy se nos ofreció hacer una descarga de cfdi, descargué comprobantes recibidos de 2015, 2016, 2017 y 2018, hice las descargas por año, increiblemente en alrededor de 4 horas ya tenia las cuatro solicitudes listas, con 17,131, 12,645, 20,182 y 28,390 de cada año, es un gran avance.
El problema viene en que en 2016 no me generó dos meses (mayo y julio) alguien ha hecho una descarga de este tipo sin errores?, pues hice tambien la solicitud de metadatos del 2016 y en efecto hay una pérdida en la consulta pues la metadata me dice que hay 18,903 comprobantes.
Otro aspecto que no veo bien del servicio, es que el nombre de cada comprobante descargado se compone por un uuid, pero, no corresponde con el uuid que va en el nodo de timbrefiscal del mismo :roll:
Hice una rutina para ordenar por año-mes los archivos descargados así como para renombrar conforme al uuid del timbre :roll: :roll:

agallardor13
Mensajes: 60
Registrado: Mié Oct 13, 2010 10:28 pm

Re: Crear SolicitaDescarga de los servicios web de descarga masiva del SAT

Mensajepor agallardor13 » Mié Jun 05, 2019 4:49 pm

Buenas tardes,

Al hacer una solicitud de descarga al webservice del SAT estoy obteniendo el error 404 Error no controlado. Alguien sabe a que se debe este error, buscandolo en la documentacion del SAT solo dice esto: Error genérico, en caso de presentarse realizar nuevamente la petición y si persiste el error levantar un RMA.

Alguien podría orientarme si ya le pasó o sabe cómo se puede corregir?

Saludos
agallardo


Volver a “Otros”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados