RETRIEVE_DOCUMENT

RETRIEVE_DOCUMENT

Solicita CFDI almacenado en MYSuite, tanto emitido como recibido.

Solicitud (CFDI Emitido)




Valores
  1. {
      "Requestor": "string",
      "Transaction": "string",
      "Country": "string",
      "Entity": "string",
      "User": "string",
      "UserName": "string",
      "Data1": "string",
      "Data2": "string",
      "Data3": "string"
    }
Descripción de Parámetros:
Requestor: Es un dato de tipo GUID que proporciona MYSuite y está relacionado con la seguridad de la transacción así como procesos de autenticación y autorización.
Transaction: Corresponde al método que desee invocar.
Country: Corresponde a la abreviatura del país, en este caso MX.
Entity: Identifica el RFC de quién realiza la solicitud, en este caso, corresponde a la empresa que realiza la transacción desde su ERP o sistema de gestión de facturas. Si es un cliente CFDI + Timbrado, en el ambiente de prueba debe utilizar el RFC JES900109Q90
User: Repetir la información del Requestor.
UserName: Está considerado para poder indicar el usuario del ERP y que el cliente pueda conocer quién realizó la solicitud, se define por la combinación de varios parámetros de la siguiente manera:
Country.Entity.Usuario_ERP
Ejemplos:
MX.ETN040506RB3.jacinto
MX.ETN040506RB3.mendez
La adopción de un usuario u otro está en dependencia de las necesidades del cliente en cuanto a la división de sus procesos de facturación en sucursales, departamentos o simplemente identificar cada actividad de facturación por empleado.
Data1, Data2 y Data3: En función del método a utilizar se deberá contemplar el llenado de estos nodos conforme corresponda.

  1. {
      "Requestor": "0c320b03-d4f1-47bc-9fb4-77995f9bf33e",
      "Transaction": "RETRIEVE_DOCUMENT",
      "Country": "MX",
      "Entity": "JES900109Q90",
      "User": "0c320b03-d4f1-47bc-9fb4-77995f9bf33e",
      "UserName": "jan_test_rest",
      "Data1": "XML elemento Dictionary codificado en Base64",
      "Data2": "",
      "Data3": ""
    }
Elemento Dictionary a incluir en Data1
  1. Indicando DocumentGUID (UUID del Folio fiscal)

    <Dictionary name="StoredXmlSelector">
      <Entry k="Store" v="ISSUED"/>
      <Entry k="IssuerCountryCode" v="MX"/>
      <Entry k="IssuerTaxId" v="JES900109Q90"/>
      <Entry k="DocumentGUID" v="9e6e26c7-2f54-4b66-ba45-34263ad926ee"/>
      <Entry k="Formats" v="xml pdf"/>
      <Entry k="Year" v="2019"/>
    </Dictionary>

En la entrada <Entry k="Store" v="ISSUED"/> debe especificar “ISSUED“

En la entrada <Entry k="IssuerTaxId" v="JES900109Q90"/> debe especificar el RFC del Emisor.

En la entrada <Entry k="Formats" v="xml pdf"/> también puede colocar XML o PDF o la combinación de ambas.

En la entrada <Entry k="Year" v="2019"/> debe especificar el año en que fue emitido el CFDI.


Respuesta (CFDI Emitido)

responseData1Field: XML del CFDI (si se solicitó).

