Esta versión regresa el CFDI y el TFD ya unidos
Timbrar CFDI recibe un comprobante sellado en formato string o en su defecto en bytes, posteriormente retorna el complemento Timbre Fiscal Digital (TFD) correspondiente al xml que se mando a timbrar o en su defecto retorna una excepción detallando el error de validación.
Pasos para poder timbrar una factura:
- Paso 1:
Obtener un Token de acceso utilizando nuestras librerías, o en su defecto usar Token Infinito - Paso 2:
A continuación se enviara la factura (cfdi) ya sellada, esto se hará mediante alguna de nuestras librerías de su preferencia que SmarterWeb pone a su disposición.
HTTP Request y Response
A continuación se muestran ejemplos del HTTP Request y sus respectivos HTTP Response para esta versión de timbrado.
HTTP Request
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
POST http://services.test.sw.com.mx/cfdi33/stamp/v3 HTTP/1.1 Content-Type: multipart/form-data; boundary="----=_Part_11_11939969.1490230712432" MIME-Version: 1.0 Authorization: bearer T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo Host: services.test.sw.com.mx Content-Length: 7859 ------=_Part_11_11939969.1490230712432 Content-Type: text/xml Content-Transfer-Encoding: binary Content-Disposition: form-data; name="xml"; filename="xml" <?xml version="1.0" encoding="utf-8"?> <cfdi:Comprobante Certificado="MIIFzDCCA7SgAwIBAgIUMjAwMDEwMDAwMDAzMDAwMjI3NjMwDQYJKoZIhvcNAQELBQAwggFmMSAwHgYDVQQDDBdBLkMuIDIgZGUgcHJ1ZWJhcyg0MDk2KTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxITAfBgkqhkiG9w0BCQIMElJlc3BvbnNhYmxlOiBBQ0RNQTAeFw0xNjEwMjEyMDU0MDFaFw0yMDEwMjEyMDU0MDFaMIG4MRwwGgYDVQQDExNJTk1PQiBFRE1BIFNBIERFIENWMRwwGgYDVQQpExNJTk1PQiBFRE1BIFNBIERFIENWMRwwGgYDVQQKExNJTk1PQiBFRE1BIFNBIERFIENWMSUwIwYDVQQtExxUTUU5NjA3MDlMUjIgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxFTATBgNVBAsUDFBydWViYXNfQ0ZESTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJgqZ+ezJyeJXACMK8ehFp64ecAl8jfYKB4xMJy0RRb+qXKRewxtLojiTFECWdCx283tEkdHUj8bLzsCfFAMnsP2G4CS2aE2/1LLCHoZpdImaasLX1YJL2bUzxKQKi+RlL63M49yyfvGBjEgG7f6TMwVSUSbgDFpYAFHqx4LK+p2GVHuUUzoiIm8xRYaW1YPMa457be5W8wsjw0nGRLfo8hRIjPHedkwtcqYPj57xsPXMfxWP45vOlW7GuLkMq/ECccHxJiPitiThcDFKlf/mAR0kaux9LTffvWilA2uQAlyVyNVjqfdpvDdq4ycTaoIMYKrv/9R31dQ0AmdXT8cfbcCAwEAAaMdMBswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQELBQADggIBAF5kwvyBUp7Ad99DktzEhrJwnMQyhA79sVc4Ns2SpLON/cV244ZnG5hgXk2awKbHEiSj/ke7EhgEpGS818ERsj7eW/wRgugBZraVn48GOn6qX0uV9EjwWEGK5uT6IDN25igeXxVJHP3hn40fX2BPqsaqRP49YMxcOWD7mhWRh2E6BnoKYjgHVJbavUN6pjCBLmy4hKwfitbjqtUiiWOmBDvvmLFpEGXG8OXn2xladBUkfC4sfgMBpVZVuEV7RqAgCSCZ2xo6UEyd4KKpTjbdp0Tj5gw+NmiovAZHwU/NPRojN95f/ibj7268LBr2DcO5rlmr7szwJ3dtwu86N7HkUxW3vo3qGHTVK2HRBArda9VN4pEyIL0Qt46ci5rFYXB2cCWU8XAh8gaZnxJoNTSY4A4yMJG9UfM/2rHC+YvOouIZ2kJZ2h+SwKOYGJOX749P/QeF4Z/L/ODs3E08bV7IQna1ZHmd6ydYhZVpheMgNoNnIG6jdzfyuo8NZAIIW/JGmPTANPCwTSHqBY1lmnp/oZNrkxGWtGhbltRfBoFQfTqCZALm6fsVeQqHQ6a7W45FJ2RD1nltPSdniMo3Iz/t4eHCjFvM3aORvA9oJEPr5ZzzBV2fQOXkyS8QdsSVb5ZmJG+FqZKKlsiaX6xhqK6gqTLyJN+7/yr9T/ZZ4M7VrRoL" Fecha="2017-05-12T11:04:50" Folio="HNFK231" FormaPago="01" LugarExpedicion="06300" MetodoPago="PUE" Moneda="MXN" NoCertificado="20001000000300022763" Sello="WGk5MegvIJHX871XjJg9DEyaUeg2oTXNnzsvWqmK5ejEGJokjoJZDEiBJpbJK1Sh3QdF+i+llmNiadwMKj4EZAH2czYwHcR4ynGquCYlkfd+wlELqzSHPmZaNmZYOZOK+tMECQe0BVbbYUcgQoAETODQq3bx4ALG3gYi9i3J2HX+F2A51wV1/EmAuUpNu9jqgU1FqvJDTpIfcy+PaU2Ew96/5lz1CjE/q7HOPLdOCiRyfkxZACuOyjlyWdexY3G74/JrXRV/0iFC/IiI3oKnRBnlmqY7D9Qaa2AaSJbq0AVDX3WR3gBCaxG9ueiqpyGgNvXsk/QtC4g2uLbzjax16w==" Serie="RogueOne" SubTotal="200.00" TipoCambio="1" TipoDeComprobante="I" Total="603.28" Version="3.3" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd"> <cfdi:Emisor Nombre="INMOB EDMA SA DE CV " RegimenFiscal="601" Rfc="TME960709LR2"/> <cfdi:Receptor Nombre="Rodolfo Carranza Ramos" Rfc="AAA010101AAA" UsoCFDI="G03"/> <cfdi:Conceptos> <cfdi:Concepto Cantidad="1" ClaveProdServ="50211503" ClaveUnidad="H87" Descripcion="Cigarros" Importe="200.00" NoIdentificacion="UT421511" Unidad="Pieza" ValorUnitario="200.00"> <cfdi:Impuestos> <cfdi:Traslados> <cfdi:Traslado Base="200.00" Importe="32.08" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa"/> <cfdi:Traslado Base="232.00" Importe="371.20" Impuesto="003" TasaOCuota="1.600000" TipoFactor="Tasa"/> </cfdi:Traslados> </cfdi:Impuestos> </cfdi:Concepto> </cfdi:Conceptos> <cfdi:Impuestos TotalImpuestosTrasladados="403.28"> <cfdi:Traslados> <cfdi:Traslado Importe="32.08" Impuesto="002" TasaOCuota="0.160000" TipoFactor="Tasa"/> <cfdi:Traslado Importe="371.20" Impuesto="003" TasaOCuota="1.600000" TipoFactor="Tasa"/> </cfdi:Traslados> </cfdi:Impuestos> </cfdi:Comprobante> ------=_Part_11_11939969.1490230712432-- // |
HTTP Response 200
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Request URL:http://services.test.sw.com.mx/cfdi33/stamp/v3 Request Method:POST Status Code:200 OK Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade Content-Length:1261 Content-Type:application/json; charset=utf-8 Date:Thu, 11 May 2017 22:55:57 GMT Server:Microsoft-IIS/8.0 Vary:Accept-Encoding X-Powered-By:ASP.NET { "data": { "cfdi": "<?xml version=\"1.0\" encoding=\"utf-8\"?><cfdi:Comprobante xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd\" Version=\"3.3\" Serie=\"RogueOne\" Folio=\"HNFK231\" Fecha=\"2017-05-11T16:48:22\" Sello=\"YHvkKPCGUhxHRoqk8vAnNeiHVNo5KaGYa3EBU1yMOiiTNnUASQJZxFkNbn52RUMtnepI1IAXDh7FlqCm5Vjofh3vLSJFCl8A+KUYO/GRoiYXOqwPpIhBMs9JPDXnshQzgDeL4NCd6/dSuQj3hdCVZCPgUnyYjRaFUBtqfJKTuIyP3n1o0QHq9pNvQTe+I6pumMcZoK2cWsFcgj3gZ++qO/SeV8bcWpXWGVQ43dvMCggI/z3q6sMTli6TcqoLYjS/aXmtKcPXE7Lay9uEGUNXlRaNDeGFyhtRh4ABGcFzIUuOVu1aPoq5s9wX81CaYx7hgTHFg74vNVGmxbTUwMbDSg==\" FormaPago=\"01\" NoCertificado=\"20001000000300022763\" Certificado=\"MIIFzDCCA7SgAwIBAgIUMjAwMDEwMDAwMDAzMDAwMjI3NjMwDQYJKoZIhvcNAQELBQAwggFmMSAwHgYDVQQDDBdBLkMuIDIgZGUgcHJ1ZWJhcyg0MDk2KTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxITAfBgkqhkiG9w0BCQIMElJlc3BvbnNhYmxlOiBBQ0RNQTAeFw0xNjEwMjEyMDU0MDFaFw0yMDEwMjEyMDU0MDFaMIG4MRwwGgYDVQQDExNJTk1PQiBFRE1BIFNBIERFIENWMRwwGgYDVQQpExNJTk1PQiBFRE1BIFNBIERFIENWMRwwGgYDVQQKExNJTk1PQiBFRE1BIFNBIERFIENWMSUwIwYDVQQtExxUTUU5NjA3MDlMUjIgLyBIRUdUNzYxMDAzNFMyMR4wHAYDVQQFExUgLyBIRUdUNzYxMDAzTURGUk5OMDkxFTATBgNVBAsUDFBydWViYXNfQ0ZESTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJgqZ+ezJyeJXACMK8ehFp64ecAl8jfYKB4xMJy0RRb+qXKRewxtLojiTFECWdCx283tEkdHUj8bLzsCfFAMnsP2G4CS2aE2/1LLCHoZpdImaasLX1YJL2bUzxKQKi+RlL63M49yyfvGBjEgG7f6TMwVSUSbgDFpYAFHqx4LK+p2GVHuUUzoiIm8xRYaW1YPMa457be5W8wsjw0nGRLfo8hRIjPHedkwtcqYPj57xsPXMfxWP45vOlW7GuLkMq/ECccHxJiPitiThcDFKlf/mAR0kaux9LTffvWilA2uQAlyVyNVjqfdpvDdq4ycTaoIMYKrv/9R31dQ0AmdXT8cfbcCAwEAAaMdMBswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQELBQADggIBAF5kwvyBUp7Ad99DktzEhrJwnMQyhA79sVc4Ns2SpLON/cV244ZnG5hgXk2awKbHEiSj/ke7EhgEpGS818ERsj7eW/wRgugBZraVn48GOn6qX0uV9EjwWEGK5uT6IDN25igeXxVJHP3hn40fX2BPqsaqRP49YMxcOWD7mhWRh2E6BnoKYjgHVJbavUN6pjCBLmy4hKwfitbjqtUiiWOmBDvvmLFpEGXG8OXn2xladBUkfC4sfgMBpVZVuEV7RqAgCSCZ2xo6UEyd4KKpTjbdp0Tj5gw+NmiovAZHwU/NPRojN95f/ibj7268LBr2DcO5rlmr7szwJ3dtwu86N7HkUxW3vo3qGHTVK2HRBArda9VN4pEyIL0Qt46ci5rFYXB2cCWU8XAh8gaZnxJoNTSY4A4yMJG9UfM/2rHC+YvOouIZ2kJZ2h+SwKOYGJOX749P/QeF4Z/L/ODs3E08bV7IQna1ZHmd6ydYhZVpheMgNoNnIG6jdzfyuo8NZAIIW/JGmPTANPCwTSHqBY1lmnp/oZNrkxGWtGhbltRfBoFQfTqCZALm6fsVeQqHQ6a7W45FJ2RD1nltPSdniMo3Iz/t4eHCjFvM3aORvA9oJEPr5ZzzBV2fQOXkyS8QdsSVb5ZmJG+FqZKKlsiaX6xhqK6gqTLyJN+7/yr9T/ZZ4M7VrRoL\" SubTotal=\"200.00\" Moneda=\"MXN\" TipoCambio=\"1\" Total=\"603.28\" TipoDeComprobante=\"I\" MetodoPago=\"PUE\" LugarExpedicion=\"06300\" xmlns:cfdi=\"http://www.sat.gob.mx/cfd/3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><cfdi:Emisor Rfc=\"TME960709LR2\" Nombre=\"INMOB EDMA SA DE CV \" RegimenFiscal=\"601\" /><cfdi:Receptor Rfc=\"AAA010101AAA\" Nombre=\"Rodolfo Carranza Ramos\" UsoCFDI=\"G03\" /><cfdi:Conceptos><cfdi:Concepto ClaveProdServ=\"50211503\" NoIdentificacion=\"UT421511\" Cantidad=\"1\" ClaveUnidad=\"H87\" Unidad=\"Pieza\" Descripcion=\"Cigarros\" ValorUnitario=\"200.00\" Importe=\"200.00\"><cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado Base=\"200.00\" Impuesto=\"002\" TipoFactor=\"Tasa\" TasaOCuota=\"0.160000\" Importe=\"32.08\" /><cfdi:Traslado Base=\"232.00\" Impuesto=\"003\" TipoFactor=\"Tasa\" TasaOCuota=\"1.600000\" Importe=\"371.20\" /></cfdi:Traslados></cfdi:Impuestos></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos TotalImpuestosTrasladados=\"403.28\"><cfdi:Traslados><cfdi:Traslado Impuesto=\"002\" TipoFactor=\"Tasa\" TasaOCuota=\"0.160000\" Importe=\"32.08\" /><cfdi:Traslado Impuesto=\"003\" TipoFactor=\"Tasa\" TasaOCuota=\"1.600000\" Importe=\"371.20\" /></cfdi:Traslados></cfdi:Impuestos><cfdi:Complemento><tfd:TimbreFiscalDigital xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd\" Version=\"1.1\" UUID=\"f7ea4fe2-8c07-4429-b59f-fd393a50de29\" FechaTimbrado=\"2017-05-08T17:23:10\" RfcProvCertif=\"AAA010101AAA\" SelloCFD=\"Lt0ixutSuNqOtIJgzhQKEE8ovWhb6UyQp0d6zL8FiLoyxzwF/opJh6pLuk49JLhhyeQQSypWdcbiWOQGFhZgg/Ym2kxrng5sUAqEXfIygXUTQHNukpPf7N53Mj4YaljKa+pUmNdVihH14D7WcatZITYIj4fAyEMItVwId2xnNpXKtUnpwBRUQJbYZeMwbyE0B90jgDNtGnD0XV3udrodY2m3EHNi1YVy75ra4wQQfvtvgOwWCig1EaFKYtdkc6MxSMFPmwAKdNRfZX9m8bLLiDOOSXPrI8/5FOtNuwqEReNL90ndH6aNmpoYplpGIzjRgzyG2J9+kMcGanHPrEadFQ==\" NoCertificadoSAT=\"20001000000300022323\" SelloSAT=\"nE9gBgz7QC7GeCGxPIomxocx5idvJjnCGd3kLFqEY/t0rxRKZiOGXHpjXY5Mi/3flvLfWqdVj3eK5cmU/z9ha+3I+4uSThh4Vzz2RQO67QBVzJQdvkmKafqgoiE/ouNk+qGgwnYAU8udcx4ihGsCUr/4owaulG63xZCUKg5CaBQKgE18M6RacE8NucdglvMdni1+XxJWwTnQGgAVY/s+HcTJbyAjC2R6C6OCZMVG95pHD62a/qFe5uDxz2meosxdXnuJi6bPkizD2LbBuGF8GjxgixlNRDuj4adzyxuo46cx7joynAJpBq4MZIuBTWzvSx20tN8K0uGZiYaitB6elA==\" xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" /><tfd:TimbreFiscalDigital xsi:schemaLocation=\"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd\" Version=\"1.1\" UUID=\"6a494215-1280-4bac-bd73-c15c7703fcf4\" FechaTimbrado=\"2017-05-11T18:25:37\" RfcProvCertif=\"AAA010101AAA\" SelloCFD=\"YHvkKPCGUhxHRoqk8vAnNeiHVNo5KaGYa3EBU1yMOiiTNnUASQJZxFkNbn52RUMtnepI1IAXDh7FlqCm5Vjofh3vLSJFCl8A+KUYO/GRoiYXOqwPpIhBMs9JPDXnshQzgDeL4NCd6/dSuQj3hdCVZCPgUnyYjRaFUBtqfJKTuIyP3n1o0QHq9pNvQTe+I6pumMcZoK2cWsFcgj3gZ++qO/SeV8bcWpXWGVQ43dvMCggI/z3q6sMTli6TcqoLYjS/aXmtKcPXE7Lay9uEGUNXlRaNDeGFyhtRh4ABGcFzIUuOVu1aPoq5s9wX81CaYx7hgTHFg74vNVGmxbTUwMbDSg==\" NoCertificadoSAT=\"20001000000300022323\" SelloSAT=\"rWTKfxTWWCToFtUyEsihLEwA88VT4FuUn/3Lt++YcCGmsJhL2U8qtz93JHCgmQrxy+4hAzQdv5nyX03qZSkBFV7zVIXQL9z3uxSoUY9DGC6PELxKDagrKai0iVE2NLpkc/65XLTQ1bEXuiE1tyNUZGH/PzxbrBnOPkPjAjIOb5B7AoCQCR1BTMNE9lkDsa9ouakS1LTUhDLHJn5Csxp8SQonV8Cirid0kGRCxvQa+kumZVGKEB8rjcDgDoM+PUtqSmHt9mdEVD1qsJ5ql6lMv7DpwdyJRa+E4RdFjrJXwWwqgHofAL0nQA8lEN7TOO5CJ2d+Wj9+iflDzTAAT9SQuA==\" xmlns:tfd=\"http://www.sat.gob.mx/TimbreFiscalDigital\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" /></cfdi:Complemento></cfdi:Comprobante>" }, "status": "success" } |
HTTP Response 400
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Request URL:http://services.test.sw.com.mx/cfdi33/stamp/v3 Request Method:POST Status Code:400 Bad Request Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade Content-Length:516 Content-Type:application/json Date:Thu, 11 May 2017 23:01:01 GMT Server:Microsoft-IIS/8.0 X-Powered-By:ASP.NET { "message": "CFDI33102 - El resultado de la digestión debe ser igual al resultado de la desencripción del sello.", "messageDetail": "CadenaOriginal: ||3.3|RogueOne|HNFK231|2017-05-11T16:48:22|01|20001000000300022763|201.00|MXN|1|603.28|I|PUE|06300|TME960709LR2|INMOB EDMA SA DE CV|601|AAA010101AAA|Rodolfo Carranza Ramos|G03|50211503|UT421511|1|H87|Pieza|Cigarros|200.00|200.00|200.00|002|Tasa|0.160000|32.08|232.00|003|Tasa|1.600000|371.20|002|Tasa|0.160000|32.08|003|Tasa|1.600000|371.20|403.28||", "status": "error" } |
HTTP Response 401
1 2 3 4 5 6 7 8 9 10 11 |
Request URL:http://services.test.sw.com.mx/cfdi33/stamp/v3 Request Method:POST Status Code:401 Unauthorized Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade Content-Length:0 Date:Thu, 11 May 2017 22:59:28 GMT Server:Microsoft-IIS/8.0 WWW-Authenticate:Bearer X-Powered-By:ASP.NET |
HTTP Response 404
1 2 3 4 5 6 7 8 9 |
Request URL:http://services.test.sw.com.mx/cfdi33/stam/v3 Request Method:POST Status Code:404 Not Found Remote Address:13.65.94.204:80 Referrer Policy:no-referrer-when-downgrade Content-Length:0 Date:Thu, 11 May 2017 23:30:08 GMT Server:Microsoft-IIS/8.0 X-Powered-By:ASP.NET |
Timbrar con las librerias
- C#
- PHP
- JAVA
- CONSOLA
- Delphi
- FoxPro9
- Visual Basic 6
- Node.js
Ir al Repositorio de C# en GitHub
using System; using System.IO; using System.Text; using SW.Helpers; using SW.Services.Stamp; namespace ExampleSDK { class Program { static void Main() { try { //Ejemplo Timbrado utilizando la librería sw-sdk ( https://www.nuget.org/packages/SW-sdk/ ) //Para mayor referencia: https://github.com/lunasoft/sw-sdk-dotnet //Creamos una instancia de tipo Stamp //A esta le pasamos la Url, Usuario y Contraseña para obtener el token //Automaticamente despues de obtenerlo se procedera a timbrar el xml Stamp stamp = new Stamp("http://services.test.sw.com.mx", "demo", "123456789"); string xml = Encoding.UTF8.GetString(File.ReadAllBytes("file.xml")); StampResponseV3 response = stamp.TimbrarV3(xml); } catch (Exception e) { } } } }
Ir al Repositorio de PHP en GitHub
<?php require_once "vendor/autoload.php"; use SWServices\Stamp\StampService as StampService; try{ header("Content-type: application/json"); $params = array( "url"=>"http://services.test.sw.com.mx", "user"=>"demo", "password"=>"123456789" ); $xml = file_get_contents("./file.xml"); $stamp = StampService::Set($params); $result = $stamp::StampV3($xml); echo $result; } catch(Exception $e){ header("Content-type: text/plain"); echo "Caught exception: ", $e->getMessage(); } ?>
Ir al Repositorio de Java en GitHub
package Tests.Stamp; import Exceptions.AuthException; import Exceptions.GenaralException; import Services.Stamp.SWStampService; public class StampTest { public static void main() throws AuthException, GenaralException, IOException { try{ //Ejemplo Timbrado utilizando la librería sw-java ( https://search.maven.org/#search%7Cga%7C1%7Ca%3A%22SW-JAVA%22 ) //Para mayor referencia: https://github.com/lunasoft/sw-sdk-java //Es preferible inicializar el objeto con el usuario y password de nuestra cuenta, en caso contrario se puede incluir solamente el token de acceso //Se especifica el base path, esto para consumir el api de pruebas o productivo SWStampService api = new SWStampService("demo","123456789","http://services.test.sw.com.mx"); //Se inicializa un objeto response, que obtendra la respuesta del api SuccessV3Response response = null; //Se asigna el resultado de la respuesta a dicho objeto //Se ejecuta el metodo "Stamp", que timbrara nuestro comprobante posteriormente sellado, asi como la versión del servicio de timbrado, //puede ver mas de estas versiones en el apartado "Versiones de timbrado" response = (SuccessV3Response)api.Stamp(Utils.dummy_xml_string,"v3"); //El objeto response tendra así los atributos: // Status: estado de la petición procesada, puede ser : "success", "fail", "error" // HttpStatusCode: Codigo de respuesta HTTP del servidor: eg. 200, 400, 500 // Data: Cuerpo de la respuesta que arroja el servidor //En este caso arrojara el complemento timbre: {"tfd":"&amp;lt;Complemento&amp;gt;"} System.out.println(response.Status); System.out.println(response.HttpStatusCode); System.out.println(response.cfdi); //En caso de obtener un error //Este se puede obtener en los campos System.out.println(response.message); System.out.println(response.messageDetail); } catch(Exception e){ //Se generara una excepción System.out.println(e.getMessage()); } } }
curl --request POST --url http://services.test.sw.com.mx/cfdi33/stamp/v1 --header "authorization: T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbXB3YVZxTHdOdHAwVXY2NTdJb1hkREtXTzE3dk9pMmdMdkFDR2xFWFVPUXpTUm9mTG1ySXdZbFNja3FRa0RlYURqbzdzdlI2UUx1WGJiKzViUWY2dnZGbFloUDJ6RjhFTGF4M1BySnJ4cHF0YjUvbmRyWWpjTkVLN3ppd3RxL0dJPQ.T2lYQ0t4L0RHVkR4dHZ5Nkk1VHNEakZ3Y0J4Nk9GODZuRyt4cE1wVm5tbFlVcU92YUJTZWlHU3pER1kySnlXRTF4alNUS0ZWcUlVS0NhelhqaXdnWTRncklVSWVvZlFZMWNyUjVxYUFxMWFxcStUL1IzdGpHRTJqdS9Zakw2UGRiMTFPRlV3a2kyOWI5WUZHWk85ODJtU0M2UlJEUkFTVXhYTDNKZVdhOXIySE1tUVlFdm1jN3kvRStBQlpLRi9NeWJrd0R3clhpYWJrVUMwV0Mwd3FhUXdpUFF5NW5PN3J5cklMb0FETHlxVFRtRW16UW5ZVjAwUjdCa2g0Yk1iTExCeXJkVDRhMGMxOUZ1YWlIUWRRVC8yalFTNUczZXdvWlF0cSt2UW0waFZKY2gyaW5jeElydXN3clNPUDNvU1J2dm9weHBTSlZYNU9aaGsvalpQMUxrUndzK0dHS2dpTittY1JmR3o2M3NqNkh4MW9KVXMvUHhZYzVLQS9UK2E1SVhEZFJKYWx4ZmlEWDFuSXlqc2ZRYXlUQk1ldlZkU2tEdU10NFVMdHZKUURLblBxakw0SDl5bUxabDFLNmNPbEp6b3Jtd2Q1V2htRHlTdDZ6eTFRdUNnYnVvK2tuVUdhMmwrVWRCZi9rQkU9.7k2gVCGSZKLzJK5Ky3Nr5tKxvGSJhL13Q8W-YhT0uIo" --header "cache-control: no-cache" --form xml=@33.xml
La informacion de como autenticarse para esta libreria la puedes encontrar en este Enlace
La informacion de como autenticarse para esta libreria la puedes encontrar en este Enlace
La informacion de como autenticarse para esta libreria la puedes encontrar en este Enlace
Ir al Repositorio de Node.js en GitHub
const fs = require("fs"); //referencia al módulo File System const StampService = require("sw-sdk-nodejs").StampService; //referencia al módulo de timbrado var params = { //parámetros para la autenticación user: "demo", password: "123456789", url: "services.test.sw.com.mx", }; fs.readFile("./file.xml", "utf8", function(err, contents) { //leemos el archivo xml if(err) { //si ocurrió un error al leer el archivo lo mostramos let errRes = { status: "error", message: err.message, messageDetail: err.message } console.log(errRes); } else { //en caso contrario creamos un callback donde se manipula la información var callback = (error, data) => { if(error)//si ocurre un error, aqui lo manipulamos console.log(error); else //manipulamos el resultado console.log(data); }; let xml = contents; //asignamos el contenido del archivo let stamp = StampService.Set(params);//asignamos los parámetros al stampservice stamp.StampV3(xml, callback);//utilizamos el servicio } });
XML de Ejemplo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?xml version="1.0" encoding="utf-8"?> <cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd" Version="3.3" Serie="RogueOne" Folio="HNFK231" Fecha="2017-05-12T11:42:36" Sello="d4FyDlQjP/RvxYUnL0nvFU3MO7GZSomV3U8M36vPyBHzytFlT88TI+6kzXeD1uRpGbQhUxgIWyHuABi8eYFJcnlu2XWbPSVM7cFajqnNmSD+zJzORrB7t9ZmPj7+fxBd0SmOocdN3zibhbm15PJLujD+BFVKO21QR0pn9AGCk17/iq7FySLjJfLznZmgoIEOpiVCM+fc/fD+SNrSi2lgitfikpu576pY+BdVRPJOaBnjcG0OK+HXjv11pWxOQ1Ntg7HWiK6xu2J2Mq64PStTeeSOQWpigJP/SfIpKdKhaix2+MBZtSreFG8dowY1mlkKJu0ZKtGomMdCBMxEMD9Afg==" FormaPago="01" NoCertificado="20001000000300022815" Certificado="MIIFxTCCA62gAwIBAgIUMjAwMDEwMDAwMDAzMDAwMjI4MTUwDQYJKoZIhvcNAQELBQAwggFmMSAwHgYDVQQDDBdBLkMuIDIgZGUgcHJ1ZWJhcyg0MDk2KTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSkwJwYJKoZIhvcNAQkBFhphc2lzbmV0QHBydWViYXMuc2F0LmdvYi5teDEmMCQGA1UECQwdQXYuIEhpZGFsZ28gNzcsIENvbC4gR3VlcnJlcm8xDjAMBgNVBBEMBTA2MzAwMQswCQYDVQQGEwJNWDEZMBcGA1UECAwQRGlzdHJpdG8gRmVkZXJhbDESMBAGA1UEBwwJQ295b2Fjw6FuMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxITAfBgkqhkiG9w0BCQIMElJlc3BvbnNhYmxlOiBBQ0RNQTAeFw0xNjEwMjUyMTUyMTFaFw0yMDEwMjUyMTUyMTFaMIGxMRowGAYDVQQDExFDSU5ERU1FWCBTQSBERSBDVjEaMBgGA1UEKRMRQ0lOREVNRVggU0EgREUgQ1YxGjAYBgNVBAoTEUNJTkRFTUVYIFNBIERFIENWMSUwIwYDVQQtExxMQU43MDA4MTczUjUgLyBGVUFCNzcwMTE3QlhBMR4wHAYDVQQFExUgLyBGVUFCNzcwMTE3TURGUk5OMDkxFDASBgNVBAsUC1BydWViYV9DRkRJMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgvvCiCFDFVaYX7xdVRhp/38ULWto/LKDSZy1yrXKpaqFXqERJWF78YHKf3N5GBoXgzwFPuDX+5kvY5wtYNxx/Owu2shNZqFFh6EKsysQMeP5rz6kE1gFYenaPEUP9zj+h0bL3xR5aqoTsqGF24mKBLoiaK44pXBzGzgsxZishVJVM6XbzNJVonEUNbI25DhgWAd86f2aU3BmOH2K1RZx41dtTT56UsszJls4tPFODr/caWuZEuUvLp1M3nj7Dyu88mhD2f+1fA/g7kzcU/1tcpFXF/rIy93APvkU72jwvkrnprzs+SnG81+/F16ahuGsb2EZ88dKHwqxEkwzhMyTbQIDAQABox0wGzAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQsFAAOCAgEAJ/xkL8I+fpilZP+9aO8n93+20XxVomLJjeSL+Ng2ErL2GgatpLuN5JknFBkZAhxVIgMaTS23zzk1RLtRaYvH83lBH5E+M+kEjFGp14Fne1iV2Pm3vL4jeLmzHgY1Kf5HmeVrrp4PU7WQg16VpyHaJ/eonPNiEBUjcyQ1iFfkzJmnSJvDGtfQK2TiEolDJApYv0OWdm4is9Bsfi9j6lI9/T6MNZ+/LM2L/t72Vau4r7m94JDEzaO3A0wHAtQ97fjBfBiO5M8AEISAV7eZidIl3iaJJHkQbBYiiW2gikreUZKPUX0HmlnIqqQcBJhWKRu6Nqk6aZBTETLLpGrvF9OArV1JSsbdw/ZH+P88RAt5em5/gjwwtFlNHyiKG5w+UFpaZOK3gZP0su0sa6dlPeQ9EL4JlFkGqQCgSQ+NOsXqaOavgoP5VLykLwuGnwIUnuhBTVeDbzpgrg9LuF5dYp/zs+Y9ScJqe5VMAagLSYTShNtN8luV7LvxF9pgWwZdcM7lUwqJmUddCiZqdngg3vzTactMToG16gZA4CWnMgbU4E+r541+FNMpgAZNvs2CiW/eApfaaQojsZEAHDsDv4L5n3M1CC7fYjE/d61aSng1LaO6T1mh+dEfPvLzp7zyzz+UgWMhi5Cs4pcXx1eic5r7uxPoBwcCTt3YI1jKVVnV7/w=" SubTotal="200.00" Moneda="MXN" TipoCambio="1" Total="603.28" TipoDeComprobante="I" MetodoPago="PUE" LugarExpedicion="06300" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <cfdi:Emisor Rfc="LAN7008173R5" Nombre="CINDEMEX SA DE CV" RegimenFiscal="601" /> <cfdi:Receptor Rfc="AAA010101AAA" Nombre="Rodolfo Carranza Ramos" UsoCFDI="G03" /> <cfdi:Conceptos> <cfdi:Concepto ClaveProdServ="50211503" NoIdentificacion="UT421511" Cantidad="1" ClaveUnidad="H87" Unidad="Pieza" Descripcion="Cigarros" ValorUnitario="200.00" Importe="200.00"> <cfdi:Impuestos> <cfdi:Traslados> <cfdi:Traslado Base="200.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="32.08" /> <cfdi:Traslado Base="232.00" Impuesto="003" TipoFactor="Tasa" TasaOCuota="1.600000" Importe="371.20" /> </cfdi:Traslados> </cfdi:Impuestos> </cfdi:Concepto> </cfdi:Conceptos> <cfdi:Impuestos TotalImpuestosTrasladados="403.28"> <cfdi:Traslados> <cfdi:Traslado Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="32.08" /> <cfdi:Traslado Impuesto="003" TipoFactor="Tasa" TasaOCuota="1.600000" Importe="371.20" /> </cfdi:Traslados> </cfdi:Impuestos> </cfdi:Comprobante> |
Para realizar la integración con nuestros servicios recomendamos utilizar POSTMAN, facilita las pruebas previas a la codificación.
Puedes importar el archivo POSTMAN-collection que proporcionamos al final del articulo para su descarga en POSTMAN para que puedas realizar pruebas funcionales de nuestro servicio.