jueves, 6 de febrero de 2014

Validar UUID del SAT

WEbReference https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc

Codigo C#

ConsultaCFDI.ConsultaCFDIServiceClient oConsulta = new ConsultaCFDIServiceClient();
            ConsultaCFDI.Acuse oAcuse = new Acuse();

            oAcuse=oConsulta.Consulta("?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075");

            MessageBox.Show("Estatus " + oAcuse.CodigoEstatus + " Estado: " + oAcuse.Estado);

Si te interesa hacer algo mas, un desarrollo integración de CFDI o validador de facturas de proveedores -> josmisu_@hotmail.com

24 comentarios:

Unknown dijo...

hola antes que nada gracias por la informacion es muy buena, solo que tengo un detalle cuando mando rfc de un emisor con un & en el rfc y los sustituyo con &amp me indica N - 601: La expresión impresa proporcionada no es válida.
como puedo manejar rfc con &

Saludos

Maltrak dijo...

lo puedes mandar con Corchetes

Unknown dijo...

Hola

con este web service aparte de validar el uuid podemos obtener todos los CFDi emitidos por nuestros proveedores?????


Saludos

Maltrak dijo...

No es posible obtener los CFDI emitidos por los proveedores, pero tan pronto exista lo publicare.

Juan Albino Nolasco Chavez dijo...

Estoy haciendo la solicitud usando el formato e incluyendo los corchetes para los rfc que tienen el caracter & pero me marca error

"?re=B[&]N9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075"

Podrias mostrar un ejemplo de como te funciona. Gracias

Maltrak dijo...

utiliza el soap.
y mandalo asi.



Juan Albino Nolasco Chavez dijo...
Este comentario ha sido eliminado por el autor.
Juan Albino Nolasco Chavez dijo...

Gracias, de antemano, por la respuesta, y para victor villanueva que tambien tenia el problema con el &;
La manera en como solucione fue usando una cadena similar a esta
"?re=B&N9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075"

Reemplazando el '&' por '& amp;' espero que le sirva.

Maltrak dijo...

Ahora me doy cuenta que no se vio mi mensaje, por ponerlo con los corchetes.

Unknown dijo...

Hola Maltrak


buen dia me encotre con tu blog y me intereso,

te quiero hacer una pregunta. como compones la cadena que datos tiene la cadena

Juan Albino Nolasco Chavez dijo...

hice una aplicacion para ese fin, y libere el codigo en git hub
App_CheckCFI

Unknown dijo...

¿Sobre que plataforma?... ¿VS2008, 2010, 2012, 2014?
Saludos.

Juan Albino Nolasco Chavez dijo...

WinForms y ASP NET (framework 4.0 requerido)

Julio Reyes Ramírez dijo...

Hola buen día, revisando esto del SAT para validar facturas, di con tu blog e intente usar de guía el código que colocas en C pero yo en vb .net 2008

Cargo la referencia correctamente y voy colocando este código, oacuse se puede usar bien, pero no así oconsulta, se que debe ser una algo muy simple pero no logro declararla correctamente. Cualquier ayuda será muy bien recibida. Gracias


/////////
Dim oConsulta As New ConsultaCFDIServiceClient.ConsultaCFDIServiceClient
Dim oAcuse As New ConsultaCFDIServiceClient.Acuse
Dim Status As String
Dim Estado As String

Status = oAcuse.CodigoEstatus
Estado = oAcuse.Estado
///////////

Julio Reyes Ramírez dijo...

Me contesto yo solo, cuestión de nombres, al hacer la referencia del nombre le puse ConsultaCFDI y el código quedaría así:

Dim oConsulta As ConsultaCFDI.ConsultaCFDIServiceClient = New ConsultaCFDI.ConsultaCFDIServiceClient()
Dim oAcuse As ConsultaCFDI.Acuse = New ConsultaCFDI.Acuse()

oAcuse = oConsulta.Consulta("?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075")

MessageBox.Show(("Estatus " + oAcuse.CodigoEstatus & " Estado: ") + oAcuse.Estado)

Gerardo dijo...

Yo tengo un programa que se llama Xojo que es tipo Basic
y manejan SOAP.
con otros webservices, funciona,pero cuando ingreso el del SAT, se queda pensando.

No se si lo estoy haciendo mal:

Dim wsdl As String = "https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?wsdl"
Dim sm As New SOAPMethod(wsdl)

Jesús Moisés Nogueda Gonzalez dijo...

Muchas Gracias me funciono perfectamente!

huicho dijo...

Mil gracias!

Anónimo dijo...

Hola un gusto poder saludarte, de casualidad haz trabajado con la cancelación de uuid ante el SAT o con EDICOM?

BrunoAvalos dijo...

Julio Reyes Ramirez, yo también lo voy a hacer pero en VBA... qué Referencias debo agregar para poder usar tu código?
Muchas gracias!

Linares dijo...

Que tal, alguien sabe el servicio que se tiene que consumir para descargar el CFDI o poder en listar? muchas gracias!

Anónimo dijo...

Hola a todos, yo usaba este servicio y me funcionaba de maravilla. Ahora el SAT incluyo un CAPTCHA y ya no logro validar mis comprobantes. Alguna idea de como soucionarlo.

Unknown dijo...

Hola Gracias por tu aporacion ha sido de gran ayuda :).
Respecto al codigo que liberaste en GIT el Validador de CFDI, utilizas el xmlSeriealizer

var serializer = new XmlSerializer(typeof(Comprobante));

tambien trate de implementar esta instruccion en mi aplicacion (MVC C#), pero se tarda muchisimo, en cambio en tu aplicacion lo hace de volada, investigue sobre esto y encontre que con el programa SGEN.exe se puede crear anticipadamente la libreria con el tipo de dato, lo realize pero se sigue tardando demasiado tiempo.

Alguna sugerencia? alguien mas ha tenido este problema?

Gracias y Saludos!!

Maltrak dijo...

Pues en realidad es la unica forma serializando, a menos que quisieras leer el objeto de manera rudimentaria , con un XDocument y leas cada nodo y sus atributos.