API de Facturación Electrónica

docDigitales API es una gran herramienta para integrar la facturación electrónica a tu sistema.

Grandes Beneficios de docDigitales API

Mejora
tu sistema

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

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.

Excelente
Soporte

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

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.

Plataforma
Amigable

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

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"
                        }
                      }
                      ]
                    }
                  
                

docDigitales API
Ideal para desarrolladores de:


•   Sistemas ERP

•   Sistemas Administrativos

•   Sistemas Contables

•   Sistemas de Facturación

•   Sistemas de Punto de Venta

•   Sistemas a la Medida

Funciones con docDigitales API

icono1

Timbrar CFDI
Versión 3.3

icono1

Descargar CFDI
XML y PDF

icono1

Cancelar CFDI

icono1

Almacenamiento
Peticiones, Respuestas y XML

icono1

Enviar CFDI

icono1

Gestionar Múltiples RFC

icono_mobil

Timbrado de CFDI

icono_mobil

Descargar CFDI

icono_mobil

Almacenamiento

icono_mobil

Cancelar CFDI

icono_mobil

Gestionar Múltiples RFC

icono_mobil

Enviar CFDI

Simplificamos la facturación

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

¿Cuáles son los pasos para integrarte
a docDigitales API?

Cuando haya cambios en la estructura del CFDI por parte del SAT
sólo te tomará unos minutos actualizar el código en tu sistema.

¿Tienes alguna pregunta?

Nombre

Correo Electrónico

Teléfono

Escribe tu pregunta aquí