imagen-api imagen-api
imagen-api
imagen-api

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

imagen-api
Mejora
tu sistema

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

imagen-api
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.

imagen-api
Excelente
Soporte

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

imagen-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-api
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

imagen-api

Timbrar CFDI
Versión 3.3

imagen-api

Descargar CFDI
XML y PDF

imagen-api

Cancelar CFDI

imagen-api

Almacenamiento
Peticiones, Respuestas y XML

imagen-api

Enviar CFDI

imagen-api

Gestionar Múltiples RFC

imagen-api

Timbrado de CFDI

imagen-api

Descargar CFDI

imagen-api

Almacenamiento

imagen-api

Cancelar CFDI

imagen-api

Gestionar Múltiples RFC

imagen-api

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.

imagen-api

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

imagen-api
imagen-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.

imagen-api
imagen-api

¿Tienes alguna pregunta?

Nombre

Correo Electrónico

Teléfono

Escribe tu pregunta aquí