Postman
Postman
  • Documentación

    • Información general
    • Entornos
    • Primeros pasos
    • Listar CFDI's
    • Buscar CFDI
    • Crear CFDI 4.0
    • Crear CFDI Global 4.0
    • Borradores CFDI 4.0
    • Descargar CFDI
    • Cancelar CFDI 4.0
    • Descargar acuse CFDI 4.0
    • Enviar CFDI
    • Consultar estatus de cancelación de un CFDI
    • Grupos de empleados
    • Empleados
    • Nóminas
    • Complementos
    • Retenciones
    • Complementos de retenciones
    • Carta porte v3.1
    • Catálogos
    • Clientes
    • Empresas
    • Migraciones
    • Series
    • Productos
    • Addendas
    • Fundamentos legales del SAT

Buscar CFDI

Por UID

A continuación se explica como buscar un CFDI por UID, con un ejemplo y la muestra de posibles respuestas obtenidas.

Tip

Es importante tomar en cuenta que el valor UID es distinto a el valor UUID ya que en el nombre son muy similares pero utilizan diferente endpoint, mas delante se muestran detalles de su uso y caracteristicas.

Podemos buscar un CFDI utilizando el UID como parámetro y obtener la información relacionada con este, a continuación se muestran las características de este valor.

ParámetroTipoRequeridoDetalles
UIDStringRequerido Es el identificador interno para la plataforma de Factura Online asignado al CFDI cuando lo creamos

Construcción de la URL

Importante

El método que se utiliza para la busqueda de un CFDI es de tipo GET

Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)

Endpoint: /v4/cfdi/uid/{UID de tu CFDI}

Ejemplo: https://facturaonline.com.mx/api/v4/cfdi/uuid/1a7cf8f9-3406-4024-9028-84266cab1f13

Tip

Para probar el código de ejemplo es necesario que reemplaces el valor del UID por el que necesitas buscar en tu cuenta y el texto "Tu API key" por el API key de tu cuenta y "Tu Secret key" por el Secret key correspondiente a tu cuenta.

Ejemplo

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v4/cfdi/uid/63389a6a27f88',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key: Tu API key',
    'F-Secret-Key: Tu Secret key'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


var request = require('request');
var options = {
  'method': 'GET',
  'url': '{ HOST }/v4/cfdi/uid/63389a6a27f88',
  'headers': {
    'Content-Type': 'application/json',
    'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key': 'Tu API key',
    'F-Secret-Key': 'Tu Secret key'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});


import requests
import json

url = "{ HOST }/v4/cfdi/uid/63389a6a27f88"

payload = ""
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

require "uri"
require "json"
require "net/http"

url = URI("{ HOST }/v4/cfdi/uid/63389a6a27f88")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"

response = https.request(request)
puts response.read_body


Respuesta

Ejemplo de respuesta exitosa

{
    "status": "success",
    "message": "CFDI obtenido exitosamente",
    "data": {
        "RazonSocialReceptor": "ALBA XKARAJAM MENDEZ",
        "Folio": "F 693",
        "UID": "63389a6a27f88",
        "UUID": "1a7cf8f9-3406-4024-9028-84266cab1f13",
        "Subtotal": "400.000000",
        "Total": "745.480000",
        "ReferenceClient": 0,
        "NumOrder": null,
        "Receptor": "XAMA620210DQ5",
        "FechaTimbrado": "2022-10-01",
        "Status": "enviada",
        "Version": "4.0",
        "TipoDocumento": "F",
        "XML": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>...................
    }
}

Ejemplo de respuesta erronea
{
    "status": "error",
    "message": "No se encontró CFDI: 63389a627f88"
}

Ejemplo de respuesta erronea de autenticación
{
    "status": "error",
    "message": "La cuenta que intenta autenticarse no existe"
}

Por UUID

A continuación se explica como buscar un CFDI por UUID, con un ejemplo y la muestra de posibles respuestas obtenidas.

Tip

Es importante tomar en cuenta que el valor UID es distinto a el valor UUID ya que en el nombre son muy similares pero utilizan diferente endpoint, mas delante se muestran detalles de su uso y caracteristicas.

Podemos buscar un CFDI utilizando el UUID como parámetro y obtener la información relacionada con este, a continuación se muestran las características de este valor.

ParámetroTipoRequeridoDetalles
UUIDStringRequerido Es el identificador unico que asigna el SAT a nuestro CFDI cuando lo timbramos, otra forma en la que lo podemos encontrar es como "Folio fiscal"

Construcción de la URL

Importante

El método que se utiliza para la busqueda de un CFDI es de tipo GET

Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)

Endpoint: /v4/cfdi/uuid/{UUID de tu CFDI}

Ejemplo: https://facturaonline.com.mx/api/v4/cfdi/uuid/1a7cf8f9-3406-4024-9028-84266cab1f13

Tip

Para probar el código de ejemplo es necesario que reemplaces el valor del UID por el que necesitas buscar en tu cuenta y el texto "Tu API key" por el API key de tu cuenta y "Tu Secret key" por el Secret key correspondiente a tu cuenta.

Ejemplo

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v4/cfdi/uuid/1a7cf8f9-3406-4024-9028-84266cab1f13',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key: Tu API key',
    'F-Secret-Key: Tu Secret key'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

