# Descargar CFDI o CR # Obtiene el Xml,el Xml y la representación impresa o únicamente la representación impresa de un CFDI o CR disponible en la plataforma de Induxsoft. Este servicio requiere autenticación por usuario o por CTD (Cuenta de Transacciones Digitales)/CTI (Cuenta de Timbrado Induxsoft), por lo que deberá presentar el par de credenciales (usuario/contraseña) o un Id de sesión válido. End point: https://factudesk.api.induxsoft.net/comprobantes/descargar/ Solicitud POST con usuario y contraseña ``` Method: POST Content-Type: application/json;charset=utf-8 { "uid":"Id de usuario (correo o teléfono móvil)", "pwd":"Contraseña del usuario", "doc":"UUID del CFDI o Idd", "tpo":"cfdi/cr (opcional)", "res":"(Opcional) tipo de resultado deseado", "pln":"(Opcional) Identificador de plantilla de representación impresa" } ``` Solicitud POST con Id de sesión ``` Method: POST Content-Type: application/json;charset=utf-8 { "ids":"Id de sesión válido", "doc":"UUID del CFDI o Idd", "tpo":"cfdi/cr (opcional)", "res":"(Opcional) tipo de resultado deseado", "pln":"(Opcional) Identificador de plantilla de representación impresa" } ``` Solicitud POST con cuenta de timbrado y contraseña ``` Method: POST Content-Type: application/json;charset=utf-8 { "cti":"Cuenta de timbrado", "pwd":"Contraseña de la cuenta de timbrado", "doc":"UUID del CFDI o Idd", "tpo":"cfdi/cr (opcional)", "res":"(Opcional) tipo de resultado deseado", "pln":"(Opcional) Identificador de plantilla de representación impresa" } ``` Solicitud GET con Id de sesión ``` https://factudesk.api.induxsoft.net/comprobantes/descargar/?uid=id-de-usuario&pwd=contraseña&doc=uuid-o-idd&tpo=cfdi/cr&res=opc&pln=id-plantilla ``` Solicitud GET con usuario y contraseña ``` https://factudesk.api.induxsoft.net/comprobantes/descargar/?uid=id-de-usuario&pwd=contraseña&doc=uuid-o-idd&tpo=cfdi/cr&res=opc&pln=id-plantilla ``` Solicitud GET con cuenta de timbrado y contraseña ``` https://factudesk.api.induxsoft.net/comprobantes/descargar/?cti=cuenta-de-timbrado&pwd=contraseña-de-la-cuenta&doc=uuid-o-idd&tpo=cfdi/cr&res=opc&pln=id-plantilla ``` El parámetro ```doc``` será el UUID de un CFDI o una constancia de retención, si se requiere más de 1, deberán delimitarse por comas. Tratándose de descarga de más de un comprobante, únicamente se admitirán en ```res``` los valores: ziplnk y zipraw, siendo predeterminado ziplnk. El máximo de comprobantes a devolver será de 50. El parámetro ```tpo``` indica el tipo de documento solicitado: cfdi-CFDI o cr-Constancia de retención, si se omite, se asume el valor cfdi como predeterminado. Opciones para el parámetro res: * xmllnk - Se obtendrá un enlace temporal al documento Xml del CFDI * prnlnk - Se obtendrá un enlace temporal al documento (pdf) de la representación impresa * ziplnk - Se obtendrá un enlace a un archivo zip que contiene tanto el xml como su representación impresa * xmljsn - la respuesta será un objeto JSON con el Xml del CFDI como cadena JSON * xmlb64 - (Valor predeterminado) la respuesta será un objeto JSON con el Xml del CFDI codificado como base 64 (Xml UTF-8 con BOM) * xmltxt - El Xml del CFDI con encabezado HTTP ```Content-type: text/xml``` * xmlraw - El Xml del CFDI con encabezado HTTP ```Content-type: application/octet-stream``` * prnraw - El contenido de la representación impresa con encabezado HTTP ```Content-type: application/octet-stream``` * prnpdf - El contenido de la representación impresa con encabezado HTTP ```Content-type: application/pdf``` * zipraw - El contenido de un archivo Zip con el Xml del CFDI y su representación impresa con encabezado HTTP ```Content-type: application/octet-stream``` * links - Se obtendrá un enlace temporal por cada documento pdf, Xml y zip Parámetro pln Es una cadena que identifica una plantilla de generación de representación impresa previamente alojada y disponible en la plataforma, si se omite se aplicarán las reglas configuradas en el emisor de FactuDesk Web. ### Respuesta exitosa ### Para las opciones de resultado xmljsn y xmlb64: ``` Content-Type: application/json;charset=utf-8 { "success":true, "data": { "content":"El Xml del CFDI como una cadena o un byte array base 64" } } ``` Para las opciones de resultado xmllnk, prnlnk y ziplnk: ``` Content-Type: application/json;charset=utf-8 { "success":true, "data": { "link":"Enlace temporal al archivo a descargar" } } ``` Para la opción de resultado links: ``` Content-Type: application/json;charset=utf-8 { "success":true, "data": { "link_pdf":"Enlace temporal al archivo pdf del CFDI", "link_xml":"Enlace temporal al archivo xml del CFDI", "link_zip":"Enlace temporal al archivo zip, con la representación impresa del CFDI y el archivo xml" } } ``` Para las opciones de resultado xmltxt, xmlraw, prnraw, prnpdf y zipraw: Se inicia la descarga del contenido directamente (generalmente el navegador descargará o abrirá el archivo). ### Respuesta error ### Para las opciones xmljsn, xmlb64, xmllnk, prnlnk y ziplnk la respuesta de error será igualmente un objeto JSON de la forma estándar: ``` Content-Type: application/json;charset=utf-8 { "success":false, "message":"Mensaje de error" } ``` Para las opciones xmltxt, xmlraw, prnraw, prnpdf y zipraw en caso de error se devolverá una página Html con el mensaje correspondiente al usuario.