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

Migraciones

Crear nueva migración de CFDIs

A continuación se explica el método con el cual podremos migrar los CFDIs del SAT a nuestro sistema seleccionando un periodo de tiempo determinado

Tip

Es muy importante antes de iniciar con la migración de nuestros CFDIs tener nuestra FIEL configurada en nuestra cuenta ya que por medio de esta se realiza la recuperacion de los CFDIs que corresponden a nuestros datos fiscales.

Importante

i no sabes como cargar tu Firma Electronica Avanzada(FIEL) a tu cuenta puedes consultarlo en el siguiente link:

¿Como actualizar mi empresa?

Podemos crear una nueva migración haciendo uso de los siguientes parametros:

ParámetroTipoRequeridoDetalles
inicioStringRequerido Se utiliza para definir el inicio del periodo del cual queremos realizar la migración
Ejemplo: "2020-12-04T10:02:01"
finStringRequerido Se utiliza para definir el final del periodo del cual queremos realizar la migración
Ejemplo: "2020-12-13T10:02:01"

Construcción de la URL

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

Endpoint: /migrator/create

Ejemplo: https://facturaonline.com.mx/api/migrator/create

Tip

Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.

Ejemplo para crear una nueva migración de CFDIs
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/migrator/create',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "inicio": "2020-12-04T10:02:01",
    "fin": "2020-12-13T10:02:01"
}',
  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': 'POST',
  'url': '{ HOST }/migrator/create',
  'headers': {
    'Content-Type': 'application/json',
    'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
    'F-Api-Key': 'Tu API key',
    'F-Secret-Key': 'Tu Secret key'
  },
  body: JSON.stringify({
    "inicio": "2020-12-04T10:02:01",
    "fin": "2020-12-13T10:02:01"
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

import requests
import json

url = "{ HOST }/migrator/create"

payload = json.dumps({
  "inicio": "2020-12-04T10:02:01",
  "fin": "2020-12-13T10:02:01"
})
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}

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

print(response.text)

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

url = URI("{ HOST }/migrator/create")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.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"
request.body = JSON.dump({
  "inicio": "2020-12-04T10:02:01",
  "fin": "2020-12-13T10:02:01"
})

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

Respuesta

Ejemplo de respuesta exitosa.
{
    "response": "success",
    "message": "Procesando"
}

Ejemplo de respuesta erronea

Aviso

El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.

{
    "status": "error",
    "message": "La cuenta que intenta autenticarse no existe",
    "Data": "$2y$10$8a9S8o8WeiRhPh1YT6bnXun6uPs1ZdiZBUHjGwSqn3X44mbYSmY4.",
    "Secret": "$2y$10$c5KNUW06w8r9OhH4MVPNz.BgpQfjHVZjPPYsVbX13WPQZomnYtxq"
}

Consultar migraciones de CFDIs en nuestra cuenta

A continuación se explica el método con el cual podremos consultar el estado de las migraciones de CFDIs que se han realizado en nuestra cuenta

Importante

Cuando consultamos el estado de una migración podremos conocer el porcentaje de CFDIs migrados para una mayor utilidad, esto quiere decir que las respuestas que recibimos de esta consulta se modifican conforme se lleva a cabo la migración e inserción de CFDIs en el sistema reflejando el procentaje de progreso.

Construcción de la URL

Importante

El método que se utiliza para la consulta de migraciones es de tipo GET

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

Endpoint: /migrator/list

Ejemplo: https://facturaonline.com.mx/api/migrator/list

Tip

Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.

Ejemplo para consultar las migraciones de CFDIs
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/migrator/list',
  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 }/migrator/list',
  '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 }/migrator/list"

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 }/migrator/list")

http = Net::HTTP.new(url.host, url.port);
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 = http.request(request)
puts response.read_body

Respuesta

