Catálogos
A continuación se enlistan los tipos de CFDI aceptados por Factu-Ramval, 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
| Clave | Tipo de CFDI |
|---|---|
| factura | Factura |
| factura_hotel | Factura para hoteles |
| honorarios | Recibo de honorarios |
| nota_cargo | Nota de cargo |
| donativos | Donativo |
| arrendamiento | Recibo de arrendamiento |
| nota_credito | Nota de crédito |
| nota_debito | Nota de débito |
| nota_devolucion | Nota de devolución |
| carta_porte | Carta porte |
| carta_porte_ingreso | Carta porte de Ingreso |
| pago | Pago |
| retencion | Retención |
Catálogos SAT
Puedes consultar los catálogos que el SAT provee para el timbrado.
El API de Factu-Ramval 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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/nombre_catalogo
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/ClaveProductServ
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/Aduana
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/ClaveUnidad
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/FormaPago
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/Impuesto
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/MetodoPago
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/Moneda
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/Pais
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/RegimenFiscal
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v3/catalogo/Relacion
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v4/catalogo/UsoCfdi
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /v4/catalogos/retenciones/claveRetencion
Ejemplo: https://app.facturamval.com/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 Factu-Ramval 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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/nombre_catalogo
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/bancos
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/estados
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/origenrecurso
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/periodicidad
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/riesgo
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/tipocontrato
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/tipodeduccion
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/tipohoras
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/tipoincapacidad
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/tipojornada
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/tipopago
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/tipopercepcion
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/tiporegimen
Ejemplo: https://app.facturamval.com/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://app.facturamval.com/api (producción) / https://sandbox.facturamval.com/api (sandbox)
Endpoint: /payroll/catalogos/metodopago
Ejemplo: https://app.facturamval.com/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"
}
]