var request = require('request');
var options = {
  'method': 'GET',
  'url': '{ HOST }/v4/cfdi/uuid/1a7cf8f9-3406-4024-9028-84266cab1f13',
  'headers': {
    'Content-Type': 'application/json',
    'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key': 'Tu API key',
    'F-Secret-Key': 'Tu Secret key'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

import requests
import json

url = "{ HOST }/v4/cfdi/uuid/1a7cf8f9-3406-4024-9028-84266cab1f13"

payload = ""
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

require "uri"
require "json"
require "net/http"

url = URI("{ HOST }/v4/cfdi/uuid/1a7cf8f9-3406-4024-9028-84266cab1f13")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"

response = https.request(request)
puts response.read_body

Respuesta

Ejemplo de respuesta exitosa

{
    "status": "success",
    "message": "CFDI obtenido exitosamente",
    "data": {
        "RazonSocialReceptor": "ALBA XKARAJAM MENDEZ",
        "Folio": "F 693",
        "UID": "63389a6a27f88",
        "UUID": "1a7cf8f9-3406-4024-9028-84266cab1f13",
        "Subtotal": "400.000000",
        "Total": "745.480000",
        "ReferenceClient": 0,
        "NumOrder": null,
        "Receptor": "XAMA620210DQ5",
        "FechaTimbrado": "2022-10-01",
        "Status": "enviada",
        "Version": "4.0",
        "TipoDocumento": "F",
        "XML": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>...................
    }
}

Ejemplo de respuesta erronea al introducir un UUID que no existe

{
    "status": "error",
    "message": "No se encontró CFDI: 1a7cf8f9-3406-4024-9028-84266ab1f13"
}

Ejemplo de respuesta erronea de autenticación

{
    "status": "error",
    "message": "La cuenta que intenta autenticarse no existe"
}

Por Folio

A continuación se explica como buscar un CFDI por Folio, con un ejemplo y la muestra de posibles respuestas obtenidas.

Podemos buscar un CFDI utilizando el Folio como parámetro y obtener la información relacionada con este, a continuación se muestran las características de este valor.

ParámetroTipoRequeridoDetalles
FolioStringRequerido Este valor se asigna al crear un nuevo CFDI dependiendo de la serie que utilicemos para el control de nuestros consecutivos y consta de la letra de esta serie + el consecutivo, por ejemplo: "F693" o "f693" (Es importante introducir sin espacios el folio que buscamos y puede ser en mayúsculas o minúsculas)

Construcción de la URL

Importante

El método que se utiliza para la busqueda de un CFDI es de tipo GET

Host: https://facturaonline.com.mx/api (producción) / https://sandbox.facturaonline.com.mx/api (sandbox)

Endpoint: /v4/cfdi/folio/{Folio de tu CFDI}

Ejemplo: https://facturaonline.com.mx/api/v4/cfdi/folio/F693

Tip

Para probar el código de ejemplo es necesario que reemplaces el valor del Folio por el que necesitas buscar en tu cuenta y el texto "Tu API key" por el API key de tu cuenta y "Tu Secret key" por el Secret key correspondiente a tu cuenta.

Ejemplo

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v4/cfdi/folio/F693',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'F-PLUGIN: 9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key: Tu API key',
    'F-Secret-Key: Tu Secret key'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;


var request = require('request');
var options = {
  'method': 'GET',
  'url': '{ HOST }/v4/cfdi/folio/F693',
  'headers': {
    'Content-Type': 'application/json',
    'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key': 'Tu API key',
    'F-Secret-Key': 'Tu Secret key'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

import requests
import json

url = "{ HOST }/v4/cfdi/folio/F693"

payload = ""
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

require "uri"
require "json"
require "net/http"

url = URI("{ HOST }/v4/cfdi/folio/F693")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Content-Type"] = "application/json"
request["F-PLUGIN"] = "9d4095c8f7ed5785cb14c0e3b033eeb8252416ed"
request["F-Api-Key"] = "Tu API key"
request["F-Secret-Key"] = "Tu Secret key"

response = https.request(request)
puts response.read_body

Respuesta

Ejemplo de respuesta exitosa

{
    "status": "success",
    "message": "CFDI obtenido exitosamente",
    "data": {
        "RazonSocialReceptor": "ALBA XKARAJAM MENDEZ",
        "Folio": "F 693",
        "UID": "63389a6a27f88",
        "UUID": "1a7cf8f9-3406-4024-9028-84266cab1f13",
        "Subtotal": "400.000000",
        "Total": "745.480000",
        "ReferenceClient": 0,
        "NumOrder": null,
        "Receptor": "XAMA620210DQ5",
        "FechaTimbrado": "2022-10-01",
        "Status": "enviada",
        "Version": "4.0",
        "TipoDocumento": "F",
        "XML": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>...................
    }
}

Ejemplo de respuesta erronea al introducir un folio que no existe

{
    "status": "error",
    "message": "No se encontró CFDI: F6934"
}

Ejemplo de respuesta erronea de autenticación

{
    "status": "error",
    "message": "La cuenta que intenta autenticarse no existe"
}

Last Updated:
Prev
Listar CFDI's
Next
Crear CFDI 4.0