responseData3Field: PDF del CFDI (si se solicitó).


  1. {
       "requestField":    {
          "requestorField": "00000000-0000-0000-0000-000000000000",
          "requestorNameField": null,
          "requestorActiveField": true,
          "transactionField": 33,
          "countryField": "MX",
          "entityField": "JES900109Q90",
          "userField": "00000000-0000-0000-0000-000000000000",
          "userNameField": "jan_test_rest",
          "idField": "16910973-13c8-451d-ab3a-da6c79cafb4d",
          "timeStampField": "2020-06-22T12:05:33.5935457-05:00"
       },
       "responseField":    {
          "resultField": true,
          "timeStampField": "2020-06-22T12:05:35.8904532-05:00",
          "lastResultField": "",
          "codeField": 1,
          "descriptionField": "",
          "hintField": "",
          "dataField": " 194 16910973-13c8-451d-ab3a-da6c79cafb4d",
          "processorField": "TEST-BACK02",
          "identifierField":       {
             "countryField": "MX",
             "entityField": "JES900109Q90",
             "fiscalNameField": "AAA DIVISION",
             "aYearField": "0",
             "aNumberField": "",
             "batchField": "ABB",
             "serialField": "691",
             "documentGUIDField": "9e6e26c7-2f54-4b66-ba45-34263ad926ee",
             "issuedTimeStampField": "2019-07-17T13:34:47",
             "enrolledTimeStampField": "2019-07-17T13:34:49",
             "paidTimeStampField": "",
             "cancelledTimeStampField": "",
             "internalIDField": "",
             "batchIDField": "",
             "batchTimeStampField": "",
             "batchRequestorCountryField": "",
             "batchRequestorEntityField": "",
             "batchPositionField": "",
             "receiverCountryField": "MX",
             "receiverEntityField": "JES900109Q90",
             "receiverTaxIDField": "",
             "receiverNameField": "AREZZO SA",
             "claveAgenteField": "",
             "numeroDePolizaField": "",
             "currencyField": "MXN",
             "totalAmountField": "100.00",
             "type1Field": "egreso",
             "type2Field": "NOTA_DE_CREDITO",
             "suggestedFileNameField": "JES900109Q90_ABB_691_JES900109Q90",
             "suggestedFileName2Field": "17072019___ABB691_",
             "observacionesField": null,
             "observacionesHtmlField": null
          },
          "batchIdentifierField": null
       },
       "responseDataField":    {
          "responseData1Field": "XML del CFDI en Base64",
          "responseData2Field": "",
          "responseData3Field": "PDF del CFDI en Base64",
          "responseDataSetField": null
       }
    }
Estos nodos se devuelven codificados en Base64.

Solo devuelve el contenido que se solicita explícitamente.

Si se quiere salvar a un archivo, por ejemplo el PDF, debe convertir de Base64 a un arreglo de bytes y luego grabarlo como archivo.


Solicitud (CFDI Recibido)
  1. {
      "Requestor": "0c320b03-d4f1-47bc-9fb4-77995f9bf33e",
      "Transaction": "RETRIEVE_DOCUMENT",
      "Country": "MX",
      "Entity": "JES900109Q90",
      "User": "0c320b03-d4f1-47bc-9fb4-77995f9bf33e",
      "UserName": "jan_test_rest",
      "Data1": "XML elemento Dictionary codificado en Base64",
      "Data2": "",
      "Data3": ""
    }
Elemento Dictionary a incluir en Data1
  1. Indicando DocumentGUID (UUID del Folio fiscal)

    <Dictionary name="StoredXmlSelector">

      <Entry k="Store" v="RECEIVED"/>

      <Entry k="IssuerCountryCode" v="MX"/>

      <Entry k="IssuerTaxId" v="JES900109Q90"/>

      <Entry k="DocumentGUID" v="551232d0-2881-4d97-baaa-aabf762a7d07"/>

      <Entry k="Formats" v="xml pdf"/>

    </Dictionary>

En la entrada <Entry k="Store" v="RECEIVED"/> debe especificar “RECEIVED“

En la entrada <Entry k="IssuerTaxId" v="JES900109Q90"/> debe especificar el RFC del Emisor.

En la entrada <Entry k="Formats" v="xml pdf"/> también puede colocar XML o PDF o la combinación de ambas.


Respuesta (CFDI Recibido)

responseData1Field: XML del CFDI (si se solicitó).

