LOOKUP_ISSUED_INTERNAL_ID

LOOKUP_ISSUED_INTERNAL_ID

Esta transacción está destinada al control de la no duplicidad en los comprobantes. Uno de los parámetros de esta transacción es el número interno que corresponde a un único ID de alguna transacción, llamada, operación o registro en el ERP de los clientes.

En este caso se debe ejecutar la función JSONServiceCall con los siguientes parámetros:

  1. <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ws="http://www.fact.com.mx/schema/ws">
    <soap:Header/>
    <soap:Body>
    <ws:JsonServiceCall>
    <ws:jsonData>
    {"internalid": "ASD122232", //número interno que se desea buscar
    "branch": "xyz" //en caso que quiera buscar por alguna sucursal, es decir si el documento se emitió desde una sucursal x}
    </ws:jsonData>
    <ws:transactionName>LOOKUP_ISSUED_INTERNAL_ID</ws:transactionName>
    <ws:token>wAw8LzeFYnhlw2Qc0/5MXwvO7OepjeLJd/jci7o5wxlQu5r19BZsJOIE+TV82o3msuVlkr4IVQLehileOjhQNoMe5Dso0lE1KKhHAb4nFQw=</ws:token>
    </ws:JsonServiceCall>
    </soap:Body>
    </soap:Envelope>

Tome en cuenta los siguientes campos:
  1. jsonData son los datos en forma de objeto JSON que conforman la materia prima para buscar el CFDI.
  2. transactionName debe indicar la transacción que desea ocupar.
  3. token valor obtenido de la transacción AUTHENTICATE.

La respuesta recibida, vendrá de la siguiente forma:

  1. <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
    <JsonServiceCallResponse xmlns="http://www.fact.com.mx/schema/ws">
    <JsonServiceCallResult>
          {"Result": true,
          "Payload": "Base64 de estructura JSON de Respuesta",
          "ErrorMsg": "",
          "ErrorCode": 0,
          "Token": "Tt9nwxgvAN0YmlFl/t30Bhr4iu7Qbjb+U+t/u4nocJWHhtbokpq4LSoA97LInH4Qxlza0LiDbEHVn3NegNj01VeWphvH5Jdu2KsgWlbJTQ0="}
    </JsonServiceCallResult>
    </JsonServiceCallResponse>
    </soap:Body>
    </soap:Envelope>

Result, ErrorMsg y ErrorCode tienen la misma explicación en todas las transacciones como lo descrito en Authenticate

A continuación se describe la información que viene en Payload

{


  "internalid": "ASD122232",


  "numDocs": 2,


  "docs": [


    {


      "pos": 1,


      "ctry": null,


      "taxId": null,


      "uuid": null,


      "branch": null,


      "batch": null,


      "serial": null,


      "issued": null,


      "cancelled": null,


      "kind": null,


      "currency": null,


      "total": null


    },


    {


      "pos": 2,


      "ctry": null,


      "taxId": null,


      "uuid": null,


      "branch": null,


      "batch": null,


      "serial": null,


      "issued": null,


      "cancelled": null,


      "kind": null,


      "currency": null,


      "total": null


    }


  ]

}
En dicho ejemplo se encontraron dos documentos con el mismo internalid, es decir, con número interno idéntico.

Nota: El significado de cada etiqueta, se expresa a continuación:

internalid: Número Interno que se buscó en la llamada.

numDocs: Número de comprobantes que tienen mismo número interno que se buscó en la llamada.

Por documento o comprobante encontrará:

pos: Indica la posición.

ctry: País de emisión.

taxId: RFC del emisor (en ambiente de test JES900109Q90).

uuid: Folio Fiscal que corresponde al documento o comprobante.

branch: Sucursal de emisión del documento o comprobante.

batch: Serie.

serial: Folio.

issued: Fecha de emisión del documento o comprobante.

cancelled: Fecha de cancelación del documento o comprobante.

kind: Tipo de Documento.

currency: Moneda del documento o comprobante.

Para implementar la lógica de no duplicidad basta con leer el campo “numDocs”. Si ya existe el documento o comprobante ya no debe enviar a generarlo.

Es importante que en todas las transacciones que se ejecuten, recupere dentro de la respuesta el token que se devuelve ya que, para mantener la continuidad de la autenticación se necesita en la próxima llamada de cualquier transacción utilizar el último token devuelto.


En caso que en ErrorCode se devuelva 101 significa que la vida del token expiró, por tanto deberá autenticarse nuevamente y obtener un token nuevo con la función Authenticate.

En caso que en ErrorCode se devuelva 102 significa que el token es inválido, es decir, que al momento de desencriptar y parsear los valores que esta llamada incluye como información de autenticación falla.


    • Related Articles

    • LOOKUP_ISSUED_INTERNAL_ID

      Busca todos los CFDI´s que se encuentren emitidos con el número interno que haya puesto el cliente en el XML nativo de MYSuite desde su ERP. Este método devuelve la cantidad de comprobantes almacenados en MYSuite cuyo Número Interno coincide con el ...
    • LOOKUP_ISSUED_INTERNAL_ID

      Esta transacción está destinada al control de la no duplicidad en los comprobantes. Uno de los parámetros de esta transacción es el número interno que corresponde a un único ID de alguna transacción, llamada, operación o registro en el ERP de los ...
    • LOOKUP_ISSUED_INTERNAL_ID

      Busca todos los CFDI´s que se encuentren por el número interno que haya puesto el cliente en el XML nativo de MYSuite para con el ERP del Emisor. Este método devuelve la cantidad de comprobantes almacenados en MYSuite cuyo Número Interno coincide con ...
    • LOOKUP_ISSUED_YEAR_BATCH_AND_SERIAL

      Busca todos los CFDI´s que se encuentren por Serie y Folio que haya puesto el cliente en el XML nativo de MYSuite desde el ERP del Emisor o en su defecto, en la asignación que se encuentra desde el Portal Web de MYSuite. Este método permite conocer ...
    • LOOKUP_ISSUED_YEAR_BATCH_AND_SERIAL

      Busca todos los CFDI´s que se encuentren por Serie y Folio que haya puesto el cliente en el XML nativo de MYSuite desde el ERP del Emisor o en su defecto, en la asignación que se encuentra desde el Portal Web de MYSuite. Este método permite conocer ...