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

Catálogos

A continuación se enlistan los tipos de CFDI aceptados por Factura Online, para hacer uso de el parametro "TipoDocumento" al momento de generar un CFDI es necesario utilizar el valor de la columna "Clave" y corresponde a el valor "Tipo de CFDI"

Importante

Si especificamos que tipo de documento con estas claves es importante tomar en cuenta que debe coincidir con el tipo de documento asignado a la serie que utilizamos para timbrar nuestro documento, este paso es opcional y podemos asignar una serie con el tipo de documento que deseamos utilizar, y se asignara de forma correcta el tipo de documento que se asigno al momento de crear la serie.

Tipos de documento

ClaveTipo de CFDI
facturaFactura
factura_hotelFactura para hoteles
honorariosRecibo de honorarios
nota_cargoNota de cargo
donativosDonativo
arrendamientoRecibo de arrendamiento
nota_creditoNota de crédito
nota_debitoNota de débito
nota_devolucionNota de devolución
carta_porteCarta porte
carta_porte_ingresoCarta porte de Ingreso
pagoPago
retencionRetención

Catálogos SAT

Puedes consultar los catálogos que el SAT provee para el timbrado.

El API de Factura Online cuenta con endpoints puestos a tu disposición para consultar los catálogos de claves válidas para el SAT.

Construcción de la URL

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

Endpoint: /v3/catalogo/nombre_catalogo

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/nombre_catalogo

Tip

Es necesario cambiar en la url nombre_catalogo por el nombre del catálogo que deseas consultar.

Clave Producto/Servicio

Consulta el catálogo de Clave Producto/Servicio

Construcción de la URL

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

Endpoint: /v3/catalogo/ClaveProductServ

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/ClaveProductServ

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 de la consulta de clave producto/servicio

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{ HOST }/v3/catalogo/ClaveProductServ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/ClaveProductServ"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/ClaveProductServ")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo clave producto/servicio

Respuesta exitosa
{
  "response": "success",
  "data": [
    {
        "key": "10201500",
        "name": "Rosales vivos azules o lavanda o púrpura",
        "complement": ""
    },
    {
        "key": "10201501",
        "name": "Rosal vivo allure o sterling 95",
        "complement": ""
    },
    {
        "key": "10201502",
        "name": "Rosal vivo amnesia",
        "complement": ""
    },
    {
        "key": "10201503",
        "name": "Rosal vivo augusta louise",
        "complement": ""
    },
    {
        "key": "10201504",
        "name": "Rosal vivo avant garde",
        "complement": ""
    },
    {
        "key": "10201505",
        "name": "Rosal vivo blue bird",
        "complement": ""
    },
    {
        "key": "10201506",
        "name": "Rosal vivo curiosa",
        "complement": ""
    },
    {
        "key": "10201507",
        "name": "Rosal vivo cool water",
        "complement": ""
    },
  ]
}

Aduana

Consulta el catálogo de Aduanas

Construcción de la URL

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

Endpoint: /v3/catalogo/Aduana

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/Aduana

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 de la consulta de aduana

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v3/catalogo/Aduana");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/Aduana"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/Aduana")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo aduana

Respuesta exitosa
{
  "response": "success",
  "data": [
    {
      "key": "01",
      "name": "ACAPULCO, ACAPULCO DE JUAREZ, GUERRERO"
    },
    {
      "key": "02",
      "name": "AGUA PRIETA, AGUA PRIETA, SONORA"
    },
    {
      "key": "05",
      "name": "SUBTENIENTE LOPEZ, SUBTENIENTE LOPEZ, QUINTANA ROO"
    },
    {
      "key": "06",
      "name": "CIUDAD DEL CARMEN, CIUDAD DEL CARMEN, CAMPECHE"
    },
    {
      "key": "07",
      "name": "CIUDAD JUAREZ, CIUDAD JUAREZ, CHIHUAHUA"
    },
    {
      "key": "08",
      "name": "COATZACOALCOS, COATZACOALCOS, VERACRUZ"
    },
    {
      "key": "11",
      "name": "ENSENADA, ENSENADA, BAJA CALIFORNIA"
    },
  ]
}