responseData3Field: PDF del CFDI (si se solicitó).


  1. {
       "requestField":    {
          "requestorField": "00000000-0000-0000-0000-000000000000",
          "requestorNameField": null,
          "requestorActiveField": true,
          "transactionField": 33,
          "countryField": "MX",
          "entityField": "JES900109Q90",
          "userField": "00000000-0000-0000-0000-000000000000",
          "userNameField": "jan_test_rest",
          "idField": "16910973-13c8-451d-ab3a-da6c79cafb4d",
          "timeStampField": "2020-06-22T12:05:33.5935457-05:00"
       },
       "responseField":    {
          "resultField": true,
          "timeStampField": "2020-06-22T12:05:35.8904532-05:00",
          "lastResultField": "",
          "codeField": 1,
          "descriptionField": "",
          "hintField": "",
          "dataField": " 194 16910973-13c8-451d-ab3a-da6c79cafb4d",
          "processorField": "TEST-BACK02",
          "identifierField":       {
             "countryField": "MX",
             "entityField": "JES900109Q90",
             "fiscalNameField": "AAA DIVISION",
             "aYearField": "0",
             "aNumberField": "",
             "batchField": "ABB",
             "serialField": "691",
             "documentGUIDField": "9e6e26c7-2f54-4b66-ba45-34263ad926ee",
             "issuedTimeStampField": "2019-07-17T13:34:47",
             "enrolledTimeStampField": "2019-07-17T13:34:49",
             "paidTimeStampField": "",
             "cancelledTimeStampField": "",
             "internalIDField": "",
             "batchIDField": "",
             "batchTimeStampField": "",
             "batchRequestorCountryField": "",
             "batchRequestorEntityField": "",
             "batchPositionField": "",
             "receiverCountryField": "MX",
             "receiverEntityField": "JES900109Q90",
             "receiverTaxIDField": "",
             "receiverNameField": "AREZZO SA",
             "claveAgenteField": "",
             "numeroDePolizaField": "",
             "currencyField": "MXN",
             "totalAmountField": "100.00",
             "type1Field": "egreso",
             "type2Field": "NOTA_DE_CREDITO",
             "suggestedFileNameField": "JES900109Q90_ABB_691_JES900109Q90",
             "suggestedFileName2Field": "17072019___ABB691_",
             "observacionesField": null,
             "observacionesHtmlField": null
          },
          "batchIdentifierField": null
       },
       "responseDataField":    {
          "responseData1Field": "XML del CFDI en Base64",
          "responseData2Field": "",
          "responseData3Field": "PDF del CFDI en Base64",
          "responseDataSetField": null
       }
    }
Estos nodos se devuelven codificados en Base64.

Solo devuelve el contenido que se solicita explícitamente.

Si se quiere salvar a un archivo, por ejemplo el PDF, debe convertir de Base64 a un arreglo de bytes y luego grabarlo como archivo.


Escenario Especial de Uso


Para los clientes que requieren tener más de una representación gráfica de CFDI a la vez por ejemplo, empresas que emplean tickets en su representación gráfica (tiendas donde tienen impresoras de tickets), pero desean enviarle por correo a su cliente y visualizar a través del portal, las facturas en formato carta.

El proceso de este escenario especial se describe a continuación:

  1. Se genera el CFDI (tal y como de costumbre).

    1. Si se definió un correo para enviar, se utilizará como formato el que se tenga seleccionado.

  2. Para imprimir la factura en el lugar (para estos clientes, por lo general en formato de ticket), utilizar la transacción RETRIEVE_DOCUMENT definiendo una transformación empleando la llave PreviewTransform con el nombre del archivo de transformación que tenga asignado.

  1. <Entry k="PreviewTransform" v="Test"/>

Considerar la inclusión en la estructura Dictionary como una entrada especifica <Entry k=”PreviewTransform” v=”Test”/>

Para documentos recibidos no aplica la selección de representaciones gráficas. MYSuite emplea una representación gráfica común para todos los CFDI recibidos.


    • Related Articles

    • RETRIEVE_DOCUMENT

      Solicita CFDI almacenado en MYSuite, tanto emitido como recibido. Solicitud (CFDI Emitido) <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://www.fact.com.mx/schema/ws"> <soapenv:Header/> <soapenv:Body> ...
    • RETRIEVE_DOCUMENT

      Esta transacción te permite obtener en cualquier momento el XML y PDF del CFDI que ya habías emitido. Para obtenerlos, debe realizar la llamada de la siguiente forma: <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" ...
    • RETRIEVE_DOCUMENT

      Esta transacción te permite obtener en cualquier momento el XML y PDF del CFDI que ya habías emitido. Para obtenerlos, debe realizar la llamada de la siguiente forma: Request URL: https://api.mysuitetest.com/JsonServiceCall Valores: {   "jsonData": ...
    • GET_DOCUMENT_RETENCIONES

      En MYSuite podrás utilizar este método que te ayudara a obtener la representación gráfica de un comprobante de retenciones conforme lo marca el Anexo 20 vigente y/o el XML del CFDI de Retención emitido. SOLICITUD <soapenv:Envelope ...
    • GET_DOCUMENT_RETENCIONES

      En MYSuite podrás utilizar este método que te ayudara a obtener la representación gráfica de un comprobante de retenciones conforme lo marca el Anexo 20 vigente. Solicitud Request URL: https://api.mysuitetest.com/RequestTransaction Valores {   ...