Ejemplo de respuesta exitosa.
{
    "response": "success",
    "data": [
        {
            "peticion_id": "709dbefc-b8fd-448f-ab2d-2b9fb04d08a7",
            "status": "exito",
            "message": "Descarga exitosa, pronto comenzaras a ver tus CFDIs en el historial",
            "periodo": "2020-12-06 - 2020-12-12",
            "fecha_creacion": "2022-05-16",
            "porcentaje_migracion": "100%",
            "facturas_encontradas": 36,
            "facturas_migradas": 36,
            "facturas_procesadas": 36,
            "relacion": "36 facturas migradas de 36"
        },
        {
            "peticion_id": "a248493f-ea98-4524-be28-5d09d4f9158c",
            "status": "pendiente",
            "message": null,
            "periodo": "2021-12-04 - 2021-12-13",
            "fecha_creacion": "2022-05-16",
            "porcentaje_migracion": "0%",
            "facturas_encontradas": "Por definir",
            "facturas_migradas": 0,
            "facturas_procesadas": 0,
            "relacion": "0 facturas migradas de 0"
        }
    ]
}

Ejemplo de respuesta erronea

Aviso

El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.

{
    "status": "error",
    "message": "La cuenta que intenta autenticarse no existe",
    "Data": "$2y$10$8a9S8o8WeiRhPh1YT6bnXun6uPs1ZdiZBUHjGwSqn3X44mbYSmY4.",
    "Secret": "$2y$10$c5KNUW06w8r9OhH4MVPNz.BgpQfjHVZjPPYsVbX13WPQZomnYtxq"
}

Consultar una migración de CFDIs en especifico

A continuación se explica el método con el cual podremos consultar el estado de una migración de CFDIs por medio de su UID

Importante

Cuando consultamos el estado de una migración podremos conocer el porcentaje de CFDIs migrados para una mayor utilidad, esto quiere decir que las respuestas que recibimos de esta consulta se modifican conforme se lleva a cabo la migración e inserción de CFDIs en el sistema reflejando el procentaje de progreso.

Podemos crear una nueva migración haciendo uso de los siguientes parametros:

ParámetroTipoRequeridoDetalles
UIDStringRequerido Es el identificador unico para cada migración, este valor lo utilizaremos para recuperar la migración que necesitamos.
Ejemplo: 704e9db8-8fc3-4fa3-8ec0-424b47ac0072

Construcción de la URL

Importante

El método que se utiliza para la consulta de migraciones es de tipo GET

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

Endpoint: /migrator/UID/view

Ejemplo: https://facturaonline.com.mx/api/migrator/UID/view

Tip

Para probar el ejemplo de código, necesitas cambiar "Tu API key" por la clave de API de tu cuenta, y "Tu Secret key" por la clave secreta correspondiente.

Ejemplo para consultar las migraciones de CFDIs
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/migrator/704e9db8-8fc3-4fa3-8ec0-424b47ac0072/view',
  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 }/migrator/704e9db8-8fc3-4fa3-8ec0-424b47ac0072/view',
  '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 }/migrator/704e9db8-8fc3-4fa3-8ec0-424b47ac0072/view"

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 }/migrator/704e9db8-8fc3-4fa3-8ec0-424b47ac0072/view")

http = Net::HTTP.new(url.host, url.port);
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 = http.request(request)
puts response.read_body

Respuesta

Ejemplo de respuesta exitosa.
{
    "response": "success",
    "data": {
        "peticion_id": "704e9db8-8fc3-4fa3-8ec0-424b47ac0072",
        "status": "pendiente",
        "message": "Solicitud Aceptada",
        "periodo": "2020-12-07 - 2020-12-11",
        "fecha_creacion": "2022-05-16",
        "porcentaje_migracion": "0%",
        "facturas_encontradas": "Por definir",
        "facturas_migradas": 0,
        "facturas_procesadas": 0,
        "relacion": "0 facturas migradas de 0"
    }
}

Ejemplo de respuesta erronea

Aviso

El mensaje de error puede variar dependiendo el nodo en el que haya información incorrecta. Te sugerimos leer cuidadosamente el mensaje del error ya que en el mismo se indica donde es necesario corregir la información.

Ejemplo de respuesta erronea
{
    "status": "error",
    "message": "La cuenta que intenta autenticarse no existe",
    "Data": "$2y$10$8a9S8o8WeiRhPh1YT6bnXun6uPs1ZdiZBUHjGwSqn3X44mbYSmY4.",
    "Secret": "$2y$10$c5KNUW06w8r9OhH4MVPNz.BgpQfjHVZjPPYsVbX13WPQZomnYtxq"
}

Last Updated:
Prev
Empresas
Next
Series