Unidad

Consulta el catálogo de Unidades de medida

Construcción de la URL

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

Endpoint: /v3/catalogo/ClaveUnidad

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/ClaveUnidad

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 de la consulta de unidad de medida

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v3/catalogo/ClaveUnidad");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/ClaveUnidad"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/ClaveUnidad")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo unidad de medida

Respuesta exitosa
{
  "response": "success",
  "data": [
    {
      "key": "C81",
      "name": "Radián"
    },
    {
      "key": "C25",
      "name": "Milirradián"
    },
    {
      "key": "B97",
      "name": "Microrradián"
    },
    {
      "key": "DD",
      "name": "Grado [unidad de ángulo]"
    },
    {
      "key": "D61",
      "name": "Minuto [unidad de ángulo]"
    }
  ]
}

Forma de pago

Consulta el catálogo de forma de pago

Construcción de la URL

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

Endpoint: /v3/catalogo/FormaPago

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/FormaPago

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 de la consulta de forma de pago

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v3/catalogo/FormaPago");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/FormaPago"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/FormaPago")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo forma de pago

Respuesta exitosa
{
  "response": "success",
  "data": [
    {
      "key": "01",
      "name": "Efectivo"
    },
    {
      "key": "02",
      "name": "Cheque nominativo"
    },
    {
      "key": "03",
      "name": "Transferencia electrónica de fondos"
    },
    {
      "key": "04",
      "name": "Tarjeta de crédito"
    },
    {
      "key": "05",
      "name": "Monedero electrónico"
    }
  ]
}

Catálogo de impuestos

Consulta el catálogo de impuestos

Construcción de la URL

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

Endpoint: /v3/catalogo/Impuesto

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/Impuesto

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 de la consulta de impuestos
<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v3/catalogo/Impuesto");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/Impuesto"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/Impuesto")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo impuestos

Respuesta exitosa
{
  "response": "success",
  "data": [
        {
     "key": "001",
     "name": "ISR"
        },
    {
      "key": "002",
      "name": "IVA"
    },
    {
      "key": "003",
      "name": "IEPS"
    }
  ]
}

Métodos de pago

Consulta el catálogo de métodos de pago

Construcción de la URL

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

Endpoint: /v3/catalogo/MetodoPago

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/MetodoPago

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 de la consulta de métodos de pago
<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v3/catalogo/MetodoPago");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/MetodoPago"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/MetodoPago")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo métodos de pago

Respuesta exitosa
{
  "response": "success",
  "data": [
        {
      "key": "PUE",
      "name": "Pago en una sola exhibición"
    },
    {
      "key": "PPD",
      "name": "Pago en parcialidades o diferido"
    }

  ]
}

Moneda

Consulta el catálogo de monedas

Construcción de la URL

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

Endpoint: /v3/catalogo/Moneda

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/Moneda

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 de la consulta de monedas
<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v3/catalogo/Moneda");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/Moneda"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/Moneda")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo monedas

Respuesta exitosa
{
  "response": "success",
  "data": [
    {
      "key": "AED",
      "name": "Dirham de EAU"
    },
    {
      "key": "AFN",
      "name": "Afghani"
    },
    {
      "key": "ALL",
      "name": "Lek"
    },
    {
      "key": "AMD",
      "name": "Dram armenio"
    },
    {
      "key": "ANG",
      "name": "Florín antillano neerlandés"
    },
  ]
}

País

Consulta el catálogo de paises

Construcción de la URL

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

Endpoint: /v3/catalogo/Pais

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/Pais

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 de la consulta de pais
<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v3/catalogo/Pais");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/Pais"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/Pais")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo paises

