Soporte docDigitales

Excelente Soporte

Contamos con un equipo de soporte especializado que te ayudará y resolverá todas tus dudas de integración.

integracion a API

Fácil Integración

API en arquitectura Rest, con documentación clara y en distintos lenguajes de programación como C#, Java, PHP y Ruby.

imagen mejora tu sistema

Mejora tu sistema

Con docDigitales API puedes integrar la función de facturación electrónica a cualquier sistema en poco tiempo.

Ideal para Desarrolladores

docDigitales API


  • Sistemas ERP
  • Sistemas Contables
  • Sistemas de Punto de Venta
  • Sistemas Administrativos
  • Sistemas de Facturación
  • Sistemas a la Medida
C#
Java
PHP
Ruby
                          
                            # Con el json de generacion de factura...

                            string factura = "{\"meta\":{\"empresa_uid\":\"asd123asd\",\"empresa_api_key\":\"123123123\",\"ambiente\":\"S\",\"objeto\":\"factura\"},\"data\":[{\"datos_fiscales\":{\"certificado_pem\":\"\",\"llave_pem\":\"\",\"llave_password\":\"DDM090629R13\"},\"cfdi\":{\"cfdi__comprobante\":{\"folio\":\"123\",\"fecha\":\"2018-03-25T12:12:12\",\"tipo_comprobante\":\"I\",\"lugar_expedicion\":\"21100\",\"forma_pago\":\"01\",\"metodo_pago\":\"PUE\",\"moneda\":\"MXN\",\"tipo_cambio\":\"1\",\"subtotal\":\"99.00\",\"total\":\"99.00\",\"cfdi__emisor\":{\"rfc\":\"DDM090629R13\",\"nombre\":\"Emisor Test\",\"regimen_fiscal\":\"601\"},\"cfdi__receptor\":{\"rfc\":\"XEXX010101000\",\"nombre\":\"Receptor Test\",\"uso_cfdi\":\"G01\"},\"cfdi__conceptos\":{\"cfdi__concepto\":[{\"clave_producto_servicio\":\"01010101\",\"clave_unidad\":\"KGM\",\"cantidad\":\"1\",\"descripcion\":\"descripcion test\",\"valor_unitario\":\"99.00\",\"importe\":\"99.00\",\"unidad\":\"unidad\",\"no_identificacion\":\"KGM123\",\"cfdi__impuestos\":{\"cfdi__traslados\":{\"cfdi__traslado\":[{\"base\":\"99.00\",\"impuesto\":\"002\",\"tipo_factor\":\"Exento\"}]}}}]}}}}]}";

                            _factura = new ApiFacturacion();
                            _lib     = new CertificadosDocDigitales();
                            _contenidoCertificado = _lib.ExportarCertificadoPem(PATH_CERTIFICADO);
                            _contenidoLlave       = _lib.ExportarLlavePem(PATH_LLAVE, PASSWORD_LLAVE);

                            # por cada comprobante que querramos timbrar llenamos sus datos fiscales
                            # path_certificado /vendor/certificados/certificado.cer
                            # path_llave       /vendor/certificados/llave.pem
                            # path_password    /vendor/certificados/password.txt
                            # ejemplo de como obtener el contenido de los certificados https://github.com/docdigitales/api-csharp/blob/master/ApiFacturacion/CertificadosDocDigitales.cs

                            var facturaDiccionario = JsonConvert.DeserializeObject>(factura);

                            // Establecer parametros para generacion
                            facturaDiccionario["data"][0]["datos_fiscales"]["certificado_pem"]  = _contenidoCertificado;
                            facturaDiccionario["data"][0]["datos_fiscales"]["llave_pem"]        = _contenidoLlave;
                            facturaDiccionario["data"][0]["datos_fiscales"]["llave_password"]   = PASSWORD_LLAVE;

                            // Enviamos la peticion de timbrado
                            var facturaGenerada = _factura.GeneracionFactura(facturaDiccionario);

                            // Donde el metodo de GeneracionFactura(facturaDiccionario) se define:
                            public Dictionary GeneracionFactura(Dictionary peticionGeneracion) {
                              string _uriGeneracion = "http://api.docdigitales.com/v1/facturas/generar";

                              try {
                                string response = GetPostResponse(_uriGeneracion, peticionGeneracion);
                                return JsonConvert.DeserializeObject>(response);
                              } catch(Exception e) {
                                Console.WriteLine("{0} Excepcion.", e);
                                return null;
                              }
                            }

                            private string GetPostResponse(String uri, Dictionary data) {
                              try {
                                string jsonData = JsonConvert.SerializeObject(data);
                                using (var client = new HttpClient()) {
                                  client.DefaultRequestHeaders.Add("Authorization", $"Token token={EMPRESA_API_KEY}"); // El Api Key Privada de tu cuenta
                                  client.DefaultRequestHeaders.Add("ACCEPT", "application/json");
                                  client.DefaultRequestHeaders.Add("CONTENT_TYPE", "application/json");
                                  client.DefaultRequestHeaders.Add("Access-Control-Allow-Origin", "*");
                                  client.DefaultRequestHeaders.Add("Method", "POST");
                                  var response = client.PostAsync(uri, new StringContent(jsonData, System.Text.Encoding.Default, "application/json"));
                                  var response_string = response.Result.Content.ReadAsStringAsync();
                                  Console.WriteLine(response_string.Result);
                                  return response_string.Result;
                                }
                              } catch(Exception e) {
                                Console.WriteLine("{0} Excepcion.", e);
                                return null;
                              }
                            }

                            // Respuesta
                            {
                              "meta":{
                                "ambiente":"S",
                                "objeto":"factura",
                                "respuesta_uid":"6d56aa20fd"
                              },
                              "data":[
                              {
                                "cfdi":{
                                  "cfdi__comprobante":{
                                    "folio":"123",
                                    "fecha":"2018-07-11T12:01:40",
                                    "tipo_comprobante":"I",
                                    "lugar_expedicion":"21100",
                                    "forma_pago":"01",
                                    "metodo_pago":"PUE",
                                    "moneda":"MXN",
                                    "tipo_cambio":"1",
                                    "subtotal":"99.00",
                                    "total":"99.00",
                                    "cfdi__emisor":{
                                      "rfc":"DDM090629R13",
                                      "nombre":"Emisor Test",
                                      "regimen_fiscal":"601"
                                    },
                                    "cfdi__receptor":{
                                      "rfc":"XEXX010101000",
                                      "nombre":"Receptor Test",
                                      "uso_cfdi":"G01"
                                    },
                                    "cfdi__conceptos":{
                                      "cfdi__concepto":[
                                      {
                                        "clave_producto_servicio":"01010101",
                                        "clave_unidad":"KGM",
                                        "cantidad":"1",
                                        "descripcion":"descripcion test",
                                        "valor_unitario":"99.00",
                                        "importe":"99.00",
                                        "unidad":"unidad",
                                        "no_identificacion":"KGM123",
                                        "cfdi__impuestos":{
                                          "cfdi__traslados":{
                                            "cfdi__traslado":[
                                            {
                                              "base":"99.00",
                                              "impuesto":"002",
                                              "tipo_factor":"Exento"
                                            }
                                            ]
                                          }
                                        }
                                      }
                                      ]
                                    }
                                  }
                                },
                                "cfdi_respuesta":{
                                  "timbrada":"true"
                                },
                                "cfdi_complemento":{
                                  "xsi:schema_location":"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd",
                                  "xmlns:tfd":"http://www.sat.gob.mx/TimbreFiscalDigital",
                                  "version":"1.1",
                                  "uuid":"429A7DA9-EAAD-4AF5-9235-12992B3E0545",
                                  "fecha_timbrado":"2018-07-11T14:01:42",
                                  "sello_cfd":"jfyhUksoP27NZQMugio/LU9b9wvlSqc0MYTugpPsaFsoA6O7UnfoumETLKyKN4zXEYlQzo4RVKKhd6RAkfq/eKVl7MJZHngYJs7rwu+ZUZ0bAB+0HHp7aGU4owpFb5JDSAkUBp6bfMSRdMXc/45HX4BkVG0vVJ//prUaUEsRJ6ZsgSPm5xrgO+J+meFfrtJxKLKVl5q4hX5S/PqO6zadds9UqMygCvHO0MpHKgN1PeNPTge7BWcGpHPoaJwYJ2rQlfP9mOnw8p3Ejl0ot+tVElfOvlHE1CPdxqbz4BOqOv+ygDZY20UetO/CbDcjv1YMLzmL+w4eVwuBHj0xbwnCYg==",
                                  "no_certificado_sat":"20001000000300022323",
                                  "sello_sat":"CL2Ozfgn3j5rN5LGrx9a885JPveL7y/4AjoMF6I59gSC8DY7sRGMQf0P5rzx3YzDIxy20ZsTQWWkc9Ydr0eo1aPDIZSW2EYrRZ8C2bLhpRGq1E5FrC9zZ5LRyTzqPVTspD7SHHdxcwDAp3RH+jh9YIqsmbUi2goed7o0RQtRH0f+g8wSCPA8cvRVLVX16bh180gxlZvpws6V8ye5CUgQNFi7qf6e8m5S1lqnrUyoSaImobLhUMDVEvJ/DweNKEtguKIUT0HerIEHxWqj3b6tysXzW+vtogWEX/Oo7EB6F3SU/V9Ty10f3NWX9GVoOKsSgovsZp+YrZiIREMI1qnp4Q==",
                                  "rfc_prov_certif":"IAD121214B34"
                                }
                              }
                              ]
                            }
                          
                        
                          
                            # Con el json de generacion de factura...

                            '{"meta":{"empresa_uid":"asd123asd","empresa_api_key":"123123123","ambiente":"S","objeto":"factura"},"data":[{"datos_fiscales":{"certificado_pem":"","llave_pem":"","llave_password":""},"cfdi":{"cfdi__comprobante":{"folio":"123","fecha":"2018-03-25T12:12:12","tipo_comprobante":"I","lugar_expedicion":"21100","forma_pago":"01","metodo_pago":"PUE","moneda":"MXN","tipo_cambio":"1","subtotal":"99.00","total":"99.00","cfdi__emisor":{"rfc":"DDM090629R13","nombre":"Test","real":"601"},"cfdi__receptor":{"rfc":"XEXX010101000","nombre":"Receptor Test","uso_cfdi":"G01"},"cfdi__conceptos":{"cfdi__concepto":[{"clave_producto_servicio":"01010101","clave_unidad":"KGM","cantidad":"1","descripcion":"descripcion test","valor_unitario":"99.00","importe":"99.00","unidad":"unidad","no_identificacion":"KGM123","cfdi__impuestos":{"cfdi__traslados":{"cfdi__traslado":[{"base":"99.00","impuesto":"002","tipo_factor":"Exento"}]}}}]}}}}]}';

                            private ApiFacturacion api = new ApiFacturacion();
                            private Gson gson = new Gson();

                            # por cada comprobante que querramos timbrar llenamos sus datos fiscales
                            # path_certificado /vendor/certificados/certificado.cer
                            # path_llave       /vendor/certificados/llave.pem
                            # path_password    /vendor/certificados/password.txt
                            # ejemplo de como obtener el contenido de los certificados https://github.com/docdigitales/api-java/blob/master/src/main/java/docdigitales/Certificados.java

                            String certificadoPem = Certificados.exportarCertificadoPem(PATH_CERTIFICADO);
                            String llavePem = Certificados.exportarLlavePem(PATH_LLAVE);
                            // Transformar JSON a Mapa
                            Map facturaDiccionario = JsonMap.toMap(factura);
                            // Agregar los Datos fiscales y la fecha
                            facturaDiccionario = JsonMap.setDatosFiscales(facturaDiccionario, certificadoPem, llavePem, "DDM090629R13");
                            facturaDiccionario = JsonMap.setFecha(facturaDiccionario);
                            // Generar la Factura
                            String peticionGeneracion = gson.toJson(facturaDiccionario);

                            # Enviamos peticion de timbrado
                            String response = api.generacionFactura(peticionGeneracion);

                            # Donde el metodo de generacionFactura(factura) se define:

                            public String generacionFactura(String peticionGeneracion) {
                              String uriGeneracion = "http://api.docdigitales.com/v1/facturas/generar";
                              return getPostResponse(uriGeneracion, peticionGeneracion);
                            }

                            private String getPostResponse(String uri, String data) {
                              try {
                                OkHttpClient client = new OkHttpClient();
                                RequestBody body = RequestBody.create(JSON, data);
                                Request request = new Request.Builder().url(uri).post(body)
                                .header("Authorization", "Token token=".concat(EMPRESA_API_KEY))
                                .addHeader("ACCEPT", "application/json")
                                .addHeader("CONTENT_TYPE", "application/json")
                                .addHeader("Access-Control-Allow-Origin", "*").build();
                                Response response = client.newCall(request).execute();      return response.body().string();
                              } catch(Exception e) {
                                System.out.println(e);
                                return null;        }    # Respuesta    {    "meta":        "ambiente":"S"        "objeto":"factura",      "respuesta_uid":"6d56aa20fd"    },    "data":[    {
                                  "cfdi":{        "cfdi__comprobante":{
                                    "folio":"123",
                                    "fecha":"2018-07-11T12:01:40",
                                    "tipo_comprobante":"I",
                                    "lugar_expedicion":"21100",
                                    "forma_pago":"01",
                                    "metodo_pago":"PUE",
                                    "moneda":"MXN",
                                    "tipo_cambio":"1",
                                    "subtotal":"99.00",
                                    "total":"99.00",
                                    "cfdi__emisor":{
                                      "rfc":"DDM090629R13",
                                      "nombre":"Emisor Test",
                                      "regimen_fiscal":"601"
                                    },
                                    "cfdi__receptor":{
                                      "rfc":"XEXX010101000",
                                      "nombre":"Receptor Test",
                                      "uso_cfdi":"G01"
                                    },
                                    "cfdi__conceptos":{
                                      "cfdi__concepto":[
                                      {
                                        "clave_producto_servicio":"01010101",
                                        "clave_unidad":"KGM",
                                        "cantidad":"1",
                                        "descripcion":"descripcion test",
                                        "valor_unitario":"99.00",
                                        "importe":"99.00",
                                        "unidad":"unidad",
                                        "no_identificacion":"KGM123",
                                        "cfdi__impuestos":{
                                          "cfdi__traslados":{
                                            "cfdi__traslado":[
                                            {
                                              "base":"99.00",
                                              "impuesto":"002",.seccion5_img_container img
                                              "tipo_factor":"Exento"
                                            }
                                            ]
                                          }
                                        }
                                      }
                                      ]
                                    }
                                  }
                                },
                                "cfdi_respuesta":{
                                  "timbrada":"true"
                                },
                                "cfdi_complemento":{
                                  "xsi:schema_location":"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd",
                                  "xmlns:tfd":"http://www.sat.gob.mx/TimbreFiscalDigital",
                                  "version":"1.1",
                                  "uuid":"429A7DA9-EAAD-4AF5-9235-12992B3E0545",
                                  "fecha_timbrado":"2018-07-11T14:01:42",
                                  "sello_cfd":"jfyhUksoP27NZQMugio/LU9b9wvlSqc0MYTugpPsaFsoA6O7UnfoumETLKyKN4zXEYlQzo4RVKKhd6RAkfq/eKVl7MJZHngYJs7rwu+ZUZ0bAB+0HHp7aGU4owpFb5JDSAkUBp6bfMSRdMXc/45HX4BkVG0vVJ//prUaUEsRJ6ZsgSPm5xrgO+J+meFfrtJxKLKVl5q4hX5S/PqO6zadds9UqMygCvHO0MpHKgN1PeNPTge7BWcGpHPoaJwYJ2rQlfP9mOnw8p3Ejl0ot+tVElfOvlHE1CPdxqbz4BOqOv+ygDZY20UetO/CbDcjv1YMLzmL+w4eVwuBHj0xbwnCYg==",
                                  "no_certificado_sat":"20001000000300022323",
                                  "sello_sat":"CL2Ozfgn3j5rN5LGrx9a885JPveL7y/4AjoMF6I59gSC8DY7sRGMQf0P5rzx3YzDIxy20ZsTQWWkc9Ydr0eo1aPDIZSW2EYrRZ8C2bLhpRGq1E5FrC9zZ5LRyTzqPVTspD7SHHdxcwDAp3RH+jh9YIqsmbUi2goed7o0RQtRH0f+g8wSCPA8cvRVLVX16bh180gxlZvpws6V8ye5CUgQNFi7qf6e8m5S1lqnrUyoSaImobLhUMDVEvJ/DweNKEtguKIUT0HerIEHxWqj3b6tysXzW+vtogWEX/Oo7EB6F3SU/V9Ty10f3NWX9GVoOKsSgovsZp+YrZiIREMI1qnp4Q==",
                                  "rfc_prov_certif":"IAD121214B34"
                                }
                              }
                              ]
                            }
                          
                        
                          
                            # Con el json de generacion de factura...

                            json = '{"meta":{"empresa_uid":"asd123asd","empresa_api_key":"123123123","ambiente":"S","objeto":"factura"},"data":[{"datos_fiscales":{"certificado_pem":"","llave_pem":"","llave_password":""},"cfdi":{"cfdi__comprobante":{"folio":"123","fecha":"2018-03-25T12:12:12","tipo_comprobante":"I","lugar_expedicion":"21100","forma_pago":"01","metodo_pago":"PUE","moneda":"MXN","tipo_cambio":"1","subtotal":"99.00","total":"99.00","cfdi__emisor":{"rfc":"DDM090629R13","nombre"<  :>Test","regimen_fiscal":"601"},"cfdi__receptor":{"rfc":"XEXX010101000","nombre":"Receptor Test","uso_cfdi":"G01"},"cfdi__conceptos":{"cfdi__concepto":[{"clave_producto_servicio":"01010101","clave_unidad":"KGM","cantidad":"1","descripcion":"descripcion test","valor_unitario":"99.00","importe":"99.00","unidad":"unidad","no_identificacion":"KGM123","cfdi__impuestos":{"cfdi__traslados":{"cfdi__traslado":[{"base":"99.00","impuesto":"002","tipo_factor":"Exento"}]}}}]}}}}]}';

                            $api  = new DocDigitales();
                            $cert = new Certificados();

                            # por cada comprobante que querramos timbrar llenamos sus datos fiscales
                            # path_certificado /vendor/certificados/certificado.cer
                            # path_llave       /vendor/certificados/llave.pem
                            # path_password    /vendor/certificados/password.txt
                            # ejemplo de como obtener el contenido de los certificados https://github.com/docdigitales/api-php/blob/master/lib/Certificados.php

                            $factura = json_decode($json, true);
                            $factura["data"][0]["datos_fiscales"]["certificado_pem"]  = $cert->contenidoCertificado("vendor/certificados/certificado.cer");
                            $factura["data"][0]["datos_fiscales"]["llave_pem"]        = $cert->contenidoLlave("vendor/certificados/llave.pem");
                            $factura["data"][0]["datos_fiscales"]["llave_password"]   = $cert->passwordLlave("vendor/certificados/password.txt");

                            # Enviamos peticion de do
                            $facturaGenerada = $api->generacionFactura($factura);

                            # Donde el metodo generacionFactura($factura) se define:
                            public function generacionFactura($factura) {
                              try {
                                $uriGeneracion = "http://api.docdigitales.com/v1/facturas/generar";
                                $generada = $this->getPostResponse($uriGeneracion, $factura);
                                return $generada;
                              } catch (Exception $e) {
                                echo $e;
                                return null;
                              }
                            }

                            private function getPostResponse($uri, $data) {
                              $client = new GuzzleHttp\Client(['base_uri' => $uri]);
                              $options = ['headers' => [
                              'Authorization' => "Token token=123123123",
                              'Accept'        => 'application/json',
                              'Content-Type'  => 'application/json',
                              'Access-Control-Allow-Origin' => '*'
                              ],'body' => json_encode($data)];

                              $response = $client->request('POST', $uri, $options);
                              $stream = Psr7\stream_for($response->getBody());
                              return json_decode($stream, true);
                            }

                            # Respuesta
                            {
                              "meta":{
                                "ambiente":"S",
                                "objeto":"factura",
                                "respuesta_uid":"6d56aa20fd"
                              },
                              "data":[
                              {
                                "cfdi":{
                                  "cfdi__comprobante":{
                                    "folio":"123",
                                    "fecha":"2018-07-11T12:01:40",
                                    "tipo_comprobante":"I",
                                    "lugar_expedicion":"21100",
                                    "forma_pago":"01",
                                    "metodo_pago":"PUE",
                                    "moneda":"MXN",
                                    "tipo_cambio":"1",
                                    "subtotal":"99.00",
                                    "total":"99.00",
                                    "cfdi__emisor":{
                                      "nombre":"Emisor Test",
                                      "regimen_fiscal":"601"
                                    },
                                    "cfdi__receptor":{
                                      "nombre":"Receptor Test",
                                      "uso_cfdi":"G01"
                                    },
                                    "cfdi__conceptos":{
                                      "cfdi__concepto":[
                                      {
                                        "clave_producto_servicio":"01010101",
                                        "clave_unidad":"KGM",
                                        "cantidad":"1",
                                        "descripcion":"descripcion test",
                                        "valor_unitario":"99.00",
                                        "importe":"99.00",
                                        "unidad":"unidad",
                                        "no_identificacion":"KGM123",
                                        "cfdi__impuestos":{
                                          "cfdi__traslados":{
                                            "cfdi__traslado":[
                                            {
                                              "base":"99.00",
                                              "impuesto":"002",
                                              "tipo_factor":"Exento"
                                            }
                                            ]
                                          }
                                        }
                                      }
                                      ]
                                    }
                                  }
                                },
                                "cfdi_respuesta":{
                                  "timbrada":"true"
                                },
                                "cfdi_complemento":{
                                  "xsi:schema_location":"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd",
                                  "xmlns:tfd":"http://www.sat.gob.mx/TimbreFiscalDigital",
                                  "version":"1.1",
                                  "uuid":"429A7DA9-EAAD-4AF5-9235-12992B3E0545",
                                  "fecha_timbrado":"2018-07-11T14:01:42",
                                  "sello_cfd":"jfyhUksoP27NZQMugio/LU9b9wvlSqc0MYTugpPsaFsoA6O7UnfoumETLKyKN4zXEYlQzo4RVKKhd6RAkfq/eKVl7MJZHngYJs7rwu+ZUZ0bAB+0HHp7aGU4owpFb5JDSAkUBp6bfMSRdMXc/45HX4BkVG0vVJ//prUaUEsRJ6ZsgSPm5xrgO+J+meFfrtJxKLKVl5q4hX5S/PqO6zadds9UqMygCvHO0MpHKgN1PeNPTge7BWcGpHPoaJwYJ2rQlfP9mOnw8p3Ejl0ot+tVElfOvlHE1CPdxqbz4BOqOv+ygDZY20UetO/CbDcjv1YMLzmL+w4eVwuBHj0xbwnCYg==",
                                  "no_certificado_sat":"20001000000300022323",
                                  "sello_sat":"CL2Ozfgn3j5rN5LGrx9a885JPveL7y/4AjoMF6I59gSC8DY7sRGMQf0P5rzx3YzDIxy20ZsTQWWkc9Ydr0eo1aPDIZSW2EYrRZ8C2bLhpRGq1E5FrC9zZ5LRyTzqPVTspD7SHHdxcwDAp3RH+jh9YIqsmbUi2goed7o0RQtRH0f+g8wSCPA8cvRVLVX16bh180gxlZvpws6V8ye5CUgQNFi7qf6e8m5S1lqnrUyoSaImobLhUMDVEvJ/DweNKEtguKIUT0HerIEHxWqj3b6tysXzW+vtogWEX/Oo7EB6F3SU/V9Ty10f3NWX9GVoOKsSgovsZp+YrZiIREMI1qnp4Q==",
                                  "rfc_prov_certif":"IAD121214B34"
                                }
                              }
                              ]
                            }
                          
                        
                          
                            # Con el json de generacion de factura...

                            json = '{"meta":{"empresa_uid":"asd123asd","empresa_api_key":"123123123","ambiente":"S","objeto":"factura"},"data":[{"datos_fiscales":{"certificado_pem":"","llave_pem":"","llave_password":""},"cfdi":{"cfdi__comprobante":{"folio":"123","fecha":"2018-03-25T12:12:12","tipo_comprobante":"I","lugar_expedicion":"21100","forma_pago":"01","metodo_pago":"PUE","moneda":"MXN","tipo_cambio":"1","subtotal":"99.00","total":"99.00","cfdi__emisor":{"rfc":"DDM090629R13","nombre":"Emisor Test","regimen_fiscal":"601"},"cfdi__receptor":{"rfc":"XEXX010101000","nombre":"Receptor Test","uso_cfdi":"G01"},"cfdi__conceptos":{"cfdi__concepto":[{"clave_producto_servicio":"01010101","clave_unidad":"KGM","cantidad":"1","descripcion":"descripcion test","valor_unitario":"99.00","importe":"99.00","unidad":"unidad","no_identificacion":"KGM123","cfdi__impuestos":{"cfdi__traslados":{"cfdi__traslado":[{"base":"99.00","impuesto":"002","tipo_factor":"Exento"}]}}}]}}}}]}';

                            @cert = Docdigitales::Certificado.new

                            # Donde el metodo generacion_factura(factura) se define:
                            def generacion_factura(data)
                            begin
                            uri = "http://api.docdigitales.com/v1/facturas/generar";
                            return get_post_response(uri, data)
                            rescue => exception
                            puts exception
                            return nil
                            end
                            end

                            # API_KEY - Api Key Privada de tu cuenta
                            def get_post_response(uri, data)
                            headers = {"Authorization": "Token token=#{API_KEY}", "Accept": "application/json", "Content-Type": "application/json", "Access-Control-Allow-Origin" => "*"}
                            response = Unirest.post uri, headers:headers, parameters:data.to_json
                            puts response.body
                            return response.body
                            end

                            # Respuesta
                            {
                              "meta":{
                                "ambiente":"S",
                                "objeto":"factura",
                                "respuesta_uid":"6d56aa20fd"
                              },
                              "data":[
                              {
                                "cfdi":{
                                  "cfdi__comprobante":{
                                    "folio":"123",
                                    "fecha":"2018-07-11T12:01:40",
                                    "tipo_comprobante":"I",
                                    "lugar_expedicion":"21100",
                                    "forma_pago":"01",
                                    "metodo_pago":"PUE",
                                    "moneda":"MXN",
                                    "tipo_cambio":"1",
                                    "subtotal":"99.00",
                                    "total":"99.00",
                                    "cfdi__emisor":{
                                      "rfc":"DDM090629R13",
                                      "nombre":"Emisor Test",
                                      "regimen_fiscal":"601"
                                    },
                                    "cfdi__receptor":{
                                      "rfc":"XEXX010101000",
                                      "nombre":"Receptor Test",
                                      "uso_cfdi":"G01"
                                    },
                                    "cfdi__conceptos":{
                                      "cfdi__concepto":[
                                      {
                                        "clave_producto_servicio":"01010101",
                                        "clave_unidad":"KGM",
                                        "cantidad":"1",
                                        "descripcion":"descripcion test",
                                        "valor_unitario":"99.00",
                                        "importe":"99.00",
                                        "unidad":"unidad",
                                        "no_identificacion":"KGM123",
                                        "cfdi__impuestos":{
                                          "cfdi__traslados":{
                                            "cfdi__traslado":[
                                            {
                                              "base":"99.00",
                                              "impuesto":"002",
                                              "tipo_factor":"Exento"
                                            }
                                            ]
                                          }
                                        }
                                      }
                                      ]
                                    }
                                  }
                                },
                                "cfdi_respuesta":{
                                  "timbrada":"true"
                                },
                                "cfdi_complemento":{
                                  "xsi:schema_location":"http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd",
                                  "xmlns:tfd":"http://www.sat.gob.mx/TimbreFiscalDigital",
                                  "version":"1.1",
                                  "uuid":"429A7DA9-EAAD-4AF5-9235-12992B3E0545",
                                  "fecha_timbrado":"2018-07-11T14:01:42",
                                  "sello_cfd":"jfyhUksoP27NZQMugio/LU9b9wvlSqc0MYTugpPsaFsoA6O7UnfoumETLKyKN4zXEYlQzo4RVKKhd6RAkfq/eKVl7MJZHngYJs7rwu+ZUZ0bAB+0HHp7aGU4owpFb5JDSAkUBp6bfMSRdMXc/45HX4BkVG0vVJ//prUaUEsRJ6ZsgSPm5xrgO+J+meFfrtJxKLKVl5q4hX5S/PqO6zadds9UqMygCvHO0MpHKgN1PeNPTge7BWcGpHPoaJwYJ2rQlfP9mOnw8p3Ejl0ot+tVElfOvlHE1CPdxqbz4BOqOv+ygDZY20UetO/CbDcjv1YMLzmL+w4eVwuBHj0xbwnCYg==",
                                  "no_certificado_sat":"20001000000300022323",
                                  "sello_sat":"CL2Ozfgn3j5rN5LGrx9a885JPveL7y/4AjoMF6I59gSC8DY7sRGMQf0P5rzx3YzDIxy20ZsTQWWkc9Ydr0eo1aPDIZSW2EYrRZ8C2bLhpRGq1E5FrC9zZ5LRyTzqPVTspD7SHHdxcwDAp3RH+jh9YIqsmbUi2goed7o0RQtRH0f+g8wSCPA8cvRVLVX16bh180gxlZvpws6V8ye5CUgQNFi7qf6e8m5S1lqnrUyoSaImobLhUMDVEvJ/DweNKEtguKIUT0HerIEHxWqj3b6tysXzW+vtogWEX/Oo7EB6F3SU/V9Ty10f3NWX9GVoOKsSgovsZp+YrZiIREMI1qnp4Q==",
                                  "rfc_prov_certif":"IAD121214B34"
                                }
                              }
                              ]
                            }
                          
                        

Cambios de SAT ¡Sin complicaciones!

No necesitas tomar cursos, ni descifrar los cambios del CFDI en el SAT, en docDigitales API lo hacemos por ti.

Plataforma Amigable

Podrás ver consumo histórico, detalle de peticiones y respuestas, descarga de XML y PDF, entre otras funciones.

Timbra, Cancela, Envía

Con el API docDigitales podrás timbrar, cancelar y enviar tus CFDIs con la versión 3.3

Descarga, Almacena y Gestiona

Podrás descargar los CFDI en formato XML y PDF, almacenar peticiones, respuestas y XML, al igual que gestionar múltiples RFC.

Simplificamos la facturación

Obtén tu demo gratis y descubre los grandes beneficios de integrar y conectar tu sistema a docDigitales API.