Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

(Nuevo) Web Service para Validar del SAT

Cualquier cambio que haga el SAT referente a la F.E. sera comentada aqui
jhon_key
Mensajes: 3
Registrado: Jue Feb 13, 2014 2:07 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por jhon_key »

Antes que nada saludos a todos, esta va a ser mi primer contribución y espero poder ayudarlos y así regresar un poco de lo que me han dado.

Dunmord, la forma de hacerlo en PHP en la siguiente:

Código: Seleccionar todo

     try {
       $client = new SoapClient("https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?wsdl");
    } catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";
    }

     $cadena="re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075";

     $param = array(
        'expresionImpresa'=>$cadena
     );
     
     $valores = $client->Consulta($param);
     
     print_r($valores);
s3cr3to
Mensajes: 502
Registrado: Mar Dic 28, 2010 1:12 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por s3cr3to »

mauricio escribió:
s3cr3to escribió:Quizás en Arch me vaya mejor.[/i]
En Arch va de lujo, mi equipo de trabajo usa Arch, solo Arch
Ok, ya conseguí que funcione en Ubuntu (sin virtualenv), y en Arch (con virtualenv)

Prerréquisitos:
+ httplib2; en Arch use el fork (https://bitbucket.org/jaraco/httplib2), no recuerdo cuando lo instalé en ubuntu, pero quizas utilice pip en aquel entonces:

Código: Seleccionar todo

$ sudo pip install httplib2
+ pysimplesoap; descargar el adjunto de @mauricio o directamente de git (https://github.com/pysimplesoap/pysimplesoap).
> descomprimir y copiar la subcarpeta "pysimplesoap" en "dist-packages" de la versión de python a utilizar y cambiar los permisos, por ejemplo:

Código: Seleccionar todo

$ sudo cp ./pysimplesoap/ /usr/lib/python2.7/dist-packages/ -r
$ sudo chmod 0755 /usr/lib/python2.7/dist-packages/pysimplesoap
Al código que proporciono @mauricio lo nombre "wssatvalida.py", y así lo comprobé:

Código: Seleccionar todo

$ python wssatvalida.py AAV8705296P4 XAXX010101000 855.80 18270533-399E-4E67-A5AD-26EC5F3180F7
En Arch, use un entorno virtual ("env1ws"), copie el código de ambos paquetes (httplib, pysimplesoap) en: "/home/s3cr3to/virt/env1ws/lib/python3.3/site-packages/"
Y claro, funcionó "de lujo" :)

Saludos!
Dunmord
Mensajes: 2
Registrado: Jue Feb 13, 2014 10:53 am

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por Dunmord »

@jhon_key
¡Muchas gracias, funcionó de pelos!
danrodriguez
Mensajes: 1
Registrado: Sab Feb 15, 2014 3:19 am

Re: (BINGO!!!) Web Service para Validar del SAT

Mensaje por danrodriguez »

MaltrakS escribió:Listo ya funciono Camaradas.

<tem:expresionImpresa>
<![CDATA[?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075]]>
</tem:expresionImpresa>

<ConsultaResult xmlns:a="http://schemas.datacontract.org/2004/07 ... i.Servicio" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:CodigoEstatus>S - Comprobante obtenido satisfactoriamente.</a:CodigoEstatus>
<a:Estado>Vigente</a:Estado>
</ConsultaResult>
Muchas gracias!
jhon_key
Mensajes: 3
Registrado: Jue Feb 13, 2014 2:07 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por jhon_key »

@Dunmord

De nada, y por cierto se me olvido comentarte y creo que los demás también lo pueden necesitar, sustituyan el caracter & por & antes de mandar la validación, de lo contrario les enviara que el CFDI no fue encontrado, no se si lo mismo aplique para los demás caracteres especiales (> < ' ") ya que no hemos emitido facturas con RFC's que los contengan, de hecho no se si existan RFC con ellos, en fin, como si hay RFC con & no lo olviden.

Para PHP el codigo es el siguiente:

Código: Seleccionar todo

$rfc=str_replace("&", "&", $rfc);
RickAlanis
Mensajes: 288
Registrado: Jue Ago 04, 2011 8:41 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por RickAlanis »

@john_key:

El cDATA precisamente se usa para que los datos dentro de su contexto no se interpreten como comandos u otra cosa. Los únicos caracteres que no se permiten dentro de un cDATA son precisamente "]]>" porque es la secuencia de cierre del cDATA, lo que además hace que no puedan anidarse.

De hecho, la cadena de caracteres que envío al Web Service del SAT dentro del cDATA es precisamente la misma que envío para generar el QR CODE. No cambio nada. ¡Y funciona!

¡Saludos!
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por Dado »

Mira, todos los dias se aprende algo........

Lo siguiente FUNCIONA MUY BIEN, DE LAS DOS FORMAS, VEN LA DIFERENCIA??

CDATA indica al XML Parser que NO interprete la informacion, porque son datos y debe llevar solo el "&"

Si lo mandamos SIN CDATA entonces tenemos que usar "&"
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Consulta>
<tem:expresionImpresa>
<![CDATA[?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075]]></tem:expresionImpresa>
</tem:Consulta>
</soapenv:Body>
</soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Consulta>
<tem:expresionImpresa>
?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075</tem:expresionImpresa>
</tem:Consulta>
</soapenv:Body>
</soapenv:Envelope>
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
jhon_key
Mensajes: 3
Registrado: Jue Feb 13, 2014 2:07 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por jhon_key »

@RickAlanis

Muchas gracias, DADO tiene razón, a diario se aprende algo nuevo. Lo que si, es que jamas pude hacer que funcionara con CDATA y mira que lo trate de muchas formas, a lo mejor es por que el parámetro lo estoy usando como texto y no como XML, la verdad no se, pero gracias.
RickAlanis
Mensajes: 288
Registrado: Jue Ago 04, 2011 8:41 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por RickAlanis »

Qué bueno que pude aportar un granito de arena.

Precisamente entiendo que esta es la función del foro y debo reconocer que he aprendido mucho consultando y, de vez en cuando, cooperando, que es la forma en que todos aprendemos y crecemos.

Definitivamente agradezco a DADO y, por supuesto, a todos los foristas. Sin este foro hubiera tardado mucho más en desarrollar el CFD y CFDi.

¡Saludos a la peña! (Como dicen en Hezpaña, joder!)
s3cr3to
Mensajes: 502
Registrado: Mar Dic 28, 2010 1:12 pm

Re: (Nuevo) Web Service para Validar del SAT

Mensaje por s3cr3to »

Buen día.

Este servicio de verificación es uno de los mas simples que el SAT a proporcionado (GaD!)

Bueno, acabo de hacer una pequeña aplicación en Delphi7 (para aprender más de XML y web services).
Dejo aquí el código del proyecto, las únicas restricciones: dejar mis notas y no abusar del servicio de verificación (esta última restricción es del sat).

Una petición adicional: Ayuda, enseñenme a detectar, seleccionar y procesar mas de un complemento en el CFDI con Delphi, y así mejorar esta aplicación.

Como aún no domino bien XML+Delphi+Python, mi aplicación truena cuando trae mas de un complemento, es decir, si trae solo el complemento de timbre logro leer el uuid y todo bien, pero si ademas trae el complemento de nomina en este caso truena bien lindo (bueno no tanto).

Notas de la aplicación:
  • Se pueden capturar manualmente datos para validar un cfdi.
  • Puede cargar un XML pulsando el botón correspondiente.
  • Se pueden seleccionar desde el explorador de archivos "n" archivos XML arrastrar y dejar caer en la aplicación para verificar todos en montón. Nota, por default en este caso hace una pausa de 3 segundos, para evitar atragantar el servicio de verificación, se puede reducir a 1 segundo en estos casos o incrementar hasta 10 segundos.
  • Detecta si el XML es diferente no es version 3.2.
  • Al iniciar carga uno de dos ejemplos, para efectos de "verificar" el servicio, pueden cambiarse en código para validar un propio.
  • Finalmente: "ahora con colores más feos" (it's a feature).
Saludos y gracias foro!
Adjuntos
verificacfdi.PNG
verificacfdi.PNG (13.7 KiB) Visto 22869 veces
v0_2c.zip
(31.23 KiB) Descargado 918 veces
Cerrado