Respuesta exitosa
{
  "response": "success",
  "data": [
    {
      "key": "AFG",
      "name": "Afganistán"
    },
    {
      "key": "ALA",
      "name": "Islas Åland"
    },
    {
      "key": "ALB",
      "name": "Albania"
    },
    {
      "key": "DEU",
      "name": "Alemania"
    }
  ]
}

Régimen fiscal

Consulta el catálogo de régimen fiscal

Construcción de la URL

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

Endpoint: /v3/catalogo/RegimenFiscal

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/RegimenFiscal

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 de la consulta de regimen fiscal
Codigo<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v3/catalogo/RegimenFiscal");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/RegimenFiscal"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/RegimenFiscal")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo regimen fiscal

Respuesta exitosa
{
  "response": "success",
  "data": [
    {
        "key": "601",
        "name": "General de Ley Personas Morales"
    },
    {
        "key": "603",
        "name": "Personas Morales con Fines no Lucrativos"
    },
    {
        "key": "605",
        "name": "Sueldos y Salarios e Ingresos Asimilados a Salarios"
    },
    {
        "key": "606",
        "name": "Arrendamiento"
    },
    {
        "key": "608",
        "name": "Demás ingresos"
    }
  ]
}

Tipo de relación

Consulta el catálogo de

Construcción de la URL

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

Endpoint: /v3/catalogo/Relacion

Ejemplo: https://facturaonline.com.mx/api/v3/catalogo/Relacion

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 de la consulta de tipo de relacion
<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v3/catalogo/Relacion");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v3/catalogo/Relacion"

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

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

print(response.text)

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

url = URI("{ HOST }/v3/catalogo/Relacion")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo tipo de relación

Respuesta exitosa
{
  "response": "success",
  "data": [
    {
        "key": "01",
        "name": "Nota de crédito de los documentos relacionados"
    },
    {
        "key": "02",
        "name": "Nota de débito de los documentos relacionados"
    },
    {
        "key": "03",
        "name": "Devolución de mercancía sobre facturas o traslados previos"
    },
    {
        "key": "04",
        "name": "Sustitución de los CFDI previos"
    }
  ]
}

Uso de CFDI

Consulta el catálogo de claves de uso de CFDI

Construcción de la URL

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

Endpoint: /v4/catalogo/UsoCfdi

Ejemplo: https://facturaonline.com.mx/api/v4/catalogo/UsoCfdi

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 de la consulta de uso de CFDI
<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{ HOST }}/v4/catalogo/UsoCfdi");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

