Página 1 de 1

Cancelación CFDI con EDICOM

Publicado: Lun Jul 22, 2013 3:58 pm
por theReno
Buen día, me recomendaron este sitio para solicitar alguna orientación sobre el tema.
Recibí la tarea de hacer una rutina de cancelación de CFDI's con el WS de EDICOM y, por algunas circustancias, no me proporcionaron la especificación y tuve que bajarla de Internet.
Revisando este PDF me doy cuenta de que no dice exactamente lo que representa el string regresado en el parámetro Ack de la petición de cancelación. Lo único que puedo inferir del ejemplo que muestra el PDF es que dicho string podría ser alguna digestión de bytes.
Leí en otros temas dentro de este mismo sitio que la respuesta de esta llamada es identica a la solicitud de timbrado sólo que para cancelar.

¿Alguien me podría orientar acerca de que representa este parámetro (Ack) ? ¿Se trata también de un archivo ZIP con un XML dentro?

Les agradeceré cualquier ayuda que pudieran brindarme. :)

Re: Cancelación CFDI con EDICOM

Publicado: Lun Jul 22, 2013 4:17 pm
por Dado
ACK?? no hay parametro ACK en el SOAP Message de cancelacion

Este es un mensaje SOAP que ha sido probado y funciona bien, para no explicar un rollo (y que talvez ya conozcas) si tienes duda de algun dato preguntame.

Código: Seleccionar todo

 <?xml version="1.0" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<cancelaCFDi xmlns="http://cfdi.service.ediwinws.edicom.com">
  <user>usuario</user>
  <password>clave</password>
  <rfc>RFC</rfc>
  <uuid>UUID</uuid>
  <pfx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/>
  <pfxPassword>a0123456789</pfxPassword>
  </cancelaCFDi>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

Re: Cancelación CFDI con EDICOM

Publicado: Mar Jul 23, 2013 12:18 pm
por theReno
Una disculpa, plantee mal mi pregunta. La petición de cancelación ya la había estudiado y por el momento todo claro.

La duda es con la RESPUESTA de cancelación. En la clase que maneja esta respuesta (cancelaResponse) hay dos métodos que devuelven una cadena: getAck() y getText().
En la especificación que tengo lo único que se puede leer es
Respuesta satisfactoria: En caso de que se haya realizado la cancelación Satisfactoria de los comprobantes, el servicio devolverá un listado de datos derivados de la cancelación:
    uuids: Listado de CFDI que se han cancelado en la petición.
    ack: Confirmación que devuelve el servicio del SAT como que la petición se ha realizado.


Supongo entonces que con el método getAck() voy a obtener algún tipo de información de acuse (como el PDF que da el portal de SAT cuando se cancela desde ahí). ¿Es correcta mi teoría? Si es correcta, ¿que tipo de información/archivo/acuse me estarían regresando?

Re: Cancelación CFDI con EDICOM

Publicado: Mar Jul 23, 2013 12:35 pm
por Dado
Ah! en la respuesta.

OK, no encuentro un ejemplo del acuse pero es un XML muy "criptico", dificil de entender para el usuario comun.

Lleva la lista de los UUID cancelados, me parece que los RFC, ademas de un hash y un sello digital y un mensaje de error o de aceptacion.

Si haz visto uno de los PDF que emite el SAT pues es la misma informacion que obtienes

De hecho SIEMPRE obtienes lo mismo, ya sea que fue aceptado o no la cancelacion, debes checar ese mensaje de error/aceptacion para saber si realmente fue cancelado

Re: Cancelación CFDI con EDICOM

Publicado: Mar Jul 23, 2013 1:25 pm
por theReno
Creo que ya entiendo. Primero tendría que decodificar la cadena de la respuesta (que supongo viene en base64), luego convertirla en XML y de ahí partir para mostrarle la información al usuario de una forma más amigable.

Ojalá EDICOM se ocupara en colocar eso que me comentas en su especificación, pero en fin...

Te agradezco muchísimo el tiempo que te hayas tomado para contestarme :) ¡seguimos en contacto!

Re: Cancelación CFDI con EDICOM

Publicado: Vie Dic 27, 2013 11:08 am
por Salim Giacoman
Esos de EDICOM estan bravos, solo te dicen: lee el manual que te enviamos... y el maldito manual esta echo con las patas :evil: :evil: