Blog Técnico Base de conocimiento, novedades, tips de los sistemas FactuPronto y ContaPronto

  Busqueda
Inicio » / »

API en REST con objeto Json

Nunca fue tan fácil realizar facturas electrónicas, con RestApi podrás facturar en un abrir y cerrar de ojos, “La Factura electrónica entre mas pronto mejor”.

Método de facturación en servicio RESTApi, una manera muy sencilla de emitir tus CFDI, con FactuPronto



En esta modalidad de facturación puedes de una manera muy sencilla y rápida emitir facturas electrónicas desde tu aplicación.

Aplicación               REST


Secuencia.png


En un par de pasos podrás validar rápidamente tus peticiones WebServices, y comprobar si se genero correctamente el CFDI obteniendo el XML y un link de descarga de la representación impresa en PDF.


Lo primero que necesitas es solicitar tus credenciales de acceso para poder iniciar tus pruebas. Debes proporcionar un Email, este será utilizado para generar tu usuario y se te asignara una contraseña(podrás modificarla una ves que tengas acceso), toda la información y documentación la recibirás al Email que ahora será tu usuario.

Recibecredenciales.png


Debes compartirnos los datos de la Empresa para que estos queden relacionados a tus credenciales y los datos se utilicen como datos de Emisor en la generación de los CFDI´s, (Razón Social, RFC, Lugar de Expedición, entre otros obligatorios para la emisión de CFDI´s).


Una ves obtenidas tus credenciales ya podrás realizar pruebas de envió y obtener tus CFDI´s


¿Como iniciar mis pruebas de facturación con el método REST?

Puedes utilizar herramientas de paga o herramientas de tu agrado para el metodo de envió RESTApi al servicio Web de FactuPronto, es a tu elección.

Pero te podemos recomendar una herramienta gratuita y es muy útil para poder iniciar tus pruebas rápidamente, esta es una extensión o complemento de Google Chrome, aquí te dejamos el link: https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo?hl=es-419

AdvanceRest.jpg

Servicios Disponibles:

/login

Permite obtener el API (llave de acceso al sistema) método GET

*la sesión le permite ejecutar otros recursos, si hay inactividad de solicitudes por mas de 10 minutos deberá volver a pedir nuevo acceso  Además puede salir de la sesión con el método DELETE


/timbrar33

Permite obtener la generación y certificación de un CFDi ya autorizado por el SAT


/cancelar

Permite la cancelación de un CFDi directo con el SAT


/perfilempresa

Permite obtener (método GET) los datos de la empresa y actualizarlos (método PUT)

Con esta herramienta o con cualquier herramienta de tu eleccion, lo primero es autenticar el usuario y ver si las credenciales son correctas o si esta activa la cuenta.

Veamos un poco como funciona y como lo puedes hacer tu con la herramienta Advanced REST client


http://servidor/morpheus/ng_jer/ws/login

Servicio: /login

Método GET : Se  obtiene el acceso a la plataforma REST API

El valor api se deberá usar en el resto de las operaciones a fin de validar el acceso

* Si no hay actividad por 10 minutos la sesión queda invalida y se deberá ejecutar de nuevo el recurso.

Serviceslogin.png

Ejemplo de servicio /login 

Con la Herramienta AdvancedRest Client

EjemplologinAdvance.png


http://servidor/morpheus/ng_jer/ws/

/timbrar33

Método POST:  Se  obtiene el CFDi  ya terminado y la liga(URL) con la representación en PDF

Tabla de códigos de error

Tabaladecodigodeerror.png



http://servidor/morpheus/ng_jer/ws/

/timbrar33

Método POST:  Se  obtiene el CFDi  ya terminado y la liga(URL) con la representación en PDF

Ejemploenvioparacfdi.png

Ejemplo de servicio /timbrar33

Con la Herramienta Advanced Rest Client

En la pestaña Header agregamos la siguiente información *

Ejemploenviocfdiadvance.png

En la pestaña Body agregamos la siguiente información *

Ejemploenviocfdiadvance2.png


A continuación veremos los elementos del objeto Json Request

Camposrequeridosrest1.png

Cada elemento marcado en rojo es un elemento requerido para un CFDI

Camposrequeridosrest2.png

Cada elemento marcado en rojo es un elemento requerido para un CFDI

Camposrequeridosrest3.png

Cada elemento marcado en rojo es un elemento requerido para un CFDI



Para procesar una cancelación de un CFD

http://servidor/morpheus/ng_jer/ws/login

/cancelar/UUID (identificador uuid a cancelar)

Ejemplodeenciocancelcionytabladecodigosdeerror.png

EjemplodeenviocancelacionAdvance.png


Consulta y edición de empresa Emisora

Consulta y edición de datos de empresa emisora

En ADD HEADER podemos agregar los parámetros RFC y api, que son necesarios para realizar la consulta.

Consultarempresaviarest.png



Te compartimos algunos ejemplos de objetos Json para que pruebes combinaciones de elementos.

Ejemplo CFDI con documentos relacionados:

{
  "complementos": [],
  "partidas": [
    {
      "cantidad": 1,
      "unidad": "PIEZA",
      "descripcion": "EJEMPLO DE DESCRIPCION PARA EL CONCEPTO",
      "ClaveProdServ": "51142405",
      "valorUnitario": 34.92,
      "importe": 34.92,
      "noIdentificacion": "",
      "ClaveUnidad": "H87",
      "Descuento": 8.73,
      "comentario": "",
      "aduana": "",
      "pedimentonumero": "",
      "pedimentofecha": "",
      "cuentapredial": "",
      "extra1": "",
      "extra2": "",
      "extra3": "",
      "extra4": "",
      "extra5": "",
      "impuestos": [],
      "retenciones": []
    }
  ],
  "RFCemisor": "LAN8507268IA",
  "expedicion": "
00000",
  "serieid": "A",
  "RFCreceptor": "TUCA1306265N9",
  "razonsocial": "MI EMPRESA A FACTURAR",
  "numext": "133",
  "numint": "0",
  "calle": "CALLE DE EMPRESA RECEPTORA",
  "colonia": "COLONIA DE EMPRESA RECEPTORA",
  "ciudad": "CIUDAD DE EMPRESA RECEPTORA",
  "estado": "ESTADO DE EMPRESA RECEPTORA",
  "codigopostal": "9400",
  "pais": "MÉXICO",
  "telefono": "",
  "contacto": "",
  "email": "",
  "tipoDeComprobante": "I",
  "formaDePago": "01",
  "NumCtaPago": "",
  "subTotal": 34.92,
  "Descuento": 8.73,
  "TipoCambio": 1,
  "Moneda": "MXN",
  "total": 26.19,
  "metodoDePago": "PUE",
  "condicionesDePago": "Contado",
  "cfdirelacionado": {
    "TipoRelacion": "04",
    "CfdiRelacionado": [
      {
        "UUID": "XXXXXXXX-49F3-4316-824B-A1D9FBF7AF66"
      }
    ]
  },
  "observaciones": "",
  "Confirmacion": "",
  "RegimenFiscal": "601",
  "UsoCFDI": "P01",
  "implocal": null
}




Ejemplo CFDI basico:

{
  "complementos": [],
  "partidas": [
    {
      "cantidad": 1,
      "unidad": "PIEZA",
      "descripcion": "EJEMPLO DE DESCRIPCION PARA EL CONCEPTO",
      "ClaveProdServ": "51142405",
      "valorUnitario": 34.92,
      "importe": 34.92,
      "noIdentificacion": "",
      "ClaveUnidad": "H87",
      "Descuento": 8.73,
      "comentario": "",
      "aduana": "",
      "pedimentonumero": "",
      "pedimentofecha": "",
      "cuentapredial": "",
      "extra1": "",
      "extra2": "",
      "extra3": "",
      "extra4": "",
      "extra5": "",
      "impuestos": [],
      "retenciones": []
    }
  ],
  "RFCemisor": "LAN8507268IA",
  "expedicion": "
00000",
  "serieid": "A",
  "RFCreceptor": "TUCA1306265N9",
  "razonsocial": "MI EMPRESA A FACTURAR",
  "numext": "133",
  "numint": "0",
  "calle": "CALLE DE EMPRESA RECEPTORA",
  "colonia": "COLONIA DE EMPRESA RECEPTORA",
  "ciudad": "CIUDAD DE EMPRESA RECEPTORA",
  "estado": "ESTADO DE EMPRESA RECEPTORA",
  "codigopostal": "9400",
  "pais": "MÉXICO",
  "telefono": "",
  "contacto": "",
  "email": "",
  "tipoDeComprobante": "I",
  "formaDePago": "01",
  "NumCtaPago": "",
  "subTotal": 34.92,
  "Descuento": 8.73,
  "TipoCambio": 1,
  "Moneda": "MXN",
  "total": 26.19,
  "metodoDePago": "PUE",
  "condicionesDePago": "Contado",
  "cfdirelacionado": {},
  "observaciones": "",
  "Confirmacion": "",
  "RegimenFiscal": "601",
  "UsoCFDI": "P01",
  "implocal": null
}



Ejemplo CFDI complemento de pagos:

{

  "complementos": {

    "Complementos33": {

      "Pagos10": [

        {

          "FechaPago": "2019-11-11T11:52:14",

          "FormaDePagoP": "01",

          "MonedaP": "MXN",

          "TipoCambioP": null,

          "Monto": "2310.5",

          "NumOperacion": null,

          "RfcEmisorCtaOrd": null,

          "NomBancoOrdExt": null,

          "CtaOrdenante": null,

          "CtaBeneficiario": null,

          "TipoCadPago": null,

          "CertPago": null,

          "CadPago": null,

          "SelloPago": null,

          "DoctoRelacionado": [

            {

              "IdDocumento": "XXXXXXXX-1D7D-4B83-B858-70BC7E88A7C5",

              "Folio": "1921",

              "MetodoDePagoDR": "PPD",

              "MonedaDR": "MXN",

              "ImpPagado": "841.50",

              "NumParcialidad": "1",

              "ImpSaldoAnt": "841.50",

              "ImpSaldoInsoluto": "0",

              "Serie": "B"

            },

            {

              "IdDocumento": "XXXXXXXX-1148-41FA-BBC4-D3E3E5BC3130",

              "Folio": "1922",

              "MetodoDePagoDR": "PPD",

              "MonedaDR": "MXN",

              "ImpPagado": "722.00",

              "NumParcialidad": "1",

              "ImpSaldoAnt": "722.00",

              "ImpSaldoInsoluto": "0",

              "Serie": "B"

            },

            {

              "IdDocumento": "XXXXXXXX-C932-4995-A15D-5363D799E9E1",

              "Folio": "1923",

              "MetodoDePagoDR": "PPD",

              "MonedaDR": "MXN",

              "ImpPagado": "747.00",

              "NumParcialidad": "1",

              "ImpSaldoAnt": "747.00",

              "ImpSaldoInsoluto": "0",

              "Serie": "B"

            }

          ]

        }

      ]

    }

  },

  "partidas": [

    {

      "cantidad": 1,

      "unidad": null,

      "descripcion": "Pago",

      "ClaveProdServ": "84111506",

      "valorUnitario": 0,

      "importe": 0,

      "noIdentificacion": "",

      "ClaveUnidad": "ACT",

      "Descuento": 0,

      "comentario": "",

      "aduana": "",

      "pedimentonumero": "",

      "pedimentofecha": "",

      "cuentapredial": "",

      "extra1": "",

      "extra2": "",

      "extra3": "",

      "extra4": "",

      "extra5": "",

      "impuestos": [],

      "retenciones": []

    }

  ],

  "RFCemisor": "LAN8507268IA",

  "expedicion": "00000",

  "serieid": "B",

  "RFCreceptor": "TUCA1306265N9",

  "razonsocial": "MI EMPRESA A FACTURAR",

  "numext": "",

  "numint": "",

  "calle": "",

  "colonia": "",

  "ciudad": "",

  "estado": "",

  "codigopostal": "9400",

  "pais": "",

  "telefono": "",

  "contacto": "",

  "email": "",

  "tipoDeComprobante": "P",

  "formaDePago": "",

  "NumCtaPago": "",

  "subTotal": 2310.5,

  "Descuento": 0,

  "TipoCambio": 1,

  "Moneda": "XXX",

  "total": 2310.5,

  "metodoDePago": "",

  "condicionesDePago": "",

  "observaciones": "",

  "Confirmacion": null,

  "RegimenFiscal": "601",

  "UsoCFDI": "P01",

  "implocal": null

}



Ejemplo CFDI Nota de Credito o Egreso:

{

  "complementos": [],

  "partidas": [

    {

      "cantidad": 1,

      "unidad": "PIEZA",

      "descripcion": "TABCIN TAB C12",

      "ClaveProdServ": "51142405",

      "valorUnitario": 34.92,

      "importe": 34.92,

      "noIdentificacion": "",

      "ClaveUnidad": "H87",

      "Descuento": 8.73,

      "comentario": "",

      "aduana": "",

      "pedimentonumero": "",

      "pedimentofecha": "",

      "cuentapredial": "",

      "extra1": "",

      "extra2": "",

      "extra3": "",

      "extra4": "",

      "extra5": "",

      "impuestos": [],

      "retenciones": []

    }

  ],

  "RFCemisor": "LAN8507268IA",

  "expedicion": "00000",

  "serieid": "B",

  "RFCreceptor": "TUCA1306265N9",

  "razonsocial": "MI EMPRESA A FACTURAR",

  "numext": "",

  "numint": "",

  "calle": "",

  "colonia": "",

  "ciudad": "",

  "estado": "",

  "codigopostal": "9400",

  "pais": "",

  "telefono": "",

  "contacto": "",

  "email": "",

  "tipoDeComprobante": "E",

  "formaDePago": "01",

  "NumCtaPago": "",

  "subTotal": 34.92,

  "Descuento": 8.73,

  "TipoCambio": 1,

  "Moneda": "MXN",

  "total": 26.19,

  "metodoDePago": "PUE",

  "condicionesDePago": "Contado",

  "cfdirelacionado": {

    "TipoRelacion": "04",

    "CfdiRelacionado": [

      {

        "UUID": "XXXXXXXX-49F3-4316-824B-A1D9FBF7AF66"

      }

    ]

  },

  "observaciones": "",

  "Confirmacion": "",

  "RegimenFiscal": "601",

  "UsoCFDI": "P01",

  "implocal": null

}

Estos son algunos ejemplos de todas las combinaciones que puedes crear de acuerdo a tus necesidades



De esta manera tan sencilla puedes realizar pruebas y obtener tus CFDI´s, una ves terminadas tus pruebas ahora podrás emitir CFDI´s en producción y conectar a todos tus usuarios fácil y rápido “La Factura electrónica entre mas pronto mejor”


Para mas información o si deseas obtener tus credenciales puedes contactarnos en el teléfono: 81570070 o solicitar tus credenciales de prueba al correo: desarrollo@factupronto.com


  FactuPronto, S.A. de C.V.
Empresa 100% Mexicana, nacida en la cuna de la tecnología en México, Monterrey, N.L.
Con visión moderna enfocada a soluciones a los contribuyentes, despachos contables y las empresas a nivel nacional.
  • Sin contratos forzosos.
  • Contabilidad con factura y nómina ilimitada por $290 /mes o $2,320 /anual. *Incluye complemento de recepción de pagos
 Proveedor Autorizado del SAT

Descargar .CER (2015-2017)

Descargar .CER (2018-2022)

Proveedor Autorizado de Certificación CFDi #3409

PAC 3409

Sobre el uso de este logotipo

Miembro AMITI

PAC 3409
  Contáctanos
  FactuPronto, S.A. de C.V.

Ave. Presidente Benito Juarez #1406, La Hacienda,
Guadalupe, Nuevo León México.

Tel :52 + (81) - 81 57 00 50
Horario de oficina :Lun-Vie 8:30AM a 5:30PM

  Socios tecnológicos