curl_setopt($ch, 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($ch);
curl_close($ch);

var_dump($response);

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

import requests
import json

url = "{ HOST }/v4/catalogo/UsoCfdi"

payload = ""
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'API.Key',
  'F-Secret-Key': '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/catalogo/UsoCfdi")

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"] = "API.Key"
request["F-Secret-Key"] = "Secret.Key"

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

Respuesta de catálogo de claves de uso de CFDI

{
    "key": "G01",
    "name": "Adquisición de mercancias",
    "use": "ambos",
    "regimenes": ["601", "603", "606", "612", "620", "621", "622", "623", "624", "625", "626"]
  },
  {
    "key": "G02",
    "name": "Devoluciones, descuentos o bonificaciones",
    "use": "ambos",
    "regimenes": ["601", "603", "606", "612", "620", "621", "622", "623", "624", "625", "626"]
  },
  {
    "key": "G03",
    "name": "Gastos en general",
    "use": "ambos",
    "regimenes": ["601", "603", "606", "612", "620", "621", "622", "623", "624", "625", "626"]
  },
  {
    "key": "I01",
    "name": "Construcciones",
    "use": "ambos",
    "regimenes": ["601", "603", "606", "612", "620", "621", "622", "623", "624", "625", "626"]
  }

Clave de Retención

Consulta el catálogo de claves de retención

Construcción de la URL

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

Endpoint: /v4/catalogos/retenciones/claveRetencion

Ejemplo: https://facturaonline.com.mx/api/v4/catalogos/retenciones/claveRetencion

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 de la consulta de uso de Clave de retención
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/v4/catalogos/retenciones/claveRetencion',
  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/catalogos/retenciones/claveRetencion',
  '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/catalogos/retenciones/claveRetencion"

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/catalogos/retenciones/claveRetencion")

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 de catálogo de claves de retención

Respuesta exitosa
[
    {
        "key": "01",
        "name": "Servicios profesionales"
    },
    {
        "key": "02",
        "name": "Regalías por derechos de autor"
    },
    {
        "key": "03",
        "name": "Autotransporte terrestre de carga"
    }
]

Catálogos Nómina

Puedes consultar los catálogos necesarios para el timbrado de nómina.

El API de Factura Online cuenta con endpoints puestos a tu disposición para consultar los catálogos necesarios para el llenado de nómina

Construcción de la URL

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

Endpoint: /payroll/catalogos/nombre_catalogo

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/nombre_catalogo

Tip

Es necesario cambiar en la url nombre_catalogo por el nombre del catálogo que deseas consultar.

Bancos

Consulta el catálogo de bancos

Construcción de la URL

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

Endpoint: /payroll/catalogos/bancos

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/bancos

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 de la consulta de bancos
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/bancos',
  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 }/payroll/catalogos/bancos',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/bancos", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/bancos")

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 de catálogo bancos

Respuesta exitosa
[
  {
    "key": "002",
    "name": "BANAMEX"
  },
  {
    "key": "006",
    "name": "BANCOMEXT"
  },
  {
    "key": "009",
    "name": "BANOBRAS"
  }
]

Estados

Consulta el catálogo de estados

Construcción de la URL

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

Endpoint: /payroll/catalogos/estados

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/estados

Tip

Para probar el código de ejemplo es necesario que reemplaces el texto Tu API key por el API KEY de tu cuenta, e Tu Secret key por el SECRET KEY correspondiente

Ejemplo de la consulta de estados
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/estados',
  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 }/payroll/catalogos/estados',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/estados", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/estados")

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 de catálogo estados

Respuesta exitosa
[
  {
    "key": "AGU",
    "key_country": "MEX",
    "name": "Aguascalientes"
  },
  {
    "key": "BCN",
    "key_country": "MEX",
    "name": "Baja California"
  },
  {
    "key": "BCS",
    "key_country": "MEX",
    "name": "Baja California Sur"
  }
]

Origen recurso

Consulta el catálogo de Origen recurso

Construcción de la URL

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

Endpoint: /payroll/catalogos/origenrecurso

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/origenrecurso

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 de la consulta de origen recurso
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/origenrecurso',
  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 }/payroll/catalogos/origenrecurso',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/origenrecurso", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/origenrecurso")

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 de catálogo origenrecurso

Respuesta exitosa
[
  {
    "key": "IP",
    "name": "Ingresos propios."
  },
  {
    "key": "IF",
    "name": "Ingreso federales."
  },
  {
    "key": "IM",
    "name": "Ingresos mixtos."
  }
]

Periodicidad

Consulta el catálogo de periodicidad

Construcción de la URL

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

Endpoint: /payroll/catalogos/periodicidad

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/periodicidad

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 de la consulta de periodicidad
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/periodicidad',
  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 }/payroll/catalogos/periodicidad',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/periodicidad", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/periodicidad")

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 de catálogo periodicidad

Respuesta exitosa
[
  {
    "key": "01",
    "name": "Diario"
  },
  {
    "key": "02",
    "name": "Semanal"
  },
  {
    "key": "03",
    "name": "Catorcenal"
  },
  {
    "key": "04",
    "name": "Quincenal"
  },
  {
    "key": "05",
    "name": "Mensual"
  },
  {
    "key": "06",
    "name": "Bimestral"
  },
  {
    "key": "07",
    "name": "Unidad obra"
  },
  {
    "key": "08",
    "name": "Comisión"
  },
  {
    "key": "09",
    "name": "Precio alzado"
  },
  {
    "key": 10,
    "name": "Decenal"
  },
  {
    "key": 99,
    "name": "Otra Periodicidad"
  }
]

Riesgo

Consulta el catálogo de riesgo

Construcción de la URL

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

Endpoint: /payroll/catalogos/riesgo

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/riesgo

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 de la consulta de riesgo
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/riesgo',
  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 }/payroll/catalogos/riesgo',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/riesgo", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/riesgo")

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 de catálogo riesgo

Respuesta exitosa
[
  {
    "key": 1,
    "name": "Clase I"
  },
  {
    "key": 2,
    "name": "Clase II"
  },
  {
    "key": 3,
    "name": "Clase III"
  },
  {
    "key": 4,
    "name": "Clase IV"
  },
  {
    "key": 5,
    "name": "Clase V"
  },
  {
    "key": 99,
    "name": "No aplica"
  }
]

Tipo contrato

Consulta el catálogo de tipo contrato

Construcción de la URL

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

Endpoint: /payroll/catalogos/tipocontrato

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/tipocontrato

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 de la consulta de tipocontrato
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/tipocontrato',
  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 }/payroll/catalogos/tipocontrato',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/tipocontrato", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/tipocontrato")

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 de catálogo tipo contrato

Respuesta exitosa
[
  {
    "key": "01",
    "name": "Contrato de trabajo por tiempo indeterminado",
    "filter": "false"
  },
  {
    "key": "02",
    "name": "Contrato de trabajo para obra determinada",
    "filter": "false"
  },
  {
    "key": "03",
    "name": "Contrato de trabajo por tiempo determinado",
    "filter": "false"
  },
  {
    "key": "04",
    "name": "Contrato de trabajo por temporada",
    "filter": "false"
  },
  {
    "key": "05",
    "name": "Contrato de trabajo sujeto a prueba",
    "filter": "false"
  },
  {
    "key": "06",
    "name": "Contrato de trabajo con capacitación inicial",
    "filter": "false"
  },
  {
    "key": "07",
    "name": "Modalidad de contratación por pago de hora laborada",
    "filter": "false"
  },
  {
    "key": "08",
    "name": "Modalidad de trabajo por comisión laboral",
    "filter": "false"
  },
  {
    "key": "09",
    "name": "Modalidades de contratación donde no existe relación de trabajo",
    "filter": "[false,true]"
  },
  {
    "key": 10,
    "name": "Jubilación, pensión, retiro.",
    "filter": "[false,true]"
  },
  {
    "key": 99,
    "name": "Otro contrato",
    "filter": "[false,true]"
  }
]

Tipo deduccion

Consulta el catálogo de tipo de deduccion

Construcción de la URL

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

Endpoint: /payroll/catalogos/tipodeduccion

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/tipodeduccion

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 de la consulta de tipo deduccion
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/tipodeduccion',
  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 }/payroll/catalogos/tipodeduccion',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/tipodeduccion", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/tipodeduccion")

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 de catálogo tipo deduccion

Respuesta exitosa
[
  {
    "key": "001",
    "name": "Seguridad social"
  },
  {
    "key": "002",
    "name": "ISR"
  },
  {
    "key": "003",
    "name": "Aportaciones a retiro, cesantía en edad avanzada y vejez."
  },
  {
    "key": "004",
    "name": "Otros"
  }
]

Tipo horas

Consulta el catálogo de tipo horas

Construcción de la URL

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

Endpoint: /payroll/catalogos/tipohoras

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/tipohoras

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 de la consulta de tipo horas
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/tipohoras',
  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 }/payroll/catalogos/tipohoras',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/tipohoras", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/tipohoras")

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 de catálogo tipo horas

Respuesta exitosa
[
  {
    "key": "01",
    "name": "Dobles"
  },
  {
    "key": "02",
    "name": "Triples"
  },
  {
    "key": "03",
    "name": "Simples"
  }
]

Tipo incapacidad

Consulta el catálogo de tipo incapacidad

Construcción de la URL

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

Endpoint: /payroll/catalogos/tipoincapacidad

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/tipoincapacidad

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 de la consulta de tipoincapacidad
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/tipoincapacidad',
  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 }/payroll/catalogos/tipoincapacidad',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/tipoincapacidad", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/tipoincapacidad")

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 de catálogo tipo incapacidad

Respuesta exitosa
[
  {
    "key": "01",
    "name": "Riesgo de trabajo."
  },
  {
    "key": "02",
    "name": "Enfermedad en general."
  },
  {
    "key": "03",
    "name": "Maternidad."
  },
  {
    "key": "04",
    "name": "Licencia por cuidados médicos de hijos diagnosticados con cáncer."
  }
]

Tipo jornada

Consulta el catálogo de tipo jornada

Construcción de la URL

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

Endpoint: /payroll/catalogos/tipojornada

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/tipojornada

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 de la consulta de tipo jornada
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/tipojornada',
  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 }/payroll/catalogos/tipojornada',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/tipojornada", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/tipojornada")

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 de catálogo tipo jornada

Respuesta exitosa
[
  {
    "key": "01",
    "name": "Diurna"
  },
  {
    "key": "02",
    "name": "Nocturna"
  },
  {
    "key": "03",
    "name": "Mixta"
  },
  {
    "key": "04",
    "name": "Por hora"
  },
  {
    "key": "05",
    "name": "Reducida"
  },
  {
    "key": "06",
    "name": "Continuada"
  },
  {
    "key": "07",
    "name": "Partida"
  },
  {
    "key": "08",
    "name": "Por turnos"
  },
  {
    "key": 99,
    "name": "Otra Jornada"
  }
]

Tipo pago

Consulta el catálogo de tipo pago

Construcción de la URL

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

Endpoint: /payroll/catalogos/tipopago

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/tipopago

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 de la consulta de tipo pago
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/tipopago',
  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 }/payroll/catalogos/tipopago',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/tipopago", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/tipopago")

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 de catálogo tipo pago

Respuesta exitosa
[
  {
    "key": "001",
    "name":
    "Reintegro de ISR pagado en exceso (siempre que no haya sido enterado al SAT)."
  },
  {
    "key": "002",
    "name": "Subsidio para el empleo (efectivamente entregado al trabajador)."
  },
  {
    "key": "003",
    "name": "Viáticos (entregados al trabajador)."
  },
  {
    "key": "004",
    "name": "Aplicación de saldo a favor por compensación anual."
  },
  {
    "key": "005",
    "name":
    "Reintegro de ISR retenido en exceso de ejercicio anterior (siempre que no haya sido enterado al SAT)."
  },
  {
    "key": "006",
    "name":
    "Alimentos en bienes (servicios de comedor y comida)"
  },
  {
    "key": "007",
    "name":
    "ISR ajustado por subsidio"
  },
  {
    "key": "008",
    "name":
    "Subsidio efectivamente entregado que no correspondía (Aplica sólo cuando haya ajuste al cierre de mes en relación con
    el Apéndice 7 de la guía de llenado de nómina)"
  },
  {
    "key": "999",
    "name":
    "Pagos distintos a los listados y que no deben considerarse como ingreso por sueldos, salarios o ingresos asimilados."
  }
]

Tipo percepcion

Consulta el catálogo de tipo percepcion

Construcción de la URL

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

Endpoint: /payroll/catalogos/tipopercepcion

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/tipopercepcion

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 de la consulta de tipo percepcion
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/tipopercepcion',
  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 }/payroll/catalogos/tipopercepcion',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/tipopercepcion", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/tipopercepcion")

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 de catálogo tipo percepcion

Respuesta exitosa
[
  {
    "key": "001",
    "name": "Sueldos, Salarios Rayas y Jornales"
  },
  {
    "key": "002",
    "name": "Gratificación Anual (Aguinaldo)"
  },
  {
    "key": "003",
    "name": "Participación de los Trabajadores en las Utilidades PTU"
  }
]

Tipo régimen

Consulta el catálogo de tipo régimen

Construcción de la URL

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

Endpoint: /payroll/catalogos/tiporegimen

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/tiporegimen

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 de la consulta de tipo régimen
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/tiporegimen',
  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 }/payroll/catalogos/tiporegimen',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/tiporegimen", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/tiporegimen")

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 de catálogo tiporegimen

Respuesta exitosa
[
  {
    "key": "02",
    "name": "Sueldos",
    "filter": "01,02,03,04,05,06,07,08"
  },
  {
    "key": "03",
    "name": "Jubilados",
    "filter": "01,02,03,04,05,06,07,08"
  },
  {
    "key": "04",
    "name": "Pensionados",
    "filter": "01,02,03,04,05,06,07,08"
  },
  {
    "key": "05",
    "name": "Asimilados Miembros Sociedades Cooperativas Produccion",
    "filter": "09,10,99"
  },
  {
    "key": "06",
    "name": "Asimilados Integrantes Sociedades Asociaciones Civiles",
    "filter": "09,10,99"
  },
  {
    "key": "07",
    "name": "Asimilados Miembros consejos",
    "filter": "09,10,99"
  },
  {
    "key": "08",
    "name": "Asimilados comisionistas",
    "filter": "09,10,99"
  },
  {
    "key": "09",
    "name": "Asimilados Honorarios",
    "filter": "09,10,99"
  },
  {
    "key": "10",
    "name": "Asimilados acciones",
    "filter": "09,10,99"
  },
  {
    "key": "11",
    "name": "Asimilados otros",
    "filter": "09,10,99"
  },
  {
    "key": "12",
    "name": "Jubilados o Pensionados",
    "filter": "09,10,99"
  },
  {
    "key": "99",
    "name": "Otro Regimen",
    "filter": "09,10,99"
  },
  {
    "key": "629",
    "name": "De los Regímenes Fiscales Preferentes y de las Empresas Multinacionales",
    "filter": "01,02,03,04,05,06,07,08"
  },
  {
    "key": "630",
    "name": "Enajenación de acciones en bolsa de valores",
    "filter": "01,02,03,04,05,06,07,08"
  }
]

Método pago

Consulta el catálogo de método pago

Construcción de la URL

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

Endpoint: /payroll/catalogos/metodopago

Ejemplo: https://facturaonline.com.mx/api/payroll/catalogos/metodopago

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 de la consulta de metodo pago
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '{ HOST }/payroll/catalogos/metodopago',
  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 }/payroll/catalogos/metodopago',
  '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 http.client
import json

conn = http.client.HTTPSConnection("{ HOST }")
payload = ''
headers = {
  'Content-Type': 'application/json',
  'F-PLUGIN': '9d4095c8f7ed5785cb14c0e3b033eeb8252416ed',
  'F-Api-Key': 'Tu API key',
  'F-Secret-Key': 'Tu Secret key'
}
conn.request("GET", "/payroll/catalogos/metodopago", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

url = URI("{ HOST }/payroll/catalogos/metodopago")

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 de catálogo método pago

Respuesta exitosa
[
  {
    "key": "01",
    "name": "Efectivo"
  },
  {
    "key": "02",
    "name": "Cheque nominativo"
  },
  {
    "key": "03",
    "name": "Transferencia electrónica de fondos"
  }
]

Last Updated:
Prev
Carta porte v3.1
Next
Clientes